- 1.项目概述
- 2.项目配置
- 3.项目脚本
- 3.1 mqtt订阅马赛克
- 3.2 mqtt订阅统计
- 3.3 mqtt订阅计算
- 3.4 modbus 读马赛克
- 3.5 modbus 读统计
- 3.6 modbus 读计算
- 3.7 modbus 写马赛克
- 3.8 字段描述
- 4.Action
- 4.1 创建项目:create_ufs_project
- 4.2 编辑项目:update_ufs_project
- 4.3 删除项目:delete_ufs_project
- 4.4 启动项目:start_ufs_project
- 4.5 停止项目:stop_ufs_project
- 4.6 获取项目详情:get_ufs_project_item
- 4.7 获取项目列表:get_ufs_project_list
1.项目概述
UFS 即将 MixIOT 系统组织 A 的数据上报给 MixIOT 系统组织 B 的 Gards 的一个服务,可以抽象的将某个 MixIOT 系统组织理解为一台工业现场的设备,该组织的系统数据如对象实时数据,统计数据等就是这个抽象的设备的数据,UFS 就相当于一个采集终端,负责将这个抽象的设备的数据上报到指定的 MixIOT 平台。
2.项目配置
- server_type: 服务类型 0. mqtt服务 1. modbus服务
- host: 上报地址 ,server_type=0时
必填
- port: 上报端口
- client_id: 上报的客户端标识 ,server_type=0时
必填
- username: 用户名, server_type=0时
必填
- password: 密码, server_type=0时
必填
- is_mqtt5: 是否使用mqtt5连接 server_type=0时
选填
- device_ptr: 单元标识符(设备地址) server_type=1 时
必填
- script: 项目脚本
3.项目脚本
3.1 mqtt订阅马赛克
[
{
"source": "mo",
"key": "SS01",
"name": "温度",
"pub_type": 1,
"duration": 10,
"data_type": "int",
"object_id": "yjj",
"fv": "S01"
}
]
3.2 mqtt订阅统计
[
{
"source": "st",
"key": "SS01",
"name": "温度",
"pub_type": 1,
"duration": 10,
"data_type": "int",
"object_id": "yjj",
"statistics_uid":"ST001"
}
]
3.3 mqtt订阅计算
[
{
"source": "ca",
"key": "SS01",
"name": "温度",
"pub_type": 1,
"duration": 10,
"data_type": "int",
"object_id": "yjj",
"calculate_uid": "CA001"
}
]
3.4 modbus 读马赛克
[
{
"source": "mo",
"name": "温度",
"data_type": "int",
"object_id": "yjj",
"fv": "S01",
"function_code": 3,
"start_ptr": 0,
"ptr_count": 2
}
]
3.5 modbus 读统计
[
{
"source": "st",
"name": "温度",
"data_type": "int",
"object_id": "yjj",
"statistics_uid":"ST001",
"function_code": 3,
"start_ptr": 0,
"ptr_count": 2
}
]
3.6 modbus 读计算
[
{
"source": "ca",
"name": "温度",
"data_type": "int",
"object_id": "yjj",
"calculate_uid": "CA001",
"function_code": 3,
"start_ptr": 0,
"ptr_count": 2
}
]
3.7 modbus 写马赛克
[
{
"source": "mo",
"name": "温度",
"data_type": "int",
"object_id": "yjj",
"function_code": 6,
"start_ptr": 0,
"control": "Control_01"
}
]
3.8 字段描述
key:上报的唯一标识
name : 对标识的中文描述
object_id:对象编号
fv:对象fv
pub_type: 1.周期上报 2. 改变上报
duration: 上报周期
data_type: 上报的数据类型 支持 int:整形 float:浮点型 str:字符串 三种
statistics_uid:统计编号
calculate_uid: 计算编号
function_code: 功能码, 整型uint8, 可选值 3和6
start_ptr: 寄存器起始地址 整型uint16
ptr_count: 寄存器数量, 整型uint16
control: 控制点位
4.Action
4.1 创建项目:create_ufs_project
请求参数:
参数名称 | 是否必选 | 数据类型 | 描述 |
---|---|---|---|
action | 是 | string | 指令:create_ufs_project |
actionid | 否 | string | 指令编号 |
organization_id | 否 | string | 组织ID |
name | 是 | string | 项目名称 |
alias | 是 | string | 项目别名 |
description | 否 | string | 项目描述信息 |
server_type | 是 | int | 服务类型 0.mqtt 1. modbus |
device_ptr | 否 | uint8 | 单元标识符(设备地址) |
client_id | 否 | string | 客户端标识 |
host | 否 | string | 上报地址 |
port | 否 | string | 上报端口 |
username | 否 | string | 用户名 |
password | 否 | string | 密码 |
script | 是 | string | 脚本 |
is_mqtt5 | 是 | int | 是否使用mqtt5 1. 是 0 .否 |
响应参数:
{
"resp": "create_ufs_project",
"code": 200,
"msg": "成功",
"result": {
"uid": "UFS3584391600001"
}
}
4.2 编辑项目:update_ufs_project
请求参数:
参数名称 | 是否必选 | 数据类型 | 描述 |
---|---|---|---|
action | 是 | string | 指令:update_ufs_project |
actionid | 否 | string | 指令编号 |
uid | 是 | string | 项目编号 |
organization_id | 否 | string | 组织ID |
name | 是 | string | 项目名称 |
alias | 是 | string | 项目别名 |
description | 否 | string | 项目描述信息 |
server_type | 是 | int | 服务类型 0.mqtt 1. modbus |
device_ptr | 否 | uint8 | 单元标识符(设备地址) |
client_id | 否 | string | 客户端标识 |
host | 否 | string | 上报地址 |
port | 否 | string | 上报端口 |
username | 否 | string | 用户名 |
password | 否 | string | 密码 |
script | 是 | string | 脚本 |
is_mqtt5 | 是 | int | 是否使用mqtt5 1. 是 0 .否 |
响应参数:
{
"resp": "update_ufs_project",
"code": 200,
"msg": "成功",
"result": {
"uid": "UFS3584391600001"
}
}
4.3 删除项目:delete_ufs_project
请求参数:
参数名称 | 是否必选 | 数据类型 | 描述 |
---|---|---|---|
action | 是 | string | 指令:delete_ufs_project |
actionid | 否 | string | 指令编号 |
uid | 是 | string | 项目编号 |
响应参数:
{
"resp": "delete_ufs_project",
"code": 200,
"msg": "成功",
"result": {
"uid": "UFS3584391600001"
}
}
4.4 启动项目:start_ufs_project
请求参数:
参数名称 | 是否必选 | 数据类型 | 描述 |
---|---|---|---|
action | 是 | string | 指令:start_ufs_project |
actionid | 否 | string | 指令编号 |
uid | 是 | string | 项目编号 |
响应参数:
{
"resp": "start_ufs_project",
"code": 200,
"msg": "成功",
"result": {
"uid": "UFS3584391600001"
}
}
4.5 停止项目:stop_ufs_project
请求参数:
参数名称 | 是否必选 | 数据类型 | 描述 |
---|---|---|---|
action | 是 | string | 指令:stop_ufs_project |
actionid | 否 | string | 指令编号 |
uid | 是 | string | 项目编号 |
响应参数:
{
"resp": "stop_ufs_project",
"code": 200,
"msg": "成功",
"result": {
"uid": "UFS3584391600001"
}
}
4.6 获取项目详情:get_ufs_project_item
请求参数:
参数名称 | 是否必选 | 数据类型 | 描述 |
---|---|---|---|
action | 是 | string | 指令:get_ufs_project_item |
actionid | 否 | string | 指令编号 |
uid | 是 | string | 项目编号 |
响应参数:
{
"resp": "get_ufs_project_item",
"code": 200,
"msg": "成功",
"result": {
"id": 1,
"organization_id": "",
"uid": "ufs1",
"name": "test ufs1",
"alias": "ufs1",
"description": "ttttttttt",
"client_id": "test_for_cdp",
"host": "192.168.88.92",
"port": "31889",
"username": "mix",
"password": "mix123",
"script": [],
"is_active": 1,
"is_mqtt5": 0,
"created": "",
"last_modified": ""
}
}
4.7 获取项目列表:get_ufs_project_list
请求参数:
参数名称 | 是否必选 | 数据类型 | 描述 |
---|---|---|---|
action | 是 | string | 指令:get_ufs_project_list |
actionid | 否 | string | 指令编号 |
page_index | 否 | int | 当前页 |
page_size | 否 | int | 每页数 |
where_and | 否 | string | and 条件 |
where_in | 否 | string | in 条件 |
where_or | 否 | string | or 条件 |
响应参数:
{
"resp": "get_ufs_project_list",
"code": 200,
"msg": "成功",
"result": {
"page_index": 1,
"page_size": 10,
"total_pages": 1,
"total_records": 1,
"data": [
{
"id": 1,
"organization_id": "",
"uid": "ufs1",
"name": "test ufs1",
"alias": "ufs1",
"description": "ttttttttt",
"client_id": "test_for_cdp",
"host": "192.168.88.92",
"port": "31889",
"username": "mix",
"password": "mix123",
"script": [],
"is_active": 1,
"is_mqtt5": 0,
"created": "2023-06-19 15:50:59",
"last_modified": "2023-06-21 15:12:07"
}
]
}
}
文档更新时间: 2024-08-09 12:41 作者:技术支持