HM-SPMS/product/common/sysconfig/potobuf/DataProcMessage.proto

150 lines
5.5 KiB
Protocol Buffer
Raw Normal View History

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