Item Modifiers

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).

Example: ItemName<I3> This example item will be polled at the time and rate specified in interval 3 of the selected schedule object.

Device Override

<D>

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.


Example:
• OPC item: ItemName
• OPC item: ItemName.Pause


Writing a 1 to the ItemName.Pause item will make ACM stop polling for the ItemName item.
Writing a 0 to the ItemName.Pause item will make ACM resume scheduled polling for the ItemName item.

Device Pause Override

<DP>

This item's name will not be tested for the .Pause modifier. Use the <DP> modifier if the item name required to poll from a device contains the string .Pause (case insensitive).

Device Pause Override Pause

<DPP>

For clients that do not support an inactive state for items, this modifier can be used to stop or start polling of an item whose name contains the string .Pause (case insensitive). An item that uses the <DP> modifier can be controlled through another item of the same name with the <DPP> modifier appended.

Example:
• OPC item: ItemNameWith.Pause<DP>
• OPC item: ItemNameWith.Pause<DPP>

Writing a 1 to the ItemNameWith.Pause<DPP> item will make ACM stop polling for the ItemNameWith.Pause<DP> item.
Writing a 0 to the ItemNameWith.Pause<DPP> item will make ACM resume scheduled polling for the ItemNameWith.Pause<DP> item.

For assistance, please submit a ticket via our Support Portal, email autosol.support@autosoln.com or call 281.286.6017 to speak to a support team member.