更新时间:2024-09-02 GMT+08:00
分享

OT数采配置

添加数采模板

描述数采配置项的元数据,数采配置包括数据源配置元数据、点位采集配置元数据。

系统数据源模板导入

数据源模板描述了数据源配置项的元数据,用户在配置数据源之前,需要先导入数据源模板。IoT边缘服务当前已经预置通用数据源模板,可以直接使用,系统也支持用户自定义导入模板。

  1. 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。
  2. 在左侧导航栏选择边缘节点 > 应用管理进入页面,
  3. 选择驱动应用 > 数采模板管理 > 添加数采模板

  4. 添加文件,单击“确认”。

    • 本地准备一份数采模板文件,文件内容合规。
    • IoT边缘云平台当前已经预制2个业界主流通用数采模板,可以通过导入通用模板后使用。
    • 支持用户自定义导入模板,导入模板后缀.json,满足json格式规范,样例及字段解释如下:

      示例

        1
        2
        3
        4
        5
        6
        7
        8
        9
       10
       11
       12
       13
       14
       15
       16
       17
       18
       19
       20
       21
       22
       23
       24
       25
       26
       27
       28
       29
       30
       31
       32
       33
       34
       35
       36
       37
       38
       39
       40
       41
       42
       43
       44
       45
       46
       47
       48
       49
       50
       51
       52
       53
       54
       55
       56
       57
       58
       59
       60
       61
       62
       63
       64
       65
       66
       67
       68
       69
       70
       71
       72
       73
       74
       75
       76
       77
       78
       79
       80
       81
       82
       83
       84
       85
       86
       87
       88
       89
       90
       91
       92
       93
       94
       95
       96
       97
       98
       99
      100
      101
      102
      103
      104
      105
      106
      107
      108
      109
      110
      111
      112
      113
      114
      115
      116
      117
      118
      119
      120
      121
      122
      123
      124
      125
      126
      127
      128
      129
      130
      131
      132
      133
      134
      135
      136
      137
      138
      139
      140
      {
          "tpl_id": "iec104_template",
          "name": "IEC104通用数采模板",
          "description": "IEC104通用数采模板",
          "datasource_meta": {
              "config_tabs": [
                  {
                      "key": "connection_info",
                      "name": "连接信息",
                      "description": "连接信息",
                      "config_items": [
                          {
                              "key": "host",
                              "name": "服务地址",
                              "description": "受控站服务地址",
                              "data_type": "string",
                              "required": true,
                              "crypted": false,
                              "max_length": 15,
                              "example": "127.0.0.1"
                          },
                          {
                              "key": "port",
                              "name": "服务端口",
                              "description": "受控站监听端口",
                              "data_type": "int",
                              "required": true,
                              "crypted": false,
                              "max_length": 15,
                              "example": 2404
                          }
                      ]
                  },
                  {
                      "key": "collection_paras",
                      "name": "连接附加参数",
                      "description": "连接附加参数",
                      "config_items": [
                          {
                              "key": "timeout_t0",
                              "name": "连接建立超时时间t0(秒)",
                              "description": "Time-out of connection establishment",
                              "data_type": "int",
                              "required": false,
                              "crypted": false,
                              "max_length": 128,
                              "example": 30
                          },
                          {
                              "key": "timeout_t1",
                              "name": "APDU发送超时时间t1(秒)",
                              "description": "Time-out of send or test APDUs",
                              "data_type": "int",
                              "required": false,
                              "crypted": false,
                              "max_length": 128,
                              "example": 15
                          },
                          {
                              "key": "timeout_t2",
                              "name": "消息确认超时时间t2(秒)",
                              "description": "Time-out for acknowledges in case of no data messages t2 < t1",
                              "data_type": "int",
                              "required": false,
                              "crypted": false,
                              "max_length": 128,
                              "example": 10
                          },
                          {
                              "key": "timeout_t3",
                              "name": "心跳数据超时时间t3(秒)",
                              "description": "Time-out for sending test frames in case of a long idle state",
                              "data_type": "int",
                              "required": false,
                              "crypted": false,
                              "max_length": 128,
                              "example": 20
                          },
                          {
                              "key": "send_seq_depth",
                              "name": "发送队列深度k",
                              "description": "Maximum difference receive sequence number to send state variable",
                              "data_type": "int",
                              "required": false,
                              "crypted": false,
                              "max_length": 128,
                              "example": 12
                          },
                          {
                              "key": "recv_seq_depth",
                              "name": "接收队列深度w",
                              "description": "Latest acknowledge after receiving w I format APDUs",
                              "data_type": "int",
                              "required": false,
                              "crypted": false,
                              "max_length": 128,
                              "example": 8
                          }
                      ]
                  }
              ],
              "default_values": {
                  "drivername": "IEC104"
              }
          },
          "point_meta": {
              "config_items": [
                  {
                      "key": "common_address",
                      "name": "公共地址(dec)",
                      "description": "十进制公共地址",
                      "data_type": "ushort",
                      "required": true,
                      "crypted": false,
                      "max_length": 256,
                      "example": 1
                  },
                  {
                      "key": "point_address",
                      "name": "点位地址(dec)",
                      "description": "十进制点位地址",
                      "data_type": "ushort",
                      "required": true,
                      "crypted": false,
                      "max_length": 256,
                      "example": 1
                  },
                  {
                      "key": "point_type_id",
                      "name": "点位数据类型",
                      "description": "协议所规范的点位类型",
                      "data_type": "string",
                      "required": true,
                      "crypted": false,
                      "max_length": 256,
                      "example": "M_SP_NA_1"
                  }
              ]
          }
      }
      
      表1 OT数采模板

      key

      类型

      描述

      tpl_id

      String

      数采模板标识,租户下唯一

      pattern: '^[a-zA-Z0-9_-]*$'

      1-64

      name

      String

      数据源模板名称,支持中英文

      1-64

      description

      String

      数据源模板描述,支持中英文,0-128

      datasource_meta

      point_meta

      Object

      Object

      数据源配置元数据

      点位采集配置元数据

      表2 datasource_meta

      key

      类型

      描述

      config_tabs

      Array

      数据源配置表格列表

      default_values

      Object

      数据源默认的值,通常用于描述默认的驱动协议

      表3 config_tabs

      key

      类型

      描述

      key

      String

      数据源配置表格键值,pattern: ' connection_info|collection_paras'

      name

      String

      数据源配置表格名称,1-64

      description

      String

      描述,0-255

      config_items

      Array

      配置项列表

      表4 config_items

      key

      类型

      描述

      key

      String

      配置项key,1-32

      name

      String

      默认项名称,1-64

      description

      String

      配置项描述,0-128

      data_type

      String

      配置项类型,支持short|ushort|int|int64|uint|long|ulong|float|double|bool|string|object|decimal。

      required

      Boolean

      配置项是否必传项

      crypted

      Boolean

      配置项是否加密

      max_length

      Integer

      当data_type= string时配置有效,校验输入的字符串最大长度

      example

      String

      配置项举例,值在界面输入框作为示例灰色显示,0-256

      表5 default_values

      key

      类型

      描述

      drivername

      String

      用于描述默认的驱动协议,如OPCUA。

创建数采连接

  1. 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。
  2. 在左侧导航栏选择“边缘节点 > 节点管理”,节点名称选择“test_IoT10”进入页面。
  3. 在左侧导航栏选择数采配置 > 创建数采连接

  4. 填写“数采连接参数”后单击“确认”保存,此时配置仅在云平台存在,未下发到边侧,此时数采连接的“同步状态”为“待同步”。

    • 通道标识:iec104
    • 通道名称:iec104(自定义)
    • 驱动模块:user_iec104
    • 受控端地址:模拟器所在的设备的ip地址
    • 受控端端口:默认2404,可以根据实际使用填写(与模拟器端口号对应)
    • 连接附加参数:根据实际情况填写,无参数写入时默认使用协议默认参数

      服务端点:填写IEC104受控端提供的连接地址。本实验准备数据源中使用IEC104 Server Simulator来模拟一个IEC104受控端,受控端地址与端口号填写该模拟器的url。

添加点位映射

将点位上报转换为设备属性上报,将设备属性读写转换为点位读写操作,将设备命令转化为点位写操作。

  1. 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。
  2. 在左侧导航栏选择“边缘节点 > 节点管理”,节点名称选择“test_IoT10”进入页面。
  3. 在左侧导航栏选择数采配置 > 选择对应的数采连接
  4. 单击“添加点位”在“添加点位映射”弹窗中填写配置信息,如表6所示,然后单击“确认”。

    表6 添加点位映射

    基本信息

    点位标识

    点位的唯一标识。

    点位名称

    按照规范填写。

    设备ID

    边缘设备页签里添加设备的ID。

    点位数据类型

    当前支持如下数据类型:

    int(整型)

    uint(无符号整型)

    int64(64 位整型)

    short(短整型)

    ushort(无符号短整型)

    long(长整型)

    ulong(无符号长整型)

    bool(布尔类型)

    float(单精度浮点型)

    double(双精度浮点型)

    decimal(小数)

    string(字符串)

    object(对象类型)

    取值范围:

    -2147483648~2147483647

    0~4294967295

    -2147483648~2147483647

    -32768~32767

    0~65535

    -2147483648~2147483647

    0~4294967295

    0/1

    -3.4*10^38~+3.4*10^38

    -1.7*10^-308~1.7*10^308

    -1.7*10^-308~1.7*10^308

    设备属性

    设备属性由物模型中service_id/property_name格式构成。

    采集配置

    公共地址

    对应IEC104协议中的Common Address,即从站地址

    点位地址

    对应IEC104协议中的Infomation Object Address,即信息体地址

    点位数据类型

    对应IEC104协议中数据上报时报文帧的TypeId

    采集配置部分点位数据类型支持的几种点位类型如下表:

    表7 点位数据类型配置

    点位类型

    对应数据类型

    M_SP_NA_1

    单点信息,布尔值

    M_DP_NA_1

    双点信息,枚举值

    M_ME_NA_1

    归一化测量值,浮点数值

    M_ME_NB_1

    标度化测量值,整型

    M_ME_NC_1

    短浮点数值

    1. 不同点位请勿配置同一设备的相同属性。

    2. 同一个设备请勿配置在多个数采连接下。

  5. 单击“下发配置”,把点位配置下发至边缘侧。配置下发成功后启用通道,可以看到通道连接状态变为“已连接”,此时数采连接的“同步状态”为“已同步”。

    • 修改点位信息后需重新单击下发配置,配置才会生效。
    • 模块的运行状态由启用状态决定,当启用了数采连接后,模块会显示为运行中。

附录:批量导入/导出点位映射

批量导入点位映射

  1. 在左侧导航栏选择“边缘节点 > 节点管理”,节点名称选择“test_IoT10”进入页面。
  2. 在左侧导航栏选择数采配置->对应的连接通道。
  3. 单击“导入点位”单击“下载模板文件”,打开“模板文件”内容填写。

  4. 选择“添加文件”导入步骤3下载的文件后,单击“确认”完成批量导入点位映射。

批量导出点位映射

  1. 在左侧导航栏选择“边缘节点 > 节点管理”,节点名称选择“test_IoT10”进入页面。
  2. 在左侧导航栏选择应用模块 > 数采配置 > 对应的连接通道
  3. 单击“导出点位”完成批量导出点位。

相关文档