A Suffix
- Last UpdatedJul 26, 2020
- 2 minute read
You can interpret consecutive PLC register values as an ASCII string of values separated by spaces by specifying a register range followed by a blank space and an A. For example, R501-R510 A.
This item name indicates that registers R501 through R510 should be read and written as a unit. This technique is useful to load a group of registers with a new set of control values. For example, a recipe.
You can assume registers to be unsigned, unless otherwise specified.
R100 A is the same as R100-R101 A.
In addition to the A, by further suffixing a blank space and an S (signed), or L (long integer), or F (floating point), or (BCD), the string can be interpreted as a string of signed / long / floating point / BCD.
The resulting data type is a VT_BSTR.
For example,
R1-R6 A (BCD)
P1-P10 A
AI1-AI10 A
R1000-R1099 A S
WIDGETS^%L1-L20 A S
AO1-AO10 A.
Example:
R1 = 54, R2 = 55, R3 = 69, R4=72, R5 = 73
R1-R5 A = 54 55 69 72 73
The following point names support register arrays (blocks): %AI, %AO or %AQ, %P, %R and BLOCKNAME^%L, %W.
When you write or poke a new value for the Register Array from the client, it must be in the form of a character string containing a value for each register. The register values can be separated by any combination of commas, tabs, spaces, carriage returns, and line feeds.
For example, if the item is R1-R6 A, you poke the following values:1,2,3,4,5,6 or 1<tab>2<tab>3<tab>4<tab>5<tab>6 or 1 2 3 4 5 6, and so on.
When the server returns a new value for a Register Array to the client, it is in the form a character string containing a value for each register separated by carriage return and line feed.
For example, if the item is R1-R6 A, the value returned is 50<cr><lf> 17<cr><lf> 0<cr><lf> 5<cr><lf> 1007<cr><lf> 20<cr><lf>.
Supported base items are: %AI, %AO or %AQ, %P, %R, %L, %W
Note: For Micro and Nano PLCs, a maximum of 100 elements are allowed for items with suffix A. For all other PLCs, the maximum is 1000.