⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 103struct.h

📁 为电力系统开发保护设备装置通讯的源代码 采用串口通讯, ret hat 9下 QT开发
💻 H
字号:
////////////////103Struct.h////////////////////#ifndef STRUCT103_H#define STRUCT103_H#include "mytype.h"#pragma pack(1)typedef union tag103NDE{		struct {		BYTE No	:6;//UI[1~6]<1~63>:数目		BYTE Count	:1;/*BS1[7]<0~1>:具有相同的通用分类标识序号(RII)和相同的通用分类标识序号(GIN)的应用服务数据单元				   通用分类标识的一位计数器位,计数器位初始值为0*/		BYTE Cont	:1;/*BS1[8]<0~1>:0:后面未跟随具有相同的返回标志符(RII)和相同的通用分类标识序号(GIN)的应用服务数据单元。					 1:后面跟随具有相同的返回标志符(RII)和相同的通用分类标识序号(GIN)的应用服务数据单元。*/	}nde;	BYTE byte;}NDE;//描述元素的数目(NDG):CP8{数目(No),计数器位(Count),后继位(Cont)}typedef union tag103NGD{	struct tagngd{		BYTE No	:6;//UI[1~6]<1~63>:数目		BYTE Count	:1;//BS1[7]<0~1>:具有相同的通用分类标识序号(RII)的应用服务数据单元的一位计数器位,计数器位初始值为0		BYTE Cont	:1;/*BS1[8]<0~1>:0:后面未跟随具有相同的返回标志符(RII)的应用服务数据单元。					 1:后面跟随具有相同的返回标志符(RII)的应用服务数据单元。*/	};	tagngd ngd;	BYTE byte;}NGD;//通用分类数据集数目(NGD):CP8{数目(No),计数器位(Count),后续状态位(Cont)}typedef union tag103GDD{	struct taggdd{// P22 7.2.6.32		BYTE DataType;		//数据类型(DATATYPE)		BYTE DataSize;		//数据宽度(DATASIZE)		BYTE Number	:7;	//数目(NUMBER)		BYTE Cont		:1;	//后续状态位(CONT)	};	taggdd gdd;	BYTE byte[3];}GDD;//通用分类数据描述(GDD):CP24{数据类型(DATATYPE),数据宽度(DATASIZE),数目(NUMBER),后续状态位(CONT)}typedef union tagCP32TIME{	struct tagTime{		WORD Milliseconds;		BYTE Minutes;		BYTE Hours	:5;		BYTE Weeks	:3;	};	tagTime Time;	BYTE byte[4];}CP32Time2a;typedef union tagCP56TIME{	struct tagDataTime{		WORD Milliseconds;		BYTE Minutes;		BYTE Hours			:5;		BYTE Weeks			:3;		BYTE DaysOfMonth	:5;		BYTE DaysOfWeek	:3;		BYTE Months			:4;		BYTE res3			:4;		BYTE Years			:7;		BYTE res4			:1;	}Time;	BYTE byte[7];}CP56Time2a;typedef union tagCCtrlDomain{	struct  _tagCtrlToDev	{		BYTE FunCode	:4;//功能码 FUNTYPE		BYTE FCV		:1;//帧计数有效位,在FunCode=3、10、11有效		BYTE FCB		:1;//帧计数位		BYTE PRM		:1;//启动报文, 控制系统-->保护设备时为 1 。		BYTE res 		:1;//保留位	};		struct _tagCtrlToDev CtrlToDev;	//控制系统-->保护设备	BYTE byte;					//替换操作数据字节}CCtrlDomain;//控制域typedef union tagDCtrlDomain{	struct _tagDevToCtrl 	{		BYTE FunCode	:4;//功能码 FUNTYPE		BYTE DFC		:1;//数据流控制位		BYTE ACD		:1;//要求访问位		BYTE PRM		:1;//启动报文, 保护设备-->控制系统时为 0 。		BYTE res 		:1;//保留位	};		struct _tagDevToCtrl DevToCtrl;	//保护设备-->控制系统	BYTE byte;					//替换操作数据字节}DCtrlDomain;//控制域typedef union tagVSQ{	struct _tagVSQ	{		BYTE num	:7;//数目		BYTE sq		:1;//0:寻址一个信息体内的顺序的信息元素,1:寻址单个信息元素或综合信息元素	}vsq;	BYTE byte;}VSQ;//可变结构限定词typedef union tagDPI{	struct _tagDPI	{		BYTE dpi	:2;//1:开(OFF),2:合(ON)		BYTE res 	:6;	}dpi;	BYTE byte;}DPI;//双点信息(P18,7.2.6.5节)typedef struct tagGIN{	BYTE GROUP;//组号	BYTE ENTRY;//条目}GIN;//通用分类标识序号-7.2.6.31typedef union tagMEA{	struct _tagMEA	{		WORD OV		:1;//溢出位:0无溢出,1溢出		WORD ER		:1;//差错位:0被测值(MVAL)有效,1无效		WORD res 		:1;//未用		WORD MVAL	:13;//被测值	}mea;	WORD word;}MEA;typedef union tagSOF{	struct _tagSOF	{		BYTE TP	:1;//0:被记录的故障未跳闸,1:被记录的故障跳闸		BYTE TM	:1;//0:扰动数据等待传输,1:扰动数据正在传输		BYTE TEST	:1;//0:在正常操作时被记录的扰动数据,1:在测试模式下被记录的扰动数据		BYTE OTEV	:1;//0:由启动/检出故障触发被记录的扰动数据,1:由其他事件触发被记录的扰动数据		BYTE RES	:4;//未用	}sof;	BYTE byte;}SOF;//故障的状态(SOF)(P20,7.2.6.24)typedef union tagSwitchData{	struct {		WORD TAP;	//标志的位置		BYTE FUN;	//功能类型		BYTE INF;	//信息序号		BYTE DPI;	//在7.2.5.2中定义	}data;	BYTE byte[5]; }SwitchData;//带标志的状态变位,参见ASDU29(带标志的状态变位传输)typedef struct tagChannelData{	BYTE  ACC;		//实际通道序号	WORD* NDV;	//每个应用服务数据单元有关扰动值的数目	WORD* NFE;	//应用服务数据单元的第一个信息元素的序号	WORD* SDV;	//单个扰动值}ChannelData;//通道数据,参见ASDU27(被记录的通道传输准备就绪),ASDU30(传输扰动值)typedef struct tagDistrubDataTable{	BYTE addr;	WORD FAN;			//故障序号	WORD NOF;			//电网故障序号	BYTE SOF;			//故障状态	CP56Time2a Cp56Time;//故障时间}DistrubDataTable;//扰动数据表的信息typedef struct tagACCInfo {	BYTE ACC;	//实际通道号	float RPV;	//一次额定值	float RSV;	//二次额定值	float RFA;	//参比因子}ACCInfo;//通道信息,参见ASDU27(被记录的通道传输准备就绪)typedef struct tagDataSet{	GIN gin;	BYTE kod;	GDD gdd;	CByteArray gid;}DataSet;//通用分类服务数据集typedef struct tagCommParam{	CCtrlDomain CCD;//控制域	DCtrlDomain DCD;//控制域	BYTE SendAddress;//链路层地址	BYTE AsduAddress;//ASDU地址	int CpuNo;//CPU号	int FunCode;	bool bInit;	bool bLinkStatus;//链路状态,正常是TRUE,否则为FALSE	bool bLinkBusy;//链路忙}CommParam;//通用分类服务数据集#pragma pack()#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -