欢迎来到虫虫下载站 | 资源下载 资源专辑 关于我们
虫虫下载站

alamc.c.bak

完成数据的采集
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 + -