OT数采配置
添加数采模板
数采模板是描述数采配置项的元数据,数采配置包括数据源配置元数据、点位采集配置元数据。当用户添加自定义数采应用时,可通过添加自定义数采模板完成元数据的定义。
应用数据源模板导入
数据源模板描述了数据源配置项的元数据,用户在配置数据源之前,需要先导入数据源模板。IoT边缘服务当前已经预置通用数据源模板,可直接使用,系统也支持用户自定义导入模板。以下为用户添加自定义模板的详细流程及关键配置信息解释。
- 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。
- 在左侧导航栏选择 进入页面,
- 选择
。
- 添加文件,单击“确认”。
- 本地准备一份数采模板文件,文件内容合规。
- IoT边缘云平台当前已经预制多个业界主流通用数采模板,可以通过导入通用模板后使用。
- 支持用户自定义导入模板,导入模板后缀.json,满足json格式规范,样例及字段解释如下:
{ "tpl_id": "sys_general_modbus_tcp", "name": "ModbusTcp通用数采模板", "description": "ModbusTcp通用数采模板", "datasource_meta": { "config_tabs": [{ "key": "connection_info", "name": "连接信息", "description": "连接信息", "type": "object", "config_items": [{ "key": "endpoint", "name": "服务端点", "description": "服务完整URL", "data_type": "string", "required": true, "crypted": false, "max_length": 128, "example": "127.0.0.1:502" }] }, { "key": "array_info", "name": "组配置信息", "description": "组配置信息", "type": "array", "quantity": 20, "config_items": [{ "key": "slave_id", "name": "从站号", "description": "从站号", "data_type": "int", "required": false, "crypted": false, "max_length": 256, "example": 1 }, { "key": "coil_status_valid_address", "name": "线圈有效地址范围", "description": "线圈有效地址范围", "data_type": "string", "required": false, "crypted": false, "max_length": 65535, "example": "0x0-0x10,0x1a-0x2f" }, { "key": "input_status_valid_address", "name": "输入状态有效地址范围", "description": "输入状态有效地址范围", "data_type": "string", "required": false, "crypted": false, "max_length": 65535, "example": "0x0-0x10,0x1a-0x2f" }, { "key": "holding_registers_valid_address", "name": "保持寄存器有效地址范围", "description": "保持寄存器有效地址范围", "data_type": "string", "required": false, "crypted": false, "max_length": 65535, "example": "0x0-0x10,0x1a-0x2f" }, { "key": "input_registers_valid_address", "name": "输入寄存器有效地址范围", "description": "输入寄存器有效地址范围", "data_type": "string", "required": false, "crypted": false, "max_length": 65535, "example": "0x0-0x10,0x1a-0x2f" }, { "key": "byte_swap", "name": "寄存器高低位交换", "description": "寄存器高低位交换", "data_type": "bool", "required": false, "crypted": false, "max_length": 256, "default": false, "example": true }, { "key": "register_swap", "name": "寄存器顺序交换", "description": "寄存器顺序交换", "data_type": "bool", "required": false, "crypted": false, "max_length": 256, "default": false, "example": true } ] } ], "default_values": { "drivername": "ModbusTcp" } }, "point_meta": { "data_type_enums": [ "bool", "short", "ushort", "int", "uint", "long", "ulong", "float", "double" ], "config_items": [{ "key": "slave_id", "name": "从站号", "description": "modbus传感器从站号", "data_type": "int", "required": true, "crypted": false, "max_length": 256, "example": 1 }, { "key": "register_type", "name": "寄存器类型", "description": "寄存器类型", "data_type": "string", "required": true, "crypted": false, "max_length": 256, "enum_value": "Coil_Status|Input_Status|Holding_Registers|Input_Registers", "example": "Coil_Status" }, { "key": "register_address", "name": "起始地址", "description": "寄存器起始地址", "data_type": "string", "required": true, "crypted": false, "max_length": 256, "example": "0x0" }, { "key": "cycle", "name": "采集周期", "description": "点位采集周期", "data_type": "int", "required": true, "crypted": false, "max_length": 65535, "example": 10000 } ] } }
表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
数据源配置元数据
点位采集配置元数据(内可配置data_typr_enums用来限制点位数据类型)。
表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
配置项列表。
type(非必填)
String
配置表类型,可为“object”或“array”,默认为“object”,为array”时可传输多组配置项列表。
quantity(非必填)
Int
配置项列表组数量,当配置表类型为“array时有效”。
表4 config_items key
类型
描述
key
String
配置项key,1-32。
name
String
默认项名称,1-64。
description
String
配置项描述,0-128。
data_type
String
配置项类型,受限于“data_type_enum”(非必填),支持short|ushort|int|int64|uint|long|ulong|float|double|bool。
required
Boolean
配置项是否必传项。
crypted
Boolean
配置项是否加密。
max_length
Integer
当data_type= string时配置有效,校验输入的字符串最大长度。
example
String
配置项举例,值在界面输入框作为示例灰色显示,0-256。
enum_value(非必填)
String
配置项枚举量,可生成下拉框,减少手工输入错误。
表5 default_values key
类型
描述
drivername
String
用于描述默认的驱动协议,如OPCUA。
创建数采连接
- 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。
- 在左侧导航栏选择“边缘节点 > 节点管理”,节点名称选择“test_IoT10”进入页面。
- 在左侧导航栏选择
。
- 填写“数采连接参数”后单击“确认”保存,此时配置仅在云平台存在,未下发到边侧,此时数采连接的“同步状态”为“待同步”。
- 通道标识:ModbusTCP。
- 通道名称:ModbusTCP。
- 驱动模块:sys_ot_dc_modbus_tcp。
- 服务端点:模拟器或Modbus服务器网关的ip地址+端口号,中间用“:”分隔,如“127.0.0.1:502”(半角)。
- 配置信息:用于配置从站的寄存器地址可用范围与寄存器顺序等信息,共可以添加20组。不填写配置信息代表默认对应从站点位映射地址全部有效,同时对应从站字节序与寄存器顺序默认为大端。
表6 配置信息说明 配置项
说明
从站号
配置项的从站号,范围0-255,需唯一。
线圈有效地址范围
地址量为十六进制,格式“0x”+地址量,起始地址与结束地址用“-”连接,地址范围间用“,”分隔,范围不可重叠。例如“0x0-0x20,0x2a-0xc5,0xd0-0xff”(半角)。
输入状态有效地址范围
地址量为十六进制,格式“0x”+地址量,起始地址与结束地址用“-”连接,地址范围间用“,”分隔,范围不可重叠。例如“0x0-0x20,0x2a-0xc5,0xd0-0xff”(半角)。
保持寄存器有效地址范围
地址量为十六进制,格式“0x”+地址量,起始地址与结束地址用“-”连接,地址范围间用“,”分隔,范围不可重叠。例如“0x0-0x20,0x2a-0xc5,0xd0-0xff”(半角)。
输入寄存器有效地址范围
地址量为十六进制,格式“0x”+地址量,起始地址与结束地址用“-”连接,地址范围间用“,”分隔,范围不可重叠。例如“0x0-0x20,0x2a-0xc5,0xd0-0xff”(半角)。
寄存器高低位交换
一个保持寄存器或输入寄存器对应2字节的寄存器空间,配置该项为true则交换对应寄存器内字节顺序。例如“byte1,byte2”交换后顺序为“byte2,byte1”。该项配置仅对32位及以上的数据有效。
寄存器顺序交换
Modbus协议默认为大端,配置该项为true则交换对应寄存器间顺序。例如“r1,r2,r3,r4”交换后顺序为“r4,r3,r2,r1”。该项配置仅对32位及以上的数据有效。
添加点位映射
将点位上报转换为设备属性上报,将设备属性读写转换为点位读写操作,将设备命令转化为点位写操作。
- 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。
- 在左侧导航栏选择“边缘节点 > 节点管理”,节点名称选择“test_IoT10”进入页面。
- 在左侧导航栏选择
。
- 单击“添加点位”在“添加点位映射”弹窗中填写配置信息,如表8所示,然后单击“确认”。
表8 添加点位映射 基本信息
点位标识
点位的唯一标识。
点位名称
按照规范填写。
设备ID
边缘设备页签里添加设备的ID。
点位数据类型
当前支持如下数据类型:
int(整型)
uint(无符号整型)
short(短整型)
ushort(无符号短整型)
long(长整型)
ulong(无符号长整型)
bool(布尔类型)
float(单精度浮点型)
double(双精度浮点型)
取值范围:
-2147483648~2147483647
0~4294967295
-32768~32767
0~65535
-2147483648~2147483647
0~4294967295
true/false
-3.4*10^38~+3.4*10^38
-1.7*10^-308~1.7*10^308
设备属性
设备属性由物模型中service_id/property_name格式构成。
采集配置
从站号
点位所属从站号,范围0-255。
寄存器类型
点位对应寄存器类型,枚举字符串值,取值范围如右侧框。
Coil_Status|Input_Status|Holding_Registers|Input_Registers
起始地址
点位对应数据起始地址,十六进制,格式:“0x”+(地址量)。
例如:“0xa3”
采集周期
点位采集周期,最小200ms,低于200ms则默认为200ms。
范围0-65535
1. 不同点位请勿配置同一设备的相同属性。
2. 同一个设备请勿配置在多个数采连接下。
- 单击“下发配置”,把点位配置下发至边缘侧。配置下发成功后启用通道,可以看到通道连接状态变为“已连接”,此时数采连接的“同步状态”为“已同步”。
- 修改点位信息后需重新单击下发配置,配置才会生效。
- 模块的运行状态由启用状态决定,当启用了数采连接后,模块会显示为运行中。
附录:批量导入/导出点位映射
批量导入点位映射
- 在左侧导航栏选择“边缘节点 > 节点管理”,节点名称选择“test_IoT10”进入页面。
- 在左侧导航栏选择 ->对应的连接通道。
- 单击“导入点位”选择”批量添加”,单击“下载模板文件”,打开“模板文件”内容填写。
- 选择“添加文件”导入步骤3下载的文件后,单击“确认”完成批量导入点位映射。
批量导出点位映射
- 在左侧导航栏选择“边缘节点 > 节点管理”,节点名称选择“test_IoT10”进入页面。
- 在左侧导航栏选择 。
- 单击“导出点位”完成批量导出点位。