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 //========================================================================================