HM-SPMS/product/common/sysconfig/potobuf/SequenceMessage.proto
2025-03-13 11:01:20 +08:00

206 lines
6.7 KiB
Protocol Buffer

syntax = "proto2";
package iot_idl.sequence;
//简写说明
//Opt : 操作控制台
//seq : sequence server 顺控服务
//Hmi : 人机界面
enum enChannelMsgType
{
MT_SEQAGE_CTRL_HMI_DOWN = 2; // sequence_server 顺控控制下行报文(sequence_server<-hmi)
MT_SEQAGE_CTRL_HMI_UP = 3; // sequence_server 顺控控制上行报文(sequence_server->hmi)
}
// seq 和 hmi 之间的消息类型
//========================================================================================
enum enSeqMsgType
{
enumStatusMessage = 1; //seq -> hmi 顺控状态更新
enumSeqOperateMessage = 3; //hmi->seq hmi发送给顺控服务的操作
enumSeqOperateMessageAck = 4; //seq ->hmi hmi发送给顺控服务的操作应答
enumUiRequestMessage = 5; //seq->hmi人工干预请求
enumUiRequestMessageAck = 6; //hmi->seq人工干预请求 应答
}
//========================================================================================
//seq 包头消息,每个消息必须包含
//========================================================================================
message SeqPkgHead
{
required string source_tag = 1; // 发送源 可选项: hmi,sequence,opt
required enSeqMsgType msg_type = 2; //消息类型
required int32 source_domain = 3; //消息所在域
required int32 target_domain = 4; //消息发送至目标域
required int32 para1 = 5; //预留
required int32 para2 = 6;
};
//========================================================================================
// seq -> hmi 的消息定义 - begin
//========================================================================================
enum enErrorCode
{
enumCode_SUCCESS = 0; //正常
enumCode_ERRO_UNKNOW = 1; //未知错误
enumCode_ERRO_TIMEFLAG_OLD = 2; //时标不一致
enumCode_ERRO_NOFOUND_SEQ = 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 ENSeqStatus
{
enumSEQ_RESTING_STATUS = 0; //未执行
enumSEQ_RUNNING_STATUS = 1; //正在执行
enumSEQ_TRIGGERED_STATUS = 2; //已触发
enumSEQ_FAILED_STATUS = 3; //执行失败
enumSEQ_SUCCESS_STATUS = 4; //执行成功
enumSEQ_STOP_STATUS = 5; //执行终止
enumSEQ_PAUSE_STATUS = 6; //执行暂停
enumSEQ_SKIP_STATUS = 7; //执行跳过
};
//勾选状态
enum ENSeqNodeCheckStatus
{
enumNodeUnChecked = 0; //不勾选
enumnodePartiallyChecked = 1; //部分勾选
enumNodeChecked = 2; //勾选
};
//动作信息
message ActionNodeStatusParameter
{
required string action_name = 1; //功能名称
required string action_desc = 2; //描述
required ENSeqNodeCheckStatus check_state = 3; //勾选状态
required ENSeqStatus node_state = 4; //节点状态
required int64 timeflag = 5; //时标
};
//功能信息
message FucNodeStatusParameter
{
required string fuc_name = 1; //功能名称
required string fuc_desc = 2; //描述
required ENSeqNodeCheckStatus check_state = 3; //勾选状态
required int64 timeflag = 4; //时标
required ENSeqStatus node_state = 5; //节点状态
repeated ActionNodeStatusParameter nodelist = 6; //动作节点
};
//顺控信息
message SeqNodeStatusParameter
{
required string seq_name = 1; //顺控名称
required string seq_desc = 2; //顺控描述
required ENSeqNodeCheckStatus check_state = 3; //勾选状态
required int64 timeflag = 4; //时标
required ENSeqStatus 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; //用户名
}
//seq -> hmi 顺控服务发送给hmi的 顺控状态 顺控状态只发送,不需要hmi应答
message StatusChangeMessage
{
required SeqPkgHead pkg_head = 1;
required SeqNodeStatusParameter nodelist = 2;
repeated ExecuteStatusParameter execute_status = 3;
};
enum ENUiOperateType
{
enumUI_OP_RETRY = 1; //重试
enumUI_OP_STOP = 2; //终止
enumUI_OP_SKIP = 3; //跳过
};
//seq -> hmi 人工干预请求
message UiRequestMessage
{
required SeqPkgHead pkg_head = 1;
required ActorParameter actor = 2;
required SeqNodeStatusParameter nodelist = 3;
required ExecuteStatusParameter execute_status = 4;
};
//hmi -> seq hmi发送给顺控服务的 人工干预应答
message UiRequestMessageAck
{
required SeqPkgHead pkg_head = 1;
required ActorParameter actor = 2;
required SeqNodeStatusParameter nodelist = 3;
required ENUiOperateType optype = 4;
};
//========================================================================================
// seq -> hmi 的消息定义 - end
//========================================================================================
//========================================================================================
// hmi -> seq 的消息定义 - begin
//========================================================================================
//hmi->seq操作类型
enum ENSeqOperateType
{
enumOP_SEQ_START = 0; //顺控开始
enumOP_SEQ_STOP = 1; //顺控终止
enumOP_SEQ_PAUSE = 2; //顺控暂停
enumOP_SEQ_CONTINUE = 3; //顺控继续
enumOP_SES_START = 4; //单步开始
enumOP_SES_CONTINUE = 5; //单步继续
};
//hmi->seq hmi发送给顺控服务的操作
message SeqOperateMessage
{
required SeqPkgHead pkg_head = 1;
required SeqNodeStatusParameter seq_node = 2;
required ActorParameter actor = 3;
required ENSeqOperateType opreate_type = 4;
};
//seq ->hmi hmi发送给顺控服务的操作应答
message SeqOperateMessageAck
{
required SeqPkgHead pkg_head = 1;
required SeqNodeStatusParameter seq_node = 2;
required ENSeqOperateType opreate_type = 3;
required ActorParameter actor = 4;
required ExecuteStatusParameter execute_status = 5;
};
//========================================================================================
// hmi -> seq 的消息定义 - end
//========================================================================================