//======================================================================================== // @file FesRealDataMesssage.proto // @brief ???????????? ?????????????????? // @author ??? //======================================================================================== syntax="proto2"; package iot_idl; //======================================================================================== // 消息类型枚举 //======================================================================================== enum enFesMsgType { // Fes 前置实时数据(变化数据全数据)消息类型定义. //==================================================================================== MT_FES_DI_CHANGE = 1; //变化遥信 MT_FES_DI_UPDATE = 2; //全遥信 MT_FES_DI_SOE = 3; //SOE MT_FES_AI_CHANGE = 4; //变化遥测 MT_FES_AI_UPDATE = 5; //全遥测 MT_FES_MI_CHANGE = 6; //变化遥测 MT_FES_MI_UPDATE = 7; //全遥测 MT_FES_PI_CHANGE = 8; //变化累积量 MT_FES_PI_UPDATE = 9; //全累积量 MT_FES_DATA_REQUEST = 10; //查询数据 // Fes 前置RTU间实时数据(全数据)响应消息类型定义. //==================================================================================== MT_FES_RTU_DATA_REQUEST = 20; //全遥信 MT_FES_RTU_DI_UPDATE = 21; //SDI全遥信 MT_FES_RTU_AI_UPDATE = 22; //全遥测 MT_FES_RTU_MI_UPDATE = 23; //全混合量 MT_FES_RTU_ACC_UPDATE = 24; //全累积量 MT_FES_RTU_WAVE_UPDATE = 25; //录波数据 MT_FES_RTU_WAVE_RESEND_REQUEST = 26; //录波请求(重发) MT_FES_RTU_DDI_UPDATE = 27; //DDI全遥信 // 前置部分(控制命令)消息类型定义. //==================================================================================== MT_FES_DO_SELECT = 30; // 数字量控制选择 MT_FES_DO_EXECUTE = 31; // 数字量控制执行 MT_FES_DO_CANCEL = 32; // 数字量控制取消 MT_FES_DO_PREVENT = 33; // 五防校验请求 operate_server->FES MT_FES_DO_SELECT_REPLY = 35; // 数字量控制预置返校 MT_FES_DO_EXECUTE_REPLY = 36; // 数字量控制执行确认返回 MT_FES_DO_CANCEL_REPLY = 37; // 数字量控制取消确认 FES->OPT MT_FES_DO_PREVENT_REPLY = 38; // 五防校验回复 operate_server<-FES MT_FES_DO_DIRECTEXE = 39; // 数字量控制直接执行 MT_FES_DO_AUTOEXE = 40; // 数字量控制自动执行 MT_FES_AO_EXECUTE = 45; // 模拟量控制执行 MT_FES_AO_EXECUTE_REPLY = 46; // 模拟量控制确认 MT_FES_MO_SELECT = 50; // 混合量控制选择 MT_FES_MO_EXECUTE = 51; // 混合量控制执行 MT_FES_MO_CANCEL = 52; // 混合量控制取消 MT_FES_MO_PREVENT = 53; // 五防校验请求 MT_FES_MO_SELECT_REPLY = 55; // 数字量控制预置返校 MT_FES_MO_EXECUTE_REPLY = 56; // 数字量控制执行确认返回 MT_FES_MO_CANCEL_REPLY = 57; // 数字量控制取消确认 FES->OPT MT_FES_MO_PREVENT_REPLY = 58; // 五防校验回复 operate_server<-FES MT_FES_SETTING_READ = 60; // 读取保护定值 MT_FES_SETTING_DOWN = 61; // 下装保护定值 MT_FES_SETTING_ACK = 62; // 确定修改保护定值 MT_FES_SETTING_READ_REPLY = 63; // 读取定值返校 MT_FES_SETTING_DOWN_REPLY = 64; // 下装定值返校 MT_FES_SETTING_ACK_REPLY = 65; // 确定修改定值返校 MT_FES_DEFINE_CMD = 66; // 自定义命令消息 MT_FES_DEFINE_CMD_REPLAY = 67; // 自定义命令返校 MT_FES_VIRTUAL_CTRL = 68; // 虚拟数据控制 MT_FES_BATCH_PNT_CMD = 69; //批量测点控制 // 前置部分(状态反馈)消息类型定义. //==================================================================================== MT_FES_CHAN_UPDATE = 70; // 通道状态消息 MT_FES_RTU_UPDATE = 71; // RTU状态信息 MT_FES_SOE_EVENT = 72; // SOE事件信息 MT_FES_RTU_EVENT = 73; // RTU事件信息 MT_FES_CHAN_EVENT = 74; // CHAN事件信息 MT_FES_CONFIG_UPDATE = 75; // 配置更新消息 MT_FES_CONFIG_UPDATE_REPLAY = 76; // 配置更新返校消息 //==================================================================================== // 基于RTU的JSON自定义命令 MT_FES_JSON_RTU_CMD_REQ = 80; //基于RTU的JSON类型自定义命令 MT_FES_JSON_RTU_CMD_REPLAY = 81; //基于RTU的JSON类型自定义命令反馈 } //对应后台测点属性:是否等待返信,对应dict_menu_info表中的[遥控等待类型] enum enFesCtrlReplyType { CTRL_TYPE_NWAIT_RTN = 0; //不等待返信 CTRL_TYPE_WAIT_RTN = 1; //等待返信 CTRL_TYPE_NWAIT_ACK = 2; //不等待遥控确认 } // Fes Real Data Pagkage Head //======================================================================================== message SFesRealPkgHead { required string strFesSource =1; //????????????? required int32 nPackageType =2; //???? AI/DI/PI/MI/Event required int32 nDataNum =3; required uint64 ulMessageID =4; optional int32 nResPara1 =5; optional int32 nResPara2 =6; } //Analog Data With Time struct //======================================================================================== message SFesAiDataWithTm { required string strAppTableName =1; required string strAppColumnName =2; required string strAppTagName =3; required uint32 uStatus =4; required float fValue =5; required uint64 ulTime =6; } //Analog Data Without Time struct //======================================================================================== message SFesAiDataWithoutTm { required string strAppTableName =1; required string strAppColumnName =2; required string strAppTagName =3; required uint32 uStatus =4; required float fValue =5; } //analog all change data package struct //======================================================================================== message SFesChangeAiPkg { required SFesRealPkgHead stHead =1; repeated SFesAiDataWithTm stAiData =2; } //analog update data package struct //======================================================================================== message SFesUpdateAiPkg { required SFesRealPkgHead stHead =1; repeated SFesAiDataWithoutTm stAiData =2; required uint64 ulTime =3; } //Digital Data With Time struct //======================================================================================== message SFesDiDataWithTm { required string strAppTableName =1; required string strAppColumnName =2; required string strAppTagName =3; required uint32 uStatus =4; required int32 nValue =5; required uint64 ulTime =6; } //Digital Data Without Time struct //======================================================================================== message SFesDiDataWithoutTm { required string strAppTableName =1; required string strAppColumnName =2; required string strAppTagName =3; required uint32 uStatus =4; required int32 nValue =5; } //Digital all change data package struct //======================================================================================== message SFesChangeDiPkg { required SFesRealPkgHead stHead =1; repeated SFesDiDataWithTm stDiData =2; } //Digital update data package struct //======================================================================================== message SFesUpdateDiPkg { required SFesRealPkgHead stHead =1; repeated SFesDiDataWithoutTm stDiData =2; required uint64 ulTime =3; } //Pluse data struct define //======================================================================================== //Pluse Data With Time struct message SFesPiDataWithTm { required string strAppTableName =1; required string strAppColumnName =2; required string strAppTagName =3; required uint32 uStatus =4; required double dValue =5; required uint64 ulTime =6; } //Pluse Data Without Time struct //======================================================================================== message SFesPiDataWithoutTm { required string strAppTableName =1; required string strAppColumnName =2; required string strAppTagName =3; required uint32 uStatus =4; required double dValue =5; } //Pluse all change data package struct //======================================================================================== message SFesChangePiPkg { required SFesRealPkgHead stHead =1; repeated SFesPiDataWithTm stPiData =2; } //Pluse update data package struct //======================================================================================== message SFesUpdatePiPkg { required SFesRealPkgHead stHead =1; repeated SFesPiDataWithoutTm stPiData =2; required uint64 ulTime =3; } //Mi Data With Time struct //======================================================================================== message SFesMiDataWithTm { required string strAppTableName =1; required string strAppColumnName =2; required string strAppTagName =3; required uint32 uStatus =4; required int32 nValue =5; required uint64 ulTime =6; } //Mi Data Without Time struct //======================================================================================== message SFesMiDataWithoutTm { required string strAppTableName =1; required string strAppColumnName =2; required string strAppTagName =3; required uint32 uStatus =4; required int32 nValue =5; } //Mi all change data package struct //======================================================================================== message SFesChangeMiPkg { required SFesRealPkgHead stHead =1; repeated SFesMiDataWithTm stMiData =2; } //Digital update data package struct //======================================================================================== message SFesUpdateMiPkg { required SFesRealPkgHead stHead =1; repeated SFesMiDataWithoutTm stMiData =2; required uint64 ulTime =3; } //FES DO Control opt->fes //======================================================================================== message SFesDoRequestPkg { required string strSourceTag =1; required string strAppTableName =2; required string strAppColumnName =3; required string strAppTagName =4; required string strRtuName =5; required int32 nOrder =6; //yk no required int32 nAction =7; //1/0 required int32 nIfTagtState =9; optional int64 lPara1 =10; optional int64 lPara2 =11; optional float fPara =12; optional string strPara =13; required int32 nCtrlType =14; //控制类型,对应enFesMsgType的值 } //Fes AO Control //======================================================================================== message SFesAoRequestPkg { required string strSourceTag =1; required string strAppTableName =2; required string strAppColumnName =3; required string strAppTagName =4; required string strRtuName =5; required int32 nOrder =6; required float fValue =7; required int32 nCtrlType =8; //控制类型,对应enFesMsgType的值 required int32 nIfTagtState =9; optional int64 lPara1 =10; optional int64 lPara2 =11; optional float fPara =12; optional string strPara =13; } //Fes MO Control //======================================================================================== message SFesMoRequestPkg { required string strSourceTag =1; required string strAppTableName =2; required string strAppColumnName =3; required string strAppTagName =4; required string strRtuName =5; required int32 nOrder =6; required int32 nValue =7; required int32 nCtrlType =8; //控制类型,对应enFesMsgType的值 required int32 nIfTagtState =9; //是否等待目标状态 optional int64 lPara1 =10; optional int64 lPara2 =11; optional float fPara =12; optional string strPara =13; } message SFesCtrlRequestSeq { repeated SFesDoRequestPkg do_seq = 1; repeated SFesAoRequestPkg ao_seq = 2; repeated SFesMoRequestPkg mo_seq = 3; } //DO/AO/MO Control Reply //======================================================================================== message SFesCtrlReplyPkg { required string strSourceTag =1; required string strAppTableName =2; required string strAppColumnName =3; required string strAppTagName =4; required int32 nResult =5; optional int64 lPara1 =10; optional int64 lPara2 =11; optional float fPara =12; optional string strPara =13; } //Custom Commanad KEY-VALUE //======================================================================================== message SFesCustCmdQueue { required string strKeyName =1; required string strKeyValue =2; } //Custom Commanad operate_server ->fes //======================================================================================== message SFesCustCmdRequestPkg { required string strSourceTag =1; required string strAppTableName =2; required string strAppTagName =3; required string strAppColumnName =4; required string strRtuName =5; optional int32 nDevId =6; optional int32 nDataLen =7; repeated SFesCustCmdQueue seqCustCmdData =8; } //Custom Commanad Reply fes->operate_server //======================================================================================== message SFesCustCmdReplyPkg { required string strSourceTag =1; required string strAppTableName =2; required string strAppTagName =4; required string strAppColumnName =3; required string strRtuName =5; optional int32 nDevId =6; // DevId optional int32 nStatus =7; // REQ??????RESP?????? optional int32 nDataLen =8; // ???? repeated SFesCustCmdQueue seqCustCmdData =9; // ????? required int32 nResult =10; // 1:sucess 0 fail optional string strRetResult =11; // ????????????? } //Const queue operate_server ->fes //======================================================================================== message SConstSetQueue { required string strTagName =1; required int32 nConstID =2; required int32 nValue =3; //?? } //Const set operate_server ->fes //======================================================================================== message SFesConstSetRequestPkg { required int32 nRtuNo =1; required int32 nDevId =2; //PCS3000 ??DevId required int32 nNum =3; //???????????????????Num=0?, ?????Num!=0?????100? repeated SConstSetQueue seqValue =4; } //Const Set Reply fes->operate_server //======================================================================================== message SFesConstReadReplyPkg { required int32 nRtuNo =1; // RTU? required int32 nDevId =2; // PCS3000 ??DevId required int32 nRetStatus =3; // REQ??????RESP?????? repeated SConstSetQueue seqValue =4; optional string strRetResult =5; // ????????????? } //Channel status data up struct //======================================================================================== message SFesChanStatusInfo { required int32 nChanNo =1; required uint32 uStatus =2; required float fErrRate =3; required uint64 ulTime =4; } //Channel status data up package struct //======================================================================================== message SFesChanStatusPkg { required SFesRealPkgHead stHead =1; repeated SFesChanStatusInfo stChanStatus =2; } //RTU status data up struct //======================================================================================== message SFesRTUStatusInfo { required int32 nRtuNo =1; required uint32 uStatus =2; required uint64 ulTime =3; } //RTU status data up package struct //======================================================================================== message SFesRTUStatusPkg { required SFesRealPkgHead stHead =1; repeated SFesRTUStatusInfo stRtuStatus =2; } //SOE Event //======================================================================================== message SFesSoeEventInfo { required string strAppTableName =1; required string strAppColumnName=2; required string strAppTagName =3; required uint32 uStatus =4; required int32 nValue =5; required uint64 ulTime =6; optional string strFaultDesc =7; //required int32 nFaultNum =8; //repeated int32 nFaultValTag =9; //repeated float fFaultVal =10; } //Channel Event struct //======================================================================================== message SFesChanEventInfo { required string strChanTag =1; required uint32 uStatus =2; required float fErrRate =3; required uint64 ulTime =4; } //RTU Event struct //======================================================================================== message SFesRTUEventInfo { required string strRtuTag =1; required uint32 uStatus =2; required int32 nCurChanNo =3; required uint64 ulTime =4; } //Soe Events data package struct //======================================================================================== message SFesSoeEventPkg { required SFesRealPkgHead stHead =1; repeated SFesSoeEventInfo stSoeEvent =2; } //Channel Events data package struct //======================================================================================== message SFesChanEventPkg { required SFesRealPkgHead stHead =1; repeated SFesChanEventInfo stChanEvent =2; } //Rtu Events data package struct //======================================================================================== message SFesRTUEventPkg { required SFesRealPkgHead stHead =1; repeated SFesRTUEventInfo stRtuEvent =2; } //Fes AiValue struct //======================================================================================== message SFesAiValue { required int32 nPointNo =1; required float fValue =2; required uint32 uStatus =3; required uint64 ulTime =4; } //Fes DiValue struct //======================================================================================== message SFesDiValue { required int32 nPointNo =1; required int32 nValue =2; required uint32 uStatus =3; required uint64 ulTime =4; } //Fes PiValue struct //======================================================================================== message SFesPiValue { required int32 nPointNo =1; required double dValue =2; required uint32 uStatus =3; required uint64 ulTime =4; } //Fes MiValue struct //======================================================================================== message SFesMiValue { required int32 nPointNo =1; required int32 nValue =2; required uint32 uStatus =3; required uint64 ulTime =4; } //Fes AiValue data request package struct //======================================================================================== message SFesValueReqPkg { required SFesRealPkgHead stHead =1; required int32 nRtuNo =2; } //Fes AiValue data response package struct //======================================================================================== message SFesAiValueRespPkg { required SFesRealPkgHead stHead =1; required int32 nRtuNo =2; repeated SFesAiValue stAiValue =3; } //Fes DiValue data response package struct //======================================================================================== message SFesDiValueRespPkg { required SFesRealPkgHead stHead =1; required int32 nRtuNo =2; repeated SFesDiValue stDiValue =3; } //Fes PiValue data response package struct //======================================================================================== message SFesPiValueRespPkg { required SFesRealPkgHead stHead =1; required int32 nRtuNo =2; repeated SFesPiValue stPiValue =3; } //Fes MiValue data response package struct //======================================================================================== message SFesMiValueRespPkg { required SFesRealPkgHead stHead =1; required int32 nRtuNo =2; repeated SFesMiValue stMiValue =3; } //FES Virtual Data Report fes->dp //======================================================================================== //Virtual Data struct message SFesVirtualData { required string strRtuTag =1; required string strPointTag =2; required int32 nPointType =3; //DO:5 AO:6 required int32 nOrder =4; //PointNo required float fValue =5; required uint64 ulTime =6; } message SFesChangeVirtualDataPkg { required SFesRealPkgHead stHead =1; repeated SFesVirtualData stData =2; }