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

📄 meter.h

📁 采用MINIGUI开发的一套GUI界面
💻 H
字号:
//#define  DEBUG_COM 1
#define DEBUGCRC 1

#define METERTYPEMAX 6
#define METERADDRMAX 6
int bourate ;//将扫描时候的波特率保存为全局
//用于METER.C Receive()
#define MAX_RECV_LENGTH 600//一次性读取数据的最大长度

int channal_tolal_number;//所有设备的通道数总和
//以下变量在串口设备扫描上要用:
struct Type_data {
    unsigned char *num;
    unsigned char *name;
    unsigned char *long_addr;
    unsigned char *point_addr;
    unsigned char *attribute;
    unsigned char *up_value;
    unsigned char *down_value;    
    }; 
        struct Type_data Acquic ( unsigned char *type, unsigned char *num ) ;

/*下列结构用于命令发送,接收,数据转换*/
typedef struct  {
 unsigned char * cmd;			//发送命令
 int type;  			//接收命令的仪表类型
 int boudrate;		//接收命令的仪表的波特率
 int dev_addr;		//接收命令的仪表的地址
 int data_addr;		//接收命令的仪表的数据地址
 int data_number;       //接收命令的仪表的数据
 union   {
   int i;
   float f; }data;
}SEND_DATA_STRU;

typedef SEND_DATA_STRU *pSEND_DATA_STRU;



/*在整个工程中要用到的函数*/
void Comminit(void);
void GetRealValue(int device_id,unsigned char *buf );

        int Compstr(unsigned char * str1 , unsigned char *str2 , int n);
void RTU_Write( int dev_addr,float  content,int addr);
/*在整个工程中要用到的变量*/

unsigned char RecvBuf[1000];  //receive string
unsigned  char ReceivedBuf[500];
    int RecvLength;	 //global

      pthread_t CommThread[3];	
int CurThread;

int channel2addr;
//定义RTU命令
#define RTU_WRITE      0x06               //发送命令类型
#define RTU_READ    0x03
#define RTU_CHECK  0x08

/*WP协议仪表发送数据*/
typedef union {
   int i;
   float f;}WP_DATA;

/*WP 仪表写入字节数
    对应命令W1,W2,W4*/
 
#define BYTE1  0x31
#define BYTE2  0x32
#define BYTE4  0x34


unsigned char *pfunction;//用来完成数值运算,例如将INT ->ascii
float pv_value[4];
    int FlgRecv;    

//用于GUI上显示,调试用
unsigned char displaybuf[30];
 unsigned char valuepv[30];
//用于MINIGUI中MSG_CLOSE关闭串口2
int Commfd2;

//总共卡的个数
unsigned int dev_number;
//总共通道个数


//卡的类型 
#define CARD_PV  0x71		//pv卡
#define CARD_LIULIANG  0x51	//流量卡
#define CARD_PV1  0x11		//pv卡

//pv卡
int pv_id  ;
int  pv_number ;//PV卡总数
 

//流量卡
int flux_id  ;//流量卡id,表示当前操作的流量卡
int  flux_number ;//流量卡总数
int  comm_addr;//通讯时候的地址
unsigned short FluxReged[32];//存着此类型卡的设备号
unsigned short PidReged[32];//存着此类型卡的设备号


//pv卡




//test
int * ppp;
int number;
int recv_timeout;

void ReceiveSolution(void);


int  DeviceRegist(void);
void Receive(void);


void ReceiveRTU( void );
void forTest();   //for test
void SendRTU( int device_id,int command,int addr,int data);
 void FluxMeterCom(void);
 float HEX4ToFloat (unsigned char *p);
void   GotPV (void );


 

⌨️ 快捷键说明

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