620 lines
29 KiB
Protocol Buffer
Raw Normal View History

2025-03-13 11:01:20 +08:00
//========================================================================================
// @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;
}