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

📄 datadef.c

📁 此源代码为电力系统中的RTU终端反馈!具有GPRS通讯功能!
💻 C
字号:
//********************************************//
//***********数据单元************** **********//
//*******************************************//
#include "DataDef.h"


//LCD显示的有关参数
BYTE DisDelay; 
BYTE  LinkState; //联路状态
int nhighV;  //电压上限
int nlowV;   //电压下限

unsigned int  Count1; 
unsigned int  Count3; 
unsigned int  Count4;

//结构体变量
// 以下四个变量一定要连续over_limit  value_time  off_time  RunState
OverLimitData  over_limit[8];//越限纪录数
SLim_Time value_time[16];//统计数据
OffTimeData    off_time[9];//保存最近9条停电记录
RTSTATE      RunState;


BYTE nticks1=0;
BYTE nticks2=0;
DEVICESTATE  DeviceState;
COMMSTATE    CommState;

 unsigned int KP_A0;
 unsigned int KP_A1;
 unsigned int KP_B0;
 unsigned int KP_B1;
 unsigned int KP_C0;
 unsigned int KP_C1;


BYTE nSendBytesCount=0;
// BOOL bCommGroup2=FALSE;

SPECIALFLAG SpecialFlag;
CONTROL_FIELD strcontrol;
QUALIFIEROFVARSTR nVarQualifier;
CAUSEOFTRANSMISSION nTransCause;
BD_DATA BD_data;
STDATETIME stDateTime,stFileName;
TTU_RUNPARAM TTU_RunParam;

//以下二行不可分开AddedPQ,AddedYM
long  AddedPQ[4];           //电度表底
unsigned short AddedYM[2];   //遥脉小数部分

BYTE YmState=6;
BYTE nTypeIdentity;      
BYTE Controlcode,  Controlold;      
BYTE nCOI;                
BYTE nASDULen;
BYTE nYKQualifier;
BYTE nParamQualifier;


//通讯中使用
BYTE RCommCode[RDATARECVLENG];
BYTE TCommCode[TDATARECVLENG]; //发送数据打包


BYTE m_EnCur=0;          //打包的数据长度
BYTE CommDataLen=0;      //通讯过程中字节数

//数据


//时钟变量
BYTE InitTime[7];     // 2003/4/1/2/1/1/1

unsigned int ptr_1024;

BYTE nFileDataLen=0 ;
BYTE nRecData=0;
BYTE nYKObject=0;

//AD采样值
int Ua_Data[32],Ia_Data[32];
int Ub_Data[32],Ib_Data[32];
int Uc_Data[32],Ic_Data[32];

//脉冲的个数和测频的时间
//int PulseCounter = 0;
//int PulseTime = 0;

//电度量的计算
long int  Ps,Qs;                              //用于计算电度量的统计
long int  Pas ,Pbs,Pcs;
long int  Qas, Qbs,Qcs;
long int  Psum, Qsum; 

int U_base, I_base;                          //电压,电流基波值,计算谐波率用
unsigned int Ua_base,Ub_base,Uc_base;
unsigned int Ia_base,Ib_base,Ic_base;

unsigned long  int Un,In;                        //电压,电流的谐波值的总和,计算谐波率用
unsigned int Uan,Ubn,Ucn;
unsigned int Ian,Ibn,Icn;

unsigned int  U1R,U1I,I1R,I1I;               //电压,电流基波的虚部,实部,计算不平衡率用
int Ua_base_r, Ua_base_i, Ub_base_r, Ub_base_i;
int Uc_base_r, Uc_base_i;
int Ia_base_r, Ia_base_i, Ib_base_r, Ib_base_i;
int Ic_base_r, Ic_base_i;

unsigned int  U,I;                  //电压,电流的中间量 
long P,Q;

// BYTE Counter;

long I0 =0;                           //零序电流用的是累加的方法

unsigned int  delayselect=0;  //遥控选择delay
unsigned int   delayoperate;
BYTE  YKselect=0,YKoperate=0;
BYTE  YKObj=0;
BYTE MCUState = 17 ;  //停电状态

BYTE  WriteDelay=0 ; //写1024延时
BYTE  TxGap; //发送间隙
SUABC  Uabc;
BYTE Delay485 ;
char Sam_Counter ;
long Freq;
long Temp; 
BYTE CapDelay;
unsigned int numconst = 60000;  
int Uaold=-1;

BYTE  HisCate;   //历史数据存储模式

  

⌨️ 快捷键说明

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