📄 system.c
字号:
#include "config.h"
void OutRel(void);
void Warn(void);
uint8 OutRelDel;
uint8 OutRelDel2;
uint8 WarnDel1;
uint8 WarnDel2;
uint8 DaBusy;
unsigned char const TabTmp[]=
{
87,87,87,87,87,87,87,87,87,87,
87,87,87,87,87,87,87,87,87,87,
87,86,85,83,81,80,79,78,76,75,
74,73,72,71,70,69,68,67,66,65,
65,64,64,63,62,61,61,60,60,59,
58,58,57,56,56,55,54,54,53,53,
52,52,52,51,51,50,50,49,49,48,
47,47,47,46,46,45,45,45,44,44,
43,43,43,42,42,42,41,41,40,40,
40,39,39,39,38,38,38,38,37,37,
37,36,36,36,35,35,35,35,34,34,
34,33,33,33,33,32,32,32,32,31,
31,31,30,30,30,30,29,29,29,29,
29,28,28,28,28,27,27,27,27,26,
26,26,26,25,25,25,25,25,24,24,
24,24,24,23,23,23,23,23,22,22,
22,22,21,21,21,21,21,20,20,20,
20,20,20,19,19,19,19,19,18,18,
18,18,18,17,17,17,17,17,17,16,
16,16,16,16,15,15,15,15,15,15,
14,14,14,14,14,14,13,13,13,13,
13,12,12,12,12,12,12,11,11,11,
11,11,11,10,10,10,10,10,10, 9,
9, 9, 9, 9, 9, 9, 8, 8, 8, 8,
8, 8, 7, 7, 7, 7, 7, 7, 6, 6,
6, 6, 6, 6, 5, 5, 5, 5, 5, 5,
5, 4, 4, 4, 4, 4, 4, 3, 3, 3,
3, 3, 3, 3, 2, 2, 2, 2, 2, 2,
1, 1, 1, 1, 1, 1, 0, 0, 0, 0
};
uint32 BdTmp;
uint8 TureBdTmp;
uint16 DxCurent;
uint16 TrapCurent;
uint16 LkVol;
uint16 PumVol;
uint16 Xx;
void TmpChg(void)
{
uint16 BdTmpVol;
BdTmpVol=BdTmp*250/1024; //v*100
if (BdTmpVol>289)
BdTmpVol=289;
TureBdTmp= TabTmp[BdTmpVol];
}
/**************************************************************************/
/* 系统运行状态 */
/*************************************************************************/
void System(void)
{
OutRel();
Warn();
if(rcv_new0==1)
{
MbusDel0();
}
/************************************************/
/* 系统温度 */
/************************************************/
BdTmp=IntAdDat[5];
TmpChg();
/************************************************/
/* 灯丝电流 */
/************************************************/
DxCurent=IntAdDat[2]*10;
/************************************************/
/* TRAP 电流 */
/************************************************/
TrapCurent=IntAdDat[3]*10;
/************************************************/
/* 捡漏口电压 */
/************************************************/
LkVol=IntAdDat[0]*10;
/************************************************/
/* 排气口电压 */
/************************************************/
PumVol=IntAdDat[1]*10;
/************************************************/
/* 全离子电压 */
/************************************************/
Xx=IntAdDat[4]*10;
SigVol=LeakValueRd/128/6;
}
/**************************************************************************/
/* 输出继电器控制 */
/*************************************************************************/
void OutRel(void)
{
if ((EnRel1!=0)&&(EnVacum==1))
{
if((LkPtVaccumMain>RelBase1)&&(OutRelDel==0))
{
SetOut1;
OutRelDel=5;
}
else if ((LkPtVaccumMain<(RelBase1*0.8))&&(OutRelDel==0))
{
RstOut1;
OutRelDel=5;
}
}
else if (EnRel1==0)
{
RstOut1;
}
if (((EnRel2!=0)&&(EnVacum==1)))
{
if((LkPtVaccumMain<RelBase2)&&(OutRelDel2==0))
{
SetOut2;
OutRelDel2=5;
}
else if ((LkPtVaccumMain>(RelBase2*1.2))&&(OutRelDel2==0))
{
RstOut2;
OutRelDel2=5;
}
else if ((RelBase2*1.2>1000)&&(OutRelDel2==0))
{
RstOut2;
OutRelDel2=5;
}
}
else if (EnRel2==0)
{
RstOut2;
}
}
/**************************************************************************/
/* 报警 控制 */
/*************************************************************************/
void Warn(void)
{
uint8 SoundTmp;
if (SysStd==LeakDtc)
{
if(AlarmExp<LeakExp)
{
Warning=0;
}
else if(AlarmExp>LeakExp)
{
Warning=1;
}
else
{
if(LeakBase>=AlarmBase)
{
Warning=1;
}
else
{
Warning=0;
}
}
}
else
Warning=0;
if (Warning==1)
{
//IRQDisable();
if(Volum==0)
{
da_5628(0,0);
if (WarnDel1==0)
{
WarnDel1=20;
da_5628(1,0);
}
}
else
{
if((Volum*7>=28)&&(Volum*7<=91))
{
SoundTmp=13;
}
else
{
SoundTmp=Volum;
}
da_5628(1,SoundTmp*7);
if ((AlarmExp-LeakExp)==0)
{
if (WarnDel1==0)
{
WarnDel1=50;
WarnDel2=25;
da_5628(0,255);
}
if (WarnDel2==0)
{
//WarnDel1=20;
da_5628(0,200);
}
}
else if((AlarmExp-LeakExp)==1)
{
if (WarnDel1==0)
{
WarnDel1=40;
WarnDel2=20;
da_5628(0,240);
}
if (WarnDel2==0)
{
da_5628(0,190);
}
}
else if((AlarmExp-LeakExp)==2)
{
if (WarnDel1==0)
{
WarnDel1=30;
WarnDel2=15;
da_5628(0,255);
}
if (WarnDel2==0)
{
da_5628(0,170);
}
}
else
{
if (WarnDel1==0)
{
WarnDel1=20;
WarnDel2=10;
da_5628(0,255);
}
if (WarnDel2==0)
{
da_5628(0,160);
}
}
}
//IRQEnable(); // 07 03 12
}
else
{
if ((VolumTmp!=Volum)&&(Warning!=1))
{
VolumTmp=Volum;
if (WarnDel1==0)
{
WarnDel1=30;
WarnDel2=15;
da_5628(0,255);
}
if (WarnDel2==0)
{
da_5628(0,170);
}
}
da_5628(0,0);
if (WarnDel1==0)
{
WarnDel1=20;
da_5628(1,0);
}
}
if (EnWarnRel==1)
{
if (Warning==1)
{
SetWarn;
}
else
{
RstWarn;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -