📄 main.h
字号:
#ifndef __MAIN_H
#define __MAIN_H
#include "type.h"
#include <rtl.h>
/////////////污染物存储位置/////////////////
#define P_ADDR_INSTANT 0
#define P_ADDR_MILAGE 1
#define P_ADDR_PH 2
#define P_ADDR_COD 3
#define P_ADDR_MOTOR 4
#define P_ADDR_NH4 5
#define P_ADDR_CR6 6
#define P_ADDR_TN 7
#define P_ADDR_TP 8
#define P_CODE_INSTANT "201"
#define P_CODE_MILAGE "202"
#define P_CODE_PH "001"
#define P_CODE_COD "011"
#define P_CODE_MOTOR "203"
#define P_CODE_NH4 ""
#define P_CODE_CR6 ""
#define P_CODE_TN ""
#define P_CODE_TP ""
/////串口访问超时时间2秒//////////////////
#define COMPORT_TIMEOUT 2
///////////////////////////////////////////////////
#define FILE_R 1 //读
#define FILE_W 4 //写
#define FILE_A 8 //添加 或 更改
/********EEPROM 存储定义*************/
#define SYS_INIT_BYTE_ADDR 0x1
#define PASSWORD_ADDRESS 0x10 //0x10~0x15
#define SYS_SUNJIAN_LIULIANG 0x18
#define SYS_LEIJI_LIULIANG 0x1c
#define JIN_SUI_LIU_LIANG_USED_ADDR 0x20
#define SYS_JINSHUI_LEIJI 0x24
#define SYS_CURR_INSTANT_ADDR 0x28
#define SYS_INSTANT_STEP 0x2c
#define SYS_LAST_REBOOT_TIME 0x58
#define SYS_LAST_DAY_REPORT 0x60
#define SYS_LAST_HOUR_REPORT 0x68
#define SYS_LAST_MIN_REPORT 0x70
#define SYS_LAST_INSTANT_REPORT 0x78
#define SYS_LAST_LOG_REPORT 0x80
#define SYS_LAST_REPORTONTTIME 0x88
#define SYS_LAST_ALARMREPORT 0x90
////////////////瞬间值存储开始地址////////////////////
#define SYS_INSTAT_START_ADDR 0x200 //存瞬时值的起始位置
#define SYS_INSTANT_BOTTOM_ADDR 0x14C0 //存瞬时值的结束位置
/************************************/
typedef struct {
BYTE FLUX_SET;// 0 不使用,1 使用Resien 2 AD需要计算累计值,3 不需要计算累计值
BYTE GUTTER_TYPE;// 槽型 0 巴歇尔 1 V型 2 矩形
BYTE GUTTER_NO;// 槽号 0~255
float GUTTER_HIGH ;//槽高
BYTE sleeptime;//采样的间隔秒数
} FLUX_PARAM;
typedef struct {
BYTE port_num;//端口号
BOOL flgUsed;
unsigned char p_id[3];// 污染物编号,与该端口绑定的污染物ID
unsigned int baud;
unsigned int flgChk;//奇偶校验 0-无,1-奇,2-偶
unsigned int databits;
unsigned int stopbits;
unsigned int timeout_ticks;//串口超时计数器
unsigned int timeout_calflg;
} COM_PORT; //串口
typedef struct {
BYTE port_num;//端口号
BOOL flgUsed;
unsigned char p_id[3];//与该端口绑定的污染物ID
float port_maxval;
float port_minval; //芯片提供的是0~5V,实际是1~5V是否需要负数?
float port_offset;//偏移
} AD_PORT; //AD
typedef struct {
BYTE port_num;//端口号
BOOL flgUsed;
unsigned int binddevid;//与该端口绑定的设备ID
unsigned int inval;//输入不敷出1-高电平,0-低
} IO_PORT;
typedef struct {
BYTE port_num;//端口号
BOOL flgUsed;
unsigned int binddevid;//与该端口绑定的设备ID
unsigned int outval;//输出1-高电平,0-低
} OUTPUT_PORT;
typedef struct {
unsigned char p_id[3];// 污染物编号
BOOL flgUsed;//使用标志
unsigned int unit;//[6];//单位,查表获得
unsigned int p_name;//查表获得
float p_alarmup;//报警上限
float p_alarmdown;//报警下限
float p_up;// 上限,超过则为异常
float p_down;//下限
} POLLUTANT;
typedef struct {
BOOL flgUsed;
unsigned int dev_id;
BOOL flgCanControl;//是否受控
unsigned char support_p_id[3];//支持的污染物
BYTE interfacetype;//接口类型0-AD,1-COM,2-DI,3-DO
BYTE portnum;//端口号
} DEV_INFO;//仪器
typedef struct {
BYTE bHasFlow;
BYTE bHasPH;
BYTE bHasCOD;
BYTE bHasMotor;
BYTE bHasNH4;
BYTE bHasTN;
BYTE bHasTP;
BYTE bHasCR6;
} DEVINFO_SNAP;//仪器使用快照
typedef struct {
unsigned int log_no; //有255种日志
unsigned int type;//日志类型 0-仪器,1-
//unsigned char log_desc[60]; //60个字节的日志描述,查表获得
} SYS_LOG_DICT;
typedef struct {
unsigned char measuretime[8]; //采集时间yymmddhhmmss
unsigned int log_no; //有255种日志
} SYS_LOG;
typedef struct {
unsigned char p_id[3];// 污染物编号
unsigned char measuretime[8]; //采集时间
float val; //对于开关量则需要转为整数
} MEASUREDATA_UNIT;//测量数据
/*
typedef struct {
unsigned char measuretime[8]; //采集时间
float val; //对于开关量则需要转为整数
} DATA_UNIT;//数据元,用于表格显示和曲线显示
*/
typedef struct {
unsigned char measuretime[8];
unsigned char uintlen; //数组中有效数据
MEASUREDATA_UNIT measuredata[10];//瞬时,累计,PH,COD,电机状态
} MEASUREDATA; //测量数据,针对水,气有不同的定义
typedef struct {
unsigned char localip[4];
unsigned char mask[4];
unsigned char gate[4];
unsigned char dns1[4];
unsigned char dns2[4];
unsigned char arp_addr[6];
} NET_CFG;
typedef struct {
BOOL flgUsed;
BYTE REMOTE_COMM_TYPE;// 0 - GPRS透明传输 1 - IP
BYTE REMOTE_COMM_PROTOCOL;// 0 - 伟创 1 - 国家 2 - 力合韶关 3 - 广西
unsigned char CENTER_IP[4];//IP
} CENTER;
/*系统配置结构*/
/**注意:LPC2300中栈大小为640Byte, 所以把配置结构分为2个结构***/
/*系统配置结构*/
typedef struct {
//站点信息
unsigned int site_type;
//unsigned char site_name[30];
unsigned int area_id;
unsigned int corp_id;
unsigned int site_id;
unsigned int site_timeout;//通信超时长度
unsigned int site_timeout_reconnect;//通信超时次数
//4~20mA端口定义
AD_PORT ad_port[12];
//OUTPUT端口定义
OUTPUT_PORT out_port[4];
//IO端口定义
IO_PORT io_port[8];
} _SITE_CONF;
typedef struct {
//串口定义
COM_PORT com_port[5];
//网络接口定义
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -