组态功能
概述
TDS已经自带了组态的页面,如果您需要自主开发组态的页面,才需要用到此文档中的接口
项目运行参数
某个具体项目相关的运行参数
获取
单个配置
请求 获取单个配置
{
"jsonrpc": "2.0",
"method": "getProjectConf",
"params":"BASIC.framerate",
"id": 1
}
响应
```json
{
"jsonrpc": "2.0",
"method": "getProjectConf",
"result":{
"BASIC.framerate":133
},
"id": 1
}
多个配置 Flatten模式
请求
获取多个配置
请求
{
"jsonrpc": "2.0",
"method": "getProjectConf",
"params":[
"BASIC.framerate",
"BASIC.samplingInterval"
],
"id": 1
}
响应
{
"jsonrpc": "2.0",
"method": "getProjectConf",
"params":{
"BASIC.framerate":13,
"BASIC.samplingInterval":24
},
"id": 1
}
多个配置 Nested模式
获取多个配置
请求
{
"jsonrpc": "2.0",
"method": "getProjectConf",
"params":{
"BASIC":{
"framerate":null,
"samplingInterval":null
}
},
"id": 1
}
响应
{
"jsonrpc": "2.0",
"method": "getProjectConf",
"params":{
"BASIC":{
"framerate":31,
"samplingInterval":12
}
},
"id": 1
}
设置
请求
{
"jsonrpc": "2.0",
"method": "setProjectConf",
"params":{
"BASIC.framerate":31
},
"id": 1
}
响应
设置成功
{
"jsonrpc": "2.0",
"method": "setProjectConf",
"result":{
"BASIC.framerate":31
},
"id": 1
}
设置失败
{
"jsonrpc": "2.0",
"method": "setProjectConf",
"error":{
....
},
"id": 1
}
程序运行参数
程序运行参数与具体的项目组态无关,无需加载项目组态配置就可以生效
请求
设置单个或多个
{
"jsonrpc": "2.0",
"method": "setAppConf",
"params":{
"language":"zh"
},
"id": 1
}
设置单个(分组设置)
一般后端使用ini存储配置,groupName对应ini的 [] 中括号分组,itemName代表分组内的某个具体项目
{
"jsonrpc": "2.0",
"method": "setAppConf",
"params":[
{
"group":"BASIC",
"item":"language"
"value":"zh"
}
]
},
"id": 1
}
响应
设置成功
{
"jsonrpc": "2.0",
"method": "setProjcetConf",
"result":{
"language":"zh"
},
"id": 1
}
{
"jsonrpc": "2.0",
"method": "setProjcetConf",
"result":[
{
"group":"BASIC",
"item":"language"
"value":"zh"
}
],
"id": 1
}
设置失败
{
"jsonrpc": "2.0",
"method": "setProjcetConf",
"error":{
....
},
"id": 1
}
监控对象组态命令
设置对象信息 【setObj】
请求
设置单个对象
{
"jsonrpc": "2.0",
"method": "setObj",
"params":{
//仅获取指定对象的配置
"tag":"1层.风管机1#",
"tasks":[
{
"name":"自动开机",
"startDate":"2023-01-01",
"endDate":"2023-12-31",
"time":"08:00:00"
},{
"name":"自动关机",
"startDate":"2023-01-01",
"endDate":"2023-12-31",
"time":"18:00:00"
}
]
},
"id": 1
}
参数
tag="" string
指定需要获取的对象的位号。空字符串表示根节点。*表示任意1-n个字符
rootTag = '' string
指定返回对象根节点位号。默认为根节点。使用rootTag后,所有对象的位号都会以相对rootTag的相对位号来表示。
其他参数为需要设置的字段名称,仅设置指定的字段
设置多个对象
{
"jsonrpc": "2.0",
"method": "setObj",
"params":[
{
"tag":"1层.风管机1#",
"tasks":[
{
"name":"自动开机",
"startDate":"2023-01-01",
"endDate":"2023-12-31",
"time":"08:00:00"
},{
"name":"自动关机",
"startDate":"2023-01-01",
"endDate":"2023-12-31",
"time":"18:00:00"
}
]
},{
"tag":"1层.风管机2#",
"tasks":[
{
"name":"自动开机",
"startDate":"2023-01-01",
"endDate":"2023-12-31",
"time":"08:00:00"
},{
"name":"自动关机",
"startDate":"2023-01-01",
"endDate":"2023-12-31",
"time":"18:00:00"
}
]
}
],
"id": 1
}
设置监控点参考曲线【setRefCurve】
请求
{
"jsonrpc": "2.0",
"method": "setRefCurve",
"params":{
"tag":"1#.1J1.P",
"name":"定到反扳动",
"curve":{
"interval":15,
"pt":[1,2,3,.........]
}
},
"id": 1
}
参考曲线存储在 配置目录/refCurve/1#/1J1/电参数/P/定到反扳动.json
{
"tag":"1#.1J1.P",
"time":"2023-12-13 11:11:11",
"user":"admin",
"detail":"螺栓松动前异常曲线", //正常曲线/.. 描述该参考曲线的功能
"curve":{
"interval":15,
"pt":[1,2,3,.........]
}
}
获取监控点参考曲线【getRefCurve】
请求
{
"jsonrpc": "2.0",
"method": "getRefCurve",
"params":{
"tag":"1#.1J1.P",
"name":"定到反扳动"
},
"id": 1
}
响应
{
"jsonrpc": "2.0",
"method": "getRefCurve",
"result":{
"tag":"1#.1J1.P",
"time":"2023-12-13 11:11:11",
"user":"admin",
"name":"定到反扳动",
"curve":{
"interval":15,
"pt":[1,2,3,.........]
}
},
"id": 1
}
设置设备信息 【deleteObj】
IO设备组态命令
设置设备信息 【getDev】
设置设备信息 【setDev】
设置设备配置
请求
{
"jsonrpc": "2.0",
"method": "setDev",
"params":{
"addrType":"deviceId", //决定了addr字段内部的有效字段
"addr":{
"id":"1", //采用ip地址方案时,该字段不存在
"ip":"192.168.0.1", //采用id方案时,ip,port..不存在
"port":8899,
"localPort":10000,
},
"ioAddr":"192.168.0.1/1", //与nodeID选1,用于区分哪一台设备
"nodeId":"xxxxxxxxx", //配置对象的uuid,工程项目当中唯一
"category":"workparams",
"tagBind":"1#.1J1", //绑定的位号
"children":[], //子设备
"channels":[ //下属通道
]
},
"id": 1
}
参数
addrType= "deviceID" string
tcpClient,tcpServer,udpServer,udpClient,deviceID,httpClient,httpServer
tagBind = '' string
绑定的位号
响应
{
"jsonrpc": "2.0",
"method": "getDevHwConf",
"result":{
"switchStartCurrentThreshold": 500, //单位mA
"switchStartCurrentLastTime": 100 , //单位
"type":"tdsp",
"ioAddr":"192.168.0.100"
},
"id": 1
}
设置设
获取设备硬件配置【getDevHwConf】
读取硬件中的参数配置
请求
{
"jsonrpc": "2.0",
"method": "getDevHwConf",
"params":{
"updateFromHw":true,
"category":"workparams",
"type":"tdsp",
"ioAddr":"192.168.0.100"
},
"id": 1
}
参数
updateFromHw= true bool
是否从设备更新一次,否则直接读取服务端内存中缓存的
category = '' string
硬件参数分组,可能硬件有非常多的参数,可以指定一个分组。
type = '' string
硬件类型。
ioAddr = '' string
硬件地址。
响应
{
"jsonrpc": "2.0",
"method": "getDevHwConf",
"result":{
"switchStartCurrentThreshold": 500, //单位mA
"switchStartCurrentLastTime": 100 , //单位
"type":"tdsp",
"ioAddr":"192.168.0.100"
},
"id": 1
}
设置设备硬件配置【setDevHwConf】
读取硬件中的参数配置
请求
{
"jsonrpc": "2.0",
"method": "setDevHwConf",
"params":{
"category":"workparams",
"hwConf":{
"switchStartCurrentThreshold": 500, //单位mA
"switchStartCurrentLastTime": 100 , //单位
},
"ioAddr":"192.168.0.100"
},
"id": 1
}
响应
{
"jsonrpc": "2.0",
"method": "getDevHwConf",
"result":"ok",
"id": 1
}
**
设置设备信息 【deleteDev】
设置设备信息 【addDev】
用户组态命令
添加用户 【addUser】
{
"jsonrpc": "2.0",
"method": "addUser",
"params":{
"name":"公众号用户_openID",
"gzhOpenID":"xxxxxxx",
"enable":true,
"pwd":"123",
"role":"观察员",
"org":""
},
"id": 1
}
获取用户列表【getUsers】
请求
{
"jsonrpc": "2.0",
"method": "getUsers",
"params":{
},
"id": 1
}
响应
{
"jsonrpc": "2.0",
"method": "getUsers",
"id": 1,
"result": [
{
"createTime": "2023-03-22 09:53:55",
"enable": true,
"name": "admin",
"org": "",
"pwd": "123",
"role": "管理员",
"gzhOpenID":"xxxxxxx"
},
{
"createTime": "2023-05-10 13:16:34",
"enable": true,
"name": "test",
"org": "",
"pwd": "test",
"role": "管理员",
"gzhOpenID":"xxxxxxx"
}
]
}
设置用户配置【setUsers】
请求
{
"jsonrpc": "2.0",
"method": "setUsers",
"params":[
{
"createTime": "2023-03-22 09:53:55",
"enable": true,
"name": "admin",
"org": "",
"pwd": "123",
"role": "管理员",
"gzhOpenID":"xxxxxxx"
},
{
"createTime": "2023-05-10 13:16:34",
"enable": true,
"name": "test",
"org": "",
"pwd": "test",
"role": "管理员",
"gzhOpenID":"xxxxxxx"
}
],
"id": 1
}
响应
{
"jsonrpc": "2.0",
"method": "setUsers",
"id": 1,
"result": "ok"
}
删除用户配置【deleteUser】
请求
{
"jsonrpc": "2.0",
"method": "deleteUser",
"params":{
"name":"张"
},
"id": 1
}
响应
{
"jsonrpc": "2.0",
"method": "setUsers",
"id": 1,
"result": "ok"
}
自定义配置文件
前端调用接口直接读写项目配置目录的配置文件,tds仅做透传,该配置文件由前端管理
写自定义配置文件【setConfFile】
请求
{
"jsonrpc": "2.0",
"method": "setConfFile",
"params":{
"path":"shiftPlan/202312.json",
"data":"abcdefg"
},
"id": 1
}
响应
{
"jsonrpc": "2.0",
"method": "setConfFile",
"id": 1,
"result": "ok"
}
读自定义配置文件【getConfFile】
请求
{
"jsonrpc": "2.0",
"method": "getConfFile",
"params":{
"path":"shiftPlan/202312.json"
},
"id": 1
}
响应
{
"jsonrpc": "2.0",
"method": "getConfFile",
"id": 1,
"result": {
"path":"shiftPlan/202312.json",
"data":"abcdefg"
}
}
写二进制文件
写图片
需要将图片保存为配置
请求
{
"jsonrpc": "2.0",
"method": "setConfFile",
"params":{
"path":"dashboard/images/1.pic",
"encode":"base64",
"data":"abcdefg"
},
"id": 1
}
响应
{
"jsonrpc": "2.0",
"method": "setConfFile",
"id": 1,
"result": "ok"
}
写自定义二进制文件
请求
{
"jsonrpc": "2.0",
"method": "setConfFile",
"params":{
"path":"GapFeatureConf/1J1/GapFeatureConf_Invert.grh",
"mode":"overwrite"
"encode":"hexStr",
"data":"01F18712......"
},
"id": 1
}
参数
mode= "rewrite"string
rewrite重写整个文件; overwrite 从指定的offset位置覆盖写入到指定文件中
offset = 0 int
写入数据的偏移量,仅overwrite有效,不存在默认取0。
encode = ""string
base64/hexStr(16进制字符串)
data = '' string
文件数据
说明
响应
{
"jsonrpc": "2.0",
"method": "setConfFile",
"id": 1,
"result": "ok"
}