typedef struct uint16_t bBusRoftFault 1 ; 0 uint16_t bBusVltHigh 1; 母线电压高1 uint16_t bBusVltLow 1; 母线电压低2 uint16_t bPv1VltHigh 1; PV1 3 uint16_t bPv2Vl
typedef struct { uint16_t bBusRoftFault :1 ; //0 母线离线故障位 uint16_t bBusVltHigh :1; //母线电压高1 uint16_t bBusVltLow :1; //母线电压低2 uint16_t bPv1VltHigh :1; //PV1电压高3 uint16_t bPv2VltHigh :1; //PV2电压高4 uint16_t bPv3VltHigh :1; //PV3电压高5 uint16_t bPv4VltHigh :1; //PV4电压高6 uint16_t bPv1VltLow :1; //PV1电压低7 uint16_t bPv2VltLow :1; //PV2电压低8 uint16_t bPv3VltLow :1; //PV3电压低9 uint16_t bPv4VltLow :1; //PV4电压低10 uint16_t bPv1CurOver :1; //PV1电流过流11 uint16_t bPv2CurOver :1; //PV2电流过流12 uint16_t bPv3CurOver :1; //PV3电流过流13 uint16_t bPv4CurOver :1; //PV4电流过流14 uint16_t bDcFAULT :1; //直流故障位15 }FaultWordDc_BITS;
typedef union { uint16_t all; FaultWordDc_BITS bit; }DcFaultWord; extern DcFaultWord DcFaultWrd;
typedef struct { uint16_t bAuxHI :1; //辅助电压高0 uint16_t bAuxLW :1; //辅助电压低1 uint16_t bAux :1; //辅助电流过流2 uint16_t bDc3stFAULT :1; //3 uint16_t bDcPwrLwr :1; //直流功率低4 uint16_t brev :11; //保留位15 }FaultWordDcAux_BIT;
typedef union { uint16_t all; FaultWordDcAux_BIT bit; }DcFaultWordDcAux; extern DcFaultWordDcAux DcAuxFaultWrd;
这段代码定义了两个结构体,分别是FaultWordDc_BITS和FaultWordDcAux_BIT,它们都是16位的无符号整数。其中FaultWordDc_BITS结构体中定义了16个位域,分别代表母线离线故障位、母线电压高低、4个PV电压高低、4个PV电流过流和直流故障位。而FaultWordDcAux_BIT结构体中定义了5个位域,分别代表辅助电压高低、辅助电流过流、直流3状态故障和直流功率低。同时,这两个结构体还定义了两个联合体DcFaultWord和DcFaultWordDcAux,它们都包含一个16位无符号整数和一个相应的结构体,用于方便访问和操作位域。最后,这两个联合体还分别定义了全局变量DcFaultWrd和DcAuxFaultWrd,用于存储相应的故障状态
原文地址: http://www.cveoy.top/t/topic/fc1V 著作权归作者所有。请勿转载和采集!