1.概述
配置更新:
上云配置更新服务通过ICE提供上云配置更新的相关接口,BB调用该接口将配置json传输到上云配置更新服务,对上云配置进行更新。
状态查询:
上云配置更新服务通过ICE提供状态查询的相关接口,BB调用该接口将查询ihd配置状态。
BB接口:详见子目录“Tag点上云接口”
配置文件说明:
ihd.connection用于配置ihd连接。
HDConfigHandler.Endpoints用于配置服务对外端口,一般只需修改tcp端口即可。
# The server creates one single object adapter with the name
# "HDConfigHandler". The following line sets the endpoints for this
# adapter.
#
IdentityName=HDConfigHandler
ihd.connection=admin:admin@10.25.190.34:5673
HDConfigHandler.Endpoints=tcp -p 30000:udp -p 30000:ws -p 10002
#
# Warn about connection exceptions
#
Ice.Warn.Connections=0
Ice.ThreadPool.Server.Size=5
接口说明:
module ihd
{
exception InvokeError
{
string reason;
}
sequence<byte> JsonSeq;
interface HDConfigHandler
{
int updateConfig(JsonSeq request, out JsonSeq response) throws InvokeError;
int deleteConfig(JsonSeq request, out JsonSeq response) throws InvokeError;
int queryState(JsonSeq request, out JsonSeq response) throws InvokeError;
int queryServiceState(out JsonSeq response) throws InvokeError;
}
}
使用EiInfo类组织上云配置二进制数据,在调用ConfigUpdate接口前:
调用SerializeEIClassToJSonV2接口将EiInfo转换为json字符串,该json字符串二进制数据作为ConfigUpdate接口的传入参数。
调用EiInfo类提供的Serialize接口将EiInfo对象序列化,作为传入参数传入ConfigUpdate。
成功返回0,失败返回错误码。
上云配置新增 / 更新:
参数列表 |
名称 |
类型 |
是否可空 |
备注 |
|
request |
object |
否 |
|
|
type |
int |
否 |
0为增量导入,1为全量导入 |
|
sumNum |
int |
否 |
导入点数个数(单次导入点位上限为999) |
|
tags |
array |
否 |
导入点数信息列表,详见下表 |
返回值列表 |
|
|||
|
response |
object |
否 |
|
|
updatedTags |
int |
否 |
导入tag个数 |
|
invalidTags |
int |
否 |
未导入tag个数 |
|
reasons |
array |
是 |
未导入原因列表 |
|
+reason |
string |
是 |
未导入原因 |
序号 |
字段 |
英文名 |
是否必填项 |
定义 |
示例 |
1 |
机组号 |
UNIT_NUMBER |
必填 |
边缘节点所在机组号,由运营中心牵头统一整理并提供规范,并在平台上提供录入和维护,在平台未上线前,线下获取。 |
H032 |
2 |
边缘字段英文名称 |
TAG_NAME |
必填 |
ihd数据库中的tag点名 |
BCU_FLAME-CURRENT_AA_BCM2 |
3 |
云上英文字段 |
TAG_CLOUD_EN_NAME |
必填 |
按照字段规范,以数据元英文名称为基础进行扩展 |
RADIA_PIPE_IGN_CON_CUR_AA_BCM2 |
4 |
云上中文字段 |
TAG_CLOUD_CH_NAME |
选填 |
按照字段规范,以数据元英文名称为基础进行扩展 |
BCM2辐射管点火控制器电流 |
5 |
引用数据元英文 |
TAG_REFERENCE_EN_NAME |
选填 |
按照字段规范,以数据元中文名称为基础进行扩展 |
HF_CHGMCH_ARM_ROUTE_ACT |
6 |
引用数据元中文 |
TAG_REFERENCE_CH_NAME |
选填(根据D列引用大数据中心数典功能,不需要人工填写) |
按照字段规范,以数据元中文名称为基础进行扩展 |
辐射管点火控制器电流 |
7 |
引用数据元标识符 |
TAG_REFERENCE_SOURCE_IDENTIFIER |
选填(根据D列引用大数据中心数典功能,不需要人工填写) |
必填,数据元标识ID在数据元导出时会一并带上 |
DEBG000000081721 |
8 |
工厂 |
FACTORY |
选填 |
|
baoshan |
9 |
区域 |
AREA |
选填 |
|
cold-rolling |
10 |
设备 |
TAG_EQUIPMENT |
选填 |
设备名称 |
CHGMCH_ARM |
11 |
同步方式 |
TAG_SYNC_TYPE |
必填 |
必填,填写0或者1,同步上云方式,0代表注册推送方式,1代表周期发送 |
1 |
12 |
数据采集间隔 |
TAG_COLLECT_INTERVAL |
选填 |
针对PLC/传感器,表示数据分辨率,单位为ms |
1000 |
13 |
数据采样间隔(同步周期) |
TAG_PERIOD |
必填 |
边缘采样的数据间隔,单位为ms,同步方式为1时该字段有效 |
1000 |
14 |
数据发送频率 |
TAG_SEND_FREQUENCY |
必填 |
边缘向大数据中心发送采样数据的间隔,单位为ms,数据发送模式为DM时,该字段有效,其余发送模式,该字段无效 |
20 |
15 |
数据发送模式 |
TAG_SEND_MODE |
必填 |
D:单tag点单值 DM:单tag点多值 DMM:多tag点单值(时间不对齐) DMA:多tag点单值(时间对齐)
同步方式设置为周期式同步方式时该字段有效。同步方式为注册式同步方式时,该字段填写"DMM"。 |
DMM |
16 |
压缩率 |
TAG_COMPDEV |
选填 |
默认为0,即不压缩 |
|
17 |
整数位 |
TAG_INTEGER_NUMBER |
选填 |
表示上云数据的总位数(包括整数位数和小数位数)不能超出该值,非零值时该字段才生效,当tagvalue超出设置的整数位数时,会截断后面的数据。 |
整数位设置为3,有效数位为2,系数设置为1,ihd中tag点tagvalue为83.3421, 最终上云数据为83.3 |
18 |
有效数位 |
TAG_EFFECTIVE_NUMBER |
选填 |
表示小数位位数不能超出该值,为非零值时该字段才生效,当tagvalue小数位超出设置的位数时,会截断后面的数据 |
整数位设置为5,有效数位为1,系数设置为1,ihd中tag点tagvalue为8343.3421, 最终上云数据为8343.3 |
19 |
系数 |
TAG_COEFFICIENT |
选填 |
用于单位转换,把iHperDB中存储数据转换成符合云上存储的单位,为非零值时该字段有效。上云服务依次进行系数、有效数位、整数位的处理。 |
整数位设置为5,有效数位为1,系数设置为0.5,ihd中tag点tagvalue为100, 最终上云数据为50 |
上云配置删除:
参数列表 |
名称 |
类型 |
是否可空 |
备注 |
|
request |
object |
否 |
|
|
tags |
array |
否 |
待删除tag点名列表 |
|
+tagName |
string |
否 |
tag点名 |
返回值列表 |
|
|||
|
response |
object |
否 |
|
|
deletedTags |
int |
否 |
待删除tag个数 |
|
invalidTags |
int |
否 |
未删除tag个数 |
|
reasons |
array |
是 |
未删除原因列表 |
|
+tagName |
string |
是 |
未删除tag点名 |
|
+reason |
string |
是 |
未删除原因 |
配置状态查询:
参数列表 |
名称 |
类型 |
是否可空 |
备注 |
|
request |
object |
否 |
|
|
startTime |
string |
否 |
查询开始时间,形如:2023-07-04T00:00:00 |
|
sendMode |
string |
是 |
tag点发送方式,如"DM",不填时返回所有 |
返回值列表 |
|
|||
|
response |
object |
否 |
|
|
syncedTags |
int |
否 |
上云发送点数 |
|
configedTags |
int |
否 |
上云配置点数 |
|
bugTags |
array |
是 |
问题点位列表 |
|
+tagName |
string |
是 |
问题tag点名 |
|
+cloudEnName |
string |
是 |
问题tag点云上英文名 |
|
+lastSyncTime |
string |
是 |
Unix时间(ms),如1689736706000 |
上云服务状态查询:
返回值列表 |
名称 |
类型 |
是否可空 |
备注 |
|
response |
object |
否 |
|
|
result |
int |
否 |
服务状态,0表示正在运行,1表示正在启动,2表示已停止 |
|
startTime |
string |
否 |
服务启动时间,形如:2023-07-04T00:00:00 |
|
stopTime |
string |
是 |
服务停止时间,形如:2023-07-04T00:00:00 |
|
reason |
string |
是 |
服务停止原因 |
json示例:
配置更新:
输入示例:
{
"type": 0,
"sumNum": 2,
"tags": [
{
"UNIT_NUMBER": "0",
"TAG_NAME": "TagName0",
"TAG_CLOUD_EN_NAME": "tag0",
"TAG_CLOUD_CH_NAME": "标签0",
"TAG_REFERENCE_EN_NAME": "tag0",
"TAG_REFERENCE_CH_NAME": "refTag0",
"TAG_REFERENCE_SOURCE_IDENTIFIER": "",
"FACTORY": "factory",
"AREA": "area",
"TAG_EQUIPMENT": "Tag",
"TAG_SYNC_TYPE": 0,
"TAG_COLLECT_INTERVAL": 1,
"TAG_PERIOD": 1,
"TAG_SEND_FREQUENCY": 1,
"TAG_SEND_MODE": "D",
"TAG_COMPDEV": 0,
"TAG_INTEGER_NUMBER": 0,
"TAG_EFFECTIVE_NUMBER": 0,
"TAG_COEFFICIENT": 0
},
{
"UNIT_NUMBER": "1",
"TAG_NAME": "TagName1",
"TAG_CLOUD_EN_NAME": "tag1",
"TAG_CLOUD_CH_NAME": "标签1",
"TAG_REFERENCE_EN_NAME": "tag1",
"TAG_REFERENCE_CH_NAME": "refTag1",
"TAG_REFERENCE_SOURCE_IDENTIFIER": "",
"FACTORY": "factory",
"AREA": "area",
"TAG_EQUIPMENT": "Tag",
"TAG_SYNC_TYPE": 0,
"TAG_COLLECT_INTERVAL": 1,
"TAG_PERIOD": 1,
"TAG_SEND_FREQUENCY": 1,
"TAG_SEND_MODE": "D",
"TAG_COMPDEV": 0,
"TAG_INTEGER_NUMBER": 0,
"TAG_EFFECTIVE_NUMBER": 0,
"TAG_COEFFICIENT": 0
}
]
}
输出示例:
{
"updatedTags": 2,
"invalidTags": 2,
"reasons": [
{
"tagName": "TagName0",
"reason": "Invalid json field: TAG_SEND_MODE"
},
{
"tagName": "TagName1",
"reason": "Invalid json field: TAG_SEND_MODE"
}
]
}
配置删除:
输入示例:
{
"tags": [
{
"tagName": "TagName0"
},
{
"tagName": "TagName1"
}
]
}
输出示例:
{
"deletedTags": 2,
"invalidTags": 2,
"reasons": [
{
"tagName": "TagName0",
"reason": "No such tag."
},
{
"tagName": "TagName1",
"reason": "No such tag."
}
]
}
状态查询:
输入示例:
{
"startTime": "2023-07-05T09:00:00",
"sendMode": "D"
}
输出示例:
{
"syncedTags": 3,
"configedTags":10,
"bugTags": [
{
"tagName": "TagName0",
"cloudEnName": "TagName0",
"lastSyncTime": "1689736706000",
},
{
"tagName": "TagName1",
"cloudEnName": "TagName1",
"lastSyncTime": "1689736706000",
}
]
}
上云服务状态查询:
输出示例:
{
"result": 2,
"startTime":"2023-07-13T09:00:00",
"stoptime":"2023-07-13T09:00:00",
"reason": "Disk full."
}