目的

本文将详细说明通过 OPC UA 协议收集数据时,如何编辑JSON文件。此教程仅包含采集器部分JSON,数据上云部分JSON配置请阅读另外教程。


示例代码

  1. {
  2. "CollectorName": "OmronOPCUA",
  3. "CollectorDescription": "Example Omron NX1 with OPC-UA Server",
  4. "Protocol": "OPC-UA/TCP",
  5. "ConnectRetryMin": 2,
  6. "ConnectRetryMax": 240,
  7. "OPCUAAccess": {
  8. "OPCUASecurityPolicy": "none",
  9. "OPCUAUserTokenType": "anonynmous",
  10. "OPCUATimeStampPolicy": "dcm"
  11. },
  12. "SamplePoints": [
  13. {
  14. "SampleName": "Temp1",
  15. "SampleDescription": "B1 Potmeter",
  16. "SamplesSaved": 1000,
  17. "SampleDataType": "int16",
  18. "SampleLowerLimit": 0,
  19. "SampleUpperLimit": 8100,
  20. "SampleLimitDiscard": true,
  21. "SampleLimitAlarm": false,
  22. "OPCUAObject": {
  23. "NodeIdNameSpaceIndex": 4,
  24. "NodeIdType": "string",
  25. "NodeIdString": "Analog1",
  26. "OPCUASampleInterval": 4
  27. }
  28. }
  29. ]
  30. }

主体部分

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:每次采集的间隔秒数。