Toshiba MBP-100 Network Card User Manual


 
50
Because the transaction is handled locally within the gateway, write data
checking is not available. For example, if a write is performed to a register
with a data value that is out-of-range of the corresponding “source port”
object, no Modbus exception will be immediately returned. However, the
point will always reflect the “source port” status and object value. In other
words, if such an out-of-range write attempt is performed, the unsuccessful
“source port” network write can be observed by reading the current
(unchanged) value of the point during a subsequent Modbus transaction.
15.1.1 Coil & Discrete Input Mappings
The Modbus slave implementation provides read/write support for coils (0X
references) and read-only support for discrete inputs (1X references). These
will collectively be referred to from here on out as simply “discretes”. Accessing
discretes does not reference any new physical data: discretes are simply
indexes into various bits of Modbus registers. What this means is that when a
discrete is accessed, it is resolved by the gateway into a specific register, and a
specific bit within that register. The pattern of discrete-to-register/bit
relationships can be described as follows:
Discrete 1...16 map to register #1, bit0...bit15 (bit0=LSB, bit15=MSB)
Discrete 17...32 map to register #2, bit0...bit15, and so on.
Arithmetically, the discrete-to-register/bit relationship can be described as
follows: For any given discrete, the register in which that discrete resides can
be determined by:
+
=
16
15discrete
register
…Equation 1
Where the bracket symbols “ ” indicate the “floor” function, which means that
any fractional result (or “remainder”) is to be discarded, with only the integer
value being retained.
Also, for any given discrete, the targeted bit in the register in which that discrete
resides can be determined by:
16%)1(
=
discretebit …Equation 2
Where “discrete” [1…65535], “bit” [0…15], and “%” is the modulus operator,
which means that any fractional result (or “remainder”) is to be retained, with
the integer value being discarded (i.e. it is the opposite of the “floor” function).
From these equations, it can be seen that the largest register number that can
be accessed via this discrete-to-register mapping method is 4096 (which
contains discrete #65535).