目的
本文将详细说明通过 OPC UA 协议收集数据时,如何编辑JSON文件。此教程仅包含采集器部分JSON,数据上云部分JSON配置请阅读另外教程。
示例代码
{
"CollectorName": "OmronOPCUA",
"CollectorDescription": "Example Omron NX1 with OPC-UA Server",
"Protocol": "OPC-UA/TCP",
"ConnectRetryMin": 2,
"ConnectRetryMax": 240,
"OPCUAAccess": {
"OPCUASecurityPolicy": "none",
"OPCUAUserTokenType": "anonynmous",
"OPCUATimeStampPolicy": "dcm"
},
"SamplePoints": [
{
"SampleName": "Temp1",
"SampleDescription": "B1 Potmeter",
"SamplesSaved": 1000,
"SampleDataType": "int16",
"SampleLowerLimit": 0,
"SampleUpperLimit": 8100,
"SampleLimitDiscard": true,
"SampleLimitAlarm": false,
"OPCUAObject": {
"NodeIdNameSpaceIndex": 4,
"NodeIdType": "string",
"NodeIdString": "Analog1",
"OPCUASampleInterval": 4
}
}
]
}
主体部分
CollectorName:此配置文件的唯一名称。遵循命名规则。
CollectorDescription:此配置文件的描述。
Protocol:数据收集协议,在这里只能为”OPC-UA/TCP”。
ConnectRetryMin与ConnectRetryMax:当设备链接断开时,重新尝试链接设备的间隔秒数。采用指数退避算法机制,间隔时间逐渐从设定的最小值趋向设定的最大值。
连接OPC-UA服务器(OPCUAAccess)
这里包含的内容是访问指定OPCUA服务器所需的参数集合。
OPCUASecurityPolicy:安全策略,目前支持下列五个选项:”none”、”Basic128Rsa15”、”Basic256”、”Basic256Sha256”、”Aes128_Sha256_RsaOaep”.
OPCUAUserTokenType:身份验证方式,目前支持下列四个选项:”anonymous”, “username”, “certificate” or “issuedtoken”.
OPCUATimeStampPolicy:用来标记收集到的数据的时间戳。 目前存在 3 个可能的值:“source”、“server”或“dcm”。
采集点位(SamplePoints)
SampleName: 采集点的标记名。
SampleDescription: 采集点的描述。
SamplesSaved: 保存到数据库的数值数量,当设置0时,数值仍可以在边缘计算中用到,但不能将该数值发送到云端。 SampleDataType: 收集的数据类型。可能的值为:“bool”、“sbyte”、“byte”、“int16”、“uint16”、“ int32”、”uint32”、”int64”、”uint64”、””float”。
SampleLowerLimit与SampleUpperLimit:收集数据值的下限与上线。如果采集的数据值不在此范围内,则按照 SampleLimitDiscard 和 SampleLimitAlarm 进行评估。
控制是否丢弃违反限制的数据值。如果存在 SampleLowerLimit 或 SampleUpperLimit,则为必填项。
控制是否生成警报。如果存在 SampleLowerLimit 或 SampleUpperLimit,则为必填项。
SampleLimitDiscard”: true, SampleLimitAlarm”: false,
寻址(OPCUAObject)
NodeIdNameSpaceIndex:这是 OPC-UA 协议的空间索引。 当 NodeIdType 为“browsename”时,不使用此索引,因此是可选的。
NodeIdType:这是 OPC-UA协议的 NodeID 类型。 有以下选项:“numeric”、“string”、“guid”、“bytestring”或“browsename”。
NodeIdNumeric:这是 OPC-UA协议的 NodeID 数值。 仅当 NodeIdType 的值为“numeric”时才是必填的。
NodeIdString:这是 OPC-UA协议 NodeID 字符串值。 仅当 NodeIdType 的值为“string”时才是必填的。
NodeIdGuid:这是 OPC-UA NodeID GUID 值。 仅当 NodeIdType 的值为“guid”时才是必填的。
OPCUASampleInterval:每次采集的间隔秒数。