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

📄 jgt.h

📁 msp430和nrf905的例子,联系qqliuyong007@163.com
💻 H
字号:
 typedef struct //低位对应8个继电器,高8位保留。
{unsigned bit1: 1;
 unsigned bit2 :1;
 unsigned bit3 :1;
 unsigned bit4 :1;
 unsigned bit5: 1;
 unsigned bit6 :1;
 unsigned bit7 :1;
 unsigned bit8 :1;
 unsigned bit9 :8;
 }bit;
 struct relay              //继电器逻辑变量和输出量设置结构体定义
{ unsigned short controlmode;    //低位对应8个继电器,高8位保留。   //bool controlmode;  
  unsigned short actpulse[8];    //8个继电器的动作脉宽。//unsigned char actpulse; 
  unsigned short lockstate;//寄存器的锁存状态,为1的话释放锁存的继电器。
 }rel;
 
 
 
typedef struct //定值通道的四种相关数据
{unsigned short logicalmode;//逻辑模式
 unsigned short actcondition;//动作条件
 unsigned short actcontinuetime;//动作延时
 unsigned short actkeyvalue;//动作键值
 }channel;
 //channel alarm;
 //channel logical;
 
struct Fixedvalues//定值通道结构体定义
{channel alarm[8];
 channel logical[8];
 }Fixedvalue;   //这样定义不会引起结构体存放位置的变化
 

 
typedef struct //起始段和费率定义
{unsigned short incept;//时间取值
 unsigned short fee;//费率取值
 }inceptfee;
// inceptfee infee[8];
 
 typedef struct //费率结构
{unsigned short inlow;//输入有功电度低字
 unsigned short inhigh;//输入有功电度高字
 unsigned short outlow;//输出有功电度低字
 unsigned short outhigh;//输出有功电度低字
 unsigned short inulow;//输入无功电度低字
 unsigned short inuhigh;//输入无功电度高字
 unsigned short outulow;//输出无功电度低字
 unsigned short outuhigh;//输出无功电度高字
 }feestructure;
// feestructure feestr[4];

 
struct againfees//复费率结构体定义
{unsigned short timenumber;
 inceptfee infee[8];
 feestructure feestr[4];
unsigned short reserved[32]; //保留
 }againfee;
 

 
 typedef struct //UNIX时间结构体
{unsigned short lowsecond;//UNIX时间底位数
 unsigned short highsecond;//UNIX时间高位数
 }UNIXtime;
// UNIXtime UNIXti;
 
 typedef struct //事件标号
{unsigned short number1;//标号1 表示事件类型及状态
 unsigned short number2;//标号2 表示发生时间毫秒
 unsigned short number3;//标号3 事件发生UNIX秒低字
 unsigned short number4;//标号4 事件发生UNIX秒高字
 }eventnumber[1];
// eventnumber  eventnum;

struct eventnotes//事件记录结构体定义
{ 
 UNIXtime UNIXti;
 eventnumber  eventnum[1];
 }eventnote;
 

 
 typedef struct //baud结构体定义
{unsigned short com1;//通讯口1波特率
 unsigned short com2;//通讯口2波特率
 unsigned short com3;//通讯口3波特率
 unsigned short com4;//通讯口4波特率
}baud;
// baud baudrate;
 
typedef struct //设备型号定义
{unsigned char productname[10];//厂家名称
 unsigned char maintypeno[5];//主型号
unsigned char subtypeno[5];//次要型号
 }sbxhao;

struct systemsetups    //系统设置
 {unsigned short sbzh;//设备组号
  unsigned short sbh;//设备号
  sbxhao sbxh;     //设备型号 
  baud baudrate;   //通讯口波特率
  unsigned short PT;//PT 变比
  unsigned short CT;//CT 变比
  unsigned short connectionmode;//接线模式
  unsigned short password;//密码
  unsigned short ccxlhlow;//出厂序列号低位
  unsigned short ccxlhhigh;//出厂序列号高位
  unsigned short rjbblow;//软件日期版本低位
  unsigned short rjbbhigh;//软件日期版本高位
  unsigned short xlsjcslow;//需量时间常数低位
  unsigned short xlsjcshigh;//需量时间常数高位
  unsigned short bjycsjlow;//报警延迟时间低位
  unsigned short bjycsjhigh;//报警延迟时间高位
  unsigned short txycsjlow;//通信延迟时间低位
  unsigned short txycsjhigh;//通信延迟时间高位
  unsigned short passwordL1;//密码L1
  unsigned short passwordL2;//密码L2
  //unsigned short dqtime;//当前时间
  //unsigned short dqdate;//当前日期
  unsigned short pulseoutmode;//脉冲输出模式
unsigned short reserved[32];//保留
  }systemsetup;


//注意:以下结构体紧接着上面的结构体存放,但是下面结构体的值的存取方式和上面的不一样
struct systemsetups1    //系统设置2
{
 UNIXtime dqdatetime;//当前时间  当前日期
unsigned short eventflag;// 清除事件记录
 unsigned short enegerflag;// 清除电度
unsigned short maxminflag;//清除最大最小值
unsigned short warnflag;//定值清零
unsigned short feeflag;//费率清零
unsigned short reserved[2];//保留
} systemsetup1;

//long 是32位!
//采集的数据
typedef struct 
 {  UNIXtime dqdatatime;  
    	//unsigned long SpiStatus1; 
    	//unsigned long SpiStatus2;
	
    unsigned short   I[4];   //三相电流和中线电流
    unsigned short reserved1;//保留
    unsigned short   U[3];   //三相相电压
    unsigned short reserved2;//保留
    unsigned short   XU[3];  //三相线电压
    unsigned short reserved3;//保留
    signed long ActPwr[4];//三相有功功率和总有功功率
    signed long ReaPwr[4]; //三相无功功率和总有功功率
    signed long AppPwr[4]; //三相视在功率和总有功功率
    signed short Factor[4];//三相功率因数
    unsigned short  MainF;     //系统频率
	unsigned long  r_PosEpt ; //三相输入有功电能 低位和高位不要弄错
    unsigned long r_NegEpt; //三相输出有功电能
    unsigned long r_AddEpt; //有功电度的总和
    unsigned long r_DecEpt;  //有功电度的净值
   
    unsigned long r_PosEqt; //三相输入无功电能
    unsigned long r_NegEqt; //三相输出无功电能
    unsigned long r_AddEqt; //无功电度的总和
    unsigned long r_DecEqt;    //无功电度的净值
    unsigned long r_Set;  //视在电度的总和
	unsigned short eventnum;// SOE 事件计数器

//失真度
unsigned short iTHD[4];// 三相电流失真度
unsigned short uTHD[3]; //三相电压流失真度
unsigned short xuTHD[3]; //三相线电压失真度
 } SPIRegister;
 
 SPIRegister SPI;
 
//下面这个结构包含其他一些实时测量值 主程序实现 
typedef struct
{
unsigned short inputstate;// 输入开关量 当某一开关量通道闭合,则对应状态位为1,反
//之为0。
 unsigned short relaystate;//继电器状态 1为响应的继电器闭合
 unsigned short channelstate;// 定值和逻辑通道状态 1为通道被激活
unsigned long anologue;// 模拟量输入值
unsigned long feestate;// 当前费率  读出每个时段(共8个)的费率
} SPIRegister1;

SPIRegister1 SPI1;

typedef unsigned char UBYTE;//没有这句话,下面不通的
typedef unsigned short UWORD;//没有这句话,下面不通的
typedef unsigned long UDWORD;//没有这句话,下面不通的
typedef struct 
{    UWORD imaxmin[4][2];//3表示3相 中线  2表示最大最小值 电流最大最小值
     UWORD umaxmin[3][2];  //相电压最大最小值
     UWORD xumaxmin[3][2]; //线电压最大最小值
     UDWORD actpwrmaxmin[4][2];   //三相 总 有功功率最大最小值 
UDWORD reapwrmaxmin[4][2];   //三相 总 无功功率最大最小值 
UDWORD apppwrmaxmin[4][2];   //三相 总 视在功功率最大最小值 
     UWORD fctmaxmin[4][2];   //三相 总 功率因素 最大最小值 
    UWORD fmaxmin[2];	//系统频率最大值 最小
}MAXMIN;

 typedef struct
{    UDWORD tmimaxmin[4][2];//三相 中线 电流最大最小值时间
     UDWORD tmumaxmin[3][2];  //相电压最大最小值时间
     UDWORD tmxumaxmin[3][2]; //线电压最大最小值时间
     UDWORD tmactpwrmaxmin[4][2];   //三相 总 有功功率最大最小值 时间
UDWORD tmreapwrmaxmin[4][2];   //三相 总 无功功率最大最小值 时间
UDWORD tmapppwrmaxmin[4][2];   //三相 总 视在功功率最大最小值 时间
     UDWORD tmfctmaxmin[4][2];   //三相 总 功率因素 最大最小值 时间
    UDWORD tmfmaxmin[2];	//系统频率最大值 最小时间
 }MTIME;

struct
 { 
        UBYTE second;
        UBYTE minute;
        UBYTE hour;
        UBYTE date;
        UBYTE month;
        UBYTE year;
 } cur_time;
MTIME mytime;
MAXMIN myMAXMIN;
UWORD count,a,maxdate; 
char sel;    //暂时代替的接线方式

//需量变量定义
typedef struct
{ //三相电流需量及其最大值
   UWORD NEEDAi;
   UWORD MAXNEEDAi;
   UWORD NEEDBi;
   UWORD MAXNEEDBi;
   UWORD NEEDCi;
   UWORD MAXNEEDCi;
   //三相有功功率需量及其最大值
   UDWORD NEEDACTPWR[3];
   UDWORD MAXNEEDACTPWR[3]; 
   
   //三相无功功率需量及其最大值
   UDWORD NEEDREAPWR[3];
   UDWORD MAXNEEDREAPWR[3];
   
  //三相视在功率需量及其最大值
  UDWORD NEEDAPPPWR[3];
  UDWORD MAXNEEDAPPPWR[3];
  } XULIANG;
  
XULIANG myNeed;//这里必须定义一个全局变量  
typedef struct
{  UWORD uhwave[3][16];//3表示 3相 ,16表示1到31次谐波。电压谐波
   UWORD ihwave[3][16];//电流谐波
 } XIEBO;

XIEBO myXIEBO;//定于全局变量,存放谐波

⌨️ 快捷键说明

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