File with descriptions of tags and variables: variables.csv
The variables and tags description file contains enumerations of tags, their parameters, and connections with which the tags are linked.
The file should begin with header strings containing the data needed for file processing. An example of header strings of the variables.csv file is provided below.
Example
|
The first three header strings are identical to the header strings in the devices.csv file.
The string ID;Varname;Connection;Address;Datatype;Length;InLo;InHi;OutLo;OutHi;Description;EngUnits;EnumName
contains the names of columns with data:
Id
– unique numerical ID of the tag.The tag ID is needed to create links to the tag in the datasets.csv file.
Varname
– full name of the tag (for example,Drain.8450PT00058.value20
).Connection
– ID of the connection with which the tag is linked.Address
– address of the tag in string form.The address depends on the type of the protocol with which the tag is linked (for example, for the S7comm protocol the address value is
M2.7
,DB575:82.0
, and for the Modbus TCP protocol the address value is400537
,123
,300001
).Datatype
– numerical code of the tag data type. The following codes are used:- 0 – BOOL
- 1 – INT8
- 2 – UINT8
- 3 – INT16
- 4 – UINT16
- 5 – INT32
- 6 – UINT32
- 7 – INT64
- 8 – UINT64
- 9 – FLOAT
- 10 – DOUBLE
- 11 – STRING
- 12 – ENUM
- 13 – BOOL ARRAY
- 14 – UNSPECIFIED
Length
– string length in bytes for a tag of the string type.InLo;InHi;OutLo;OutHi
– parameters for scaling the tag value.If the values of all parameters for scaling the tag value are equal to zero, scaling of the tag value is not used. If numerical values of parameters are specified, the following formula is used to calculate the tag value: TagValue = OutLo + (TagValue – InLo) * (OutHi – OutLo) / (InHi – InLo), where TagValue is the tag value.
Description
– tag description (for example, "Steam pressure at the output of Boiler No. 1").EngUnits
– units of measurement of the physical quantity corresponding to the tag (for example, m/s, J).EnumName
– name of the enumeration from the enums.csv file, which defines the value of the tag.The
EnumName
field can be filled for tags with data types ENUM, INT*, or UINT*. TheEnumName
field contains a link to the enumeration from the enums.csv file.Example:
The
EnumName
field in the variables.csv file:EnumName = "OnOffSwitch"
Description of the enumeration in the enums.csv file:
"OnOffSwitch"; 0; "
On
"
"OnOffSwitch"; 1; "
Off
"
The header strings are followed by the file body containing the values of parameters (for example, tag ID, tag name, or connection ID). An example of the variables.csv file is provided below.
Example:
|
The structure of the tag address in the Address
field depends on the protocol used.
The following structure addresses are used for the supported protocols:
- MODBUS TCP: integer (for example, addresses of discrete inputs: from 100001).
- SIEMENS S7COMM over TCP and S7COMM over INDUSTRIAL ETHERNET: string in the format
[Area][ByteAddress].[BitAddress]
.If the condition
MemArea=DataBlocks
is satisfied, the address is supplemented with the number of the data block. The string changes to[DB17]:[ByteAddress].[BitAddress]
, where:Area
– the enumeration of codes of memory areas according to the protocol standard: M, I, O, DB, C, T.ByteAddress
– the byte address represented by an integer.BitAddress
– the bit address inside the byte, which is represented by an integer.
- MITSUBISHI MELSEC SYSTEM Q: a string in the format
[Area][Address]
, where:Area
– the enumeration of codes of memory areas according to the protocol specification: SM, SD, M, L, F, V, D, TS, TC, TN, SS, SC, SN, CS, CC, CN, S, Z, R, X, Y, B, W, SB, SW, DX, DY, ZR.Address
– the address value. The address is an integer in the range that depends on the data area.
- ALLEN-BRADLEY ETHERNET/IP: a string with the tag name.
- IEC 61850 MMS and GOOSE: per the IEC 61850 standard – a string of the format
DOMAIN=Domain;LN=LnName;CO=CoName;DA=FullTagName;CDC=CdcName;LNCDC=LNClassName
, where:DOMAIN
– a parameter that includes the device name and the logical device name.LN
– logical node name.CO
– functional constraint name.DA
– tag name.CDC
– attribute common data class name.LNCDC
– logical node common data class name.
- IEC 60870-5-104 and IEC 60870-5-101: a string in the format
[ASDU]:[Address]
, where:ASDU
– ASDU number represented by an integer.Address
– InformationObject number represented by an integer.
- GENERAL ELECTRIC SRTP: string in the format
[Area][ByteAddress].[BitAddress]
, where:Area
– the enumeration of codes of memory areas according to the protocol standard: I, Q, T, M, G, AI, AQ, R, P, L, W.ByteAddress
– the byte address represented by an integer.BitAddress
– the bit address inside the byte, which is represented by an integer.
- SIEMENS S7COMMPLUS over TCP: string in the format
LID=LidValue;RID=RidValue
, whereLidValue
andRidValue
are internal identifiers of a tag in the TiaPortal project. - EMERSON DELTAV: a string with the tag name.
- OMRON FINS over UDP, OMRON FINS over TCP and OMRON FINS over ETHERNET/IP: string in the format
[Area][ByteAddress].[BitAddress]
, where:Area
– enumeration of codes of memory areas according to the protocol standard: A, CIO, C, CS, D, DR, E, H, IR, TK, T, TS, W.ByteAddress
– the byte address represented by an integer.BitAddress
– the bit address inside the byte, which is represented by an integer.
- YOKOGAWA VNET/IP: a string with the tag name.
- DNP3: string in the format
[GROUP]:[INDEX]
, where:GROUP
is the specific group.INDEX
is the specific index.
- DMS for ABB AC 700F: integer.
- MMS for ABB AC 800M: string in the format
[Application]:[POUInstance].[VarOffset]
, where:Application
is the name of the application.POUInstance
is the POU instance.VarOffset
is the variable offset.
- CODESYS V3 GATEWAY over TCP and CODESYS V3 GATEWAY over UDP: string with the tag name.
- OPC UA BINARY: a string with the tag name.
- OPC DA: a string with the tag name.
- EMERSON CONTROLWAVE DATA EXCHANGE: a string in the format
[MSD_VERSION]:[MSD]
, where:MSD_VERSION
is an integer in the range of 0–65535 that is used for comparing versions of projects/tags in the PLC and SCADA system.MSD
is the tag ID represented by an integer in the range of 0–65535.
- FOXBORO FCP280 / FCP270 INTERACTION: string containing the tag name.
- HONEYWELL EXPERION INTERACTION: string in the format
[BLOCK_ID]:[SUBBLOCK_ID]:[PROPERTY_ID]
, where:BLOCK_ID
is the sequence number of the PLC program block represented by an integer in the range of 0–65535.SUBBLOCK_ID
is the sequence number of the PLC program subblock represented by an integer in the range of 0–65535.PROPERTY_ID
is the sequence number of the PLC program block parameter represented by an integer in the range of 0–65535.
- DIRECTLOGIC INTERACTION: string in the format
[Area][ByteAddress].[BitAddress]
, where:Area
is the enumeration of memory area codes according to the protocol specification: X, Y, C, S, T, CT, GX, GY, V, P, SP, B, PB.ByteAddress
– the byte address represented by an integer.BitAddress
– the bit address inside the byte, which is represented by an integer.
- BACNET: string in the format
[OBJECT_TYPE]:[OBJECT_ID]
, where:OBJECT_TYPE
is the type of object according to the protocol specification.OBJECT_ID
is the sequence number of the object represented by an integer in the range of 0–4194303.
- PROFINET IO: string in the format
[IO]:[SubSlot]:[Index]:[Offset].[BitAddress]
, where:IO
is the variable direction (input, output).SubSlot
is the number of the subslot represented by an integer.Index
is the tag index represented by an integer.Offset
is the tag byte address represented by an integer.BitAddress
is the bit address inside the byte, which is represented by an integer (used only for tags that have the bool data type).
In addition, to correctly load the protocol parameters, you must specify the GSDML file for the specific device.
- YARD: string in the format
[Controller Address]:[Index]:[Size]:[Config]:[MessageType]
, where:Controller Address
– address of the object controller represented by a hexadecimal integer.Index
– bit tag index represented by an integer.Size
– bit size represented by an integer.Config
– position of the jumpers on the object controller represented by a hexadecimal integer.MessageType
– type of message (Order
orStatus
).
In addition, to correctly load the protocol parameters, you must specify the configuration file for the specific device.
- COS: string in the format
[Object ID]:[Variable ID]
, where:Object ID
– object identifier represented by an integer.Variable ID
– variable identifier represented by an integer.
In addition, to correctly load the protocol parameters, you must specify the configuration file for the station.
- VALMET DNA INTERACTION: string containing the tag name.
An example of the tag address string for the MMS and GOOSE protocols is provided below.
Example:
|