设备模型接口
版本记录
版本号 | 日期 | 修改内容 |
---|---|---|
v0.12.2 | 2024-08-30 | 修复已知问题 |
设备模型
公共 Header 参数
参数名 | 示例值 | 参数描述 |
---|---|---|
namespace | clkj4ozl30030qi0ih4enllmk |
模型列表查询包含 nodeId
接口 URL
{{host}}{{port}}/v1/model/device/public/template/list?parentId=139
请求方式
GET
Content-Type
json
请求 Header 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
namespace | scada_test | String | 是 | 工程名 |
请求 Query 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
parentId | 139 | Integer | 否 | 父级对象主键 id,顶层为 0,不传查询所有 |
路径变量
参数名 | 示例值 | 参数描述 |
---|---|---|
host | ||
post |
请求 Body 参数
预执行脚本
暂无预执行脚本
后执行脚本
暂无后执行脚本
success 响应示例
示例如下
{"message":"success","code":0,"timestamp":1690534100934,"data":[{"id":140,"parentId":139,"path":"137/139/140","originalType":2,"templateId":2,"nodeId":"AI_001","browseName":"AI_001","displayName":"AI_001","description":"AI_001","nodeClass":"AI","createTime":"2023-07-26 17:53:58","updateTime":"2023-07-26 17:53:58"},{"id":142,"parentId":139,"path":"137/139/142","originalType":4,"templateId":5,"nodeId":"AO_001","browseName":"AO_001","displayName":"AO_001","description":"AO_001","nodeClass":"AO","createTime":"2023-07-26 17:54:04","updateTime":"2023-07-26 17:54:04"},{"id":141,"parentId":139,"path":"137/139/141","originalType":5,"templateId":4,"nodeId":"DI_001","browseName":"DI_001","displayName":"DI_001","description":"DI_001","nodeClass":"DI","createTime":"2023-07-26 17:54:02","updateTime":"2023-07-26 17:54:02"},{"id":143,"parentId":139,"path":"137/139/143","originalType":7,"templateId":6,"nodeId":"DO_001","browseName":"DO_001","displayName":"DO_001","description":"DO_001","nodeClass":"DO","createTime":"2023-07-26 17:54:07","updateTime":"2023-07-26 17:54:07"}]}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
message | success | String | |
code | 0 | Integer | |
timestamp | 1683785032810 | Integer | |
data | Object | ||
data.baseInfo | Object | ||
data.baseInfo.path | 5/6/7/8 | String | |
data.baseInfo.nodeClass | AI | String | 类型枚举字符串值 |
data.baseInfo.originalType | 2 | Integer | |
data.baseInfo.browseName | AI_001 | String | 浏览名 |
data.baseInfo.createTime | 2023-05-06T16:59:56.665 | String | |
data.baseInfo.displayName | AI_001 | String | 显示名 |
data.baseInfo.description | AI_001 | String | 描述 |
data.baseInfo.updateTime | 2023-05-06T16:59:56.665 | String | |
data.baseInfo.id | 8 | Integer | 主键 id |
data.baseInfo.templateId | 2 | Integer | |
data.baseInfo.nodeId | EQ_001.AI_001 | String | nodeId |
data.baseInfo.parentId | 7 | Integer | |
data.analogConfig | Object | 模拟量配置 | |
data.analogConfig.defaultVal | 15 | Integer | 默认值 |
data.analogConfig.highRange | 100 | Integer | 量程上限 |
data.analogConfig.accuracy | 4 | Integer | 显示精度 |
data.analogConfig.engineeringUnit | String | 工程单位 | |
data.analogConfig.lowRange | 5 | Integer | 量程下限 |
模板/根据 id 查找模型
接口 URL
{{host}}{{port}}/v1/model/device/public/template/attributes?id=140&attributeName=
请求方式
GET
Content-Type
json
请求 Query 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
id | 140 | Integer | 是 | 主键 id |
attributeName | String | 否 | 属性名,只支持到 analogConfig,analogConfig.engineeringUnit |
success 响应示例
示例如下
{"message":"success","code":0,"timestamp":1690421244901,"data":{"baseInfo":{"id":140,"parentId":139,"path":"137/139/140","originalType":2,"templateId":2,"nodeId":"EQ_001.AI_001","browseName":"AI_001","displayName":"AI_001","description":"AI_001","nodeClass":"AI","createTime":"2023-07-26 17:53:58","updateTime":"2023-07-26 17:53:58"},"analogConfig":{"defaultVal":0.0,"highRange":100.0,"lowRange":0.0,"engineeringUnit":"","accuracy":0},"historyConfig":{"recordType":0,"enable":false,"period":10},"udp":[],"pv":{"v":null,"q":null,"t":null}}}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
message | success | String | |
code | 0 | Integer | |
timestamp | 1683770052467 | Integer | |
data | Object | ||
data.baseInfo | Object | ||
data.baseInfo.id | 8 | Integer | 主键 id |
data.baseInfo.parentId | 7 | Integer | 父级对象主键 id,顶层为 0 |
data.baseInfo.path | 5/6/7/8 | String | |
data.baseInfo.originalType | 2 | Integer | 对象枚举类型值 |
data.baseInfo.templateId | 2 | Integer | 对象模板 id |
data.baseInfo.nodeId | EQ_001.AI_001 | String | nodeId |
data.baseInfo.browseName | AI_001 | String | 浏览名 |
data.baseInfo.displayName | AI_001 | String | 显示名 |
data.baseInfo.description | AI_001 | String | 描述 |
data.baseInfo.nodeClass | AI | String | 类型枚举字符串值 |
data.baseInfo.createTime | 2023-05-06 16:59:56 | String | |
data.baseInfo.updateTime | 2023-05-06 16:59:56 | String | |
data.analogConfig | Object | 模拟量配置 | |
data.analogConfig.engineeringUnit | String | 工程单位 | |
data.analogConfig.defaultVal | 15 | Integer | 默认值 |
data.analogConfig.highRange | 100 | Integer | 量程上限 |
data.analogConfig.lowRange | 5 | Integer | 量程下限 |
data.analogConfig.accuracy | 4 | Integer | 显示精度 |
data.historyConfig | Object | 历史配置 | |
data.historyConfig.recordType | 0 | Integer | 存储类型,变化存储 or 周期存储 |
data.historyConfig.enable | false | Boolean | 是否记录历史中 |
data.historyConfig.period | 10 | Integer | 存储周期 |
data.udp | Object | 自定义变量 | |
data.udp.originalType | 16 | Integer | |
data.udp.nodeId | EQ_001.AI_001.aaaa | String | nodeId |
data.udp.browseName | aaaa | String | 变量名 |
data.udp.description | aaa | String | 描述 |
data.udp.nodeClass | UDP | String | |
data.udp.dataType | Int16 | String | 数据类型 |
data.udp.recordHistory | true | Boolean | 是否记录历史 |
data.udp.recordType | 0 | Integer | 记录历史类型,0 表示变化存储,1 表示周期存储 |
data.udp.period | 14 | Integer | 存储周期,单位为秒 |
data.udp.isArray | false | Boolean | 是否是数组 |
data.udp.arraySize | 0 | Integer | 数组大小,最大 65535 |
data.udp.type | 1 | Integer | 类型值,严格区分大小写 |
data.udp.createTime | 2023-05-10 10:12:02 | String | |
data.udp.updateTime | 2023-05-10 10:53:45 | String | |
data.pv | Object | ||
data.pv.v | null | Null | |
data.pv.q | null | Null | |
data.pv.t | null | Null |
根据 nodeId 查找模型
接口 URL
{{host}}{{port}}/v1/model/device/public/template/attributes/nodeId?nodeId=EQ_001.DO_001&attributeName=
请求方式
GET
Content-Type
json
请求 Header 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
namespace | yangweiqiang | String | 是 |
请求 Query 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
nodeId | EQ_001.DO_001 | String | 是 | nodeId |
attributeName | String | 否 | 属性名,只支持到 analogConfig,analogConfig.engineeringUnit |
success 响应示例
示例如下
{"message":"success","code":0,"timestamp":1690421421893,"data":[{"baseInfo":{"id":143,"parentId":139,"path":"137/139/143","originalType":7,"templateId":6,"nodeId":"EQ_001.DO_001","browseName":"DO_001","displayName":"DO_001","description":"DO_001","nodeClass":"DO","createTime":"2023-07-26 17:54:07","updateTime":"2023-07-26 17:54:07"},"discreteConfig":{"defaultVal":0,"values":[],"valueDeses":[]},"udp":[],"pv":{"v":null,"q":null,"t":null}}]}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
message | success | String | |
code | 0 | Integer | |
timestamp | 1683785001158 | Integer | |
data | Object | ||
data.baseInfo | Object | ||
data.baseInfo.id | 8 | Integer | 主键 id |
data.baseInfo.parentId | 7 | Integer | |
data.baseInfo.path | 5/6/7/8 | String | |
data.baseInfo.originalType | 2 | Integer | |
data.baseInfo.templateId | 2 | Integer | |
data.baseInfo.nodeId | EQ_001.AI_001 | String | nodeId |
data.baseInfo.browseName | AI_001 | String | 浏览名 |
data.baseInfo.displayName | AI_001 | String | 显示名 |
data.baseInfo.description | AI_001 | String | 描述 |
data.baseInfo.nodeClass | AI | String | 类型枚举字符串值 |
data.baseInfo.createTime | 2023-05-06 16:59:56 | String | |
data.baseInfo.updateTime | 2023-05-06 16:59:56 | String | |
data.analogConfig | Object | 模拟量配置 | |
data.analogConfig.engineeringUnit | String | 工程单位 | |
data.analogConfig.defaultVal | 15 | Integer | 默认值 |
data.analogConfig.highRange | 100 | Integer | 量程上限 |
data.analogConfig.lowRange | 5 | Integer | 量程下限 |
data.analogConfig.accuracy | 4 | Integer | 显示精度 |
data.historyConfig | Object | 历史配置 | |
data.historyConfig.recordType | 0 | Integer | 存储类型,变化存储 or 周期存储 |
data.historyConfig.enable | false | Boolean | 是否记录历史中 |
data.historyConfig.period | 10 | Integer | 存储周期 |
data.udp | Object | 自定义变量 | |
data.udp.originalType | 16 | Integer | |
data.udp.nodeId | EQ_001.AI_001.aaaa | String | nodeId |
data.udp.browseName | aaaa | String | 变量名 |
data.udp.description | aaa | String | 描述 |
data.udp.nodeClass | UDP | String | |
data.udp.dataType | Int16 | String | 数据类型 |
data.udp.recordHistory | true | Boolean | 是否记录历史 |
data.udp.recordType | 0 | Integer | 记录历史类型,0 表示变化存储,1 表示周期存储 |
data.udp.period | 14 | Integer | 存储周期,单位为秒 |
data.udp.isArray | false | Boolean | 是否是数组 |
data.udp.arraySize | 0 | Integer | 数组大小,最大 65535 |
data.udp.type | 1 | Integer | 类型值,严格区分大小写 |
data.udp.createTime | 2023-05-10 10:12:02 | String | |
data.udp.updateTime | 2023-05-10 10:53:45 | String | |
data.pv | Object | ||
data.pv.v | null | Null | |
data.pv.q | null | Null | |
data.pv.t | null | Null |
根据 nodeIds 查找模型
接口 URL
{{host}}{{port}}/v1/model/device/public/template/attributes/nodeIds
请求方式
POST
Content-Type
json
请求 Header 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
namespace | test520 | String | 是 |
请求 Body 参数
{
"attributeName":"analogConfig",
"nodeIds":["EQ_001.AI_001","AO_001","DO_001"]
}
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
attributeName | analogConfig | String | 否 | 属性名,只支持到 analogConfig,analogConfig.engineeringUnit 名 |
nodeIds | EQ_001.AI_001 | String | 是 | nodeId |
success 响应示例
示例如下
{"message":"success","code":0,"timestamp":1690421449516,"data":[{"baseInfo":{"path":"137/139/140","nodeClass":"AI","originalType":2,"browseName":"AI_001","createTime":"2023-07-26T17:53:58.970","displayName":"AI_001","description":"AI_001","updateTime":"2023-07-26T17:53:58.970","id":140,"templateId":2,"nodeId":"EQ_001.AI_001","parentId":139},"analogConfig":{"defaultVal":0.0,"highRange":100.0,"accuracy":0,"engineeringUnit":"","lowRange":0.0}},{"baseInfo":{"path":"137/163","nodeClass":"AO","originalType":4,"browseName":"AO_001","createTime":"2023-07-26T17:56:14.479","displayName":"AO_001","description":"AO_001","updateTime":"2023-07-26T17:56:14.479","id":163,"templateId":5,"nodeId":"AO_001","parentId":137},"analogConfig":{"defaultVal":0.0,"highRange":100.0,"lowRange":0.0}},{"baseInfo":{"path":"137/164","nodeClass":"DO","originalType":7,"browseName":"DO_001","createTime":"2023-07-26T17:56:16.414","displayName":"DO_001","description":"DO_001","updateTime":"2023-07-26T17:56:16.414","id":164,"templateId":6,"nodeId":"DO_001","parentId":137},"analogConfig":null}]}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
message | success | String | |
code | 0 | Integer | |
timestamp | 1683785032810 | Integer | |
data | Object | ||
data.baseInfo | Object | ||
data.baseInfo.path | 5/6/7/8 | String | |
data.baseInfo.nodeClass | AI | String | 类型枚举字符串值 |
data.baseInfo.originalType | 2 | Integer | |
data.baseInfo.browseName | AI_001 | String | 浏览名 |
data.baseInfo.createTime | 2023-05-06T16:59:56.665 | String | |
data.baseInfo.displayName | AI_001 | String | 显示名 |
data.baseInfo.description | AI_001 | String | 描述 |
data.baseInfo.updateTime | 2023-05-06T16:59:56.665 | String | |
data.baseInfo.id | 8 | Integer | 主键 id |
data.baseInfo.templateId | 2 | Integer | |
data.baseInfo.nodeId | EQ_001.AI_001 | String | nodeId |
data.baseInfo.parentId | 7 | Integer | |
data.analogConfig | Object | 模拟量配置 | |
data.analogConfig.defaultVal | 15 | Integer | 默认值 |
data.analogConfig.highRange | 100 | Integer | 量程上限 |
data.analogConfig.accuracy | 4 | Integer | 显示精度 |
data.analogConfig.engineeringUnit | String | 工程单位 | |
data.analogConfig.lowRange | 5 | Integer | 量程下限 |
获取模型类型的属性描述
接口 URL
{{host}}{{port}}/v1/model/device/public/template/attributes/doc?type=FieldPoint
请求方式
GET
Content-Type
json
请求 Header 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
namespace | yangweiqiang | String | 是 | 工程名 |
请求 Query 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
type | FieldPoint | String | 是 | 类型值,严格区分大小写 |
路径变量
参数名 | 示例值 | 参数描述 |
---|---|---|
host | ||
post |
success 响应示例
示例如下
{"message":"不存在的type: FieldPoint","code":0,"timestamp":1693971209722,"data":null}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
message | success | String | |
code | 0 | Integer | |
timestamp | 1683700431541 | Integer | |
data | Object | false 不存在,true 存在 | |
data.analogConfig | Object | 模拟量配置 | |
data.analogConfig.name | AiAnalogConfig | String | |
data.analogConfig.description | 模拟量配置 | String | |
data.analogConfig.type | 0 | Integer | 类型值,严格区分大小写 |
data.analogConfig.dataType | Object | String | |
data.analogConfig.engineeringUnit | Object | 工程单位 | |
data.analogConfig.engineeringUnit.name | engineeringUnit | String | |
data.analogConfig.engineeringUnit.description | 工程单位 | String | |
data.analogConfig.engineeringUnit.type | 0 | Integer | 类型值,严格区分大小写 |
data.analogConfig.engineeringUnit.dataType | String | String | |
data.analogConfig.defaultVal | Object | 默认值 | |
data.analogConfig.defaultVal.name | defaultVal | String | |
data.analogConfig.defaultVal.description | 默认值 | String | |
data.analogConfig.defaultVal.type | 0 | Integer | 类型值,严格区分大小写 |
data.analogConfig.defaultVal.dataType | double | String | |
data.analogConfig.highRange | Object | 量程上限 | |
data.analogConfig.highRange.name | highRange | String | |
data.analogConfig.highRange.description | 量程上限 | String | |
data.analogConfig.highRange.type | 0 | Integer | 类型值,严格区分大小写 |
data.analogConfig.highRange.dataType | double | String | |
data.analogConfig.lowRange | Object | 量程下限 | |
data.analogConfig.lowRange.name | lowRange | String | |
data.analogConfig.lowRange.description | 量程下限 | String | |
data.analogConfig.lowRange.type | 0 | Integer | 类型值,严格区分大小写 |
data.analogConfig.lowRange.dataType | double | String | |
data.analogConfig.accuracy | Object | 显示精度 | |
data.analogConfig.accuracy.name | accuracy | String | |
data.analogConfig.accuracy.description | 显示精度 | String | |
data.analogConfig.accuracy.type | 0 | Integer | 类型值,严格区分大小写 |
data.analogConfig.accuracy.dataType | Integer | String | |
data.historyConfig | Object | 历史配置 | |
data.historyConfig.name | HistoryConfig | String | |
data.historyConfig.description | 历史配置 | String | |
data.historyConfig.type | 0 | Integer | 类型值,严格区分大小写 |
data.historyConfig.dataType | Object | String | |
data.historyConfig.recordType | Object | 存储类型,变化存储 or 周期存储 | |
data.historyConfig.recordType.name | recordType | String | |
data.historyConfig.recordType.description | 存储类型,变化存储 or 周期存储 | String | |
data.historyConfig.recordType.type | 0 | Integer | 类型值,严格区分大小写 |
data.historyConfig.recordType.dataType | Integer | String | |
data.historyConfig.enable | Object | 是否记录历史中 | |
data.historyConfig.enable.name | enable | String | |
data.historyConfig.enable.description | 是否记录历史中 | String | |
data.historyConfig.enable.type | 0 | Integer | 类型值,严格区分大小写 |
data.historyConfig.enable.dataType | boolean | String | |
data.historyConfig.period | Object | 存储周期 | |
data.historyConfig.period.name | period | String | |
data.historyConfig.period.description | 存储周期 | String | |
data.historyConfig.period.type | 0 | Integer | 类型值,严格区分大小写 |
data.historyConfig.period.dataType | Integer | String | |
data.pv | Object | ||
data.pv.name | PV | String | |
data.pv.description | PV | String | |
data.pv.type | 1 | Integer | 类型值,严格区分大小写 |
data.pv.dataType | Object | String | |
data.pv.v | Object | ||
data.pv.v.name | v | String | |
data.pv.v.description | 值 | String | |
data.pv.v.type | 1 | Integer | 类型值,严格区分大小写 |
data.pv.v.dataType | Double | String | |
data.pv.q | Object | ||
data.pv.q.name | q | String | |
data.pv.q.description | 质量位 | String | |
data.pv.q.type | 1 | Integer | 类型值,严格区分大小写 |
data.pv.q.dataType | Int32 | String | |
data.pv.t | Object | ||
data.pv.t.name | t | String | |
data.pv.t.description | 时间戳 | String | |
data.pv.t.type | 1 | Integer | 类型值,严格区分大小写 |
data.pv.t.dataType | Int64 | String |
实例/查询工程树过滤掉 group
接口 URL
{{host}}{{port}}/v1/model/device/public/engineering/list?parentId=0&originalType=&service=1
请求方式
GET
Content-Type
json
请求 Header 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
namespace | yangweiqiang | String | 是 | 工程名 |
请求 Query 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
parentId | 0 | Integer | 是 | 父级对象主键 id,顶层为 0 |
originalType | Integer | 是 | 下级对象枚举类型值,dbunit:10 | |
service | 1 | Integer | 是 | 0:IO 服务类型 site;1:实时服务类型 Site |
success 响应示例
示例如下
{
"message": "success",
"code": 0,
"timestamp": 1683790480520,
"data": [
{
"id": 2,
"parentId": 0,
"path": "2",
"browseName": "RTDB-node1",
"displayName": "RTDB-node1",
"description": "",
"originalType": 13,
"createTime": "2023-05-06 16:57:44",
"updateTime": "2023-05-06 16:57:44",
"siteId": 0,
"containerDeploy": 0,
"containerId": null,
"redundancy": 0,
"syncPeriod": 500,
"computerAName": "vdi-117754",
"computerAIpA": "172.21.204.70",
"computerAIpB": "0.0.0.0",
"computerBName": null,
"computerBIpA": null,
"computerBIpB": null,
"computerACode": null,
"computerBCode": null,
"service": "RTDB"
}
]
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
message | success | String | |
code | 0 | Integer | |
timestamp | 1683790480520 | Integer | |
data | Object | ||
data.id | 2 | Integer | network 主键 id |
data.parentId | 0 | Integer | 父级对象主键 id,顶层为 0 |
data.path | 2 | String | |
data.browseName | RTDB-node1 | String | |
data.displayName | RTDB-node1 | String | |
data.description | String | ||
data.originalType | 13 | Integer | 对象枚举类型值 |
data.createTime | 2023-05-06 16:57:44 | String | |
data.updateTime | 2023-05-06 16:57:44 | String | |
data.siteId | 0 | Integer | |
data.containerDeploy | 0 | Integer | |
data.containerId | null | Null | |
data.redundancy | 0 | Integer | |
data.syncPeriod | 500 | Integer | |
data.computerAName | vdi-117754 | String | |
data.computerAIpA | 172.21.204.70 | String | |
data.computerAIpB | 0.0.0.0 | String | |
data.computerBName | null | Null | |
data.computerBIpA | null | Null | |
data.computerBIpB | null | Null | |
data.computerACode | null | Null | |
data.computerBCode | null | Null | |
data.service | RTDB | String | 数据源类型,0:IO 服务 |
实例/查询数据库单元列表
接口 URL
{{host}}{{port}}/v1/model/device/public/dbunit/list
请求方式
GET
Content-Type
json
success 响应示例
示例如下
{
"message": "success",
"code": 0,
"timestamp": 1682056874796,
"data": [
{
"id": 5,
"parentId": 3,
"path": "3/5",
"browseName": "DbUnit_001",
"displayName": "DbUnit_001",
"description": "",
"originalType": 10,
"createTime": "2023-04-21 11:33:08",
"updateTime": "2023-04-21 12:16:54",
"dbunitId": 100,
"dataSourceType": 0,
"mainDataSource": 4,
"backupDataSource": null,
"recordHistory": 0,
"loadHot": 0
}
]
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
message | success | String | |
code | 0 | Integer | |
timestamp | 1680256220425 | Integer | |
data | Object | ||
data.id | 98 | Integer | network 主键 id |
data.parentId | 96 | Integer | 父级对象主键 id,顶层为 0 |
data.path | 96/98 | String | |
data.browseName | DbUnit_001 | String | |
data.displayName | DbUnit_001 | String | |
data.description | 1 | String | |
data.originalType | 10 | Integer | 对象枚举类型值 |
data.createTime | 2023-03-17 14:31:12 | String | |
data.updateTime | 2023-03-17 14:31:28 | String | |
data.dbunitId | 100 | Integer | |
data.dataSourceType | 0 | Integer | |
data.mainDataSource | 97 | Integer | |
data.backupDataSource | null | Null | |
data.recordHistory | 0 | Integer | |
data.loadHot | 0 | Integer |
实例/实例列表查询包含 nodeId
接口 URL
{{host}}{{port}}/v1/model/device/public/instance/list?dbunitName=DbUnit_001&parentId=
请求方式
GET
Content-Type
json
请求 Header 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
namespace | scada_test | String | 是 | 工程名 |
请求 Query 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
dbunitName | DbUnit_001 | String | 是 | 数据库单元 dbUnit 浏览名(browse_name) |
parentId | Integer | 否 | 父级对象主键 id,顶层为 0,不传查询所有 |
路径变量
参数名 | 示例值 | 参数描述 |
---|---|---|
host | ||
port |
success 响应示例
{"message":"success",
"code":0,
"timestamp":1687907623048,
"data":true}
实例/根据 id 查找实例
接口 URL
{{host}}{{port}}/v1/model/device/public/instance/attributes?dbunitName=DbUnit_001&id=11&attributeName=
请求方式
GET
Content-Type
none
请求 Header 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
namespace | scada_project | String | 是 | 工程名 |
请求 Query 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
dbunitName | DbUnit_001 | String | 是 | 数据库单元浏览名 |
id | 11 | Integer | 是 | 主键 |
attributeName | String | 否 | 属性名,只支持到 analogConfig,analogConfig.engineeringUnit |
路径变量
参数名 | 示例值 | 参数描述 |
---|---|---|
host | ||
post |
success 响应示例
示例如下
{
"message":"success",
"code":0,
"timestamp":1685930024926,
"data":{
"baseInfo":{
"id":11,
"parentId":5,
"path":"5/11",
"originalType":2,
"templateId":2,
"nodeId":"100:
EQ_001.AI_002",
"browseName":"AI_002",
"displayName":"AI_002",
"description":"AI_002",
"nodeClass":"AI",
"createTime":"2023-06-01 15:50:54","updateTime":"2023-06-01 15:50:54"},
"analogConfig":{
"engineeringUnit":"",
"defaultVal":0.0,
"highRange":100.0,
"lowRange":0.0,
"accuracy":0
},
"historyConfig":{
"recordType":1,
"enable":true,
"period":1800
},
"udp":[],
"pv":{
"v":null,
"q":null,
"t":null
}
}
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
message | success | String | |
code | 0 | Integer | |
timestamp | 1683790378122 | Integer | |
data | Object | ||
data.id | 35 | Integer | 主键 id |
data.parentId | 29 | Integer | 父级对象主键 id,顶层为 0 |
data.path | 20/23/29/35 | String | |
data.originalType | 2 | Integer | 对象枚举类型值 |
data.templateId | 2 | Integer | 对象模板 id |
data.nodeId | EQ_002.EQ_001.AI_001 | String | nodeId |
data.browseName | AI_001 | String | 浏览名 |
data.displayName | AI_001 | String | 显示名 |
data.description | AI_001 | String | 描述 |
data.nodeClass | AI | String | 节点的类别, |
data.createTime | 2023-05-10 17:07:09 | String | |
data.updateTime | 2023-05-10 17:07:09 | String |
实例/根据 NodeId 查找实例
接口 URL
{{host}}{{port}}/v1/model/device/public/instance/attributes/nodeId?nodeId=100:EQ_002.DI_003&attributeName=
请求方式
GET
Content-Type
json
请求 Header 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
namespace | swh | String | 是 |
请求 Query 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
nodeId | 100:EQ_002.DI_003 | String | 是 | nodeId |
attributeName | String | 否 | 属性名,只支持到 analogConfig,analogConfig.engineeringUnit |
路径变量
参数名 | 示例值 | 参数描述 |
---|---|---|
host | ||
post |
success 响应示例
示例如下
{"message":"success","code":0,"timestamp":1687845211858,"data":[{"baseInfo":{"id":26,"parentId":20,"path":"15/20/26","originalType":5,"templateId":4,"nodeId":"100:EQ_002.DI_003","browseName":"DI_003","displayName":"DI_003","description":"DI_003","nodeClass":"DI","createTime":"2023-06-26 17:28:14","updateTime":"2023-06-26 17:28:14"},"discreteConfig":{"defaultVal":0,"values":[0,1],"valueDeses":["分位","合位"]},"historyConfig":{"recordType":0,"enable":false,"period":10},"udp":[],"pv":{"v":null,"q":null,"t":null}}]}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
message | success | String | |
code | 0 | Integer | |
timestamp | 1680769434203 | Integer | |
data | Object | ||
data.baseInfo | Object | ||
data.baseInfo.id | 169 | Integer | |
data.baseInfo.parentId | 0 | Integer | |
data.baseInfo.path | 169 | String | |
data.baseInfo.originalType | 2 | Integer | |
data.baseInfo.templateId | 168 | Integer | |
data.baseInfo.nodeId | 104:AI_UDP_001 | String | nodeId |
data.baseInfo.browseName | AI_UDP_001 | String | |
data.baseInfo.displayName | AI_UDP_001 | String | |
data.baseInfo.description | AI_UDP_001 | String | |
data.baseInfo.nodeClass | AI | String | |
data.baseInfo.createTime | 2023-04-06 14:14:22 | String | |
data.baseInfo.updateTime | 2023-04-06 14:14:22 | String | |
data.analogConfig | Object | ||
data.analogConfig.engineeringUnit | Object | ||
data.analogConfig.engineeringUnit.name | engineeringUnit | String | |
data.analogConfig.engineeringUnit.description | 工程单位 | String | |
data.analogConfig.engineeringUnit.type | 0 | Integer | |
data.analogConfig.engineeringUnit.dataType | String | String | |
data.analogConfig.engineeringUnit.value | String | ||
data.analogConfig.defaultVal | Object | ||
data.analogConfig.defaultVal.name | defaultVal | String | |
data.analogConfig.defaultVal.description | 默认值 | String | |
data.analogConfig.defaultVal.type | 0 | Integer | |
data.analogConfig.defaultVal.dataType | double | String | |
data.analogConfig.defaultVal.value | 150 | Integer | |
data.analogConfig.highRange | Object | ||
data.analogConfig.highRange.name | highRange | String | |
data.analogConfig.highRange.description | 量程上限 | String | |
data.analogConfig.highRange.type | 0 | Integer | |
data.analogConfig.highRange.dataType | double | String | |
data.analogConfig.highRange.value | 800 | Integer | |
data.analogConfig.lowRange | Object | ||
data.analogConfig.lowRange.name | lowRange | String | |
data.analogConfig.lowRange.description | 量程下限 | String | |
data.analogConfig.lowRange.type | 0 | Integer | |
data.analogConfig.lowRange.dataType | double | String | |
data.analogConfig.lowRange.value | 100 | Integer | |
data.analogConfig.accuracy | Object | ||
data.analogConfig.accuracy.name | accuracy | String | |
data.analogConfig.accuracy.description | 显示精度 | String | |
data.analogConfig.accuracy.type | 0 | Integer | |
data.analogConfig.accuracy.dataType | Integer | String | |
data.analogConfig.accuracy.value | 4 | Integer | |
data.analogConfig.description | 模拟量配置 | String | |
data.analogConfig.dataType | Object | String | |
data.historyConfig | Object | ||
data.historyConfig.recordType | Object | ||
data.historyConfig.recordType.name | recordType | String | |
data.historyConfig.recordType.description | 存储类型,变化存储 or 周期存储 | String | |
data.historyConfig.recordType.type | 0 | Integer | |
data.historyConfig.recordType.dataType | Integer | String | |
data.historyConfig.recordType.value | 0 | Integer | |
data.historyConfig.enable | Object | ||
data.historyConfig.enable.name | enable | String | |
data.historyConfig.enable.description | 是否记录历史中 | String | |
data.historyConfig.enable.type | 0 | Integer | |
data.historyConfig.enable.dataType | boolean | String | |
data.historyConfig.enable.value | true | Boolean | |
data.historyConfig.period | Object | ||
data.historyConfig.period.name | period | String | |
data.historyConfig.period.description | 存储周期 | String | |
data.historyConfig.period.type | 0 | Integer | |
data.historyConfig.period.dataType | Integer | String | |
data.historyConfig.period.value | 1000 | Integer | |
data.historyConfig.description | 历史配置 | String | |
data.historyConfig.dataType | Object | String | |
data.udp | Object | ||
data.udp.originalType | 16 | Integer | |
data.udp.nodeId | 104:AI_UDP_001.aaaaa | String | nodeId |
data.udp.browseName | aaaaa | String | |
data.udp.description | String | ||
data.udp.nodeClass | UDP | String | |
data.udp.dataType | Boolean | String | |
data.udp.recordHistory | true | Boolean | |
data.udp.recordType | 0 | Integer | |
data.udp.period | 15 | Integer | |
data.udp.isArray | false | Boolean | |
data.udp.arraySize | 0 | Integer | |
data.udp.type | 1 | Integer | |
data.udp.createTime | 2023-04-06 15:48:27 | String | |
data.udp.updateTime | 2023-04-06 15:48:27 | String | |
data.pv | Object | ||
data.pv.name | PV | String | |
data.pv.description | PV | String | |
data.pv.type | 1 | Integer | |
data.pv.dataType | Object | String | |
data.pv.value | null | Null |
第三方接口/实例/根据 NodeIds 查询实例
接口 URL
{{host}}{{port}}/v1/model/device/public/instance/attributes/nodeIds
请求方式
POST
Content-Type
json
请求 Header 参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
namespace | String | 是 |
请求 Body 参数
{
"attributeName": "",
"nodeIds": [
"100:EQ_001.AI_001",
"100:EQ_003.AI_002",
"100:EQ_004.AI_004",
"100:EQ_003.AI_003",
"100:EQ_004.AI_005"
]
}
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
attributeName | analogConfig | String | 否 | 属性名,如只支持到 analogConfig,analogConfig.engineeringUnit 名 |
nodeIds | 100:EQ_001 | String | 是 | nodeId |
success 响应示例
示例如下
{"message":"success","code":0,"timestamp":1688108322378,"data":[{"baseInfo":{"id":8,"parentId":9,"path":"7/9/8","originalType":2,"templateId":2,"nodeId":"100:EQ_001.AI_001","browseName":"AI_001","displayName":"AI_001","description":"AI_001","nodeClass":"AI","createTime":"2023-06-20 10:44:51","updateTime":"2023-06-20 10:44:51"},"analogConfig":{"defaultVal":0.0,"highRange":100.0,"lowRange":0.0,"engineeringUnit":"","accuracy":0},"historyConfig":{"recordType":0,"enable":false,"period":10},"udp":[],"pv":{"v":null,"q":null,"t":null}},{"baseInfo":{"id":32,"parentId":30,"path":"7/30/32","originalType":2,"templateId":2,"nodeId":"100:EQ_003.AI_002","browseName":"AI_002","displayName":"AI_002","description":"AI_002","nodeClass":"AI","createTime":"2023-06-30 14:54:30","updateTime":"2023-06-30 14:54:30"},"analogConfig":{"defaultVal":0.0,"highRange":100.0,"lowRange":0.0,"engineeringUnit":"","accuracy":0},"historyConfig":{"recordType":0,"enable":false,"period":10},"udp":[],"pv":{"v":null,"q":null,"t":null}},{"baseInfo":{"id":34,"parentId":31,"path":"7/31/34","originalType":2,"templateId":2,"nodeId":"100:EQ_004.AI_004","browseName":"AI_004","displayName":"AI_004","description":"AI_004","nodeClass":"AI","createTime":"2023-06-30 14:54:35","updateTime":"2023-06-30 14:54:35"},"analogConfig":{"defaultVal":0.0,"highRange":100.0,"lowRange":0.0,"engineeringUnit":"","accuracy":0},"historyConfig":{"recordType":0,"enable":false,"period":10},"udp":[],"pv":{"v":null,"q":null,"t":null}},{"baseInfo":{"id":33,"parentId":30,"path":"7/30/33","originalType":2,"templateId":2,"nodeId":"100:EQ_003.AI_003","browseName":"AI_003","displayName":"AI_003","description":"AI_003","nodeClass":"AI","createTime":"2023-06-30 14:54:31","updateTime":"2023-06-30 14:54:31"},"analogConfig":{"defaultVal":0.0,"highRange":100.0,"lowRange":0.0,"engineeringUnit":"","accuracy":0},"historyConfig":{"recordType":0,"enable":false,"period":10},"udp":[],"pv":{"v":null,"q":null,"t":null}},{"baseInfo":{"id":35,"parentId":31,"path":"7/31/35","originalType":2,"templateId":2,"nodeId":"100:EQ_004.AI_005","browseName":"AI_005","displayName":"AI_005","description":"AI_005","nodeClass":"AI","createTime":"2023-06-30 14:54:36","updateTime":"2023-06-30 14:54:36"},"analogConfig":{"defaultVal":0.0,"highRange":100.0,"lowRange":0.0,"engineeringUnit":"","accuracy":0},"historyConfig":{"recordType":0,"enable":false,"period":10},"udp":[],"pv":{"v":null,"q":null,"t":null}}]}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
message | success | String | |
code | 0 | Integer | |
timestamp | 1680747281479 | Integer | |
data | Object | ||
data.baseInfo | Object | ||
data.baseInfo.id | 121 | Integer | |
data.baseInfo.parentId | 0 | Integer | |
data.baseInfo.path | 121 | String | |
data.baseInfo.originalType | 2 | Integer | |
data.baseInfo.templateId | 77 | Integer | |
data.baseInfo.nodeId | AI_001 | String | |
data.baseInfo.browseName | AI_001 | String | |
data.baseInfo.displayName | AI_001 | String | |
data.baseInfo.description | AI_001 | String | |
data.baseInfo.nodeClass | AI | String | |
data.baseInfo.createTime | 2023-03-28 10:52:00 | String | |
data.baseInfo.updateTime | 2023-03-28 10:52:00 | String | |
data.analogConfig | Object | ||
data.analogConfig.engineeringUnit | Object | ||
data.analogConfig.engineeringUnit.name | engineeringUnit | String | |
data.analogConfig.engineeringUnit.description | 工程单位 | String | |
data.analogConfig.engineeringUnit.type | 0 | Integer | |
data.analogConfig.engineeringUnit.dataType | String | String | |
data.analogConfig.engineeringUnit.value | String | ||
data.analogConfig.defaultVal | Object | ||
data.analogConfig.defaultVal.name | defaultVal | String | |
data.analogConfig.defaultVal.description | 默认值 | String | |
data.analogConfig.defaultVal.type | 0 | Integer | |
data.analogConfig.defaultVal.dataType | double | String | |
data.analogConfig.defaultVal.value | 0 | Integer | |
data.analogConfig.highRange | Object | ||
data.analogConfig.highRange.name | highRange | String | |
data.analogConfig.highRange.description | 量程上限 | String | |
data.analogConfig.highRange.type | 0 | Integer | |
data.analogConfig.highRange.dataType | double | String | |
data.analogConfig.highRange.value | 100 | Integer | |
data.analogConfig.lowRange | Object | ||
data.analogConfig.lowRange.name | lowRange | String | |
data.analogConfig.lowRange.description | 量程下限 | String | |
data.analogConfig.lowRange.type | 0 | Integer | |
data.analogConfig.lowRange.dataType | double | String | |
data.analogConfig.lowRange.value | 0 | Integer | |
data.analogConfig.accuracy | Object | ||
data.analogConfig.accuracy.name | accuracy | String | |
data.analogConfig.accuracy.description | 显示精度 | String | |
data.analogConfig.accuracy.type | 0 | Integer | |
data.analogConfig.accuracy.dataType | Integer | String | |
data.analogConfig.accuracy.value | 0 | Integer | |
data.analogConfig.description | 模拟量配置 | String | |
data.analogConfig.dataType | Object | String | |
data.historyConfig | Object | ||
data.historyConfig.recordType | Object | ||
data.historyConfig.recordType.name | recordType | String | |
data.historyConfig.recordType.description | 存储类型,变化存储 or 周期存储 | String | |
data.historyConfig.recordType.type | 0 | Integer | |
data.historyConfig.recordType.dataType | Integer | String | |
data.historyConfig.recordType.value | 0 | Integer | |
data.historyConfig.enable | Object | ||
data.historyConfig.enable.name | enable | String | |
data.historyConfig.enable.description | 是否记录历史中 | String | |
data.historyConfig.enable.type | 0 | Integer | |
data.historyConfig.enable.dataType | boolean | String | |
data.historyConfig.enable.value | false | Boolean | |
data.historyConfig.period | Object | ||
data.historyConfig.period.name | period | String | |
data.historyConfig.period.description | 存储周期 | String | |
data.historyConfig.period.type | 0 | Integer | |
data.historyConfig.period.dataType | Integer | String | |
data.historyConfig.period.value | 10 | Integer | |
data.historyConfig.description | 历史配置 | String | |
data.historyConfig.dataType | Object | String | |
data.pv | Object | ||
data.pv.name | PV | String | |
data.pv.description | PV | String | |
data.pv.type | 1 | Integer | |
data.pv.dataType | Object | String | |
data.pv.value | null | Null |