Type | Description |
---|---|
I1 | one-byte character |
UI1 | unsigned one-byte value sent to the client as an I2 |
I2 | signed two-byte integer |
UI2 | unsigned two-byte integer |
I4 | signed four-byte integer |
UI4 | unsigned four-byte integer |
R4 | single precision IEEE floating point |
BOOL | Boolean (on/off) value |
STRING | String |
TLP | A special type, String (T, L, P) denotes the ROC items that do not contain data, but instead contain the definition of another item. See TLP Data Type notes below. |
TLP Data Type for user defined points
The TLP data type in the ROC RTU is a way to access data using indirect addressing. Instead of addressing the desired value directly, first an intermediate address is read that contains the desired value’s address. The ROC.dll can rebuild the message using this address to read the final desired value. After the address is read, the final value can also be changed by writing a new value to this item.
Example: The item USER_OPCODE.DATA_01 has a TLP data type.
The address of the final value can be read using this item’s name as is. If the final value is floating point, then the final value can be read by appending the data type option <TFLP> to the end of the item name (USER_OPCODE.DATA_01<TFLP>).
Other options are listed below.
Data Option | Description |
---|---|
<TBIN> | Binary |
<TACn> | ASCII character string. The exact length of the user defined point (n) is required when using TLP datatype. The length should match the length of the point being read from the device. You will replace the (n) with your length value. EX. <TAC12> |
<TINT8> | Signed 8-bit Integer |
<TINT16> | Signed 16-bit Integer |
<TINT32> | Signed 32-bit Integer |
<TUINT8> | Unsigned 8-bit Integer |
<TUINT16> | Unsigned 16-bit Integer |
<TUINT32> | Unsigned 32-bit Integer |
<TFLP> | Floating Point – IEEE Format |
<TTLP> | Type, Point or Logical Number, Parameter Number. Default type. |
<TSTRn> | Same as <TACn> |
<TI1> | Signed 1-byte Integer. Same as <TINT8> |
<TI2> | Signed 2-byte Integer. Same as <TINT16> |
<TI4> | Signed 4-byte Integer. Same as <TINT32> |
<TUI1> | Unsigned 1-byte Integer. Same as <TUINT8> |
<TUI2> | Unsigned 2-byte Integer. Same as <TUINT16> |
<TUI4> | Unsigned 4-byte Integer. Same as <TUINT32> |
<TR4> | 4-byte Floating Point – IEEE Format. Same as <TFLP> |
<TR8> | 8-byte Floating Point – IEEE Format |
<TTIME> | Arithmetic time representing the number of seconds elapsed since 12:00AM Jan 1, 1970. Used for timestamps in ROC protocol. |
<TJULIAN> | Arithmetic time representing the number of seconds elapsed since 12:00AM Jan 1, 1970. Used for timestamps in ROC Plus protocol. |
This option can be combined with other options like the <TAC>, the {Gain:Offset}, the <C1> or <C2> and the <I#> options. The <Data Type> option, the {Gain:Offset} option and the <TAC> option can be written in any order but must precede the <C1>, <C2> and <I#> options. All options are case insensitive.
Example: Use USER_OPCODE.DATA_01<TFLP>{10:3}<TAC><C1><I2>
Linear Item Scaling
Linear scaling of items from a device is available using a linear transformation:
EU = GAIN * ItemValue +OFFSET
The optional gain/offset specification item format: Itemname{GAIN:OFFSET}
For example, to linear scale an item called Itemname with a gain of 10 and offset of 3 the item name would be Itemname{10:3}. This option can be combined with other options like the <Data Type>, <AC>, <PRIMARY> or <SECONDARY> and <I#> options. The <Data Type> option, the {GAIN:OFFSET} option and the <AC> option can be written in any order but must precede the <PRIMARY>, <SECONDARY> and <I#> options. All options are case insensitive.
Examples: Itemname<TFLP>{10:3}<AC><PRIMARY><I1>Itemname<ac>{10:3}<TFLP><i1><primary>
Alarm Code Quality Flag
I/O points have an alarm code that can be read by the (PointType.ALARM_CODE) parameter. This alarm code can also be read simultaneously with the value of the point using the optional item format: Itemname<AC>. When the <AC> option is used, the Alarm Code for that point will be returned in the quality flag of the item. If the Alarm Code is zero and communication is good, the quality of the item will be Good. If the Alarm Code is non-zero and communication is good, then the quality will be Uncertain. If the communication is not good, then the quality will be Not Connected or Communications Failure. This option can be combined with other options like the <Data Type>, {GAIN:OFFSET}, <PRIMARY> or <SECONDARY> and <I#> options. The <Data Type> option, the {GAIN:OFFSET} option and the <AC> option can be written in any order but must precede the <PRIMARY>, <SECONDARY> and <I#> options. All options are case insensitive.
Examples:
Itemname<TFLP>{10:3}<AC><PRIMARY><I1>
Itemname<ac>{10:3}<TFLP><i1><primary>
Primary and Secondary Connections
Each item name can be followed by the optional <Primary> or <Secondary> specification. When one of these is included in the item name, the data will be retrieved using the primary or secondary connection (as specified) instead of the current connection. This option can be combined with other options like the <I#>, <AC>, and {GAIN:OFFSET} options. The <Primary> or <Secondary> option and the <I#> option can be written in any order but must follow the <Data Type>, <AC> and {GAIN:OFFSET} options. All options are case insensitive.
Examples:
Itemname<TFLP>{10:3}<AC><PRIMARY><I1>
Itemname<ac>{10:3}<TFLP><i1><primary>
Assigning Items to a Polling Interval
Each item name can be followed by the optional <I#> specification where # specifies the polling interval from 1 to 15 for this item. When this is included in the item name, the data will be polled at the specified polling interval. The default polling interval is 1. This option can be combined with other options like the <Primary> or <Secondary>, <AC> and {GAIN:OFFSET} options. The <Primary> or <Secondary> option and the <I#> option can be written in any order but must follow the <Data Type>, <AC> and {GAIN:OFFSET} options. All options are case insensitive.
Examples:
Itemname<TFLP>{10:3}<AC><PRIMARY><I1>
Itemname<ac>{10:3}<TFLP><i1><primary>