JOYZL SCADA Server
能源类接口
| 模块 | 接口 | 用途 | 权限 |
|---|---|---|---|
| Energy | EnergyAmount | 获取能耗数量 | SYATEM |
| Energy | EnergySelect | 获取能耗记录 | SYATEM |
| Energy | MeterAmount | 获取表计数量 | SYATEM |
| Energy | MeterSelect | 获取多个表计 | SYATEM |
| Energy | MeterQuery | 获取单个表计 | SYATEM |
| Energy | MeterState | 获取表计状态 | SYATEM |
| Device | SignalSelect | 获取遥测数据 | SYATEM |
能源类型(EnergyType)
- UNKNOWN(0) 未知
- WATER(1) 水 m³
- ELECTRIC(2) 电 kW·h
- GAS(3) 气 m³
- HEAT(4) 热 GJ
能耗
能耗接口用于获取表计服务自动归集的能耗记录。 服务端(JOYZL SCADA Server) 会持久存储能耗记录, 通常会配置数据的有效时间,防止磁盘写满。
获取能耗数量(EnergyAmount)
获取全部或指定区域的能耗记录数量,可见范围取决于用户所在的区域。 缺省所有参数时,返回当前用户可见范围的所有最新能耗记录数量; 指定区域标识(ZoneId)参数时,仅返回指定区域(含子区域)的能耗记录数量; 指定表计标识(MeterId)或表计编号(MeterNumber)参数时,仅返回指定表计的能耗记录数量; 指定开始(Begin)和结束(End)时间时将统计指定时间段的记录数量, 如果未指定开始(Begin)和结束(End)时间则仅统计每个表计最新记录。
请求示例
{
// 能源类型(必要)
"Type":2,
// 区域标识(可选)
"ZoneId": 6892182778556009,
// 表计标识(单选)
"MeterId": 6892182769831190,
// 表计编号(单选)
"MeterNumber": "M0001",
// 开始时间(可选)
"Begin": "2022-12-13 00:00:00",
// 结束时间(可选)
"End": "2022-12-13 23:59:59"
}响应示例
{
"Type": {
"name": "ELECTRIC",
"value": 2,
"text": "电",
"unit": "kW·h"
},
"ZoneId": 6892182778556009,
"MeterId ": 6892182769831190,
"MeterNumber": "M0001",
"Begin": "2022-12-13 00:00:00",
"End": "2022-12-13 23:59:59",
// 能耗记录数量
"Energy": 892,
// 总能耗
"Total": 7654,
// 响应状态码
"Status": 2
}
获取能耗记录(EnergySelect)
获取全部或指定区域的能耗记录,可见范围取决于用户所在的区域。 缺省所有参数时,返回当前用户可见范围的所有最新能耗记录; 指定区域标识(ZoneId)参数时,仅返回指定区域(含子区域)的能耗记录; 指定表计标识(MeterId)或表计编号(MeterNumber)参数时,仅返回指定表计的能耗记录; 指定开始(Begin)和结束(End)时间时将返回指定时间段的记录。
请求示例
{
// 能源类型(必要)
"Type":2,
// 区域标识(可选)
"ZoneId": 6892182778556009,
// 表计标识(单选)
"MeterId": 6892182769831190,
// 表计编号(单选)
"MeterNumber": "M0001",
// 开始时间(可选)
"Begin": "2022-12-13 00:00:00",
// 结束时间(可选)
"End": "2022-12-13 23:59:59"
}响应示例
{
"Type": {
"name": "ELECTRIC",
"value": 2,
"text": "电",
"unit": "kW·h"
},
"ZoneId": 6892182778556009,
"MeterId": 6892182769831190,
"MeterNumber": "M0001",
"Begin": "2022-12-13 00:00:00",
"End": "2022-12-13 23:59:59",
// 记录集合
"Energys": [
{
// 表计标识
"MeterId": 6892182769831190,
// 表显读数
"Metering": 87654,
// 增量
"Increment": 89,
// 累计
"Accumulate": 386,
// 创建时间
"Created": "2022-12-13 23:59:59"
}
…
],
// 响应状态码
"Status": 2
}表计
获取表计数量(MeterAmount)
获取全部或指定区域的表计数量,可见范围取决于用户所在的区域。 缺省所有参数时,返回当前用户可见范围的所有表计数量; 指定区域标识(ZoneId)参数时,仅返回指定区域(含子区域)的表计数量; 指定能源类型(Type)参数时,仅返回指定能源类型的表计数量。
请求示例
{
// 区域标识(可选)
"ZoneId": 6892141150584634,
// 能源类型(可选)
"Type": 2
}响应示例
{
"ZoneId": 3358725158993927,
"Type": {
"name": "ELECTRIC",
"value": 2,
"text": "电",
"unit": "kW·h"
},
// 表计数量
"Meter ": 142,
// 启用数量
"Enable ": 140,
// 供应数量
"Off": 108,
// 中断数量
"On ": 30,
// 响应状态码
"Status": 2
}
获取多个表计(MeterSelect)
获取全部或指定区域的表计,可见范围取决于用户所在的区域。 缺省所有参数时,返回当前用户可见范围的所有表计; 指定区域标识(ZoneId)参数时,仅返回指定区域(不含子区域)的表计; 指定能源类型(Type)参数时,仅返回指定能源类型的表计; 指定启用或禁用(Enable)参数时,仅返回指定状态的表计。
请求示例
{
// 区域标识(可选)
"ZoneId": 6892141150584634,
// 启用或禁用(可选)
"Enable": true,
// 能源类型(可选)
"Type": 2
}响应示例
{
"ZoneId": 6892141150584634,
"Enable": true,
"Type": {
"name": "ELECTRIC",
"value": 2,
"text": "电",
"unit": "kW·h"
},
// 表计集合
"Meters": [
{
// 表计标识
"Id: 6892189876541566,
// 区域标识
"ZoneId": 4000605404135427,
// 表计名称
"Name": "2-5-6",
// 能源类型
"Type": {
"value": 2,
"name": "ELECTRIC",
"text": "电",
"unit": "kW·h"
},
// 表计编号
"Number": "M0001",
// 启用或禁用
"Enable": true,
// 备注
"Remark": "电表",
// 创建时间
"Created": 2025-08-26 10:15:00",
// 更新时间
"Updated": 2025-08-26 11:15:00",
// 设备标识
"DeviceId": 821196270600196,
// 计量属性标识
"MeteringId": 821177815662595,
// 余量属性标识
"ResidualId": 0,
// 充量属性标识
"RechargeId": 0,
// 通断属性标识
"WorkingId": 0,
// 表显读数
"Metering": 123,
// 供应状态
"State": {
"value": 1,
"name": "ON",
"text": "供应"
},
// 状态更新时间戳
"Timestamp": 76543234567543
}
…
],
// 响应状态码
"Status": 2
}
获取单个表计(MeterQuery)
用于通过表计标识或编号获取单个表计。
请求示例
{
// 表计标识(单选)
"Id": 6892141164168701,
// 表计编号(单选)
"Number": "M0001"
}响应示例
{
"Id": 6892141164168701,
"Number": "M0001",
// 表计
"Meter": {
// 表计标识
"Id: 6892189876541566,
// 区域标识
"ZoneId": 4000605404135427,
// 表计名称
"Name": "2-5-6",
// 能源类型
"Type": {
"value": 2,
"name": "ELECTRIC",
"text": "电",
"unit": "kW·h"
},
// 表计编号
"Number": "M0001",
// 启用或禁用
"Enable": true,
// 备注
"Remark": "电表",
// 创建时间
"Created": 2025-08-26 10:15:00",
// 更新时间
"Updated": 2025-08-26 11:15:00",
// 设备标识
"DeviceId": 821196270600196,
// 计量属性标识
"MeteringId": 821177815662595,
// 余量属性标识
"ResidualId": 0,
// 充量属性标识
"RechargeId": 0,
// 通断属性标识
"WorkingId": 0,
// 表显读数
"Metering": 123,
// 供应状态
"State": {
"value": 1,
"name": "ON",
"text": "供应"
},
// 状态更新时间戳
"Timestamp": 76543234567543
},
// 响应状态码
"Status": 2
}获取表计状态(MeterState)
获取指定表计的最新状态。 此接口仅返回表计状态,不会返回表计的其它字段。
请求示例
{
// 表计标识(单选)
"Id": 6892141164168701,
// 表计编号(单选)
"Number": "M0001"
}响应示例
{
"Id": 6892141164168701,
"Number": "M0001",
// 表显读数
"Metering": 123,
// 供应状态
"State": {
"value": 1,
"name": "ON",
"text": "供应"
},
// 状态更新时间戳
"Timestamp": 76543234567543,
// 响应状态码
"Status": 2
}
数据
获取表计任意时段时序数据的步骤:
- 获取遥测信号(SignalSelect), 查询诸如“功率”、“电流”、“电压”等信号的标识;
- 获取时序数据(ValueSelect), 按具体信号和时间段查询历史时序数据。
提示: 大部分时序数据都为浮点数或整数, 可通过面积图或折线图以图形方式展现于最终用户, 这有助于直观反应表计当时的工况。
获取遥测信号(SignalSelect)
获取表计(设备)遥测的信号项。 这些信号项(遥测信号)在生产加工过程中将被记录时序数据。 表计(设备)通常有多项遥测信号(属性), 接口会过滤掉不产生数据或仅用于控制的信号项。
遥测信号的属性标识(AttributeId)可用于获取时序数据, 请参考通信类接口 获取时序数据(ValueSelect) 了解更多信息。
请求示例
{
// 设备标识(单选)
"DeviceId": 821196270600196,
// 表计标识(单选)
"MeterId": 6892182769831190,
// 表计编号(单选)
"MeterNumber": "M0001"
}响应示例
{
"DeviceId": 2815031825661954,
"MeterId": 6892182769831190,
"MeterNumber": "M0001",
// 信号集合
"Signals": [
{
// 属性标识
"AttributeId": 345659483765364,
// 属性名称
"Name": "电压",
// 单位
"Unit": "V"
}
…
],
// 响应状态码
"Status": 2
}