📄 data.h
字号:
/*********************************************************************************************************
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: data.h
**创 建 人: 刘宝贵
**最后修改日期: 2004年4月16日
**描 述: 本项目所有全司变量
**
*********************************************************************************************************/
#define PARAMETER_MAX 15000
#define PARAMETER_MIN 5000
#define STOP 0 //停止
#define HALT 1 //静置
#define CHARGE 2 //充电
#define DISCHARGE 3 //放电
#define CELLERROR 4 //本点异常
#define CURRENTOVER 5 //当前工步完成
//本系统有两片FM24C16,本片只读(校参数时可写,通过跳线器使能)用来存参数。
#define CellParaIICBase 0x0400 //0x0400~~0x05FF
//本片可读写,用来存放程序运行时的各种需要掉电保存的参数
#define CurrentWorkStepIICBase 0x0010 //
#define CurrentWorkStepMaxIICBase 0x0011 //
#define SecondIICBase 0x0012 //0x0012~~0x0013
#define Cell_CIICBase 0x0020 //0x0020~~0x007F 96字节
#define Cell_TIICBase 0x0080 //0x0080~~0x00AF 48字节
#define Cell_SIICBase 0x00B0 //0x00B0~~0x00CF 24字节
#define WorkStepIICBase 0x0100 //0x0100~~0x017F 128字节
#define SumWorkStepIICBase 0x0180 //0x0180~~0x0181 2
#define ReferenceUTimeIICBase 0x0182 //0x0182~~0x03F2 624
#define ReferenceUIICBase 0x0400 //0x0400~~0x042F 48字节
#define IICSem 0
#define StartWorkStepSem 1
#define StopWorkStepSem 2
//#define StartCellCheckSem 3
//#define StopCellCheckSem 4
sbit POWER = P3^3;
sbit ALARMLED = P3^4;//1:on 0:0ff
sbit FMQ = P3^5;//0:on 1:0ff
sbit RUNLED = P3^6; // green LED: '1' = ON; '0' = OFF
sbit JDQ = P3^7;
sbit EN_485 = P2^0;
sbit AD_AS = P2^1;
sbit AD_BS = P2^2;
sbit AD_CS = P2^3;
struct celltype
{
uint16 u;//电压
uint16 i;//电流
uint32 c;//容量
uint16 t;//当前状态所持续时间
uint8 s;//当前状态
};
extern struct celltype xdata Cell[24];
extern uint8 xdata Address; //本机地址
struct step
{
uint8 type; //操作类型
uint16 i; //电流限值
uint16 limit;//截止限值
uint16 t; //时间限值
uint16 u; //充电时的电压设定值
};
extern struct step xdata WorkStep[13];
extern uint8 data SumWorkStep; //工步总数
extern uint8 data CurrentWorkStep; //当前正在执行的工步
extern uint8 xdata CurrentWorkStepMax; //当前正在执行的工步.用于通信中
extern uint16 xdata DAUBuf[24];
extern uint16 xdata DAIBuf[24];
extern uint16 data Second;
extern bit CellCheckFlag;
//extern bit SecondFlag;
extern bit Reset;
extern bit AdParaChanged;//如果AD参数被上位机通信报文修改置1,在TaskAD中查询为1时重取参数,取后置0.
extern bit DaParaChanged;//如果DA参数被上位机通信报文修改置1,在TaskWorkStep中查询为1时重取参数,取后置0.
extern uint16 xdata CommCounter;//通信计数器,正确收到一个报文时由void TaskReceive(void)清0,
//每秒种由void TaskCalcCapa(void)加1,当值大于240(4分钟)时报通信中断
//通信中断时由TaskCalcCapa(void)给void TaskWorkStep(void)发送'急停'信号量
extern uint16 xdata CellCheckUHigh;//对点电压高,上位机发对点命令修改值,执行对点过程读取之
extern uint16 xdata CellCheckULow ;//对点电压高,上位机发对点命令修改值,执行对点过程读取之
extern uint16 xdata CellCheckU[24];//用于电池对点的电压,是当前对应通道的AD采样值,没有滤波,这样可以高速反应
extern uint16 xdata ReferenceU[24];//平台电压,放电时电压每下降100mV,记录一次。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -