?? 103struct.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>:數(shù)目 BYTE Count :1;/*BS1[7]<0~1>:具有相同的通用分類標(biāo)識序號(RII)和相同的通用分類標(biāo)識序號(GIN)的應(yīng)用服務(wù)數(shù)據(jù)單元 通用分類標(biāo)識的一位計數(shù)器位,計數(shù)器位初始值為0*/ BYTE Cont :1;/*BS1[8]<0~1>:0:后面未跟隨具有相同的返回標(biāo)志符(RII)和相同的通用分類標(biāo)識序號(GIN)的應(yīng)用服務(wù)數(shù)據(jù)單元。 1:后面跟隨具有相同的返回標(biāo)志符(RII)和相同的通用分類標(biāo)識序號(GIN)的應(yīng)用服務(wù)數(shù)據(jù)單元。*/ }nde; BYTE byte;}NDE;//描述元素的數(shù)目(NDG):CP8{數(shù)目(No),計數(shù)器位(Count),后繼位(Cont)}typedef union tag103NGD{ struct tagngd{ BYTE No :6;//UI[1~6]<1~63>:數(shù)目 BYTE Count :1;//BS1[7]<0~1>:具有相同的通用分類標(biāo)識序號(RII)的應(yīng)用服務(wù)數(shù)據(jù)單元的一位計數(shù)器位,計數(shù)器位初始值為0 BYTE Cont :1;/*BS1[8]<0~1>:0:后面未跟隨具有相同的返回標(biāo)志符(RII)的應(yīng)用服務(wù)數(shù)據(jù)單元。 1:后面跟隨具有相同的返回標(biāo)志符(RII)的應(yīng)用服務(wù)數(shù)據(jù)單元。*/ }; tagngd ngd; BYTE byte;}NGD;//通用分類數(shù)據(jù)集數(shù)目(NGD):CP8{數(shù)目(No),計數(shù)器位(Count),后續(xù)狀態(tài)位(Cont)}typedef union tag103GDD{ struct taggdd{// P22 7.2.6.32 BYTE DataType; //數(shù)據(jù)類型(DATATYPE) BYTE DataSize; //數(shù)據(jù)寬度(DATASIZE) BYTE Number :7; //數(shù)目(NUMBER) BYTE Cont :1; //后續(xù)狀態(tài)位(CONT) }; taggdd gdd; BYTE byte[3];}GDD;//通用分類數(shù)據(jù)描述(GDD):CP24{數(shù)據(jù)類型(DATATYPE),數(shù)據(jù)寬度(DATASIZE),數(shù)目(NUMBER),后續(xù)狀態(tài)位(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;//幀計數(shù)有效位,在FunCode=3、10、11有效 BYTE FCB :1;//幀計數(shù)位 BYTE PRM :1;//啟動報文, 控制系統(tǒng)-->保護設(shè)備時為 1 。 BYTE res :1;//保留位 }; struct _tagCtrlToDev CtrlToDev; //控制系統(tǒng)-->保護設(shè)備 BYTE byte; //替換操作數(shù)據(jù)字節(jié)}CCtrlDomain;//控制域typedef union tagDCtrlDomain{ struct _tagDevToCtrl { BYTE FunCode :4;//功能碼 FUNTYPE BYTE DFC :1;//數(shù)據(jù)流控制位 BYTE ACD :1;//要求訪問位 BYTE PRM :1;//啟動報文, 保護設(shè)備-->控制系統(tǒng)時為 0 。 BYTE res :1;//保留位 }; struct _tagDevToCtrl DevToCtrl; //保護設(shè)備-->控制系統(tǒng) BYTE byte; //替換操作數(shù)據(jù)字節(jié)}DCtrlDomain;//控制域typedef union tagVSQ{ struct _tagVSQ { BYTE num :7;//數(shù)目 BYTE sq :1;//0:尋址一個信息體內(nèi)的順序的信息元素,1:尋址單個信息元素或綜合信息元素 }vsq; BYTE byte;}VSQ;//可變結(jié)構(gòu)限定詞typedef union tagDPI{ struct _tagDPI { BYTE dpi :2;//1:開(OFF),2:合(ON) BYTE res :6; }dpi; BYTE byte;}DPI;//雙點信息(P18,7.2.6.5節(jié))typedef struct tagGIN{ BYTE GROUP;//組號 BYTE ENTRY;//條目}GIN;//通用分類標(biāo)識序號-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:擾動數(shù)據(jù)等待傳輸,1:擾動數(shù)據(jù)正在傳輸 BYTE TEST :1;//0:在正常操作時被記錄的擾動數(shù)據(jù),1:在測試模式下被記錄的擾動數(shù)據(jù) BYTE OTEV :1;//0:由啟動/檢出故障觸發(fā)被記錄的擾動數(shù)據(jù),1:由其他事件觸發(fā)被記錄的擾動數(shù)據(jù) BYTE RES :4;//未用 }sof; BYTE byte;}SOF;//故障的狀態(tài)(SOF)(P20,7.2.6.24)typedef union tagSwitchData{ struct { WORD TAP; //標(biāo)志的位置 BYTE FUN; //功能類型 BYTE INF; //信息序號 BYTE DPI; //在7.2.5.2中定義 }data; BYTE byte[5]; }SwitchData;//帶標(biāo)志的狀態(tài)變位,參見ASDU29(帶標(biāo)志的狀態(tài)變位傳輸)typedef struct tagChannelData{ BYTE ACC; //實際通道序號 WORD* NDV; //每個應(yīng)用服務(wù)數(shù)據(jù)單元有關(guān)擾動值的數(shù)目 WORD* NFE; //應(yīng)用服務(wù)數(shù)據(jù)單元的第一個信息元素的序號 WORD* SDV; //單個擾動值}ChannelData;//通道數(shù)據(jù),參見ASDU27(被記錄的通道傳輸準(zhǔn)備就緒),ASDU30(傳輸擾動值)typedef struct tagDistrubDataTable{ BYTE addr; WORD FAN; //故障序號 WORD NOF; //電網(wǎng)故障序號 BYTE SOF; //故障狀態(tài) CP56Time2a Cp56Time;//故障時間}DistrubDataTable;//擾動數(shù)據(jù)表的信息typedef struct tagACCInfo { BYTE ACC; //實際通道號 float RPV; //一次額定值 float RSV; //二次額定值 float RFA; //參比因子}ACCInfo;//通道信息,參見ASDU27(被記錄的通道傳輸準(zhǔn)備就緒)typedef struct tagDataSet{ GIN gin; BYTE kod; GDD gdd; CByteArray gid;}DataSet;//通用分類服務(wù)數(shù)據(jù)集typedef struct tagCommParam{ CCtrlDomain CCD;//控制域 DCtrlDomain DCD;//控制域 BYTE SendAddress;//鏈路層地址 BYTE AsduAddress;//ASDU地址 int CpuNo;//CPU號 int FunCode; bool bInit; bool bLinkStatus;//鏈路狀態(tài),正常是TRUE,否則為FALSE bool bLinkBusy;//鏈路忙}CommParam;//通用分類服務(wù)數(shù)據(jù)集#pragma pack()#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -