Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

PropertiesValues
Poll Modification Defs

Click the Edit Table button to define the special characteristics needed for the Modbus protocol modification on this Field Unit. 

Poll IndexThis refers to the poll numbers defined in the Field Unit Poll Table. The poll message whose number appears in this row will be modified as specified in the remainder of this row. If several rows refer to the same poll number, all modifications will be evaluated before modifying this poll transmit message, in case one condition specifies "no modification". 
Trig. Addrs

Enter the Modbus address location in this RTU's RTDB to use for a Trigger Address.

If the Trig Address contain the exact value as specified in the "Trig Value" parameter, then this SOS row becomes active, and the modification of this poll message will take place. The values in the Trig Address RTDB registers may be modified by a polling process, or by ISaGRAF or POD logic. 

Trig. ValueEnter the value which, if found at the Trig Addrs. location, will cause the poll message modification to take place. This value may be between 0 and 65535 inclusive. If the Trig Addrs is a Boolean register, the valid values are 0 and 1. 
Tx Start Byte

Unless using a "Skip" option for the Fill Control, the SOS table allows bytes in a Modbus message to be modified before the poll is sent. The poll byte modification is controlled by the Tx Start Byte, Tx #Bytes Filled, Fill from Addrs. and Fill Control parameters.

Enter the starting byte of the Modbus poll command to be modified. Modbus poll Tx bytes that might be used for this option typically include:

  • byte 1: device address
  • byte 2: function code
  • byte 3: start of register offset in request
  • byte 5: start of register count
  • byte 7: Entering a 7 will not modify the poll (byte 7 is the start of checksum in a Modbus message) 
Tx #Bytes FilledEnter how many bytes in the poll command are to be modified starting at the Tx Start Byte. 
Fill from Addrs

Enter the Modbus location in the RTDB containing the bytes to use for the poll modification. 

The values in this RTDB location(s) should be filled as required, before the Trigger occurs, either by ISaGRAF, an external host, or as the result of another poll to the Field Unit. 

Fill Control

This parameter allows certain variations when executing the self-modifying poll. If either of the "Skip" options is used, the poll is either skipped or not skipped based on the value of the Trig. Addrs.

Otherwise (if using a non-Skip option on this SOS table row), bytes in the Modbus poll will be modified before sending to the device. This can be useful for some complex operations, such as working with non-standard Modbus in certain flow computers.

Options available for this parameter are: 

No Conversion (LSB first) - Bytes from the Fill from Addrs registers are used with no conversion, as 16-bit values. 
NOTE: Because of the Little Endian byte order of data stored in the RTDB, when using No Conversion, the LSB is used first in the modified Modbus poll (Tx Start Byte position), followed by the next most-significant byte, or the next register, and so on. To use MSB first, use the "Byte Swapping" option instead.

Byte Swapping (MSB first) - Bytes from the Fill from Addrs. Register are put into the transmit message MSB first, followed by LSB. 

Fill using LSB only - Use this option if the Fill from Addrs register contains an 8-bit value rather than a 16-bit value, so that the most-significant byte is omitted. If more than one byte is modified (Tx #Bytes Filled > 0), the subsequent registers will be used as the source of the additional bytes.

Skip Poll if Matching Trigger - Selecting this option causes the poll not to be sent if the value in the Trig Addrs matches the Trig Value (NOTE that no byte modification occurs in this case). When selecting this option, the other values in this row of the Poll Modification Def must be set to dummy values but will not be used. 

Skip Poll on NON-Matching Trigger – If the Trigger register contains a zero value, then ignore. If the trigger register is non-zero, skip the poll.  – Selecting this option causes the poll not to be sent if the value in the Trig Addrs doesn't match the Trig Value (NOTE that no byte modification occurs in this case). When selecting this option, the other values in this row of the Poll Modification Def must be set to dummy values but will not be used.
Example: If the Trig Addrs register is 30,001 and the Trig Value is 0, then whenever the data in 30,001 is 0, the poll will be sent when scanned by the Master Channel. When the data in 30,001 changes to anything else (doesn't match 0), the poll will be skipped.

Extra Logic

This option gives some additional options that may be used in the Modbus poll modification.

None – Choose this option to disable Extra Logic. Ignores the parameter RTDB for Poll Length

Save Reply Length to RTDB – Use last field to save byte count of the Modbus reponse packet length. 

Incr-FillRtdb+Decr-SaveRtdb – The Fill from Addrs RTDB register is incremented after the poll happens. The next consecutive RTDB register is decremented (assuming that the poll was successful.) 

See section 23527434 for an example of how this "Incr-FillRtdb+Decr-SaveRtdb" option would be used.

RTDB for Poll  LengthEnter the Modbus address into which you want put the byte length of the response. This is very useful if your command is requesting data of unknown length such as "all alarms", etc. You will know how many bytes were returned in response to your command by looking at this address after the poll response has been processed. If you don't wish to use this feature, set the Extra Logic field to "None".

...