EVENT.H
资源名称:PasRTDat.rar [点击查看]
上传用户:shtiemo
上传日期:2017-12-29
资源大小:163k
文件大小:22k
源码类别:
能源行业(电力石油煤炭)
开发平台:
Visual C++
- //---------------------------- iES500 事项处理头文件 ------------------------------
- //
- // 文件名: EVENT.H
- //
- // 编 程: 杨志强
- //
- // 日 期: 1995.10
- //
- //--------------------------------------------------------------------------------
- //----------------------------- 常用常数及符号定义 --------------------------------
- #ifndef __EVENT_H__
- #define __EVENT_H__
- // 常数和符号定义:
- #define SMALLINT USHORT
- #define IDTYPE USHORT
- #define YCTYPE float
- #define REAL float
- #define KWHTYPE double
- #define TINYINT BYTE
- #define PKWHTYPE KWHTYPE*
- #define CZWPEVENT "CZWP" // 操作等待存盘处理事件名
- //--------------------------- 参数事项类数据结构定义 ------------------------------
- // 事项类型枚举
- enum CSETYPE{
- KGEvent, // 开关事项
- DZEvent, // 刀闸事项
- BHEvent, // 传统保护事项
- YCEvent, // 遥测类数据
- ZBEvent, // 周波类
- TDEvent, // 通道类
- XNStateEvent, // 虚拟状态类事项
- BYQEvent, // 变压器事项
- WJBHEvent, // 微机保护(综合自动化)事项
- JHOLEvent, // 遥测超计划值事项
- RRDEvent // 遥传数据自动替代置入数据事项
- };
- // 事项中参数类型名枚举
- enum CSNAMETYPE{
- YG, // "有功"或"P"
- WG, // "无功"或"Q"
- DL, // "电流"或"I"
- DY, // "电压或"V"
- SG, // "事故"
- KG, // "开关"
- DZ, // "刀闸"
- ZB, // "周波"
- TD, // "通道"
- BH, // "保护"
- XN, // "虚拟量"
- XNZT, // "虚拟状态"
- WJBH, // "微机保护"
- BYQFJT, // "变压器分接头"
- AXDY, // "A相电压"
- BXDY, // "B相电压"
- CXDY, // "C相电压"
- XXDY, // "线电压"
- OXDY // "零序电压"
- };
- // 遥测越限类型枚举
- enum OLTYPE{
- UPL, // 越上限
- DNL, // 越下限
- RUPL, // 越上限恢复
- RDNL, // 越下限恢复
- CRL, // 越变化率限
- UPLOT, // 越上限超时
- DNLOT, // 越下限超时
- // 非法值(超有效上限)
- INVALIDVAL, // 非法值(超有效上限)
- KHUPL, //越考核上限1998.5.8zyq
- KHDNL, //越考核下限
- RKHUPL, //越考核上限恢复
- RKHDNL, //越考核下限恢复
- MXRUN, //母线投入运行
- MXSTOP //母线退出运行
- };
- // 周波越限类型枚举
- enum CYCOLTYPE{
- UPL05, // 越 0.5 上限(事故周波)
- DNL05, // 越 0.5 下限(事故周波)
- RUPL05, // 越 0.5 上限恢复(事故周波)
- RDNL05, // 越 0.5 下限恢复(事故周波)
- UPL03, // 越 0.3 上限(或不用)
- DNL03, // 越 0.3 下限(或不用)
- RUPL03, // 越 0.3 上限恢复(或不用)
- RDNL03, // 越 0.3 下限恢复(或不用)
- UPL02, // 越 0.2 上限(或越设置的上限)
- DNL02, // 越 0.2 下限(或越设置的下限)
- RUPL02, // 越 0.2 上限恢复(或设置的上限恢复)
- RDNL02, // 越 0.2 下限恢复(或设置的下限恢复)
- UPOVERTIMEL02, //越0.2上限超时
- DNOVERTIMEL02, //越0.2下限超时
- RUPOVERTIMEL02, //越0.2上限超时恢复
- RDNOVERTIMEL02, //越0.2上限超时恢复
- UPL01, // 越 0.1 上限(或越设置的上限)
- DNL01, // 越 0.1 下限(或越设置的下限)
- RUPL01, // 越 0.1 上限恢复(或设置的上限恢复)
- RDNL01, // 越 0.1 下限恢复(或设置的下限恢复)
- UPOVERTIMEL01, //越0.1上限超时
- DNOVERTIMEL01, //越0.1下限超时
- RUPOVERTIMEL01, //越0.1上限超时恢复
- RDNOVERTIMEL01, //越0.1上限超时恢复
- UPL0, // 向上越 0
- DNL0, // 向下越 0
- RUPL0, // 向上越 0恢复
- RDNL0, // 向下越 0恢复
- UPOVERTIMEL0, //向上越0超时
- DNOVERTIMEL0, //向下越0超时
- RUPOVERTIMEL0, //向上越0超时恢复
- RDNOVERTIMEL0 //向下越0超时恢复
- };
- // 通道事项类型枚举
- enum TDETYPE{
- WM, // 误码超限
- RWM, // 误码超限恢复
- FSERR, // 发送故障
- RFSERR, // 发送故障恢复
- NODATA, // 无数据
- RNODATA, // 无数据恢复
- NOZB, // 无载波信号
- RNOZB, // 无载波信号恢复
- FOFSHI, // 频偏高
- RFOFSHI, // 频偏高恢复
- OSW, // 仅收到同步字符
- ROSW, // 仅收同步字故障恢复
- NOSYN, // 同步失败
- RNOSYN, // 同步故障恢复
- WSHERR, // 外设故障
- RWSERR, // 外设故障恢复
- CHXCHG, // 通道自动切换事项
- ZF_ERR, // 下行故障
- RZF_ERR, // 下行故障恢复
- CHISOK, // 通道处于正常状态
- CHMANCHG // 通道人工切换事项 LGCH 99.2.23
- };
- // 超计划限类型枚举
- enum OJHTYPE{
- OVERJH, // 超计划
- OVERUP, // 超上计划
- OVERDN, // 低于下计划
- OJHR, // 超计划恢复
- OUPR, // 超上计划恢复
- ODNR, // 低于下计划恢复
- OVERJHP, // 超计划百分比
- OVERUPP, // 超上计划百分比
- OVERDNP, // 低于下计划百分比
- OJHRP, // 超计划百分比恢复
- OUPRP, // 超上计划百分比恢复
- ODNRP // 低于下计划百分比恢复
- };
- // 事项中时间结构
- typedef struct _ETIME{
- BYTE Month; // 月
- BYTE Day; // 日
- BYTE Hour; // 时
- BYTE Minute; // 分
- BYTE Second; // 秒
- USHORT MSecond; // 毫秒(SOE 类有,其他没有)
- }ETIME,*PETIME;
- // 开关事项数据
- typedef struct _KGEDATA{
- BYTE KGOldSt:2, // 开关状态原状态(SOE 用于放状态位,0:低位,1:高位)
- KGNewSt:2, // 开关状态现状态(SOE 为位状态)
- YXCMode:1, // 遥信连接方式 0单输入;1双输入
- SGJFlag:1, // 有事故判断 (SOE 不用为0)
- PFlag:1; // 是否有有功值(SOE 不用为0)
- TINYINT JudgeRes; // 变位判断结果(跳闸时使用)
- YCTYPE P; // 对应有功当前值(SOE 不使用)
- KWHTYPE DD; // 合闸时使用,存放参考损失电量(SOE 不使用)
- }KGEDATA,PKGEDATA;
- // 刀闸事项数据
- typedef struct _DZEDATA{
- BYTE DZState:1; // 刀闸当前状态
- }DZEDATA,*PDZEDATA;
- // 保护事项数据
- typedef struct _BHEDATA{
- USHORT BHLXId; // 保护动作类型
- USHORT DYBJId; // 对应部件ID
- BYTE DYBJType; // 对应部件类型
- BYTE BHState:1; // 保护当前状态
- TINYINT JudgeRes; // 变位判断结果 ZZW 1997.12.08
- }BHEDATA,*PBHEDATA;
- // 遥测类事项数据
- typedef struct _YCEDATA{
- YCTYPE Value; // 越限值(或投退原值)
- OLTYPE OLType; // 越限类型
- }YCEDATA,*PYCEDATA;
- // 周波类数据
- typedef struct _ZBEDATA{
- YCTYPE Value; // 越限值
- YCTYPE ZJPVal; // 全网有功值
- CYCOLTYPE OLType; // 越限类型
- }ZBEDATA,*PZBEDATA;
- // 通道类数据
- typedef struct _TDEDATA{
- TDETYPE TDEventType;// 通道事项类型
- USHORT RTUNo; // RTU 号
- BYTE byCOM_SER_No;// 所属通信服务器编号
- BYTE byChannel1; // 通道1(自动切换时表示原通道号, 其它情况下表示事项发生的通道号)
- BYTE byChannel2; // 通道2(自动切换事项使用, 表示切换到的通道号)
- BYTE byChXType; // 通道切换类型(0:硬切换,1:软切换)
- BYTE byChXReason;// 通道切换原因
- WORD wPinLu; // 载波频率
- WORD wDianYa; // 载波电压
- }TDEDATA,*PTDEDATA;
- // 虚拟状态量类数据
- typedef struct _XNSDATA{
- BYTE State:1; // 当前状态
- TINYINT XNType; // 虚拟量类型
- TINYINT DYBJType; // 对应部件类型
- SMALLINT DYBJId; // 对应部件 ID
- }XNSDATA,*PXNSDATA;
- // 变压器类数据
- typedef struct _BYQDATA{
- enum { // 变化方式枚举
- DanWeiZhi, // 单位置变化
- ShuZi // 数字变化
- };
- USHORT ChMode; // 变化方式
- USHORT PosVal; // 位置值(仅单位置变化用)
- UINT OldVal; // 原值
- UINT NewVal; // 新值
- }BYQDATA,*PBYQDATA;
- // 微机保护事项
- typedef struct _WBHDATA{
- BYTE byBHSOEType;// 类型(0:保护事件 1:保护自诊断 2:保护复归成功/失败) ZZW 1998.01.09
- BYTE byGiuHao; // 柜号
- BYTE byBHHao; // 保护编号
- USHORT nSGTZNum; // 事故跳闸次数
- USHORT nSGType; // 事故类型
- USHORT nDZType; // 动作类型
- USHORT nCLType; // 测量类型
- WORD wCSValue; // 参数
- USHORT nRTU; // RTU ID
- }WBHDATA,*PWBHDATA;
- // 计划值超限事项数据
- typedef struct _JHVDATA{
- YCTYPE Value; // 当前值
- YCTYPE JHVal; // 计划值
- YCTYPE JHValP; // 计划值百分比(仅百分比越限使用)
- OJHTYPE OJHType; // 超计划类型
- }JHVDATA,*PJHVDATA;
- // 遥传数据自动替代置入数据事项
- typedef struct _RRDATA{
- union{
- BYTE byOldState; // 原状态数据
- YCTYPE ycOldData; // 原遥测数据
- };
- union{
- BYTE byNewState; // 新状态数据
- YCTYPE ycNewData; // 新遥测数据
- };
- }RRDATA,*PRRDATA;
- // LGCH 99.6.26 Begin
- // 为保证统一性,CSEVENTDATA定义移到EVENT.H 为保证兼容性,_CSEVENT中保持原有定义
- // 扩大CSEVENTDATA空间相应修改LSTABSTR.H中参数事项内容空间定义
- //参数事项数据
- union CSEVENTDATA{
- char NoUse[32]; // 参数事项最大空间
- KGEDATA KGData; // 开关事项数据
- DZEDATA DZData; // 刀闸事项数据
- BHEDATA BHData; // 保护事项数据
- YCEDATA YCData; // 遥测类事项数据
- ZBEDATA ZBData; // 周波类数据
- TDEDATA TDData; // 通道类数据
- XNSDATA XNStData; // 虚拟状态类数据
- BYQDATA BYQData; // 变压器类数据
- JHVDATA JHVData; // 计划值超限
- WBHDATA WBHData; // 微机保护事项
- RRDATA RRData; // 遥传数据自动替代置入数据事项
- };
- // 参数事项记录结构
- typedef struct _CSEVENT{
- CSETYPE EventType; // 事项类型
- DATAADDRESS BJId; // 部件 ID
- ETIME EventTime; // 发生时间
- SMALLINT ChangZhan; // 厂站号
- BYTE DianYaDengJiID; // 电压过滤 hgz 2000.3.28
- CHAR CZMing[16]; // 厂站名
- CHAR BJMing[8]; // 部件编号名
- CHAR MingZi[32]; // 部件名字 99.10.26
- CSNAMETYPE CSType; // 参数类型
- CHAR CSTypeName[10]; // 参数类型名
- BYTE CPFlag:1, // 存入历史库
- SAlarm:1, // 声光报警
- PrntFlag:1, // 即时打印
- ScrFlag:1, // 自动推图
- SOEFlag:1; // 由RTU 传送的 SOE 形成
- SMALLINT EventCount; // 发送参数事项记数 99.11.11
- union{
- char NoUse[32]; // 参数事项最大空间 //1999.6.26
- KGEDATA KGData; // 开关事项数据
- DZEDATA DZData; // 刀闸事项数据
- BHEDATA BHData; // 保护事项数据
- YCEDATA YCData; // 遥测类事项数据
- ZBEDATA ZBData; // 周波类数据
- TDEDATA TDData; // 通道类数据
- XNSDATA XNStData;//虚拟状态类数据
- BYQDATA BYQData;// 变压器类数据
- JHVDATA JHVData;// 计划值超限
- WBHDATA WBHData;// 微机保护事项
- RRDATA RRData; // 遥传数据自动替代置入数据事项
- };
- }CSEVENT,*PCSEVENT;
- // LGCH 99.6.26 End
- //--------------------------- 操作类事项数据结构定义 ------------------------------
- // 操作事项类型枚举
- enum CZETYPE{
- YK, // 遥控操作类
- YD, // 遥调操作类
- SHJ, // 升降操作类
- SETDATA, // 设置数据类
- PMCZ, // 手动旁母替代操作
- YCREP, // 遥测数据替代操作
- TDCZ, // 通道操作类
- MSHJ, // 修改描述数据库
- MBH, // 修改保护信息
- JJB, // 交接班记录
- KGDWCZ, // 开关对位操作
- JXCZ, // 设置检修操作
- YDCZ, // 设置远动操作
- };
- // 操作者类型定义:
- enum RYTYPE{
- SYSADM, // 系统管理员
- SYSAUTO, // 系统自动
- DIAODU, // 调度人员
- YUANDONG, // 远动人员
- JIKONG, // 集控人员
- BAOHUBAN, // 保护人员
- TONGXIN, // 通信人员
- NORMAL, // 一般人员
- };
- // 操作者结构定义
- typedef struct _CZRY{
- RYTYPE OpType; // 操作者类型
- TINYINT OpId; // 操作者编号(Id)
- CHAR OpName[16]; // 操作者名字
- CHAR OpMacName[16]; // 操作者所在机器名 LGCH 2000.8.2
- }CZRY,*PCZRY;
- // 遥控命令类事项类型定义:
- enum YKEVENTCOM{
- YKC, // 0.下达遥控(选择)命令
- YKEXE, // 1.下达遥控执行命令
- YKDEL, // 2.下达遥控撤销命令
- YKFJC, // 3.收到遥控返校正确信息
- YKFJE, // 4.收到遥控返校错误信息
- YKFJOBJE, // 5.遥控返校对象错误
- YKOBJE, // 6.遥控对象错误
- YKOTIME, // 7.遥控返校超时
- YKEXEOTIME, // 8.下达遥控执行命令超时
- YKSUCCESS, // 9.遥控成功
- YKFAIL,
- // zzw 1998.02.26
- TQYKEXE, // 10.下达同期遥控执行命令
- TQYKSUCCESS, // 11.同期遥控成功
- TQYKEXEOTIME, // 12.同期遥控执行命令超时
- TQYKEXEERR, // 13.同期遥控执行错误
- TQYKEXEDEL // 14.同期遥控执行撤消
- // end
- };
- // 遥控对象结构定义:
- typedef struct _YKOBJECT{
- YKEVENTCOM YKEventType;// 遥控命令类型
- SMALLINT StationId; // 站号ID
- CHAR CZMing[16]; // 厂站名 99.10.26
- CHAR BJName[8]; // 部件编号名
- CHAR MingZi[32]; // 部件名字
- BYTE bySBit; // 双点遥控标志
- BYTE byDZState; // 动作状态: 0: 由合到分; 1:由分到合
- int eFJInf; // 返校错误时信息码(见YKFXCODE)
- SHORT nTQDataV[7];// 频率0、频率1、电压0、电压1、相位差、频率差、电压差
- }YKOBJECT,*PYKOBJECT;
- // 遥调(设点)对象结构定义
- typedef struct _YTOBJECT{
- DATAADDRESS BJId; // 部件 ID
- SMALLINT StationId; // 站号ID
- CHAR CZMing[16]; // 厂站名 99.10.26
- CHAR BJName[8]; // 部件编号名
- CHAR MingZi[32]; // 部件名字
- YCTYPE PresentValue;// 当前值
- YCTYPE SetValue; // 设置值
- }YTOBJECT,*PYTOBJECT;
- // 升降命令类事项类型定义:
- enum SJEVENTCOM{
- SJC, // 下达升降(选择)命令
- SJEXE, // 下达升降执行命令
- SJDEL, // 下达升降撤销命令
- SJFJC, // 收到升降返校正确信息
- SJFJE, // 收到升降返校错误信息
- SJFJOBJE, // 升降返校对象错误
- SJOBJE, // 升降对象错误
- SJOTIME, // 升降返校超时
- SJEXEOTIME, // 下达升降执行命令超时
- SJSUCCESS, // 升降完成
- SJFAIL,
- };
- // 升降对象结构定义:
- typedef struct _SJOBJECT{
- SJEVENTCOM SJEventType;// 升降命令类型
- SMALLINT StationId; // 站号ID
- CHAR CZMing[16]; // 厂站名 99.10.26
- CHAR BJName[8]; // 部件编号名
- CHAR MingZi[32]; // 部件名字
- BYTE byDZState; // 动作状态: 0: 降一档; 1:升一档
- // 2: 急停(V2.0)
- USHORT nOldVal; // 原档位值
- }SJOBJECT,*PSJOBJECT;
- // 人工设置数据命令类型
- enum SETDATATYPE{
- SETYC, // 设置遥测类型
- SETYXS, // 设置遥信类型
- SETDD, // 设置电度类型
- DELSETYC, // 解除设置遥测类型
- DELSETYXS, // 解除设置遥信类型
- SETYXJDS, // 设置接地
- DELSETYXJDS // 解除设置接地
- };
- // 人工设置数据对象结构定义
- typedef struct _SDOBJECT{
- CHAR BJName[8]; // 部件编号名
- CHAR MingZi[32]; // 部件名字 99.10.26
- SETDATATYPE SDType; // 数据类型
- SMALLINT StationId; // 站号ID
- CHAR CZMing[16]; // 厂站名
- union { // 设置值联合
- YCTYPE SYCVal;
- KWHTYPE SKWHVal;
- BYTE SYXVal;
- };
- }SDOBJECT,*PSDOBJECT;
- //投退命令结构
- enum YDCZTYPE {
- YXTOUTUICOMMAND, //遥信投退状态
- YCTOUTUICOMMAND, //遥测投退状态
- YXBAOJINGTOUTUICOMMAND, //遥信报警允许/禁止
- YCBAOJINGTOUTUICOMMAND, //遥测报警允许/禁止
- YXYKCONTROLCOMMAND //遥控允许/禁止
- };
- //某点投退状态结构
- typedef struct _POINTTOUTUISTATE
- {
- YDCZTYPE nType; // 命令类型
- WORD wBJID; // 部件ID号
- BYTE byBJType; // 部件类型
- BYTE byBJParam; // 部件参数
- BYTE byStation; // 厂站号
- BOOL TouTuiState; // 投退状态
- }POINTTOUTUISTATE, *PPOINTTOUTUISTATE;
- // 远动操作对象
- typedef struct _YDCZOBJ{
- YDCZTYPE YDCZType; // 远动操作类型
- BOOL bCZState; // 操作状态(0:投 1:退)
- SMALLINT StationId; // 站号ID
- CHAR CZMing[16]; // 厂站名 99.10.26
- CHAR BJName[8]; // 部件编号名
- CHAR MingZi[32]; // 部件名字
- }YDCZOBJ, *PYDCZOBJ;
- // 旁母替代对象结构定义
- typedef struct _PMOBJECT{
- DATAADDRESS SBJId; // 源部件 ID(替代者)
- DATAADDRESS DBJId; // 目标部件 ID(被替代者)
- CHAR SBJName[8]; // 源部件编号名
- CHAR SMingZi[32];// 部件名字 99.10.26
- CHAR DBJName[8]; // 目的部件编号名
- CHAR DMingZi[32];// 部件名字
- SMALLINT SStationId; // 源站号ID
- CHAR SCZMing[16];// 源厂站名
- SMALLINT DStationId; // 目的站号ID
- CHAR DCZMing[16];// 目的厂站名
- BYTE OperType:1; // 替代性质:0.设置替代 1.解除
- }PMOBJECT,*PPMOBJECT;
- // 通道对象类型定义
- enum TDOBJTYPE{
- FS, // 封锁 RTU
- JCFS, // 解除封锁
- MBQH, // 主通道切换到备用通道
- BMQH // 备通道切换到主通道
- };
- // 通道对象结构定义
- typedef struct _TDOBJECT{
- TDOBJTYPE TDObjType; // 通道对象类型
- USHORT nRTUNo; // RTU 号
- SMALLINT StId; // RTU 所属站号
- CHAR strCZName[16];// 厂站名
- BYTE byCOM_SER_No;// 服务器编号
- BYTE byMTDNo; // 主通道号
- BYTE byBTDNo; // 备通道号
- }TDOBJECT,*PTDOBJECT;
- // 库修改对象
- typedef struct _KMOBJECT{
- CHAR ListName[16];// 修改库的表名
- }KMOBJECT,*PKMOBJECT;
- // 保护修改类型
- enum BHMODTYPE{
- MODVAL, // 修改定值
- CALLVAL, // 招呼远方定值设置
- SENDVAL // 发送定值
- };
- // 修改保护参数对象
- typedef struct _BHOBJECT{
- BHMODTYPE ModifyType; // 修改类型
- SMALLINT BHId; // 保护对象的 ID
- SMALLINT StaId; // 厂站 ID
- SMALLINT BHTypeId; // 保护类型 ID
- TINYINT DZHNo; // 定值序号
- REAL MVal; // 修改定值
- }BHOBJECT,*PBHOBJECT;
- // 交接班对象
- typedef struct _JJBOBJECT{
- CZRY NewOp; // 新接班人员
- }JJBOBJECT,*PJJBOBJECT;
- // 对位类型枚举
- enum DWTYPE{
- IDDW, // 指定开关 ID 对位
- CZDW, // 指定厂站的所有开关对位
- SYSDW, // 系统所有开关对位
- DZIDDW, // 指定刀闸 ID 对位
- DZCZDW, // 指定厂站的所有刀闸对位
- DZSYSDW, // 系统所有刀闸对位
- BHIDDW, // 指定保护 ID 对位 2000.07.10 ZB +--->
- BHCZDW, // 指定厂站的所有保护对位
- BHSYSDW, // 系统所有保护对位 +<---
- XNIDDW, // 指定虚拟状态量 ID 对位
- XNSYSDW // 所有虚拟状态量对位
- };
- // 开关对位操作数据
- typedef struct _KGDWOBJ{
- DWTYPE enType; // 命令类型
- USHORT nCZID; // 厂站 ID 号(仅按厂站对位命令使用)
- CHAR CZMing[16]; // 厂站名(仅按厂站对位命令使用) 99.10.26
- CHAR BJName[8]; // 部件编号名
- CHAR MingZi[32]; // 部件名字
- }KGDWOBJ,*PKGDWOBJ;
- // 设置检修类枚举 hgz 2000.4.4 挂牌入库
- enum SETJXTYPE{
- JXTYPE, // 检修
- LGXTYPE, // 临故修
- JCLTYPE, // 减出力
- JDTYPE, // 接地
- LBYTYPE, // 冷备用
- RBYTYPE, // 热备用
- LDTYPE, // 拉电
- };
- // 检修,临故修,减出力,接地,冷备用,热备用,拉电 hgz 2000.4.4 挂牌入库
- typedef struct _JDXOBJ{
- SETJXTYPE jxType; // 命令类型
- BYTE JDXValue; // 命令
- SMALLINT StationId; // 站号ID
- CHAR CZMing[16]; // 厂站名 99.10.26
- CHAR BJName[8]; // 部件编号名
- CHAR MingZi[32]; // 部件名字
- }JDXOBJ, *PJDXOBJ;
- // LGCH 99.6.26 Begin
- // 为保证统一性,CZOBJECTDATA定义移到EVENT.H 为保证兼容性,_CZEVENT中保持原有定义
- // 扩大CZOBJECTDATA空间相应修改LSTABSTR.H中操作事项内容空间定义
- // 操作对象数据
- union CZOBJECTDATA{
- char NoUse[128]; // 操作事项最大空间 99.10.26
- YKOBJECT YKObj; // 遥控对象
- YTOBJECT YTObj; // 遥调对象
- SJOBJECT SJObj; // 升降对象
- SDOBJECT SDObj; // 人工设置数据对象
- PMOBJECT PMObj; // 旁母替代对象
- TDOBJECT TDObj; // 通道对象
- KMOBJECT KMObj; // 库修改对象
- BHOBJECT BHObj; // 修改保护参数对象
- JJBOBJECT JJObj; // 交接班对象
- KGDWOBJ KGDWObj; // 开关对位对象
- JDXOBJ JDXObj; // 检修,临故修,减出力,接地,冷备用,热备用,拉电对象
- YDCZOBJ YDCZObj; // 远动操作对象
- };
- // 运行操作类事项
- typedef struct _CZEVENT{
- CZETYPE EventType; // 事项类型
- CZRY Operator; // 操作者
- CZRY SlaveOperator; // 副操作者 LGCH 2000.3.28
- time_t EventTime; // 发生时间
- DATAADDRESS BJId; // 部件 ID
- SMALLINT EventCount; // 发送参数事项记数 99.11.11
- union{ // 操作对象
- char NoUse[128]; // 操作事项最大空间 99.10.26
- YKOBJECT YKObj; // 遥控对象
- YTOBJECT YTObj; // 遥调对象
- SJOBJECT SJObj; // 升降对象
- SDOBJECT SDObj; // 人工设置数据对象
- PMOBJECT PMObj; // 旁母替代对象
- TDOBJECT TDObj; // 通道对象
- KMOBJECT KMObj; // 库修改对象
- BHOBJECT BHObj; // 修改保护参数对象
- JJBOBJECT JJObj; // 交接班对象
- KGDWOBJ KGDWObj; // 开关对位对象
- JDXOBJ JDXObj; // 检修,临故修,减出力,接地,冷备用,热备用,拉电对象
- YDCZOBJ YDCZObj; // 远动操作对象
- };
- }CZEVENT,*PCZEVENT;
- // LGCH 99.6.26 End
- // 参数类事项表结构
- typedef struct _CSEVENTLST{
- BYTE SDisk:1, // 已存盘标志
- NSend:1; // 网络已发走(广播)
- CSEVENT AnEvent; // 一条事件
- }CSEVENTLST,*PCSEVENTLST;
- // 操作事项表结构
- typedef struct _CZEVENTLST{
- BYTE SDisk:1, // 已存盘标志
- NSend:1; // 网络已发走(广播)
- CZEVENT AnEvent; // 一条事件
- }CZEVENTLST,*PCZEVENTLST;
- // 读事项者定义:
- enum READER{
- SHISTORY, // 存历史数据
- NETSEND // 网络广播
- };
- //---------------------------- 遥信变位数据传输给 MMI 结构---------------------------
- typedef struct _YXCHDATA{
- DATAID sDataID; // 数据 ID
- USHORT ChangZhanID; // 厂站 hgz 2000.1.10
- SMALLINT EventCount; // 发送参数事项记数 99.11.11
- union{
- RETYXV retKG; // 同开关返回的数据
- DBYXV retDB; // 同刀闸,保护,变压器分接头位置,虚拟状态量
- DWORD retBYQ; // 仅变压器双字访问使用
- BYTE retJDXStatus; // 检修状态
- RETJDV retJDXData; // 接地返回的数据
- };
- }YXCHDATA,*PYXCHDATA;
- // 遥信变位数据发送表结构
- typedef struct _YXCHLST{
- BYTE SDisk:1, // 已存盘标志
- NSend:1; // 网络已发走(广播)
- YXCHDATA AnEvent; // 一条事件
- }YXCHLST,*PYXCHLST;
- //------------------------------- 事项发送数据结构 ----------------------------------
- #pragma pack (push)
- #pragma pack (1)
- #define MAX_INF_BLOCK 3 // 一帧中的最大信息块个数
- #define EVENT_DATA_LEN 4096 // 缓冲区长度
- // 帧结构
- typedef struct _EVENT_SB_BUF{
- CHAR bySB_Reserve[16]; // SB 保留
- USHORT nDataTotalLength; // 数据总长度
- USHORT nInfBlockNum; // 信息块个数
- USHORT pInfPoint[MAX_INF_BLOCK]; // 各组信息块指针
- CHAR byBuffer[EVENT_DATA_LEN]; // 数据缓冲区
- }EVENT_SB_BUF, *PEVENT_SB_BUF;
- // 通信数据结构
- typedef struct _EVENTBLOCK {
- CHAR byType; // 类型
- USHORT nDataLength; // 数据长度
- BYTE pData[1]; // 数据
- }EVENTBLOCK, *PEVENTBLOCK;
- // MMI 事项响应等命令的数据结构 <----(LiangCH,99.11.11)
- #define MMICMD_GETCSEVENT 10 // 获取参数事项
- #define MMICMD_GETCZEVENT 20 // 获取操作事项
- #define MMICMD_GETYXEVENT 30 // 获取遥信变位事项
- typedef struct tagSBHeadResv
- {
- CHAR SBRev[16]; // 网络保留字节
- WORD wCmdType; // 命令类型
- }SBHEADRESV, *PSBHEADRESV;
- typedef struct tagMMIGetEvent:public SBHEADRESV
- {
- USHORT nMMIID; // MMI 标识符
- SMALLINT numS; // 需获取的事项的起始编号
- SMALLINT numE; // 需获取的事项的终止编号
- }MMIGETEVENT, *PMMIGETEVENT;
- typedef struct tagADMBackCSEvent:public SBHEADRESV // ADM 回送参数事项
- {
- WORD wCount; // 返回的事项个数
- CSEVENT csEvts[1]; // 返回的事项的内容(数组形式)
- }ADMBACKCSEVENT, *PADMBACKCSEVENT;
- typedef struct tagADMBackCZEvent:public SBHEADRESV // ADM 回送操作事项
- {
- WORD wCount; // 返回的事项个数
- CZEVENT czEvts[1]; // 返回的事项的内容(数组形式)
- }ADMBACKCZEVENT, *PADMBACKCZEVENT;
- typedef struct tagADMBackYXEvent:public SBHEADRESV // ADM 回送遥信事项
- {
- WORD wCount; // 返回的事项个数
- YXCHDATA yxEvts[1]; // 返回的事项的内容(数组形式)
- }ADMBACKYXEVENT, *PADMBACKYXEVENT;
- // <----
- #pragma pack(pop)
- #endif