//======================================================================================== // @file DataProcMessage.proto // @brief 数据处理服务(DP)所使用的消息,用于变化数据发布等 // @author zhouzhenglong yikenan //======================================================================================== syntax="proto2"; import "Public.proto"; package iot_idl; // 缩写说明: // DPCDA : Data Process Change Data API 数据处理服务变化数据(订阅、发布)接口 // SUB : Subscriber 变化数据的订阅者,比如HMI // PUB : Publisher 变化数据的发布者,即DP //======================================================================================== // 消息类型枚举 //======================================================================================== enum enDataProcMessage { //< APP2DP数据的消息总线消息Para1是订阅变化计数 MT_DPCDA_APP2DP_CHG = 1; //< 订阅变化数据的APP向DP发布其订阅变化 MT_DPCDA_APP2DP_CHG_CNT = 2; //< 订阅变化数据的APP向DP发布其订阅变化计数,定期发送 MT_DPCDA_APP2DP_ALL = 3; //< 订阅变化数据的APP向DP点对点回复其全部订阅 MT_DPCDA_DP2APP_ALL_REQ = 4; //< DP向订阅变化数据的APP请求其全部订阅 MT_DP_CHANGE_DATA = 6; //data_process发给HMI/统计等各个应用的实时数据 MT_TOPO_QCOLOR_NOTIFY = 20; //topo_server 发给HMI 的通知消息 } //< DPCDA接口订阅交互所使用的消息结构 //======================================================================================== //< 单个订阅信息 message SDpcdaSubInfo { required string tab_name =1; //< 表名 required string tag_name =2; //< 标签名 required string col_name =3; //< 列名 } //< MT_DPCDA_SUB2PUB_CHG、ALL 所使用的消息结构,使用消息类型区分 message SDpcdaSubPkg { repeated SDpcdaSubInfo add_sub =1; //< 增加的订阅 repeated SDpcdaSubInfo del_sub =2; //< 删除的订阅 } //< 单个订阅信息 message SPointMsg { required int32 nDominId =1; // 域id required int32 nAppId =2; // 应用id required string sTable =3; //< 表名 required string sKey =4; //< 标签名 required string sColumn =5; //< 列名 } //< 多个订阅信息 message SPointMsgPackage { repeated SPointMsg PointMsg =1; } //< MT_DPCDA_SUB2PUB_CHG_CNT、MT_DPCDA_PUB2SUB_ALL_REQ 无需消息结构 //?????? //======================================================================================== message SRealTimePkgHead { required string strSrcTag =1; //????????????? required int64 nTimeStamp =2; //< 1970年以来的ms数,主要为了事故追忆使用 }; //AI??????? data_process->hmi ;?????HMI //======================================================================================== message SAiRealTimeData { required int32 nLocation =1; required int32 nSubSystem =2; required string strTableName =3; required string strTagName =4; required string strColumnName =5; required float fValue =6; required uint32 uStatus =7; }; //PI??????? data_process->hmi ;?????HMI //======================================================================================== message SPiRealTimeData { required int32 nLocation =1; required int32 nSubSystem =2; required string strTableName =3; required string strTagName =4; required string strColumnName =5; required double dValue =6; required uint32 uStatus =7; }; //DI??????? data_process->hmi ;?????HMI //======================================================================================== message SDiRealTimeData { required int32 nLocation =1; required int32 nSubSystem =2; required string strTableName =3; required string strTagName =4; required string strColumnName =5; required int32 nValue =6; required uint32 uStatus =7; }; //MI??????? data_process->hmi;?????HMI //======================================================================================== message SMiRealTimeData { required int32 nLocation =1; required int32 nSubSystem =2; required string strTableName =3; required string strTagName =4; required string strColumnName =5; required int32 nValue =6; required uint32 uStatus =7; }; //Table Realtime Data publish struct //======================================================================================== message STableRealTimeData { required string strTableName =1; required string strTagName =2; required string strColumnName =3; optional int32 nLocation =4; optional int32 nSubSystem =5; required SVariable varValue =6; //?????? }; //HMI??????? data_process->hmi;?????HMI //======================================================================================== message SRealTimeDataPkg { required SRealTimePkgHead stHead =1; repeated SAiRealTimeData stAiRtd =2; repeated SPiRealTimeData stPiRtd =3; repeated SDiRealTimeData stDiRtd =4; repeated SMiRealTimeData stMiRtd =5; repeated STableRealTimeData stTblRtd =6; };