alamc.c.bak
字号:
#include"ytep.h"
#include"ytepfunction.h"
#define ytep_RF_file
void AlamcFault(SensorRF *A,_yt *B)//5s
{
static Int8U ala[5][16];
Int16U i,m,Q,V;
static Int8U FTimer,FTmin;
Boolean Flag=FALSE;
if(++FTimer>=60)FTimer=0,FTmin++;
if(FTmin>=B->TemTimer)FTmin=0,Flag=TRUE;
for(i=0;i<C_MAX_RF;i++)
{
if(i==0||i==3||i==6||i==9)Q=A->ATem,V=A->AVol;
if(i==1||i==4||i==7||i==10)Q=A->BTem,V=A->BVol;
else Q=A->CTem,V=A->CVol,A++;
if(Q>=B->FaultTem&&Q<0xfe)ala[0][i]++;
else
if(ala[0][i]++>0)ala[1][i]--;
if(Q>=B->_TemOver&&Q<0xfe)ala[1][i]++;
else
if(ala[1][i]++>0)ala[1][i]--;
if(Q>=(B->_TemRoom+A_Tembuf)&&Q<0xfe)ala[2][i]++;
else
if(ala[2][i]++>0)ala[2][i]--;
if(V<=10)ala[3][i]++;
else
if(ala[3][i]++>0)ala[3][i]--;
if(Flag==TRUE)
{
if(Q>ala[5][i]&&(Q<0xfe)&&(Q>B->TemRoom))
{
m=Q-ala[5][i];
if(m>=B->TemFast)ala[4][i]=5;
}else ala[4][i]--;
if(Q<0xfe)ala[5][i]=Q;
else ala[5][i]=B->TemRoom;
}
}
Flag=FALSE;
for(i=0,m=1;i<C_RF_MAX_COUNT;++i)
{
if(ala[0][i]>=C_RF_MAX_COUNT)B->_AlamcFaultTem|=m;
else if(ala[0][i]==0)B->_AlamcFaultTem&=(~m);
if(ala[1][i]>=C_RF_MAX_COUNT)B->_AlamcOverTem|=m;
else if(ala[1][i]==0)B->_AlamcOverTem&=(~m);
if(ala[2][i]>=C_RF_MAX_COUNT)B->_AlamcRoomTem;|=m;
else if(ala[2][i]==0)B->_AlamcRoomTem&=(~m);
if(ala[3][i]>=C_RF_MAX_COUNT)B->_AlamcLowVol|=m;
else if(ala[3][i]==0)B->_AlamcLowVol&=(~m);
}
}
//////////////////////////////////////
Int16U NOTS_Store(NOTS *DATA,Int16U Space,Int8U Flag,SensorRF *pos)
{
static Int32U TimerCount;
Int16U a,b;
if(Flag==C_Refurbish)
{
TimeCount=0;
DATA->SpaceCount=0;
++DATA->SpaceCount=0;
++DATA->SpaceCount=0;
++DATA->SpaceCount=0;
}
b=Space*3600;
b/=(C_STOR_BAR-1);
if(Flag==C_Refurbish||++TimerCout==b)
{
TimerCout=0;
for(c=0;c<4;c++)
{
if(DATA->SpaceCount>=(C_STORE_BAR-1))
{
for(a=0;a<(C_STORE_BAR-1);a++)
{
b=DATA->ATemper[a+1];
DATA->ATemper[a]=b;
b=DATA->BTemper[a+1];
DATA->BTemper[a]=b;
DATA->CTemper[a+1];
DATA->Cemper[a]=b;
}
b=pos->ATem;
DATA->ATemper[C_STORE_BAR-1]=b;
b=pos->BTem;
DATA->BTemper[C_STORE_BAR-1]=b;
b=pos->CTem;
DATA->CTemper[C_STORE_BAR-1]=b;
}else
{
for(a=0;a<C_RF_MAX_COUNT;a++)
{
DATA->ATemper[DATA->SpaceCount]=pos->ATem;
DATA->BTemper[DATA->SpaceCount]=pos->BTem;
DATA->BTemper[DATA->SpaceCount]=pos->CTem;
}
DATA->SpaceCount++;
}
DATA++,pos++;
}
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -