
ICC
83
8.2.11 ControlLogix Explicit Messaging Example: Reading and Writing
Often times, applications may need to both read data from and write data to the inverter. At a minimum,
this will require two MSG instructions and two message controller tags. Figure 115 shows an example
of three MSG instructions, one for reading and two for writing (the inverter’s frequency command and
operation command word). The only item of note that differentiates this example from the multiple-read
example in section 8.2.10 is the addition of the en_xx_wr XIC elements. The reason for the addition of
these elements is that while reading from a remote device is often continuously performed (monitoring),
data is typically written to the remote device only when necessary (i.e. when the value to write has
changed). This conserves both network bandwidth and potentially EEPROM lifespans on the target
device. The en_xx_wr elements in this example, therefore, would typically be replaced in an actual
application program by user-provided logic that controls the conditions under which write operations
would be performed.
Figure 115: Reading and Writing via MSG Instructions
Figure 116 shows the
configuration details of the
example fc_wr_connection MSG
instruction. Note that the chosen
“Message Type” is “CIP Data
Table Write”, and that this
instruction will only be writing to
one inverter register: namely, the
frequency command (Destination
Element is wr_reg_1798 /
function code S05). The Source
Element in this case is the 2
nd
element (starting from index 0) of
an INT array tag named
“wr_data”.
Note that when writing data via explicit messaging, use caution to ensure that the commanded registers
are not also simultaneously being commanded in the background via I/O messaging. Indeterminate
behavior can occur if MSG instructions and background I/O data transfers are both writing to the same
registers. In other words, if the I/O messaging example procedure detailed in section 8.2.4 has already
been implemented, and the same program is now being modified to implement explicit messaging, then
it is recommended to inhibit the target module by selecting the “Inhibit Module” checkbox in the
Connection tab of the Module Properties dialog.
Figure 116: MSG Configuration for Writing