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

📄 pollute.h

📁 一个关于MODBUS方面的程序
💻 H
字号:

/*********************************************************************
* FileName : pollute.h  
* Author   : Jack Zhang
* Date     : 06/6/2008   
*********************************************************************/

#ifndef POLLUTE.H
#define POLLUTE.H

#define MAX    113
//-----------CP的数据结构-----------
typedef struct
{
  unsigned char rtd[17];
  unsigned char min[17];
  unsigned char avg[17];
  unsigned char max[17];
  unsigned char zsrtd[17];
  unsigned char zsmin[17];
  unsigned char zsmax[17];
  unsigned char zsavg[17];
  unsigned char flag;
  unsigned char cou[17];
  unsigned char rs;
  unsigned char rt[17];
  unsigned char ala[17];
  unsigned char upvalue[17];
  unsigned char lowvalue[17];
  unsigned char data[17];
  unsigned char daydata[17];
  unsigned char nightdata[17];
  
}detecttype;


typedef struct
{
   unsigned char systime[14];
   unsigned char qn[20];
   unsigned char qnrtd[3];
   unsigned char exertd[3];
   unsigned char rtdinteval[4];
   unsigned char alarmtime[14];
   unsigned char alarmtype;
   unsigned char reporttarget[20];
   unsigned char polid[3];
   unsigned char begintime[14];
   unsigned char endtime[14];
   unsigned char datatime[14];
   unsigned char reporttime[4];
   unsigned char daystdvalue[14];
   unsigned char nightstdvalue[14];
   unsigned char pno[4];
   unsigned char pnum[4];
   unsigned char pw[6];
   unsigned char overtime[5];
   unsigned char recount[2];
   unsigned char warntime[5];
   unsigned char ctime[2];
   unsigned char flag[3];
   
}cp_data;

typedef struct
{
  detecttype detect;
  cp_data    cp_param;
}polpara;

//---------------------------------------


//---------数据段结构--------------------
typedef struct
{
   unsigned char  qn[20];           //请求编号
   unsigned char  pnum[4];          //总包数
   unsigned char  pno[4];           //包号
   unsigned char  st[5];            //系统编号
   unsigned char  cn[7];            //命令编号
   unsigned char  pw[6];            //访问密码
   unsigned char  mn[14];           //设备唯一标识
   int   flag;             //是否拆包
   unsigned char  cp[1024];          //指令参数
}data_seg;

//---------数据包结构--------------------
typedef struct 
{
    unsigned char    pstart[2];     //包头
    int               len;           //数据包长度
    data_seg          pack_data;     //数据段
    unsigned short       crc;        //crc数据校验
    unsigned char     pend[2];      //结束标记
}package;                   


typedef struct
{ 
   unsigned char left[4][3];
   unsigned char right[4][15];
}valid_head;

typedef struct
{ 
   unsigned char left[113][20];
   unsigned char right[113][20];
   
}valid_cp;


static char head_left_map[4][3] = {"ST","CN","PW","MN"};

static char cp_left_map[113][20] = {
"SystemTime","QN","QnRtn","ExeRtn","RtdInteval","AlarmTime",
"AlarmType","ReportTarget","PolId","BeginTime","EndTime","DataTime",
"ReportTime","DayStdValue","NightStdValue","PNO","PNUM","Flag",
"OverTime","ReCount","WarnTime","CTime","PW",
"060-Rtd","060-Min","060-Avg","060-Max","060-ZsRtd","060-ZsMin",
"060-ZsAvg","060-ZsMax","060-Cou","060-RS","060-Ala","060-UpValue",
"060-LowValue","060-Data","060-DayData","060-NightData","060-RT","060-Flag",  //060为氨氮标识

"101-Rtd","101-Min","101-Avg","101-Max","101-ZsRtd","101-ZsMin",
"101-ZsAvg","101-ZsMax","101-Cou","101-RT","101-Ala","101-UpValue",
"101-LowValue","101-Data","101-DayData","101-NightData","101-RS","101-Flag", //101为总磷标识

"065-Rtd","065-Min","065-Avg","065-Max","065-ZsRtd","065-ZsMin",
"065-ZsAvg","065-ZsMax","065-Cou","065-RT","065-Ala","065-UpValue",
"065-LowValue","065-Data","065-DayData","065-NightData","065-RS","065-Flag", //065为总氮标识

"011-Rtd","011-Min","011-Avg","011-Max","011-ZsRtd","011-ZsMin",     //011为COD标识
"011-ZsAvg","011-ZsMax","011-Cou","011-RT","011-Ala","011-UpValue",
"011-LowValue","011-Data","011-DayData","011-NightData","011-RS","011-Flag",

"001-Rtd","001-Min","001-Avg","001-Max","001-ZsRtd","001-ZsMin",     //001为PH值标识
"001-ZsAvg","001-ZsMax","001-Cou","001-RT","001-Ala","001-UpValue",
"001-LowValue","001-Data","001-DayData","001-NightData","001-RS","001-Flag",
};

#endif

⌨️ 快捷键说明

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