报警数量(AlarmAmount)
- PKG: com.joyzl.scada.device.actions.AlarmAmount
- URI: /actions/AlarmAmount
- 权限: LOGON
- 广播: 无
获取全部或指定区域的报警数量。
请求示例:
{
"DepartmentId": 821305322504207, // 可选,区域标识,Long
"ServoId": 821382497697812, // 可选,伺服器标识,Long
"DeviceId": 821370753646611, // 可选,设备标识,Long
"AttributeId": 821323777441809, // 可选,属性标识,Long
"TriggerId": 821333843771410, // 可选,触发器标识,Long
"Begin": "2024-09-18 00:00:00", // 可选,开始时间,LocalDateTime
"End:": "2024-09-19 00:00:00" // 可选,结束时间,LocalDateTime
}
未指定 "DepartmentId" 区域标识参数时,匹配当前员工所有可见范围的报警数量。 有指定 "DepartmentId" 区域标识参数时,仅匹配指定区域的报警(含子区域)。
有指定 "ServoId" 伺服器标识参数时,仅匹配指定伺服器的报警数量。 未指定 "ServoId" 伺服器标识参数时,由 "DepartmentId" 区域标识参数确定报警匹配范围。
有指定 "DeviceId" 设备标识参数时,仅匹配指定设备的报警数量。 未指定 "DeviceId" 设备标识参数时,由 "ServoId" 伺服器标识参数确定报警匹配范围。
有指定 "AttributeId" 属性标识参数时,仅匹配指定属性的报警数量。 未指定 "AttributeId" 属性标识参数时,由 "DeviceId" 设备标识参数确定报警匹配范围。
有指定 "TriggerId" 触发器标识参数时,仅匹配指定触发器的报警数量。 未指定 "TriggerId" 触发器标识参数时,由 "AttributeId" 属性标识参数确定报警匹配范围。
有指定 "Begin" 或 "End" 将仅匹配指定时间段的报警数量; 未指定 "Begin" 或 "End" 将仅匹配当前激活的报警数量;
未指定所有参数时,返回当前员工可见范围的所有激活的报警数量。 有指定多项参数时,将共同作用于筛选匹配满足所有条件的报警数量。
响应示例:
{
"Status": 2,
"Notices": 10, // 必要,通知级报警数,Integer
"Warnings": 10, // 必要,警告级报警数,Integer
"Dangers": 1 // 必要,严重级报警数,Integer
}
报警新建(AlarmCreate)
- PKG: com.joyzl.scada.device.actions.AlarmCreate
- URI: /actions/AlarmCreate
- 权限: FORBIDDEN
- 广播: 登录用户
创建新的报警。 所有的报警均由触发器触发,这将使得报警逻辑具有足够的灵活性。 用户不能请求此接口,此接口仅提供给系统使用。
请求示例:
{
"DeviceId": 821315388833808, // 必要,设备标识,Long
"AttributeId": 821323777441809, // 必要,属性标识,Long
"TriggerId": 821333843771410, // 必要,触发器标识,Long
"Alert": true, // 必要,是否激活,Boolean
"Type": 1, // 必要,报警等级,AlarmType
"Content": "温度超过100℃" // 必要,报警内容,String
}
报警等级定义请参考 AlarmType 。
响应示例:
{
"Status": 2,
"Id": 821246602248201, // 必要,报警标识,Long
"Created": "2024-09-12 14:36:34" // 必要,创建时间,LocalDateTime
}
报警删除(AlarmDelete)
- PKG: com.joyzl.scada.device.actions.AlarmDelete
- URI: /actions/AlarmDelete
- 权限: AUTHORIZED
- 广播: 登录用户
删除指定报警。
请求示例:
{
"Id": 821157683003394 // 必要,报警标识,Long
}
响应示例:
{
"Status": 2
}
报警获取(AlarmSelect)
- PKG: com.joyzl.scada.device.actions.AlarmSelect
- URI: /actions/AlarmSelect
- 权限: LOGON
- 广播: 无
获取可见区域或指定区域以及匹配关联标识和时间段的报警。
请求示例:
{
"DepartmentId": 821305322504207, // 可选,区域标识,Long
"ServoId": 821382497697812, // 可选,伺服器标识,Long
"DeviceId": 821370753646611, // 可选,设备标识,Long
"AttributeId": 821323777441809, // 可选,属性标识,Long
"TriggerId": 821333843771410, // 可选,触发器标识,Long
"Type": 1, // 可选,报警等级,AlarmType
"Begin": "2024-09-18 00:00:00", // 可选,开始时间,LocalDateTime
"End": "2024-09-19 00:00:00" // 可选,结束时间,LocalDateTime
}
未指定 "DepartmentId" 区域标识参数时,匹配当前员工所有可见范围的报警。 有指定 "DepartmentId" 区域标识参数时,仅匹配指定区域的报警(含子区域)。
有指定 "ServoId" 伺服器标识参数时,仅匹配指定伺服器的报警。 未指定 "ServoId" 伺服器标识参数时,由 "DepartmentId" 区域标识参数确定报警匹配范围。
有指定 "DeviceId" 设备标识参数时,仅匹配指定设备的报警。 未指定 "DeviceId" 设备标识参数时,由 "ServoId" 伺服器标识参数确定报警匹配范围。
有指定 "AttributeId" 属性标识参数时,仅匹配指定属性的报警。 未指定 "AttributeId" 属性标识参数时,由 "DeviceId" 设备标识参数确定报警匹配范围。
有指定 "TriggerId" 触发器标识参数时,仅匹配指定触发器的报警。 未指定 "TriggerId" 触发器标识参数时,由 "AttributeId" 属性标识参数确定报警匹配范围。
有指定 "Begin" 或 "End" 将仅匹配指定时间段的报警; 未指定 "Begin" 或 "End" 将仅匹配当前激活的报警;
报警等级定义请参考 AlarmType 。
未指定所有参数时,返回当前员工可见范围的所有激活的报警。 有指定多项参数时,将共同作用于筛选匹配满足所有条件的报警。
响应示例:
{
"Status": 2,
"Alarms": [
{
"Id": 821157683003394, // 必要,报警标识,Long
... // 字段与报警创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
...
]
}
报警获取(AlarmSingle)
- PKG: com.joyzl.scada.device.actions.AlarmSingle
- URI: /actions/AlarmSingle
- 权限: LOGON
- 广播: 无
获取标识指定报警。
请求示例:
{
"Id": 821157683003394, // 必要,报警标识,Long
}
响应示例:
{
"Status": 2,
"Alarm": {
"Id": 821157683003394, // 必要,报警标识,Long
... // 字段与报警创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
}
报警更新(AlarmUpdate)
- PKG: com.joyzl.scada.device.actions.AlarmUpdate
- URI: /actions/AlarmUpdate
- 权限: FORBIDDEN
- 广播: 登录用户
修改报警信息。 用户不能请求此接口,此接口仅提供给系统使用。
请求示例:
{
"Id": 821157683003394, // 必要,报警标识,Long
"Alert": true, // 必要,是否激活,Boolean
"Content": "温度超过100℃" // 必要,报警内容,String
}
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 16:20:15" // 必要,更新时间,LocalDateTime
}
属性数量(AttributeAmount)
- PKG: com.joyzl.scada.device.actions.AttributeAmount
- URI: /actions/AttributeAmount
- 权限: LOGON
- 广播: 无
获取全部或指定区域和设备的属性数量。
请求示例:
{
"DepartmentId": 821305322504207, // 可选,区域标识,Long
"ServoId": 821382497697812, // 可选,伺服器标识,Long
}
未指定 "DepartmentId" 区域标识参数时,匹配当前员工所有可见范围的属性数量。 有指定 "DepartmentId" 区域标识参数时,仅匹配指定区域的属性(含子区域)数量。
有指定 "ServoId" 伺服器标识参数时,仅匹配指定伺服器的属性数量。 未指定 "ServoId" 伺服器标识参数时,由 "DepartmentId" 区域标识参数确定属性匹配范围。
未指定所有参数时,返回当前员工可见范围的所有属性数量。 有指定多项参数时,将共同作用于筛选匹配满足所有条件的属性数量。
响应示例:
{
"Status": 2,
"Attributes": 112540 // 必要,属性数量,Integer
}
属性新建(AttributeCreate)
- PKG: com.joyzl.scada.device.actions.AttributeCreate
- URI: /actions/AttributeCreate
- 权限: AUTHORIZED
- 广播: 无
创建新的属性。 请求此接口时关联设备应已事先创建。 属性的创建最佳的方法是通过预先定义的属性添加, 请参考 DriverAttributes 接口。 如果直接创建属性需要了解各种设备的属性代码格式, 配置正确的属性代码才能使其正常工作。
请求示例:
{
"DeviceId": 821370753646611, // 必要,设备标识,long
"Name": "温度", // 必要,名称,String
"Code": "40001", // 必要,代码,String
"Unit": "℃", // 可选,单位,String
"Group": "监测", // 可选,组名,String
"Remark": "示例属性", // 可选,备注,String
"Control": 0, // 必要,控制类型,ControlType
"Source": 8, // 可选,源值类型,ValueType
"Rank": 0, // 可选,级别,Integer
"Ignore": 0, // 可选,精度与忽略,Float
"Factor": 1, // 可选,倍率,Float
"ValueType": 8, // 必要,数值类型,ValueType
"Value": "" // 可选,默认值,String
}
"Code" 代码由各个通信驱动定义格式,可参考 设备集成 获取更多信息。 无效的属性代码将导致通信失败。
"Unit" 单位支持枚举格式 "[禁用,启用]" 这意味着0代表“禁用”,1代表“启用”。 桌面客户端实体对象内部方法可检查是否为枚举单位并处理为最终显示。 WEB 客户端不具备实体对象,需要前端 JavaScript 代码额外处理枚举单位。
"Rank" 级别决定属性是否需要持续读取,低于 100 的属性将自动持续更新当前值; 大于等于 100 的属性系统不会自动读取,须由用户请求读取或触发器请求读取。
"Ignore" 精度指示用于决定浮点数的小数位, 例如将其设置为 0.001 则表示最多3位小数,小于 0.001 的部分将被忽略(舍去)。 如果仅需要保留整数应设置为 0,这也是缺省时的默认值。 数值精度计算公式如下所示:
V = V - V MOD ignore
"Factor" 倍率可用于将整数值转换为小数, 例如将其设置为 0.01 如果源值为 211 则终值为 2.11。 如果要保持原值不变应设置为 1,这也是缺省时的默认值。 数值倍率计算公式如下所示:
V = V × factor
"Source" 原值类型如果省略将视为与 "ValueType" 终值类型相同。 原值类型仅用于识别或转换从通信获得的数据, 触发器以及之后的数据存储和显示均仅使用属性终值。
控制类型定义请参考 ControlType 。 值类型定义请参考 ValueType 。
请求此接口之前应校验属性代码的唯一性, 请参考 AttributeUnique 接口。
响应示例:
{
"Status": 2,
"Id": 821256668577802, // 必要,属性标识,Long
"Created": "2024-09-12 14:36:34" // 必要,创建时间,LocalDateTime
}
属性删除(AttributeDelete)
- PKG: com.joyzl.scada.device.actions.AttributeDelete
- URI: /actions/AttributeDelete
- 权限: AUTHORIZED
- 广播: 登录用户
删除指定属性。 同时会删除属性所有关联对象(触发器)和数据(时序数据值、报警)。
请求示例:
{
"Id": 821177815662595 // 必要,属性标识,Long
}
响应示例:
{
"Status": 2
}
属性移动(AttributeMove)
- PKG: com.joyzl.scada.device.actions.AttributeMove
- URI: /actions/AttributeMove
- 权限: AUTHORIZED
- 广播: 无
移动属性到另一个设备,使其成为另一个设备的属性。
请求示例:
{
"Id": 821256668577802, // 必要,属性标识,Long
"DeviceId": 821370753646611, // 必要,设备标识,long
}
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 14:36:34" // 必要,创建时间,LocalDateTime
}
属性通知(AttributeNotice)
- PKG: com.joyzl.scada.device.actions.AttributeNotice
- URI: /actions/AttributeNotice
- 权限: LOGON
- 广播: 无
伺服端通过此接口将最新属性值发送到服务端。 客户端无须请求此接口。
请求示例:
{
// 无参数
}
响应示例:
{
"Status": 2,
"Series":[
{
"AttributeId": 821256668577802, // 必要,属性标识,Long
"Timestamp" : 12456798765432, // 必要,时间戳,Long
"Value":{ // 值,Value
Type: 1,
Value: true
}
}
...
]
}
属性读(AttributeRead)
- PKG: com.joyzl.scada.device.actions.AttributeRead
- URI: /actions/AttributeRead
- 权限: AUTHORIZED
- 广播: 无
请求读取属性的最新值。 此接口可用于客户端持续轮询获取最新的属性值, 如果有多个属性值需要持续更新,应执行排队请求以避免突破客户端并发上限。
请求示例:
{
"AttributeId": 821256668577802, // 必要,属性标识,Long
"Direct": false // 可选,从服务端或设备读取,Boolean
}
"Direct" 参数指示是立即从设备读取最新的属性值还是从服务端内存获取属性当前值, 缺省此参数时将从服务端获取属性值。 服务端内存保持每个属性的最后更新值,更新频率受设备参数和通信速度规定。 通常情况下服务端内存值已满足大部分需求, 如果指示从设备获取最新的属性值,请求将触发一条设备指令,并等待指令返回。
响应示例:
{
"Status": 2,
"Timestamp" : 12456798765432, // 必要,时间戳,Long
"Value":{ // 值,Value
Type: 1,
Value: true
}
}
属性获取(AttributeSelect)
- PKG: com.joyzl.scada.device.actions.AttributeSelect
- URI: /actions/AttributeSelect
- 权限: LOGON
- 广播: 无
获取可见区域或指定区域以及匹配关联标识和筛选条件的属性。
请求示例:
{
"DepartmentId": 821305322504207, // 可选,区域标识,Long
"ServoId": 821382497697812, // 可选,伺服器标识,Long
"DeviceId": 821370753646611, // 可选,设备标识,Long
"ValueType": 1, // 可选,值类型,ValueType
"ControlType": 1, // 可选,控制类型,ControlType
"Rank": 0, // 可选,等级范围,Integer
"Keywords": "400" // 可选,关键字,String
}
未指定 "DepartmentId" 区域标识参数时,匹配当前员工所有可见范围的属性。 有指定 "DepartmentId" 区域标识参数时,仅匹配指定区域的属性(不含子区域)。
有指定 "ServoId" 伺服器标识参数时,仅匹配指定伺服器的属性。 未指定 "ServoId" 伺服器标识参数时,由 "DepartmentId" 区域标识参数确定属性匹配范围。
有指定 "DeviceId" 设备标识参数时,仅匹配指定设备的属性。 未指定 "DeviceId" 设备标识参数时,由 "ServoId" 伺服器标识参数确定属性匹配范围。
有指定 "Rank" 等级范围参数时,将匹配小于等于指定等级的属性。 未指定 "Rank" 等级范围参数时,将匹配所有等级的属性。
有指定 "Keywords" 关键字参数时,将模糊匹配属性名称、代码、单位和组名。 未指定 "Keywords" 关键字参数时,将不执行模糊匹配。
控制类型定义请参考 ControlType 。 值类型定义请参考 ValueType 。
未指定所有参数时,返回当前员工可见范围的所有属性。 有指定多项参数时,将共同作用于筛选匹配满足所有条件的属性。
响应示例:
{
"Status": 2,
"Attributes": [
{
"Id": 821177815662595, // 必要,属性标识,Long
... // 字段与属性创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
...
]
}
属性获取(AttributeSingle)
- PKG: com.joyzl.scada.device.actions.AttributeSingle
- URI: /actions/AttributeSingle
- 权限: LOGON
- 广播: 无
获取标识指定属性。
请求示例:
{
"Id": 821177815662595, // 必要,属性标识,Long
}
响应示例:
{
"Status": 2,
"Attribute": {
"Id": 821177815662595, // 必要,属性标识,Long
... // 字段与属性创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
}
属性唯一性校验(AttributeUnique)
- PKG: com.joyzl.scada.device.actions.AttributeUnique
- URI: /actions/AttributeUnique
- 权限: ANY
- 广播: 无
校验属性代码是否可用。 系统中不允许在设备范围创建代码重复的属性。
请求示例:
{
"Id": 821177815662595, // 可选,属性标识,Long
"DeviceId": 821370753646611, // 必要,设备标识,Long
"Code": "40001" // 必要,代码,String
}
"Id" 属性标识用于排除性校验,可在修改属性信息时使用。
响应示例:
{
"Status": 2,
"Available": true // 必要,是否可用,Boolean
}
属性修改(AttributeUpdate)
- PKG: com.joyzl.scada.device.actions.AttributeUpdate
- URI: /actions/AttributeUpdate
- 权限: AUTHORIZED
- 广播: 无
修改属性信息。
请求示例:
{
"Id": 821177815662595, // 必要,属性标识,Long
"Name": "温度", // 必要,名称,String
"Code": "40001", // 必要,代码,String
"Unit": "℃", // 可选,单位,String
"Group": "监测", // 可选,组名,String
"Remark": "示例属性", // 可选,备注,String
"Control": 0, // 必要,控制类型,ControlType
"Source": 8, // 可选,源值类型,ValueType
"Rank": 0, // 可选,级别,Integer
"Ignore": 0, // 可选,精度与忽略,Float
"Factor": 1, // 可选,倍率,Float
"ValueType": 8, // 必要,数值类型,ValueType
"Value": "" // 可选,默认值,String
}
请求此接口之前应校验属性代码的唯一性, 请参考 AttributeUnique 接口。
控制类型定义请参考 ControlType 。 值类型定义请参考 ValueType 。
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 16:20:15" // 必要,更新时间,LocalDateTime
}
属性写(AttributeWrite)
- PKG: com.joyzl.scada.device.actions.AttributeWrite
- URI: /actions/AttributeWrite
- 权限: AUTHORIZED
- 广播: 无
请求设置属性值或执行属性表示的指令。 此请求将触发一条设备通信指令,并等待从设备获得确认后返回。
请求示例:
{
"Id": 821177815662595, // 必要,属性标识,Long
"Value": {
"Value": 10 // 可选,值,Any
}
}
"Value" 如果属性未规定值(Empty)时可缺省,反之必要指定有效的属性值。 一些特殊属性没有具体值类型,例如:清除或重置属性。
响应示例:
{
"Status": 2,
"Timestamp" : 12456798765432, // 必要,时间戳,Long
}
设备数量(DeviceAmount)
- PKG: com.joyzl.scada.device.actions.DeviceAmount
- URI: /actions/DeviceAmount
- 权限: LOGON
- 广播: 无
获取全部或指定区域的设备数量。
请求示例:
{
"DepartmentId": 821305322504207, // 可选,区域标识,Long
}
未指定 "DepartmentId" 区域标识参数时,匹配当前员工所有可见范围的设备。 有指定 "DepartmentId" 区域标识参数时,仅匹配指定区域的设备(含子区域)。
响应示例:
{
"Status": 2,
"Devices": Integer
"Enables": Integer
"Normals": Integer
}
设备新建(DeviceCreate)
- PKG: com.joyzl.scada.device.actions.DeviceCreate
- URI: /actions/DeviceCreate
- 权限: AUTHORIZED
- 广播: 无
创建新的设备。 如果新设备创建成功,预定义的属性(如果有)将在稍后被自动创建, 有些预定义属性是示例性的,您应检查这些属性并将其调整可用。 请求此接口时所在区域应已事先创建。
请求示例:
{
"DepartmentId": 821305322504207, // 必要,区域标识,Long
"ServoId": 821382497697812, // 可选,伺服器标识,Long
"Name": "环境1", // 必要,名称,String
"Model": "H001", // 可选,型号,String
"Manufacturer": "JOYZL", // 可选,厂商,String
"Purchase": "2024-09-19", // 可选,购置日期,LocalDate
"Driver": "MODBUS_TCP_SLAVE", // 必要,驱动名称,String
"Point": "192.168.8.6:502", // 必要,通信接点,String
"Address": "1", // 可选,识别地址,String
"Identity": "user", // 可选,识别标识,String
"Password": "admin", // 可选,识别密码,String
"Interval": 1000, // 可选,扫描间隔(毫秒),Integer
"Delay": 3, // 可选,延迟时间(秒),Integer
"Timeout": 6, // 可选,超时时间(秒),Integer
"Remark": "示例设备", // 可选,备注,String
"Enable": true, // 可选,启用或禁用,Boolean
"Predefine": true // 可选,创建预制属性,Boolean
}
"Driver" 参数必须设置为通信驱动限定名称, "Point" 参数随选择的驱动不同而具有不同的格式, 可参考 设备集成 获取更多信息。
"Address"、"Identity" 和 "Password" 参数在不同的设备有不同的设置方式, 可参考 设备集成 获取更多信息。
"Interval" 参数将规定通信驱动默认情况下自动轮询属性值的间隔周期。 通信驱动根据设备配置的属性,将选取"Rank"值小于100的属性,并根据"Code"进行指令组合排队, 这些自动轮询的指令会依次发送给设备,所有指令通信完成后,将等待此参数设定的时间,而后继续再次轮询。
"Delay" 参数指示通信驱动在首次启动和网络中断时连接设备之前的等待时间。
"Timeout" 参数指示向设备发送的指令等待响应的最长时间。 如果指令发出后设备未在此规定时间内响应则判定为通信超时。
响应示例:
{
"Status": 2,
"Id": 821266734907403, // 必要,设备标识,Long
"Created": "2024-09-12 14:36:34" // 必要,创建时间,LocalDateTime
}
设备删除(DeviceDelete)
- PKG: com.joyzl.scada.device.actions.DeviceDelete
- URI: /actions/DeviceDelete
- 权限: AUTHORIZED
- 广播: 登录用户
删除指定设备。 同时会删除设备的所有关联对象(属性)。
请求示例:
{
"Id": 821196270600196 // 必要,设备标识,Long
}
响应示例:
{
"Status": 2
}
设备启用或禁用(DeviceEnable)
- PKG: com.joyzl.scada.device.actions.DeviceEnable
- URI: /actions/DeviceEnable
- 权限: AUTHORIZED
- 广播: 无
启用或禁用指定设备。 被禁用的设备将断开连接且不再发起通信也不会采集数据; 已禁用设备重新启用,将自动尝试恢复通信并采集数据;
请求示例:
{
"Id": 821196270600196, // 必要,设备标识,Long
"Enable": true // 必要,启用或禁用,Boolean
}
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 16:20:15" // 必要,更新时间,LocalDateTime
}
设备移动(DeviceMove)
- PKG: com.joyzl.scada.device.actions.DeviceMove
- URI: /actions/DeviceMove
- 权限: AUTHORIZED
- 广播: 无
移动设备到另一个区域或伺服器,使其成为另一个区域或伺服器的设备。
请求示例:
{
"Id": 821196270600196, // 必要,设备标识,Long
"DepartmentId": 821305322504207, // 必要,区域标识,Long
"ServoId": 821382497697812 // 可选,伺服器标识,Long
}
有指定 "ServoId" 参数,设备将依赖此伺服器转发通信。 未指定 "ServoId" 参数,设备将直接与服务端通信。
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 16:20:15" // 必要,更新时间,LocalDateTime
}
设备获取(DeviceSelect)
- PKG: com.joyzl.scada.device.actions.DeviceSelect
- URI: /actions/DeviceSelect
- 权限: LOGON
- 广播: 无
获取可见区域或指定区域以及匹配关联标识和筛选条件的设备。
请求示例:
{
"DepartmentId": 821305322504207, // 可选,区域标识,Long
"ServoId": 821382497697812, // 可选,伺服器标识,Long
"Enable": true, // 可选,启用或禁用,Boolean
"Driver": "MODBUS_TCP_SLAVE", // 可选,通信驱动,String
"Keywords": "环境"// 可选,关键字,String
}
未指定 "DepartmentId" 区域标识参数时,匹配当前员工所有可见范围的设备。 有指定 "DepartmentId" 区域标识参数时,仅匹配指定区域的设备(不含子区域)。
有指定 "ServoId" 伺服器标识参数时,仅匹配指定伺服器的设备。 未指定 "ServoId" 伺服器标识参数时,由 "DepartmentId" 区域标识参数确定设备匹配范围。
有指定 "Keywords" 关键字参数时,将模糊匹配设备名称、型号、厂商、驱动名、接点和地址。 未指定 "Keywords" 关键字参数时,将不执行模糊匹配。
未指定所有参数时,返回当前员工可见范围的所有设备。 有指定多项参数时,将共同作用于筛选匹配满足所有条件的设备。
响应示例:
{
"Status": 2,
"Devices": [
{
"Id": 821196270600196, // 必要,设备标识,Long
... // 字段与设备创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
...
]
}
设备获取(DeviceSingle)
- PKG: com.joyzl.scada.device.actions.DeviceSingle
- URI: /actions/DeviceSingle
- 权限: LOGON
- 广播: 无
获取标识指定设备。
请求示例:
{
"Id": 821196270600196, // 必要,设备标识,Long
}
响应示例:
{
"Status": 2,
"Device": {
"Id": 821196270600196, // 必要,设备标识,Long
... // 字段与设备创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
}
设备修改(DeviceUpdate)
- PKG: com.joyzl.scada.device.actions.DeviceUpdate
- URI: /actions/DeviceUpdate
- 权限: AUTHORIZED
- 广播: 无
修改设备信息。 修改处于启用状态的设备信息将导致设备通信重置。
请求示例:
{
"Id": 821196270600196, // 必要,设备标识,Long
"Name": "环境1", // 必要,名称,String
"Model": "H001", // 可选,型号,String
"Manufacturer": "JOYZL", // 可选,厂商,String
"Purchase": "2024-09-19", // 可选,购置日期,LocalDate
"Driver": "MODBUS_TCP_SLAVE", // 必要,驱动名称,String
"Point": "192.168.8.6:502", // 必要,通信接点,String
"Address": "1", // 可选,识别地址,String
"Identity": "user", // 可选,识别标识,String
"Password": "admin", // 可选,识别密码,String
"Interval": 1000, // 可选,扫描间隔(毫秒),Integer
"Delay": 3, // 可选,延迟时间(秒),Integer
"Timeout": 6, // 可选,超时时间(秒),Integer
"Remark": "示例设备", // 可选,备注,String
}
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 16:20:15" // 必要,更新时间,LocalDateTime
}
驱动属性获取(DriverAttributes)
- PKG: com.joyzl.scada.device.actions.DriverAttributes
- URI: /actions/DriverAttributes
- 权限: LOGON
- 广播: 无
请求示例:
{
"Driver": "MODBUS_TCP_SLAVE", // 任选,驱动名称,String
"Model": "H001", // 任选,型号,String
"Manufacturer": "JOYZL", // 任选,厂商,String
}
"Manufacturer" 厂商和 "Model" 型号参数应同时指定,用于通过厂商型号匹配通信驱动预定义属性。 "Driver" 驱动名称参数用于通过驱动名称匹配预定义属性。 "Manufacturer" 厂商和 "Model" 型号参数以及"Driver" 驱动名称参数,应至少指定一种; 推荐指定全部参数,此时将优先通过厂商型号匹配, 如果未能找到匹配的预定义属性将尝试通过驱动名称继续查找。
响应示例:
{
"Status": 2,
"Attributes": [
{
... // 字段与属性创建相同
}
...
]
}
预定义属性(或称预制属性)与已创建的属性结构相同, 但没有为 "Id"、 "Created" 和 "Updated" 三个字段赋值。
驱动获取(DriverSelect)
- PKG: com.joyzl.scada.device.actions.DriverSelect
- URI: /actions/DriverSelect
- 权限: LOGON
- 广播: 无
获取所有集成的通信驱动限定名称或已定义的设备。
请求示例:
{
"Driver": true, // 任选,需求驱动设备,Boolean
"Name": true // 任选,需求限定名称,Boolean
}
响应示例:
{
"Status": 2,
"Drivers": [ // 可选,驱动设备,Driver
{
... // 字段与设备创建相同
},
...
],
"Names": [ // 可选,驱动名称,String
"MODBUS_RTU_SLAVE",
"MODBUS_TCP_SLAVE",
...
]
}
已定义的设备与已创建的设备结构相同, 但没有为 "Id"、"DepartmentId" 、"ServoId"、"Created" 和 "Updated" 五个字段赋值。
故障数量(FaultAmount)
- PKG: com.joyzl.scada.device.actions.FaultAmount
- URI: /actions/FaultAmount
- 权限: LOGON
- 广播: 无
获取全部或指定区域的故障数量。 故障指通信故障,由通信驱动检测并报告,通信故障不会记录到数据库而持久化。 如果服务端重启,所有已报告的故障将丢弃,如果故障依旧存在将在被通信驱动发现时重新报告。
请求示例:
{
"DepartmentId": 821305322504207, // 可选,区域标识,Long
}
未指定 "DepartmentId" 区域标识参数时,匹配当前员工所有可见范围的故障数量。 有指定 "DepartmentId" 区域标识参数时,仅匹配指定区域的故障(含子区域)数量。
响应示例:
{
"Status": 2,
"Faults": 0, // 必要,故障数量,Integer
}
故障新建(FaultCreate)
- PKG: com.joyzl.scada.device.actions.FaultCreate
- URI: /actions/FaultCreate
- 权限: FORBIDDEN
- 广播: 无
创建新的通信故障。 通信故障由设备通信时检测并报告(新建), 用户不能请求此接口,此接口仅提供给系统使用。
请求示例:
{
"DeviceId": 821196270600196, // 必要,设备标识,Long
"AttributeId": 821256668577802, // 可选,属性标识,Long
"Type": 2000, // 必要,类型,FaultType
"Content": // 可选,故障内容,String
"Alert": true // 必要,是否激活,Boolean
}
响应示例:
{
"Status": 2,
"Id": 821276801237004, // 必要,故障标识,Long
"Created": "2024-09-12 14:36:34" // 必要,创建时间,LocalDateTime
}
故障删除(FaultDelete)
- PKG: com.joyzl.scada.device.actions.FaultDelete
- URI: /actions/FaultDelete
- 权限: AUTHORIZED
- 广播: 登录用户
删除指定故障。 由于通信故障不会记录到数据库而持久化,删除故障仅从服务端内存移除。 如果故障依旧存在将在被通信驱动发现时重新报告。
请求示例:
{
"Id": 821206336929797 // 必要,故障标识,Long
}
响应示例:
{
"Status": 2
}
故障获取(FaultSelect)
- PKG: com.joyzl.scada.device.actions.FaultSelect
- URI: /actions/FaultSelect
- 权限: LOGON
- 广播: 无
获取可见区域或指定区域以及匹配关联标识和时间段的通信故障。
请求示例:
{
"DepartmentId": 821305322504207, // 可选,区域标识,Long
"Type": 2000, // 必要,类型,FaultType
}
未指定 "DepartmentId" 区域标识参数时,匹配当前员工所有可见范围的故障。 有指定 "DepartmentId" 区域标识参数时,仅匹配指定区域的故障(含子区域)。
响应示例:
{
"Status": 2,
"Faults": [
{
"Id": 821218080980998, // 必要,故障标识,Long
... // 字段与故障创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
...
]
}
故障获取(FaultSingle)
- PKG: com.joyzl.scada.device.actions.FaultSingle
- URI: /actions/FaultSingle
- 权限: LOGON
- 广播: 无
获取标识指定通信故障。
请求示例:
{
"Id": 821206336929797, // 必要,故障标识,Long
}
响应示例:
{
"Status": 2,
"Fault": {
"Id": 821206336929797, // 必要,故障标识,Long
... // 字段与故障创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
}
故障更新(FaultUpdate)
- PKG: com.joyzl.scada.device.actions.FaultUpdate
- URI: /actions/FaultUpdate
- 权限: FORBIDDEN
- 广播: 无
修改通信故障信息。 用户不能请求此接口,此接口仅提供给系统使用。
请求示例:
{
"Id": 821206336929797, // 必要,故障标识,Long
"Content": // 可选,故障内容,String
"Alert": true // 必要,是否激活,Boolean
}
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 16:20:15" // 必要,更新时间,LocalDateTime
}
定时器数量(TimerAmount)
- PKG: com.joyzl.scada.device.actions.TimerAmount
- URI: /actions/TimerAmount
- 权限: LOGON
- 广播: 无
获取全部或指定区域的定时器数量。
请求示例:
{
"DepartmentId": 821305322504207, // 可选,区域标识,Long
}
未指定 "DepartmentId" 区域标识参数时,匹配当前员工所有可见范围的定时器。 有指定 "DepartmentId" 区域标识参数时,仅匹配指定区域的定时器(含子区域)。
响应示例:
{
"Status": 2,
"Timers": 6, // 必要,定时器数量,Integer
"Enables": 0, // 必要,启用数量,Integer
"Expires": 1 // 必要,过期数量,Integer
}
定时器新建(TimerCreate)
- PKG: com.joyzl.scada.device.actions.TimerCreate
- URI: /actions/TimerCreate
- 权限: AUTHORIZED
- 广播: 无
创建新的定时器。 请求此接口时所在区域应已事先创建。
请求示例:
{
"DepartmentId": 821305322504207, // 必要,区域标识,Long
"Name": "定时通电", // 必要,定时器名称,String
"Type": 2, // 必要,类型,TimerType
"BeginDate": "2024-09-19", // 必要,开始日期,LocalDate
"BeginTime": "00:00:00", // 必要,开始时间,LocalTime
"EndDate": "2025-09-19", // 可选,结束日期,LocalDate
"EndTime": "00:00:00", // 可选,结束时间,LocalTime
"Month": 128, // 可选,月(聚合),Integer
"Week": 128, // 可选,周(聚合),Integer
"Day": 128, // 可选,日(聚合),Integer
"Interval": 1, // 可选,间隔,Integer
"Repeat": 10, // 可选,重复(秒),Integer
"Enable": true // 可选,启用或禁用,Boolean
}
响应示例:
{
"Status": 2,
"Id": 821276801237004, // 必要,定时器标识,Long
"Created": "2024-09-12 14:36:34" // 必要,创建时间,LocalDateTime
}
定时器删除(TimerDelete)
- PKG: com.joyzl.scada.device.actions.TimerDelete
- URI: /actions/TimerDelete
- 权限: AUTHORIZED
- 广播: 登录用户
删除指定定时器。 同时会删除定时器所有关联对象(触发器)。
请求示例:
{
"Id": 821218080980998 // 必要,定时器标识,Long
}
响应示例:
{
"Status": 2
}
定时器启用或禁用(TimerEnable)
- PKG: com.joyzl.scada.device.actions.TimerEnable
- URI: /actions/TimerEnable
- 权限: AUTHORIZED
- 广播: 无
启用或禁用指定定时器。 被禁用的定时器将不再执行。
请求示例:
{
"Id": 821218080980998 // 必要,定时器标识,Long
"Enable": true // 必要,启用或禁用,Boolean
}
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 14:36:34" // 必要,更新时间,LocalDateTime
}
定时器移动(TimerMove)
- PKG: com.joyzl.scada.device.actions.TimerMove
- URI: /actions/TimerMove
- 权限: AUTHORIZED
- 广播: 无
移动定时器到另一个区域,使其成为另一个区域的定时器。 移动定时器并不会影响已关联的触发器执行,即便这些触发器对应的设备不在相同区域; 通常为了便于维护应尽量确保定时器仅执行所在区域的触发器。
请求示例:
{
"Id": 821218080980998, // 必要,定时器标识,Long
"DepartmentId": 821305322504207 // 必要,区域标识,Long
}
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 14:36:34" // 必要,更新时间,LocalDateTime
}
定时器获取(TimerSelect)
- PKG: com.joyzl.scada.device.actions.TimerSelect
- URI: /actions/TimerSelect
- 权限: LOGON
- 广播: 无
获取可见区域或指定区域以及匹配关联标识和筛选条件的定时器。
请求示例:
{
"DepartmentId": 821305322504207, // 可选,区域标识,Long
"Enable": true, // 可选,启用或禁用,Boolean
}
未指定 "DepartmentId" 区域标识参数时,匹配当前员工所有可见范围的定时器。 有指定 "DepartmentId" 区域标识参数时,仅匹配指定区域的定时器(不含子区域)。
响应示例:
{
"Status": 2,
"Timers": [
{
"Id": 821218080980998, // 必要,定时器标识,Long
... // 字段与定时器创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
...
]
}
定时器获取(TimerSingle)
- PKG: com.joyzl.scada.device.actions.TimerSingle
- URI: /actions/TimerSingle
- 权限: LOGON
- 广播: 无
获取标识指定定时器。
请求示例:
{
"Id": 821218080980998, // 必要,定时器标识,Long
}
响应示例:
{
"Status": 2,
"Timer": {
"Id": 821218080980998, // 必要,定时器标识,Long
... // 字段与定时器创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
}
定时器更新(TimerUpdate)
- PKG: com.joyzl.scada.device.actions.TimerUpdate
- URI: /actions/TimerUpdate
- 权限: AUTHORIZED
- 广播: 无
修改定时器信息。
请求示例:
{
"Id": 821218080980998, // 必要,定时器标识,Long
"Name": "定时通电", // 必要,定时器名称,String
"Type": 2, // 必要,类型,TimerType
"BeginDate": "2024-09-19", // 必要,开始日期,LocalDate
"BeginTime": "00:00:00", // 必要,开始时间,LocalTime
"EndDate": "2025-09-19", // 可选,结束日期,LocalDate
"EndTime": "00:00:00", // 可选,结束时间,LocalTime
"Month": 128, // 可选,月(聚合),Integer
"Week": 128, // 可选,周(聚合),Integer
"Day": 128, // 可选,日(聚合),Integer
"Interval": 1, // 可选,间隔,Integer
"Repeat": 10 // 可选,重复(秒),Integer
}
定时器类型定义请参考 TimerType 。
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 16:20:15" // 必要,更新时间,LocalDateTime
}
触发器数量(TriggerAmount)
- PKG: com.joyzl.scada.device.actions.TriggerAmount
- URI: /actions/TriggerAmount
- 权限: LOGON
- 广播: 无
获取全部或指定区域的触发器数量。
请求示例:
{
"DepartmentId": 821305322504207, // 可选,区域标识,Long
}
未指定 "DepartmentId" 区域标识参数时,匹配当前员工所有可见范围的定时器。 有指定 "DepartmentId" 区域标识参数时,仅匹配指定区域的定时器(含子区域)。
响应示例:
{
"Status": 2,
"Triggers": 100, // 必要,触发器数量,Integer
"Enables": 99 // 必要,启用数量,Integer
}
触发器新建(TriggerCreate)
- PKG: com.joyzl.scada.device.actions.TriggerCreate
- URI: /actions/TriggerCreate
- 权限: AUTHORIZED
- 广播: 无
创建新的触发器。 请求此接口时关联属性应已事先创建。
请求示例:
{
"TimerId": 3102251589566465, // 可选,定时器标识,Long
"TriggerId": 3102402584510466, // 可选,触发器标识,Long
"AttributeId": 3102422717169667, // 必要,属性标识,Long
"Name": "温度超高", // 必要,名称,String
"Compare": 1, // 必要,条件,CompareType
"Value": "80", // 可选,参照值,String
"Alarm": 1, // 必要,报警等级,AlarmType
"Positive": 0, // 可选,前或后置触发数,Integer
"Prepose": true, // 可选,前置或后置,Boolean
"Delay": 0,// 可选,延迟,Integer
"Enable": true, // 可选,启用或禁用,Boolean
}
未指定 "TimerId" 定时器标识参数时,触发器在属性值变化时如果满足条件则立即触发。 有指定 "TimerId" 定时器标识参数时,触发器在指定时间监测是否满足条件而触发。
未指定 "TriggerId" 触发器标识参数时,没有关联触发器。 有指定 "TriggerId" 触发器标识参数时,将视关联触发器而决定是否联动触发。
"Prepose" 参数指示当前触发器相当于关联触发器应前置或后置,既前置条件和后置联动。 "Positive" 参数指示关联触发器前置条件的达成方式, 默认为0表示无须前置条件达成, 大于0时表示前置条件正向达成(条件满足), 小于0时表示前置条件反向达成(条件不满足)。
条件定义请参考 CompareType 。
响应示例:
{
"Status": 2,
"Id": 821285189845005, // 必要,触发器标识,Long
"Created": "2024-09-12 14:36:34" // 必要,创建时间,LocalDateTime
}
触发器删除(TriggerDelete)
- PKG: com.joyzl.scada.device.actions.TriggerDelete
- URI: /actions/TriggerDelete
- 权限: AUTHORIZED
- 广播: 登录用户
删除指定触发器。
请求示例:
{
"Id": 821226469588999 // 必要,触发器标识,Long
}
响应示例:
{
"Status": 2
}
触发器启用或禁用(TriggerEnable)
- PKG: com.joyzl.scada.device.actions.TriggerEnable
- URI: /actions/TriggerEnable
- 权限: AUTHORIZED
- 广播: 无
启用或禁用指定触发器。 被禁用的触发器将不再触发。
请求示例:
{
"Id": 821226469588999 // 必要,触发器标识,Long
"Enable": true // 必要,启用或禁用,Boolean
}
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 16:20:15" // 必要,更新时间,LocalDateTime
}
触发器移动(TriggerMove)
- PKG: com.joyzl.scada.device.actions.TriggerMove
- URI: /actions/TriggerMove
- 权限: AUTHORIZED
- 广播: 无
移动触发器到另一个定时器或触发器,使其成为另一个定时器的触发器或关联触发器。
请求示例:
{
"Id": 821226469588999 // 必要,触发器标识,Long
"TimerId": 3102251589566465, // 可选,定时器标识,Long
"TriggerId": 3102402584510466, // 可选,触发器标识,Long
}
未指定 "TimerId" 定时器标识参数时,触发器在属性值变化时如果满足条件则立即触发。 有指定 "TimerId" 定时器标识参数时,触发器在指定时间监测是否满足条件而触发。
未指定 "TriggerId" 触发器标识参数时,没有关联触发器。 有指定 "TriggerId" 触发器标识参数时,将视关联触发器而决定是否联动触发。
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 16:20:15" // 必要,更新时间,LocalDateTime
}
触发器获取(TriggerSelect)
- PKG: com.joyzl.scada.device.actions.TriggerSelect
- URI: /actions/TriggerSelect
- 权限: LOGON
- 广播: 无
获取可见区域或指定区域以及匹配关联标识和筛选条件的触发器。
请求示例:
{
"TimerId": 3102251589566465, // 可选,定时器标识,Long
"TriggerId": 3102402584510466, // 可选,触发器标识,Long
"AttributeId": 3102422717169667, // 可选,属性标识,Long
"Enable": true // 可选,启用或禁用,Boolean
}
响应示例:
{
"Status": 2,
"Triggers": [
{
"Id": 821226469588999, // 必要,触发器标识,Long
... // 字段与触发器创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
...
]
}
触发器获取(TriggerSingle)
- PKG: com.joyzl.scada.device.actions.TriggerSingle
- URI: /actions/TriggerSingle
- 权限: LOGON
- 广播: 无
获取标识指定触发器。
请求示例:
{
"Id": 821226469588999, // 必要,触发器标识,Long
}
响应示例:
{
"Status": 2,
"Trigger": {
"Id": 821226469588999, // 必要,触发器标识,Long
... // 字段与触发器创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
}
触发器更新(TriggerUpdate)
- PKG: com.joyzl.scada.device.actions.TriggerUpdate
- URI: /actions/TriggerUpdate
- 权限: AUTHORIZED
- 广播: 无
修改触发器信息。
请求示例:
{
"Id": 821226469588999, // 必要,触发器标识,Long
"Name": "温度超高", // 必要,名称,String
"Compare": 1, // 必要,条件,CompareType
"Value": "80", // 可选,参照值,String
"Alarm": 1, // 必要,报警等级,AlarmType
"Positive": 0, // 可选,前或后置触发数,Integer
"Prepose": true, // 可选,前置或后置,Boolean
"Delay": 0,// 可选,延迟,Integer
}
条件定义请参考 CompareType 。
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 16:20:15" // 必要,更新时间,LocalDateTime
}
数据数量(SeriesAmount)
- PKG: com.joyzl.scada.device.actions.SeriesAmount
- URI: /actions/SeriesAmount
- 权限: LOGON
- 广播: 无
获取全部时序数据量。
请求示例:
{
// 无参数
}
响应示例:
{
"Status": 2,
"Count": 200202 // 必要,时序数据总量,Integer
}
数据获取(SeriesSelect)
- PKG: com.joyzl.scada.device.actions.SeriesSelect
- URI: /actions/SeriesSelect
- 权限: LOGON
- 广播: 无
获取指定属性以及时间段的时序值。
请求示例:
{
"AttributeId": 3102422717169667, // 必要,属性标识,Long
"Begin": "2024-09-18 00:00:00", // 必要,开始时间,LocalDateTime
"End": "2024-09-19 00:00:00" // 必要,结束时间,LocalDateTime
}
响应示例:
{
"Status": 2,
"Series": [
{
"AttributeId": 821256668577802, // 必要,属性标识,Long
"Timestamp" : 12456798765432, // 必要,时间戳,Long
"Value":{ // 值,Value
Type: 1,
Value: true
}
}
...
]
}
伺服器数量(ServoAmount)
- PKG: com.joyzl.scada.device.actions.ServoAmount
- URI: /actions/ServoAmount
- 权限: LOGON
- 广播: 无
获取全部或指定区域的伺服器数量。
请求示例:
{
"DepartmentId": 821305322504207, // 可选,区域标识,Long
}
未指定 "DepartmentId" 区域标识参数时,匹配当前员工所有可见范围的定时器。 有指定 "DepartmentId" 区域标识参数时,仅匹配指定区域的定时器(含子区域)。
响应示例:
{
"Status": 2,
"Servos": 8, // 必要,伺服器数量,Integer
"Enables": 8, // 必要,启用数量,Integer
"Normals": 6 // 必要,正常数量,Integer
}
伺服器新建(ServoCreate)
- PKG: com.joyzl.scada.device.actions.ServoCreate
- URI: /actions/ServoCreate
- 权限: AUTHORIZED
- 广播: 无
创建新的伺服器。 请求此接口时所在区域应已事先创建。
请求示例:
{
"DepartmentId": 821305322504207, // 必要,区域标识,Long
"Name": "伺服器1", // 必要,名称,String
"Model": "J001", // 可选,型号,String
"Identity": "0po9i8uy6tre", // 可选,标识,String
"Remark": "示例伺服器", // 可选,备注,String
"Enable": true // 可选,启用或禁用,Boolean
}
响应示例:
{
"Status": 2,
"Id": 821295256174606, // 必要,伺服器标识,Long
"Created": "2024-09-12 14:36:34" // 必要,创建时间,LocalDateTime
}
伺服器删除(ServoDelete)
- PKG: com.joyzl.scada.device.actions.ServoDelete
- URI: /actions/ServoDelete
- 权限: AUTHORIZED
- 广播: 登录用户
删除指定伺服器。 同时会删除伺服器下属的所有关联对象(设备)。
请求示例:
{
"Id": 821236535918600 // 必要,区域标识,Long
}
响应示例:
{
"Status": 2
}
伺服器启用或禁用(ServoEnable)
- PKG: com.joyzl.scada.device.actions.ServoEnable
- URI: /actions/ServoEnable
- 权限: AUTHORIZED
- 广播: 无
启用或禁用指定伺服器。 被禁用的伺服器将不能连接服务端。
请求示例:
{
"Id": 821236535918600, // 必要,伺服器标识,Long
"Enable": true // 必要,启用或禁用,Boolean
}
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 14:36:34" // 必要,创建时间,LocalDateTime
}
伺服器鉴权(ServoIdentify)
- PKG: com.joyzl.scada.device.actions.ServoIdentify
- URI: /actions/ServoIdentify
- 权限: ANY
- 广播: 无
伺服器请求鉴别是否可连接。 用户不能请求此接口,此接口仅提供给伺服器使用。
请求示例:
{
"Id": 821236535918600, // 必要,伺服器标识,Long
"Key": String // 必要,验证标识,String
}
响应示例:
{
"Status": 2
}
伺服器移动(ServoMove)
- PKG: com.joyzl.scada.device.actions.ServoMove
- URI: /actions/ServoMove
- 权限: AUTHORIZED
- 广播: 无
移动伺服器到另一个区域,使其成为另一个区域的伺服器。
请求示例:
{
"Id": 821196270600196, // 必要,伺服器标识,Long
"DepartmentId": 821305322504207, // 必要,区域标识,Long
}
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 14:36:34" // 必要,创建时间,LocalDateTime
}
伺服器重载(ServoReload)
- PKG: com.joyzl.scada.device.actions.ServoReload
- URI: /actions/ServoReload
- 权限: LOGON
- 广播: 无
请求标识指定的伺服器更新参数。 伺服器程序收到重置指令会从服务端立即获取关联的所有设备和属性。
请求示例:
{
"Id": 821236535918600 // 必要,伺服器标识,Long
}
响应示例:
{
"Status": 2
}
伺服器重启(ServoRestart)
- PKG: com.joyzl.scada.device.actions.ServoRestart
- URI: /actions/ServoRestart
- 权限: LOGON
- 广播: 无
请求标识指定的伺服器重启。 伺服器程序收到重启指令后会首先断开连接然后重启操作系统。
请求示例:
{
"Id": 821236535918600 // 必要,伺服器标识,Long
}
响应示例:
{
"Status": 2
}
伺服器获取(ServoSelect)
- PKG: com.joyzl.scada.device.actions.ServoSelect
- URI: /actions/ServoSelect
- 权限: LOGON
- 广播: 无
获取可见区域或指定区域以及匹配关联标识和筛选条件的伺服器。
请求示例:
{
"DepartmentId": 821305322504207, // 可选,区域标识,Long
"Enable": true, // 可选,启用或禁用,Boolean
"Keywords": "J001"// 可选,关键字,String
}
未指定 "DepartmentId" 区域标识参数时,匹配当前员工所有可见范围的设备。 有指定 "DepartmentId" 区域标识参数时,仅匹配指定区域的设备(不含子区域)。
有指定 "Keywords" 关键字参数时,将模糊匹配设备名称、型号、厂商、驱动名、接点和地址。 未指定 "Keywords" 关键字参数时,将不执行模糊匹配。
未指定所有参数时,返回当前员工可见范围的所有设备。 有指定多项参数时,将共同作用于筛选匹配满足所有条件的设备。
响应示例:
{
"Status": 2,
"Servos": [
{
"Id": 821236535918600, // 必要,伺服器标识,Long
... // 字段与伺服器创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
...
]
}
伺服器获取(ServoSingle)
- PKG: com.joyzl.scada.device.actions.ServoSingle
- URI: /actions/ServoSingle
- 权限: LOGON
- 广播: 无
获取标识指定伺服器。
请求示例:
{
"Id": 821236535918600, // 必要,伺服器标识,Long
}
响应示例:
{
"Status": 2,
"Servo": {
"Id": 821236535918600, // 必要,伺服器标识,Long
... // 字段与伺服器创建相同
"Created" : "2024-9-12 8:04:10", // 必要,创建时间,LocalDateTime
"Updated" : "2024-9-12 8:04:10" // 必要,创建时间,LocalDateTime
}
}
伺服器更新(ServoUpdate)
- PKG: com.joyzl.scada.device.actions.ServoUpdate
- URI: /actions/ServoUpdate
- 权限: AUTHORIZED
- 广播: 无
修改伺服器信息。
请求示例:
{
"Id": 821236535918600, // 必要,伺服器标识,Long
"Name": "伺服器1", // 必要,名称,String
"Model": "J001", // 可选,型号,String
"Identity": "0po9i8uy6tre", // 可选,标识,String
"Remark": "示例伺服器", // 可选,备注,String
}
响应示例:
{
"Status": 2,
"Updated": "2024-09-12 16:20:15" // 必要,更新时间,LocalDateTime
}
枚举定义(Enums)
报警等级(AlarmType)
- PKG: com.joyzl.scada.device.entities.AlarmType
名称 | 代码 | 含义 |
---|
RECORD | 0 | 仅记录,无提示 |
NOTICE | 1 | 一级报警,一般,应提示,须关注 |
WARNING | 2 | 二级报警,重要,应提示,须响应 |
DANGER | 2 | 三级报警,严重,应提示,须应急 |
条件类型(CompareType)
- PKG: com.joyzl.scada.device.entities.CompareType
名称 | 代码 | 含义 |
---|
NONE | 0 | 无条件 |
GREATER | 1 | 大于 |
EQUAL | 2 | 等于 |
LESS | 3 | 小于 |
SET | 4 | 设定 |
GREATER_EQUAL | 5 | 大于等于 |
LESS_EQUAL | 6 | 小于等于 |
RESET | 7 | 重置属性值 |
UNEQUAL | 8 | 不等于 |
控制类型(ControlType)
- PKG: com.joyzl.scada.device.entities.ControlType
名称 | 代码 | 含义 |
---|
READ_ONLY | 0 | 只读 |
READ_WRITE | 1 | 读写 |
EXECUTE | 2 | 执行 |
WRITE_ONLY | 3 | 只写 |
定时器类型(TimerType)
- PKG: com.joyzl.scada.device.entities.TimerType
名称 | 代码 | 含义 |
---|
ONCE | 1 | 一次 |
DAILY | 2 | 每天 |
WEEKLY | 3 | 每周 |
MONTHLY | 4 | 每月 |
属性值类型(ValueType)
- PKG: com.joyzl.scada.device.entities.ValueType
名称 | 代码 | 含义 |
---|
EMPTY | 0 | 无具体值/未设置 |
BOOLEAN | 1 | 布尔值 1BIT |
BYTE | 2 | 单字节 1BYTE(-128~127) |
BYTE_SIGNED | 21 | 有符号字节数 1BYTE(-128~127) |
BYTE_UNSIGNED | 22 | 无符号字节数 1BYTE(0~255) |
SHORT | 4 | 有符号短整数 2BYTE(-32768~32767) |
SHORT_BE | 41 | 有符号短整数 2BYTE(-32768~32767) Big-endian 21 |
SHORT_LE | 42 | 有符号短整数 2BYTE(-32768~32767) Little-endian 12 |
WORD | 3 | 无符号短整数 2BYTE(0~65535) |
WORD_BE | 31 | 无符号短整数 2BYTE(0~65535) Big-endian 21 |
WORD_LE | 32 | 无符号短整数 2BYTE(0~65535) Little-endian 12 |
INTEGER | 6 | 有符号整数 4BYTE(-2147483648~2147483647) |
INTEGER_BE | 61 | 有符号整数 4BYTE(-2147483648~2147483647) Big-endian 4321 |
INTEGER_BL | 62 | 有符号整数 4BYTE(-2147483648~2147483647) Big-Little-endian 2143 |
INTEGER_LB | 63 | 有符号整数 4BYTE(-2147483648~2147483647) Little-Big-endian 3412 |
INTEGER_LE | 64 | 有符号整数 4BYTE(-2147483648~2147483647) Little-endian 1234 |
DWORD | 5 | 无符号整数 4BYTE(0~4294967295) |
DWORD_BE | 51 | 无符号整数 4BYTE(0~4294967295) Big-endian 4321 |
DWORD_BL | 52 | 无符号整数 4BYTE(0~4294967295) Big-Little-endian 2143 |
DWORD_LB | 53 | 无符号整数 4BYTE(0~4294967295) Little-Big-endian 3412 |
DWORD_LE | 54 | 无符号整数 4BYTE(0~4294967295) Little-endian 1234 |
LONG | 7 | 有符号长整数 8BYTE(-9223372036854775808~9223372036854775807) |
LONG_BE | 71 | 有符号长整数 8BYTE(-9223372036854775808~9223372036854775807) Big-endian 87654321 |
LONG_LE | 74 | 有符号长整数 8BYTE(-9223372036854775808~9223372036854775807) Little-endian 12345678 |
FLOAT | 8 | 单精度浮点数 4BYTE(IEEE 754 精度6位有效数字) |
FLOAT_BE | 81 | 单精度浮点数 4BYTE(IEEE 754) Big-endian 4321 |
FLOAT_BL | 82 | 单精度浮点数 4BYTE(IEEE 754) Big-Little-endian 2143 |
FLOAT_LB | 83 | 单精度浮点数 4BYTE(IEEE 754) Little-Big-endian 3412 |
FLOAT_LE | 84 | 单精度浮点数 4BYTE(IEEE 754) Little-endian 1234 |
DOUBLE | 9 | 双精度浮点数 8BYTE(IEEE 754 精度15位有效数字) |
DOUBLE_BE | 91 | 双精度浮点数 8BYTE(IEEE 754) Big-endian 87654321 |
DOUBLE_BL | 92 | 双精度浮点数 8BYTE(IEEE 754) Big-Little-endian 21436587 |
DOUBLE_LB | 93 | 双精度浮点数 8BYTE(IEEE 754) Little-Big-endian 78563412 |
DOUBLE_LE | 94 | 双精度浮点数 8BYTE(IEEE 754) Little-endian 12345678 |
STRING | 10 | 文本 *BYTE |