2025-03-13 11:01:20 +08:00

620 lines
29 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//========================================================================================
// @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;
}