变量和标记描述文件列出了标记、标记参数以及与标记关联的连接。
该文件应以标头字符串开头,标头字符串包含处理文件所需的数据。variables.csv 文件的标头字符串的示例如下所示。
示例
|
前三个标头字符串与devices.csv文件中的标头字符串相同。
字符串 ID;Varname;Connection;Address;Datatype;Length;InLo;InHi;OutLo;OutHi;Description;EngUnits;EnumName
包含数据列的名称:
Id
– 标记的唯一数字 ID。需要标记 ID 来创建指向 datasets.csv 文件中的标记的链接。
Varname
– 标记的完整名称(例如,Drain.8450PT00058.value20
)。Connection
– 与标记关联的连接的 ID。连接 ID 在连接描述文件中指定,用于将协议链接到标记。
Address
– 标记的地址(采用字符串格式)。该地址取决于与标记关联的协议的类型(例如,对于 S7comm 协议,地址值为“M2.7
, DB575:82.0
”,对于 Modbus TCP 协议,地址值为“400537
, 123
, 300001
”)。
Datatype
– 标记数据类型的数字代码。可使用以下代码:Length
– 字符串类型的标记的字符串长度(以字节为单位)。InLo;InHi;OutLo;OutHi
– 用于缩放标记值的参数。如果用于缩放标记值的所有参数的值均等于零,则不使用缩放标记值功能。如果为参数指定了数字值,则使用以下公式来计算标记值:TagValue = OutLo + (TagValue – InLo) * ( OutHi – OutLo) / ( InHi – InLo),其中 TagValue 为标记值。
Description
– 标记描述(例如,“1 号锅炉出口的蒸汽压力”)。EngUnits
– 与标记对应的物理量的度量单位(例如,m/s、J)。EnumName
– 来自 enums.csv 文件的枚举名称,它定义标记的值。可以为具有 ENUM、INT* 或 UINT* 数据类型的标记填写“EnumName
”字段。“EnumName
”字段包含指向 enums.csv 文件中的枚举的链接。
示例: variables.csv 文件中的“
enums.csv 文件中的枚举描述:
|
标头字符串后面是文件正文,其中包含参数值(例如,标记 ID、标记名称、连接 ID)。variables.csv 文件的示例如下所示。
示例:
|
“Address
”字段中的标记地址结构取决于所使用的协议。
对于支持的协议,可使用以下地址结构:
[Area][ByteAddress].[BitAddress]
的的字符串。如果满足条件 MemArea=DataBlocks
,则将为地址增加数据块编号。字符串更改为 [DB17]:[ByteAddress].[BitAddress]
,其中:
Area
– 根据协议标准对内存区域代码的枚举:M、I、O、DB、C、T。ByteAddress
– 采用整数表示的字节地址。BitAddress
– 字节内的位地址,用整数表示。[Area][Address]
的字符串,其中:Area
– 根据协议规范对内存区域代码的枚举: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
– 地址值。该地址是一个介于与数据区域相应的范围内的整数。DOMAIN=Domain;LN=LnName;CO=CoName;DA=FullTagName;CDC=CdcName;LNCDC=LNClassName
格式的字符串,其中:DOMAIN
– 包含设备名称和逻辑设备名称的参数。LN
– 逻辑节点名称。CO
– 功能约束名称。DA
– 标记名称。CDC
– 属性公共数据类名称。LNCDC
– 逻辑节点公共数据类名称。[ASDU]:[Address]
的字符串,其中:ASDU
— 用整数表示的 ASDU 编号。Address
– 用整数表示的 InformationObject 编号。[Area][ByteAddress].[BitAddress]
的字符串,其中:Area
– 根据协议标准对内存区域代码的枚举:I、Q、T、M、G、AI、AQ、R、P、L、W。ByteAddress
– 采用整数表示的字节地址。BitAddress
– 字节内的位地址,用整数表示。LID=LidValue;RID=RidValue
的字符串,其中LidValue
和RidValue
是 TiaPortal 项目中标记的内部标识符。[Area][ByteAddress].[BitAddress]
的字符串,其中:Area
— 根据协议标准对内存区域代码的枚举:A、CIO、C、CS、D、DR、E、H、IR、TK、T、TS、W。ByteAddress
– 采用整数表示的字节地址。BitAddress
– 字节内的位地址,用整数表示。[GROUP]:[INDEX]
的字符串,其中:GROUP
是特定群组。INDEX
是特定索引。[Application]:[POUInstance].[VarOffset]
的字符串,其中:Application
是应用程序的名称。POUInstance
是 POU 实例。VarOffset
是变量偏移量。[MSD_VERSION]:[MSD]
的字符串,其中:MSD_VERSION
是一个范围在 0–65535 之间的整数,用于比较 PLC 和 SCADA 系统中的项目/标记的版本。MSD
是标记 ID,用 0~65535 范围内的整数表示。[BLOCK_ID]:[SUBBLOCK_ID]:[PROPERTY_ID]
的字符串,其中:BLOCK_ID
是 PLC 程序块的序列号,用 0–65535 范围内的整数表示。SUBBLOCK_ID
是 PLC 程序子块的序列号,用 0–65535 范围内的整数表示。PROPERTY_ID
是 PLC 程序块参数的序列号,用 0–65535 范围内的整数表示。[Area][ByteAddress].[BitAddress]
的字符串,其中:Area
是根据协议规范对内存区域代码的枚举:X,Y,C,S,T,CT,GX,GY,V,P,SP,B,PB。ByteAddress
– 采用整数表示的字节地址。BitAddress
– 字节内的位地址,用整数表示。[OBJECT_TYPE]:[OBJECT_ID]
的字符串,其中:OBJECT_TYPE
是根据协议规范的对象类型。OBJECT_ID
是对象的序列号,用 0–4194303 范围内的整数表示。[IO]:[SubSlot]:[Index]:[Offset].[BitAddress]
的字符串,其中:IO
是变量方向(输入,输出)。SubSlot
是用整数表示的子槽编号。Index
是用整数表示的标记索引。Offset
是采用整数表示的标记字节地址。BitAddress
是字节内的位地址,用整数表示(仅用于具有 bool 数据类型的标记)。此外,为了正确加载协议参数,必须为特定设备指定 GSDML 文件。
[Controller Address]:[Index]:[Size]:[Config]:[MessageType]
的字符串,其中:Controller Address
— 用十六进制整数表示的对象控制器的地址。Index
– 用整数表示的位标记索引。Size
— 用整数表示的位大小。Config
– 对象控制器上的跳线位置,以十六进制整数表示。MessageType
– 消息类型(Order
或Status
)。另外,为了正确加载协议参数,您可能需要为特定设备指定配置文件。
[Object ID]:[Variable ID]
的字符串,其中:Object ID
— 用整数表示的对象标识符。Variable ID
— 用整数表示的变量标识符。此外,为了正确加载协议参数,必须指定站的配置文件。文件名必须是“specific.zip”。
此外,为了正确加载协议参数,您必须指定包含 PLC 启动日志的文件。文件名必须是“specific.zip”。
[ExchangeId]:[RefAddress]
的字符串,其中:ExchangeId
– 订阅 ID,以 0–4294967295 范围内的整数表示。RefAddress
— 标记地址偏移量(以字节为单位),用 0-65535 范围内的整数表示。