⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 监控仪 监控仪 监控仪
💻 C
📖 第 1 页 / 共 5 页
字号:
{
  write(0x0021, 56);

 Byte_Try= read(0x0021);//read E2prom

  Display_Acord_Value( 0x8000,Byte_Try,0);
}   */
//unsigned char Temp;
 // Write_Para();///////////////////////
//  Read_Para();
  Temp_Output=0x07;//0x8008输出初始化
  XBYTE[0x8008]=Temp_Output;


  Code_Input=5555;
 // Init_Para_Setting();//初始化各个参数
 // Write_Para_SetSelf();//写入
  Read_Para_SetSelf();//读出



  Byte_Sign_First_Alarm_StartStop=0;

//////////////////////////输出电源灯
  Temp_Output=Temp_Output&0xfb;//lamp
	
  XBYTE[0x8008]=Temp_Output;///////输出
  Count_Start_Machine_15s=0;


  Get_Key_bit=0;

  

Para_Setting_TemOil_Kongyaji530=Para_Setting_TemOil;
Para_Setting_PreOil_Kongyaji530=Para_Setting_PreOil;

 // while(1);




  while(1)
  {
   unsigned int Temp_Time_Display;//显示时间的临时量




    ///////////////////////530柳州
   if(XBYTE[0x8009]&0x20)////显示空压机或发动机的油温油压 状态位
     Bit_Motor_TemPre=1;
   else
     Bit_Motor_TemPre=0;



   	if(Capture_Count>50)//capture one time 
			{
		     // i++;
			 // if(i>3) i=0;
			  for( i=0;i<4;i++)
		      {
			    Tem_Oil[i]=Calculate_Tem ( read1543(0) ,1);
			    Pre_Oil[i]=Calculate_Pre ( read1543(1) );
			    Tem_Water[i]=Calculate_Tem ( read1543(2),0);
				Voltage_28v[i]=read1543(3);
		
		      } 
		       Tem_Water[4]=   (  (int)((float)(Tem_Water[0]+Tem_Water[1]+Tem_Water[2]+Tem_Water[3])/4)) ;//;//;
		       Pre_Oil[4]=(int)((float)(Pre_Oil[0]+Pre_Oil[1]+Pre_Oil[2]+Pre_Oil[3])/4);
		       Tem_Oil[4]= (  (int)((float)(Tem_Oil[0]+Tem_Oil[1]+Tem_Oil[2]+Tem_Oil[3])/4) )  ;//;//;
		
			   Voltage_28v[4]=(Voltage_28v[0]+Voltage_28v[1]+Voltage_28v[2]+Voltage_28v[3])/4;
		

			  Value_Test_24v=Voltage_28v[4]* Calculate_Line_k( 0,0,0X3ff,5)/0.14163  +1;
               

					  ////////////////////
		/////////////////////////增加530柳州监控仪软件
		   for( i=0;i<4;i++)
		  {
		
		    
			Tem_Oil[i]=Calculate_Tem ( read1543(4),1 );//空压机油温
			Pre_Oil[i]=Calculate_Pre ( read1543(5) );//空压机油压
		//	Tem_Water[i]=Calculate_Tem ( read1543(2));
			//    Tem_Oil_Ave+=read1543(0);
		  //  Tem_Water_Ave+=read1543(2);
		    //Pre_Oil_Ave+=read1543(1);
		  }
		   Tem_Kongyaji_530=(  (int)((float)(Tem_Oil[0]+Tem_Oil[1]+Tem_Oil[2]+Tem_Oil[3])/4) ) ;
		   Pre_Kongyaji_530=(int)((float)(Pre_Oil[0]+Pre_Oil[1]+Pre_Oil[2]+Pre_Oil[3])/4);
		
		   for( i=0;i<4;i++)
		  {
		
		    
			Tem_Oil[i]=Calculate_Pre ( read1543(6) );//空压机油温
			Pre_Oil[i]=Calculate_Pre ( read1543(7) );//空压机油压
		//	Tem_Water[i]=Calculate_Tem ( read1543(2));
			//    Tem_Oil_Ave+=read1543(0);
		  //  Tem_Water_Ave+=read1543(2);
		    //Pre_Oil_Ave+=read1543(1);
		  }
		   Pre_Jinqiguan_530=(int)((float)(Tem_Oil[0]+Tem_Oil[1]+Tem_Oil[2]+Tem_Oil[3])/4);
		   Pre_Chuqiguan_530=(int)((float)(Pre_Oil[0]+Pre_Oil[1]+Pre_Oil[2]+Pre_Oil[3])/4);
		 //  Temp_Pre_Oil=Pre_Oil_Ave/4;


		      Capture_Count=0;
			}


	



   /////////////////////////任何 时候都能停机
     if( GetKey_Count_ForUse_Stop>40)
			 {
		
		    	 if( ((Key==TINGJI)||(Key==TINGJI1))&&(Key==XBYTE[0x8009])&&(Bit_NO_Start_15s_Setting==0))//for stop
			   {
			     Bit_OilValve_Start=0;//启动机组
				 Bit_Stop=1;//停机
		
		
				 Bit_Stop_Sure=1;
				 Count__Stop_Sure=0;
		
		
				 Temp_Output=Temp_Output|0x10;//jidianqi
			//	 Display_Acord_Value( 0x8000,456,0 );
			//	 Output_Sign();
			   }
			   else
			   {
				  Bit_OilValve_Start=0;//启动机组
				  Bit_Stop=0;//停机
			//	  Temp_Output=Temp_Output&0xef;
		
				  GetKey_Count_ForUse_Stop=0;
			//	  Get_Key_bit=0;
			//	  Output_Sign();
			   }
			//   XBYTE[0x8008]=Temp_Output;
		  	  
		  }
		     ////////////////停机确认后送5s继电器
			// if(    (Bit_Stop_Sure)&&(Count__Stop_Sure>1000)   )
			//	 if(    (Bit_Stop_Sure)&&(Count__Stop_Sure>1000)   )
		
		    if(    (Bit_Stop_Sure)&&(Count__Stop_Sure>   (Para_Setting_Stop_SureTime*1000/5)    )   )
			 {
			     Temp_Output=Temp_Output&0xef;
			//	 XBYTE[0x8008]=Temp_Output;
				 Bit_Stop_Sure=0;
			 }
		
		     XBYTE[0x8008]=Temp_Output;///////输出



   ////////////////启动 过程 中 
   if(  (Bit_Protection_Start==1)&&(Bit_Sign_SettingPara==0)&&(Bit_NO_Start_15s_Setting==0) )
   {
        ///////////////////////////////////////
     	if(Capture_Count>50)//capture one time 
			{
		    //  i++;
			//  if(i>3) i=0;
			  for( i=0;i<4;i++)
		      {
			    Tem_Oil[i]=Calculate_Tem ( read1543(0),1 );
			    Pre_Oil[i]=Calculate_Pre ( read1543(1) );
			    Tem_Water[i]=Calculate_Tem ( read1543(2),0);
		
		      } 
		       Tem_Water[4]=   (  (int)((float)(Tem_Water[0]+Tem_Water[1]+Tem_Water[2]+Tem_Water[3])/4))  ;//;//;
		       Pre_Oil[4]=(int)((float)(Pre_Oil[0]+Pre_Oil[1]+Pre_Oil[2]+Pre_Oil[3])/4);
		       Tem_Oil[4]= (  (int)((float)(Tem_Oil[0]+Tem_Oil[1]+Tem_Oil[2]+Tem_Oil[3])/4) )  ;//;//;
		
		
		      Capture_Count=0;
			}
		
		
		
		
				if(Display_Count>200)
			{
		     
			 
		///////////////////////////////////
			 ///////////////////////柳州监控仪530
			     if(Bit_Motor_TemPre)
					{
					
			          Display_Acord_Value(0x800D,Pre_Oil[4]/10,1);
								 
			          Display_Acord_Value(0x800A ,Tem_Oil[4],0);
				 

					}
					else
					{
				     Display_Acord_Value(0x800D,Pre_Kongyaji_530/10 ,1);
								 
			         Display_Acord_Value(0x800A ,Tem_Kongyaji_530,0);
					}


		
		          Display_Acord_Value(0x8004,Pre_Chuqiguan_530 ,0);
			
			     
			
		          Display_Acord_Value( 0x8000,Speed ,0);
			
		
			  
			 Display_Count=0;
			  
			}
		    
		  ////////////////////////////////
		 if( (Speed>300) )
		 { 
		  Signed_Sound_Off=0;
		  Count_Start_Machine_15s=0;
		  Get_Key_bit=0;
		  Bit_Sign_Running=1;
		   while(Count_Start_Machine_15s<3000)//15s start ,no protection
		   {
		    

		   	 ///////////////////////530柳州
				   if(XBYTE[0x8009]&0x20)////显示空压机或发动机的油温油压 状态位
				     Bit_Motor_TemPre=1;
				   else
				     Bit_Motor_TemPre=0;


		
		    if(Speed<301)
			  {
			   
				Bit_Protection_Start=1;
				Bit_Sign_Running=0;
				 break;//在此、过程中必须一直保持大于300,才处于启动过程
			  }
		    if(!Get_Key_bit)
			  Get_KeyBoard();//read keyboard


        /////////////////////////此过程表示停机
		     if( GetKey_Count_ForUse_Stop>40)
			 {
		
		    	 if( ((Key==TINGJI)||(Key==TINGJI1))&&(Key==XBYTE[0x8009]))//for stop
			   {
			     Bit_OilValve_Start=0;//启动机组
				 Bit_Stop=1;//停机
		
		
				 Bit_Stop_Sure=1;
				 Count__Stop_Sure=0;
		
		
				 Temp_Output=Temp_Output|0x10;//jidianqi
			//	 Display_Acord_Value( 0x8000,456,0 );
			//	 Output_Sign();
			   }
			   else
			   {
				  Bit_OilValve_Start=0;//启动机组
				  Bit_Stop=0;//停机
			//	  Temp_Output=Temp_Output&0xef;
		
				  GetKey_Count_ForUse_Stop=0;
			//	  Get_Key_bit=0;
			//	  Output_Sign();
			   }
			//   XBYTE[0x8008]=Temp_Output;
		  	  
		  }
		     ////////////////停机确认后送5s继电器
			// if(    (Bit_Stop_Sure)&&(Count__Stop_Sure>1000)   )
			//	 if(    (Bit_Stop_Sure)&&(Count__Stop_Sure>1000)   )
		
		    if(    (Bit_Stop_Sure)&&(Count__Stop_Sure>   (Para_Setting_Stop_SureTime*1000/5)    )   )
			 {
			     Temp_Output=Temp_Output&0xef;
			//	 XBYTE[0x8008]=Temp_Output;
				 Bit_Stop_Sure=0;
			 }
		
		     XBYTE[0x8008]=Temp_Output;///////输出
		
			if(Capture_Count>50)//capture one time 
			{
		//	  Tem_Oil_Ave=0;
		  //    Tem_Water_Ave=0;
		  //    Pre_Oil_Ave=0;
			  for( i=0;i<4;i++)
		   //    i++;
			//  if(i>3) i=0;
		      {
			    Tem_Oil[i]=Calculate_Tem ( read1543(0) ,1);
			    Pre_Oil[i]=Calculate_Pre ( read1543(1) );
			    Tem_Water[i]=Calculate_Tem ( read1543(2),0);
		
		      } 
		       Tem_Water[4]=   (  (int)((float)(Tem_Water[0]+Tem_Water[1]+Tem_Water[2]+Tem_Water[3])/4))  ;//;//;
		       Pre_Oil[4]=(int)((float)(Pre_Oil[0]+Pre_Oil[1]+Pre_Oil[2]+Pre_Oil[3])/4);
		       Tem_Oil[4]= (  (int)((float)(Tem_Oil[0]+Tem_Oil[1]+Tem_Oil[2]+Tem_Oil[3])/4) ) ;//;//;
		

			   	  ////////////////////
		/////////////////////////增加530柳州监控仪软件
		   for( i=0;i<4;i++)
		  {
		
		    
			Tem_Oil[i]=Calculate_Tem ( read1543(4),1 );//空压机油温
			Pre_Oil[i]=Calculate_Pre ( read1543(5) );//空压机油压
		//	Tem_Water[i]=Calculate_Tem ( read1543(2));
			//    Tem_Oil_Ave+=read1543(0);
		  //  Tem_Water_Ave+=read1543(2);
		    //Pre_Oil_Ave+=read1543(1);
		  }
		   Tem_Kongyaji_530=(  (int)((float)(Tem_Oil[0]+Tem_Oil[1]+Tem_Oil[2]+Tem_Oil[3])/4) ) ;
		   Pre_Kongyaji_530=(int)((float)(Pre_Oil[0]+Pre_Oil[1]+Pre_Oil[2]+Pre_Oil[3])/4);
		
		   for( i=0;i<4;i++)
		  {
		
		    
			Tem_Oil[i]=Calculate_Pre ( read1543(6) );//空压机油温
			Pre_Oil[i]=Calculate_Pre ( read1543(7) );//空压机油压
		//	Tem_Water[i]=Calculate_Tem ( read1543(2));
			//    Tem_Oil_Ave+=read1543(0);
		  //  Tem_Water_Ave+=read1543(2);
		    //Pre_Oil_Ave+=read1543(1);
		  }
		   Pre_Jinqiguan_530=(int)((float)(Tem_Oil[0]+Tem_Oil[1]+Tem_Oil[2]+Tem_Oil[3])/4);
		   Pre_Chuqiguan_530=(int)((float)(Pre_Oil[0]+Pre_Oil[1]+Pre_Oil[2]+Pre_Oil[3])/4);
		
		      Capture_Count=0;
			}
		
		
		
		
				if(Display_Count>200)
			{
		     
			 
		///////////////////////////////////
			 ///////////////////////柳州监控仪530
			     if(Bit_Motor_TemPre)
					{
					
			          Display_Acord_Value(0x800D,Pre_Oil[4]/10,1);
								 
			          Display_Acord_Value(0x800A ,Tem_Oil[4],0);
				 

					}
					else
					{
				      Display_Acord_Value(0x800D,Pre_Kongyaji_530/10 ,1);
								 
			          Display_Acord_Value(0x800A ,Tem_Kongyaji_530,0);
					}


		
		          Display_Acord_Value(0x8004,Pre_Chuqiguan_530 ,0);
			
			     
			
		          Display_Acord_Value( 0x8000,Speed ,0);
			
		
			  
			 Display_Count=0;
			  
			}
		    
		  }
		
		  if(Count_Start_Machine_15s>2999)
		    {
			  Count_Start_Machine_15s=0;
			  Bit_Protection_Start=0;//没有进行启动保护
			}
		
		  Get_Key_bit=0;
		 }//大于 300转 时,处于 启动过程 中
		 else
		 {
		    Bit_Protection_Start=1;//启动保护 开启
		 }
   }
/*
    if(Recieve_Para_Stop)
    {
	   CPU_NO=CPU_NO1;
       Para_Tem_Oil=Para_Tem_Oil1;
       Para_Tem_water=Para_Tem_water1;
       Para_Speed_Divide=Para_Speed_Divide1;
       Para_Speed_Alarm_Percent=Para_Speed_Alarm_Percent1;
       Para_Speed_Standard=Para_Speed_Standard1;
       Para_Speed_Percent=Para_Speed_Percent1;
       Para_Pre_Oil=Para_Pre_Oil1;
	   Para_Pre_Oil_Zoom_k=Para_Pre_Oil_Zoom_k1;
	   Para_Pre_Oil_Shift_b=Para_Pre_Oil_Shift_b1;

      Write_Para();
//	  Read_Para();
	  Recieve_Para_Stop=0;
	  Recieve_Para_Start=0;
      //Read_Para();
    } 
	*/
//	if( (Recieve_Para_Start)&&(!Recieve_Para_Stop) )

    /////test motorsign 检测机组的状态  (运行或停机)

else////////////////没有在启动保护状态 中
{	
    if( (Speed>Para_Setting_ReferenceSpeed_StopStart) )//处于运行状态
    {
		  Bit_Sign_Running=1;
		  Bit_Sign_SettingParaDisplay=0;


	    Bit_Sign_SettingPara_Sure=0;
		Bit_Sign_InputCode=0;
		Bit_Sign_SettingPara_Normal=0;
		Bit_Sign_Modify=0;


       
	//	  if(  (P1_5)||(  (read1543(3)* Calculate_Line_k( 0,0,0X3ff,5)/0.1304  +1)>28)  )
	  //  if(       (P1_5)  ||    (  read1543(3)* Calculate_Line_k( 0,0,0X3ff,5)/0.1304  +1  )>28   )
//	   if(P1_5==0)
	   {
	     // Temp_Output=Temp_Output|0x40;//jidianqi
//		  Temp_Output=Temp_Output&0xfd;//lamp
       }
//	   else
	   {//*/
	         //    Temp_Output=Temp_Output&0xbf;
		      //   Temp_Output=Temp_Output|0x02;
	 // if(       (P1_5)  ||  (  ( (unsigned int )Value_Test_24v )>28 )  ) 
				//	Value_Test_24v=(float)read1543(3)* Calculate_Line_k( 0,0,0X3ff,5)/0.14163  +1;
					 if(Value_Test_24v< 28.0  )
					  {      ////////////////////充电
			
					      //   if((!Bit_Sign_Charging))
						//	 {
					           Temp_Output=Temp_Output&0xfd;//lamp
							   Temp_Output=Temp_Output|0x08;//jidianqi
							   
							   Bit_Sign_Charging=1;
					//		 }
					  }
						if(Value_Test_24v > 28.4   )     
					  {   // duan dian
					    	 
			           //   if(Bit_Sign_Charging)
					//	  {
							 Temp_Output=Temp_Output&0xf7;//jidianqi
						     Temp_Output=Temp_Output|0x02;//lamp
							 Bit_Sign_Charging=0;
					//	  }
					  }
							//	Temp_Output=Temp_Output&0xbd;//lamp
							//   Temp_Output=Temp_Output|0x40;//jidianq
       		            	


//if(   ( (unsigned int )Value_Test_24v )< 28  )
//					  {      ////////////////////充电
			
//					         if((!Bit_Sign_Charging))
//							 {
//					           Temp_Output=Temp_Output|0x40;//jidianqi
//							   Temp_Output=Temp_Output&0xfd;//lamp
//							   Bit_Sign_Charging=1;
//							 }
//					  }

//	               if(!Bit_Sign_Charging)
//				   {
				     
//	                   Temp_Output=Temp_Output&0xbf;
//		               Temp_Output=Temp_Output|0x02;
//				   }
//				    if(  (  ( (unsigned int )Value_Test_24v )> 28   )     )
//					  {
					    	 
//			              if(Bit_Sign_Charging)
//						  {
//							 Temp_Output=Temp_Output&0xbf;
//						     Temp_Output=Temp_Output|0x02;
//							 Bit_Sign_Charging=0;
//						  }
//					  }
//					  else
//					    if(   ( (unsigned int )Value_Test_24v )< 29   )
//					  {      ////////////////////充电
//			
//					         if((!Bit_Sign_Charging))
//							 {
//					           Temp_Output=Temp_Output|0x40;//jidianqi
//							   Temp_Output=Temp_Output&0xfd;//lamp
//							   Bit_Sign_Charging=1;
//							 }
//					  }
          }
	  	  ///////////////////////////运行灯
		   
		   Temp_Output=Temp_Output&0xfe;//lamp
		  
	}
	else
	{
	  Bit_Sign_Running=0;
	  Temp_Output=Temp_Output|0x01;//lamp运行灯
      Temp_Output=Temp_Output|0x02;//lamp

      if(Speed<300)
	  {
	    Bit_Protection_Start=1;//停机,可以重新进行启动
		Byte_Sign_First_Alarm_StartStop=0;

		Temp_Output=Temp_Output&0xef;//tingji

		  Temp_Output=Temp_Output&0x7f;//D7\

		//	   Temp_Output=Temp_Output&0xdf;//\D5
	  }
	  ///////////////////////////运行灯
	 // Bit_Sign_SettingParaDisplay=1;
	 // Display_Acord_Value( 0x8000,0,0);
	}

//	 Temp_Output=Temp_Output&0xfe;//lamp运行
//	 Temp_Output=Temp_Output&0xfd;//lamp

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -