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

📄 md142as.c

📁 64输入32输出单片机程序
💻 C
📖 第 1 页 / 共 2 页
字号:
		  }
		break;
	    case 20:
		if(_inp_bit(JIG_REMOVEBD))
		  {
		    _outp_bit(JIG_EJECT,OFF);
		    switch(sequ)
		    {
			case 1:
			    _outp_bit(TRAN_HORN11,OFF);
			    _outp_bit(TRAN_HORN10,ON);
			    sequ++;
			    break;
			case 2:
			    if(_inp_bit(TRAN_HORNFD))
			    {
				_set_delay(10);
				_outp_bit(ARM2,ON);
				sequ++;
			     }
			    break;

			case 3:
			    if(_inp_bit(ARM2DN))
			    {
				_outp_bit(AIR_MAGNET2,OFF);
				_set_delay(20);
				_outp_bit(ARM2,OFF);
				sequ++;
			    }
			    break;
			case 4:

				if(_inp_bit(INDUCTION2BD)&&!_inp_bit(ARMAT_FULL))
				{
				_set_delay(10);
				_outp_bit(ARM3,ON);
				while(!_inp_bit(ARM3DN));
				if(_inp_bit(ARMAT_FULL))    //IF HAS ARMATURE
				  heat2_on=TRUE;
				else
				  heat2_on=FALSE;
				_outp_bit(AIR_CHUCK,OFF);
				_set_delay(10);
				_outp_bit(ARM3,OFF);

				 if(heat2_on)
				 {
				 _outp_bit(INDUCTION2,ON);
				 while(!_inp_bit(INDUCTION2FD));
				 _outp_bit(MAGFORCE2,ON);	  //heating

				 heat2_time=heat2_time_set+tick_clock;
				 }
				sequ++;
			       }
			    break;
			case 5:
			    if(_inp_bit(ARM2UP)&&_inp_bit(ARM3UP))
			    {
				_outp_bit(TRAN_HORN11,ON);
				_outp_bit(TRAN_HORN10,OFF);
				sequ++;

			    }
			    break;
			case 6:
			    if(_inp_bit(TRAN_HORNBD))
			    {
				_outp_bit(ARM3,ON);
				sequ++;
			    }
			    break;
		       case 7:
			    if(_inp_bit(ARM3DN))
			    {
				_set_delay(15);
				_outp_bit(AIR_CHUCK,ON);
				_set_delay(15);
				_outp_bit(AIR_CHUCK,OFF);	  //
				_set_delay(15);		    //
				_outp_bit(AIR_CHUCK,ON);	  //
				_set_delay(15);		    //
				_outp_bit(ARM3,OFF);
				while(!_inp_bit(ARM3UP));
				_set_delay(20);
				_outp_bit(COMM_INSERT,ON);
				_set_delay(60);
				_outp_bit(COMM_INSERT,OFF);
				sequ++;
			    }
			   break;
		       case 8:
			   if(_inp_bit(COMM_INSERTFD))
			   {
			      _set_delay(20);
			      if(_inp_bit(COMM_LOADFD))
				{
				 _outp_bit(COMM_LOAD10,OFF);
				 _outp_bit(COMM_LOAD11,ON);
				}
			      if(_inp_bit(COMM_LOADBD))
				{
				 _outp_bit(COMM_LOAD11,OFF);
				 _outp_bit(COMM_LOAD10,ON);
				}
			      sequ=1;
			      proc++;
			      break;
			   }
		    }
		  }   //case 20 if loop
		break;
	    }
	    if(rece_com==Pause)
	      {
	       while(rece_com==Pause);
	       if(rece_com==Start)
		  rece_com=OFF;
	      }
	    if(rece_com==Manual)
	      {
	       _manual_operate();
	       while((rece_com!=Start)&&(rece_com!=Exit));
	       if(rece_com==Start)
		  rece_com=OFF;
	      }
	    if(proc<4)
	      {
	       heat1_time=heat1_time_set+tick_clock;
	       heat2_time=heat2_time_set+tick_clock;
	       spray_time=spray_time_set+tick_clock;
	       heat1_end=0;
	       heat2_end=0;
	       spray_end=0;
	      }
	    if(spray_end==1)
	      {

	       _outp_bit(VIBRATE,OFF);
	      }
	    if(heat1_end==1)
	      {
	       _outp_bit(INDUCTION1,OFF);

//	       if(_inp_bit(HEAT1)==0||_inp_bit(HEAT2)==0||_inp_bit(COOLANT1)==1||
//		  _inp_bit(COOLANT2)==1)
//		 {
//		  _outp_bit(MAGFORCE1,OFF);
//		  _outp_bit(MAGFORCE2,OFF);
//		  _trf_msge (ID_Panel,Trouble,0x00);
//		  while(rece_com!=Go_on);
//		  rece_com=OFF;
//		 }
	       _outp_bit(MAGFORCE1,OFF);

	       heat1_end=0;
	      }
	    if(heat2_end==1)
	      {
	       _outp_bit(INDUCTION2,OFF);
//	       if(_inp_bit(HEAT1)==0||_inp_bit(HEAT2)==0||_inp_bit(COOLANT1)==1||
//		  _inp_bit(COOLANT2)==1)
//		 {
//		  _outp_bit(MAGFORCE1,OFF);
//		  _outp_bit(MAGFORCE2,OFF);
//		  _trf_msge (ID_Panel,Trouble,0x00);
//		  while(rece_com!=Go_on);
//		  rece_com=OFF;
//		 }

	       _outp_bit(MAGFORCE2,OFF);
	       heat2_end=0;
		while(!_inp_bit(INDUCTION2BD));
		_set_delay(20);
		_outp_bit(UNLOAD,ON);
		while(!_inp_bit(UNLOADUP));
		_set_delay(20);
		_outp_bit(UNLOAD,OFF);
		_set_delay(20);
	      }

	    if((proc==21)&&(_inp_bit(INDUCTION1BD))
	       &&(_inp_bit(INDUCTION2BD)))
	       proc=0;

	 }   //while loop2

       }     //if loop
     if(rece_com==Manual)
       {
	 _manual_operate();
	 _set_delay(20);
	 rece_com=OFF;
       }
    }  //while loop1

}

//-----------------------------------------------------
void _manual_operate()
{
   
    while(rece_com!=Exit)
    {

       switch(rece_data[0])
	  {
	    case VALVE1:    //	LOAD_VERT	out1
		if(_inp_bit(INDUCTION1BD))
		   _outp_bit(LOAD_VERT,~_outp_stus(LOAD_VERT));
		break;
	    case VALVE2:    // LOAD_HORN	out2
		if(_inp_bit(LOAD_VERTUP)&&_inp_bit(INDUCTION1BD)&&_inp_bit(ARM1UP))
		   {
		      if(_inp_bit(LOAD_HORNBD))
			{
			   _outp_bit(LOAD_HORN11,OFF);
			   _outp_bit(LOAD_HORN10,ON);	    //forward
			}
		   }
		if(_inp_bit(LOAD_VERTDN)&&_inp_bit(INDUCTION1BD))
		   {
		      if(_inp_bit(LOAD_HORNFD))
			{
			   _outp_bit(LOAD_HORN10,OFF);
			   _outp_bit(LOAD_HORN11,ON);	    //backward
			}
		   }
		break;

	    case VALVE3:       // INDUCTION1		out4
		if(_inp_bit(LOAD_VERTDN)&&_inp_bit(ARM1UP) )
		   _outp_bit(INDUCTION1,~_outp_stus(INDUCTION1));
		break;
	    case VALVE4:       //  ARM1			 out6

		   _outp_bit(ARM1,~_outp_stus(ARM1) );
		break;
	    case VALVE5:       // ARM2			  out7
		if(_inp_bit(COMM_INSERTFD))
		_outp_bit(ARM2,~_outp_stus(ARM2) );

		break;

	    case VALVE6:      //ARM3	out8
		if(_inp_bit(COMM_INSERTFD)&&_inp_bit(INDUCTION2BD))
		   _outp_bit(ARM3,~_outp_stus(ARM3));
		break;
	    case VALVE7:      //AIR_MAGNET1		    out9

		   _outp_bit(AIR_MAGNET1,~_outp_stus(AIR_MAGNET1) );
		break;
	    case VALVE8:       //AIR_MAGNET2	   out11
		   _outp_bit(AIR_MAGNET2,~_outp_stus(AIR_MAGNET2) );
		break;
	    case VALVE9:      //AIR_CHUCK	    out13
		   _outp_bit(AIR_CHUCK,~_outp_stus(AIR_CHUCK) );
		break;
	    case VALVE10:     //TRAN_HORN	    out15

		if( _inp_bit(ARM1UP)&&_inp_bit(ARM2UP)&&_inp_bit(ARM3UP) )
		   {
			if(_inp_bit(TRAN_HORNFD))
			{
			   _outp_bit(TRAN_HORN10,OFF);
			   _outp_bit(TRAN_HORN11,ON);
			}
		      if(_inp_bit(TRAN_HORNBD))
			{
			   _outp_bit(TRAN_HORN11,OFF);
			   _outp_bit(TRAN_HORN10,ON);
			}
		   }
		break;
	    case VALVE11:   //SHAFT_HOLD	out17
		    _outp_bit(SHAFT_HOLD,~_outp_stus(SHAFT_HOLD));

		break;
	    case VALVE12:   //SPRAY_L	 out18
		_outp_bit(SPRAY_L,~_outp_stus(SPRAY_L));
		break;
	    case VALVE13:     //SPRAY_R	   out20
		_outp_bit(SPRAY_R,~_outp_stus(SPRAY_R));
		break;
	    case VALVE14:     //JIG_EJECT	   21
		_outp_bit(JIG_EJECT,~_outp_stus(JIG_EJECT) );

		break;
	    case VALVE15:      //JIG_REMOVE	    22
		   _outp_bit(JIG_REMOVE,~_outp_stus(JIG_REMOVE));
		break;
	    case VALVE16:      //COMM_LOAD	23
		if(_inp_bit(COMM_INSERTFD))
		   {
		      if(_inp_bit(COMM_LOADFD))
			{
			   _outp_bit(COMM_LOAD10,OFF);
			   _outp_bit(COMM_LOAD11,ON);
			}
		      if(_inp_bit(COMM_LOADBD))
			{
			   _outp_bit(COMM_LOAD11,OFF);
			   _outp_bit(COMM_LOAD10,ON);
			}

		   }
		break;

	    case VALVE17:    //COMM_INSERT		25
		if(_inp_bit(ARM3UP)&&_inp_bit(ARM2UP))
		_outp_bit(COMM_INSERT,~_outp_stus(COMM_INSERT));
		break;
	    case VALVE18:     //INDUCTION2		27
		if(_inp_bit(UNLOADDN))
		_outp_bit(INDUCTION2,~_outp_stus(INDUCTION2));
		break;
	    case VALVE19:     //UNLOAD:		    29
		if(_inp_bit(INDUCTION2BD))
		_outp_bit(UNLOAD,~_outp_stus(UNLOAD));
		break;
	    case VIBRATE:
		_outp_bit(VIBRATE,~_outp_stus(VIBRATE));	//30
		_outp_bit(SPRAY_L,_outp_stus(VIBRATE));
		_outp_bit(SPRAY_R,_outp_stus(VIBRATE));

		break;
	    case ROTATE:
		_outp_bit(ROTATE,~_outp_stus(ROTATE));	  //31
		break;
	    case 35:
		_outp_bit(MAGFORCE1,~_outp_stus(MAGFORCE1));  //10
		break;
	    case 36:
		_outp_bit(MAGFORCE2,~_outp_stus(MAGFORCE2));  //12

       }

       rece_data[0]=ReceStream.datablk[0]=0;
       _set_delay(5);	 //???
    }
    if(rece_com==Exit)
       rece_com=OFF;
}
//-------------------------------------------------------
//-----------------------------------------------------
void _setup(void)
{
    TranStream.datablk[2] = _read_eepbyte(&datalist[2]);
    TranStream.datablk[3] = _read_eepbyte(&datalist[3]);
    TranStream.datablk[4] = _read_eepbyte(&datalist[4]);
    _trf_msge (ID_Panel,Datatrans,0x05);
    _set_delay(10);
    while(rece_com!=Exit)
	{
	    if(rece_com==Datatrans)
	      {
		 rece_com=OFF;
		if(rece_data[2]!=_read_eepbyte(&datalist[2]));
		   _write_eepbyte(&datalist[2],rece_data[2]);

		if(rece_data[3]!=_read_eepbyte(&datalist[3]));
		   _write_eepbyte(&datalist[3],rece_data[3]);

		if(rece_data[4]!=_read_eepbyte(&datalist[4]));
		   _write_eepbyte(&datalist[4],rece_data[4]);

	      }
	}

}
//----------------------------------------------------
void _init_machine()
{
    _outp_port (0x88,0x00);
    _outp_port (0x89,0x00);
    _outp_port (0x8a,0x00);
    _outp_port (0x8b,0x00);
}

⌨️ 快捷键说明

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