Versions Compared

Key

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

Table of Contents
maxLevel3
minLevel3
typeflat
printablefalse
separatorpipe

Overview

All protocol items support the use of modifiers. Modifiers specify how data is sent, polled, or displayed. The modifiers listed below are standard for all protocols in ACM. Further modifiers are supported, but are protocol specific. Consult the specific Device Protocol section for further documentation.

Connection

<C1> and <C2>

This is used to specify whether the connection is primary or secondary. 

Example: ItemName<C1>

Interval

<In>

Poll this item using a specific interval “n”. Valid interval numbers are 1 to 15. If no interval modifier is used, the item will be polled at the default interval (the default interval is 1 unless changed, and can be identified by reading the “IntervalSelect” OPC item).

...

This item's name will not be tested against ACM protocol standard items. Use this modifier if the item name required to poll from a device is the same as an ACM standard item name.

Priority

<P1>, <P2>, <P3>, <P4>, and <P5>.

The priority of real-time OPC items can be set by adding a modifier to them. By default, they are set to Priority 3 which is Medium. To set them to High Priority by adding the modifier “<P2>”, or set them to Low Priority by adding the modifier “<P4>”. If one of these modifiers is added to all OPC items, the regular reads from a device can be set to a higher or lower priority. Priority Levels are covered in more detail here.

Write Only

<WO>

This modifier is used to designate an OPC item as write only. The item will not be polled if the item is included in a read message.

Example: ItemName<WO>

Write I/O Only

<WIO:Register>

This modifier allows the driver to write to one register and read from another. I.e. When polled, the driver will read the register outside the brackets.  When writing, the driver will write to the register inside the brackets.

Example: Modbus.7101<WIO:7102>

Example of messages in the logger that show the process:

  • Demand Poll to receive initial value of 8 for register 7102:

2020/11/03 09:30:18.349,Command,asiMODBUS,MB1,Received command request to "Demand Poll" (command 101): P1="" P2=""
2020/11/03 09:30:18.383,TX,asiMODBUS,MB1,TX: 01 03 1B BD 00 02 52 CB
2020/11/03 09:30:18.510,RX,asiMODBUS,MB1,RX: 01 03 08 41 A8 00 00 41 00 00 00 6D DD
2020/11/03 09:30:18.510,Info,asiMODBUS,MB1,COMPLETE Response: start 0: length 13
2020/11/03 09:30:18.510,From Device,asiMODBUS,MB1,Item Data for "7101<WIO:7102>": Value=21 Q:0x00C0 VT=0x0004 ID=1722183248
2020/11/03 09:30:18.510,From Device,asiMODBUS,MB1,Item Data for "7101": Value=21 Q:0x00C0 VT=0x0004 ID=1722186368
2020/11/03 09:30:18.510,From Device,asiMODBUS,MB1,Item Data for "7102<WIO:7101>": Value=8 Q:0x00C0 VT=0x0004 ID=1722185408
2020/11/03 09:30:18.511,From Device,asiMODBUS,MB1,Item Data for "7102": Value=8 Q:0x00C0 VT=0x0004 ID=1722179648

  • Write to register 7102 using the WIO modifier: 

2020/11/03 09:31:24.824,To Device,asiMODBUS,MB1,7101<WIO:7102> Write Item = 22
2020/11/03 09:31:24.865,TX,asiMODBUS,MB1,TX: 01 06 1B BE 41 B0 00 00 D9 EC
2020/11/03 09:31:24.960,RX,asiMODBUS,MB1,RX: 01 06 1B BE 41 B0 00 00 D9 EC
2020/11/03 09:31:24.960,Info,asiMODBUS,MB1,COMPLETE Response: start 0: length 10

  • Demand Poll to receive updated value of 22 for register 7102:

2020/11/03 09:31:31.608,Command,asiMODBUS,MB1,Received command request to "Demand Poll" (command 101): P1="" P2=""
2020/11/03 09:31:31.609,Roll buffer,asiTCPLISTEN,SCHEDULER,Message 'Request' for user 88
2020/11/03 09:31:31.609,Info,asiTCPLISTEN,Master TCP/Listen,The user "MB1" requested a transaction.
2020/11/03 09:31:31.609,Info,asiDATA,MB1,MB1 Command 101: Waiting - Demand poll requested
2020/11/03 09:31:31.619,Info,asiTCPLISTEN,Master TCP/Listen,Device "MB1" <StartPoll=Continue>; <Txn=6>; <Priority=1>; <Task=2>; <Intervals=0x7fff>; <Interrupted=None>
2020/11/03 09:31:31.620,Open Close Setup,asiTCPLISTEN,Master TCP/Listen,Socket connected to [tcp:127.0.0.1:2001]
2020/11/03 09:31:31.632,Info,asiTCPLISTEN,Master TCP/Listen,Device "MB1" <GetPollMessage=true>; <Txn=6>; <Priority=1>; <Task=2>; <Intervals=0x7fff>; <Interrupted=None>
2020/11/03 09:31:31.642,TX,asiMODBUS,MB1,TX: 01 03 1B BD 00 02 52 CB
2020/11/03 09:31:31.642,Info,asiTCPLISTEN,Master TCP/Listen,Device "MB1" <GetMessageBuffer=true>; <Txn=6>; <Priority=1>; <Task=2>; <Intervals=0x7fff>; <Interrupted=None>
2020/11/03 09:31:31.642,TX,asiTCPLISTEN,Master TCP/Listen,"MB1" S: 01 03 1B BD 00 02 52 CB
2020/11/03 09:31:31.780,RX,asiTCPLISTEN,Master TCP/Listen,"MB1" R: 01 03 08 41 A8 00 00 41 B0 00 00 6C 3A
2020/11/03 09:31:31.780,RX,asiTCPLISTEN,Master TCP/Listen,BUFFER: 01 03 08 41 A8 00 00 41 B0 00 00 6C 3A
2020/11/03 09:31:31.780,RX,asiMODBUS,MB1,RX: 01 03 08 41 A8 00 00 41 B0 00 00 6C 3A
2020/11/03 09:31:31.780,Info,asiMODBUS,MB1,COMPLETE Response: start 0: length 13
2020/11/03 09:31:31.780,From Device,asiMODBUS,MB1,Item Data for "7101<WIO:7102>": Value=21 Q:0x00C0 VT=0x0004 ID=1722183248
2020/11/03 09:31:31.780,From Device,asiMODBUS,MB1,Item Data for "7101": Value=21 Q:0x00C0 VT=0x0004 ID=1722186368
2020/11/03 09:31:31.780,From Device,asiMODBUS,MB1,Item Data for "7102<WIO:7101>": Value=22 Q:0x00C0 VT=0x0004 ID=1722185408
2020/11/03 09:31:31.780,From Device,asiMODBUS,MB1,Item Data for "7102": Value=22 Q:0x00C0 VT=0x0004 ID=1722179648

Pause

For clients that do not support an inactive state for items, this modifier can be used to stop or start polling of a specific item. Any item can be controlled through another item of the same name with this modifier appended.

...