HM-SPMS/product/common/sysconfig/potobuf/LinkageMessage.proto

253 lines
8.1 KiB
Protocol Buffer
Raw Normal View History

2025-03-13 11:01:20 +08:00
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;//提示信息
};