253 lines
8.1 KiB
Protocol Buffer
253 lines
8.1 KiB
Protocol Buffer
syntax = "proto2";
|
|
package iot_idl.linkage;
|
|
|
|
//简写说明
|
|
//Opt : 操作控制台
|
|
//Lcs : linkage server 联动服务
|
|
//Hmi : 人机界面
|
|
|
|
enum enChannelMsgType
|
|
{
|
|
//MT_OPT_LINKAGE_CTRL_DOWN = 0;// operate_server 联动控制下行报文(operate_server<-linkage_server)
|
|
//MT_OPT_LINKAGE_CTRL_UP = 1;// operate_server 联动控制上行报文(operate_server->linkage_server)
|
|
MT_LINKAGE_CTRL_HMI_DOWN = 2; // linkage_server 联动控制下行报文(linkage_server<-hmi)
|
|
MT_LINKAGE_CTRL_HMI_UP = 3; // linkage_server 联动控制上行报文(linkage_server->hmi)
|
|
MT_LINKAGE_ACTION_UP = 4; // 服务到hmi的消息 推图 和 提示信息
|
|
}
|
|
|
|
// lcs 和 hmi 之间的消息类型
|
|
//========================================================================================
|
|
enum enLcsMsgType
|
|
{
|
|
enumStatusMessage = 1; //lcs -> hmi 联动状态更新
|
|
enumLinkStartRequestMessage = 2; //lcs -> hmi 联动操作请求
|
|
enumLinkOperateMessage = 3; //hmi->lcs hmi发送给联动服务的操作
|
|
enumLinkOperateMessageAck = 4; //lcs ->hmi hmi发送给联动服务的操作应答
|
|
enumUiRequestMessage = 5; //lcs->hmi人工干预请求
|
|
enumUiRequestMessageAck = 6; //hmi->lcs人工干预请求 应答
|
|
enumActionToHmiMessage = 7; //server -> hmi 动作执行消息
|
|
}
|
|
|
|
//========================================================================================
|
|
//lcs 包头消息,每个消息必须包含
|
|
//========================================================================================
|
|
message LcsPkgHead
|
|
{
|
|
required string source_tag = 1; // 发送源 可选项: hmi,linkage,opt
|
|
required enLcsMsgType msg_type = 2; //消息类型
|
|
|
|
required int32 source_domain = 3; //消息所在域
|
|
required int32 target_domain = 4; //消息发送至目标域
|
|
|
|
required int32 para1 = 5; //预留
|
|
required int32 para2 = 6;
|
|
};
|
|
|
|
|
|
//========================================================================================
|
|
// lcs -> hmi 的消息定义 - begin
|
|
//========================================================================================
|
|
|
|
enum enErrorCode
|
|
{
|
|
enumCode_SUCCESS = 0; //正常
|
|
enumCode_ERRO_UNKNOW = 1; //未知错误
|
|
enumCode_ERRO_TIMEFLAG_OLD = 2; //时标不一致
|
|
enumCode_ERRO_NOFOUND_LINK = 3; //没有找到该联动
|
|
enumCode_ERRO_ACTION_TIMEOUT = 4; //动作执行超时
|
|
enumCode_ERRO_ACTION_RECOVER = 5; //主备切换\联动恢复 导致的联动失败
|
|
enumCode_ERRO_ACTION_OPT_FAILED = 6; //动作执行失败
|
|
enumCode_ERRO_ACTION_UI_TIMEOUT = 7; //动作执行人工干预超时
|
|
enumCode_ERRO_ACTION_SEND_FAILED = 8; //发送动作操作失败
|
|
}
|
|
|
|
//错误参数
|
|
message ErrorParameter
|
|
{
|
|
required enErrorCode ErrorCode = 1; //错误码
|
|
required string ErrorDescription = 2; //错误描述
|
|
}
|
|
|
|
//错误参数
|
|
message ExecuteStatusParameter
|
|
{
|
|
required int32 StatusCode = 1; //状态码 0为成功 非零为错误状态
|
|
optional ErrorParameter erro_param = 2; //错误参数
|
|
}
|
|
|
|
//联动状态
|
|
enum ENLcsStatus
|
|
{
|
|
enumLINK_RESTING_STATUS = 0; //未执行
|
|
enumLINK_RUNNING_STATUS = 1; //正在执行
|
|
enumLINK_TRIGGERED_STATUS = 2; //已触发
|
|
enumLINK_FAILED_STATUS = 3; //执行失败
|
|
enumLINK_SUCCESS_STATUS = 4; //执行成功
|
|
enumLINK_STOP_STATUS = 5; //执行终止
|
|
enumLINK_PAUSE_STATUS = 6; //执行暂停
|
|
enumLINK_SKIP_STATUS = 7; //执行跳过
|
|
};
|
|
|
|
//勾选状态
|
|
enum ENLcsNodeCheckStatus
|
|
{
|
|
enumNodeUnChecked = 0; //不勾选
|
|
enumnodePartiallyChecked = 1; //部分勾选
|
|
enumNodeChecked = 2; //勾选
|
|
};
|
|
|
|
//动作信息
|
|
message ActionNodeStatusParameter
|
|
{
|
|
required string action_name = 1; //功能名称
|
|
required string action_desc = 2; //描述
|
|
required ENLcsNodeCheckStatus check_state = 3; //勾选状态
|
|
required ENLcsStatus node_state = 4; //节点状态
|
|
required int64 timeflag = 5; //时标
|
|
};
|
|
|
|
//功能信息
|
|
message FucNodeStatusParameter
|
|
{
|
|
required string fuc_name = 1; //功能名称
|
|
required string fuc_desc = 2; //描述
|
|
required ENLcsNodeCheckStatus check_state = 3; //勾选状态
|
|
required int64 timeflag = 4; //时标
|
|
required ENLcsStatus node_state = 5; //节点状态
|
|
repeated ActionNodeStatusParameter nodelist = 6; //动作节点
|
|
};
|
|
|
|
|
|
//联动信息
|
|
message LinkNodeStatusParameter
|
|
{
|
|
required string link_name = 1; //联动名称
|
|
required string link_desc = 2; //描述
|
|
required ENLcsNodeCheckStatus check_state = 3; //勾选状态
|
|
required int64 timeflag = 4; //时标
|
|
required ENLcsStatus node_state = 5; //节点状态
|
|
repeated FucNodeStatusParameter nodelist = 6; //功能节点
|
|
};
|
|
|
|
message ActorParameter
|
|
{
|
|
required int32 user_id = 1; //用户id
|
|
required int32 user_groupId = 2; //用户组id
|
|
required string host_name = 3; //主机名
|
|
required string user_name = 4; //用户名
|
|
}
|
|
|
|
//lcs -> hmi 联动服务发送给hmi的 联动状态 联动状态只发送,不需要hmi应答
|
|
message StatusChangeMessage
|
|
{
|
|
required LcsPkgHead pkg_head = 1;
|
|
required LinkNodeStatusParameter nodelist = 2;
|
|
repeated ExecuteStatusParameter execute_status = 3;
|
|
};
|
|
|
|
//半自动消息流程:
|
|
//lcs(LinkStartRequestMessage)->hmi(LinkOperateMessage)->lcs(LinkOperateMessageAck)
|
|
//lcs -> hmi 半自动请求开始
|
|
message LinkStartRequestMessage
|
|
{
|
|
required LcsPkgHead pkg_head = 1;
|
|
required LinkNodeStatusParameter nodelist = 2;
|
|
required int64 trigger_time = 3; //触发时间
|
|
};
|
|
|
|
enum ENUiOperateType
|
|
{
|
|
enumUI_OP_RETRY = 1; //重试
|
|
enumUI_OP_STOP = 2; //终止
|
|
enumUI_OP_SKIP = 3; //跳过
|
|
};
|
|
|
|
//lcs -> hmi 人工干预请求
|
|
message UiRequestMessage
|
|
{
|
|
required LcsPkgHead pkg_head = 1;
|
|
required ActorParameter actor = 2;
|
|
required LinkNodeStatusParameter nodelist = 3;
|
|
required ExecuteStatusParameter execute_status = 4;
|
|
};
|
|
|
|
//hmi -> lcs hmi发送给联动服务的 人工干预应答
|
|
message UiRequestMessageAck
|
|
{
|
|
required LcsPkgHead pkg_head = 1;
|
|
required ActorParameter actor = 2;
|
|
required LinkNodeStatusParameter nodelist = 3;
|
|
required ENUiOperateType optype = 4;
|
|
};
|
|
//========================================================================================
|
|
// lcs -> hmi 的消息定义 - end
|
|
//========================================================================================
|
|
|
|
|
|
//========================================================================================
|
|
// hmi -> lcs 的消息定义 - begin
|
|
//========================================================================================
|
|
//hmi->link操作类型
|
|
enum ENLinkOperateType
|
|
{
|
|
enumOP_LINK_START = 0; //联动开始
|
|
enumOP_LINK_STOP = 1; //联动终止
|
|
enumOP_LINK_PAUSE = 2; //联动暂停
|
|
enumOP_LINK_CONTINUE = 3; //联动继续
|
|
enumOP_SES_START = 4; //单步开始
|
|
enumOP_SES_CONTINUE = 5; //单步继续
|
|
};
|
|
|
|
//hmi->lcs hmi发送给联动服务的操作
|
|
message LinkOperateMessage
|
|
{
|
|
required LcsPkgHead pkg_head = 1;
|
|
required LinkNodeStatusParameter link_node = 2;
|
|
required ActorParameter actor = 3;
|
|
required ENLinkOperateType opreate_type = 4;
|
|
};
|
|
|
|
//lcs ->hmi hmi发送给联动服务的操作应答
|
|
message LinkOperateMessageAck
|
|
{
|
|
required LcsPkgHead pkg_head = 1;
|
|
required LinkNodeStatusParameter link_node = 2;
|
|
required ENLinkOperateType opreate_type = 3;
|
|
required ActorParameter actor = 4;
|
|
required ExecuteStatusParameter execute_status = 5;
|
|
};
|
|
|
|
//========================================================================================
|
|
// hmi -> lcs 的消息定义 - end
|
|
//========================================================================================
|
|
|
|
//推图 和 提示信息
|
|
|
|
enum ENActionOperateType
|
|
{
|
|
enumPushType = 0; //推图
|
|
enumHintType = 1; //提示信息
|
|
}
|
|
|
|
//推图
|
|
message PushParameter
|
|
{
|
|
required string graph_name = 1; //图名
|
|
};
|
|
|
|
//提示信息
|
|
message HintParameter
|
|
{
|
|
required string hint_info = 1; //提示的信息
|
|
};
|
|
|
|
//server ->hmi 的消息
|
|
message ActionToHmiMessage
|
|
{
|
|
required LcsPkgHead pkg_head = 1;
|
|
required ENActionOperateType action_type = 2;//动作类型
|
|
required string host_name = 3; //主机名
|
|
optional PushParameter push_param = 4;//推图
|
|
optional HintParameter hint_param = 5;//提示信息
|
|
};
|