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

📄 _edit.c

📁 全自动剥线机(C语言源码+DOC文档说明)
💻 C
📖 第 1 页 / 共 5 页
字号:
   }
   else
   {
      Signal_Show(2,CN_NWHITE);
      g_currentisshort = FALSE;
   }
}

/***************************************************************************

NAME:       Midset_Shortflag()

FUNCTION:   This procedure will set the short wire flag in middle strip mode.

INPUTS:     current program number

OUTPUTS:    NONE

***************************************************************************/
void Midset_Shortflag(uint d_prognum)
{
   idata uint d_uintreg0;
   idata uint d_uintreg1;
   uint  xdata *d_uint_ptr;
   idata uchar  i;
   idata uchar d_midtimes;

   if(d_prognum>=CN_COMPROG)
   {
      d_midtimes = 0;
      d_uint_ptr = (uint xdata *)(AD_CURPROG+AD_MIDSTRIP0);
      for(i=0;i<4;i++)   
      {
      	 if(*d_uint_ptr!=0)
      	 { 
      	    d_midtimes++;
      	 }
         d_uint_ptr++;
      }    
      if(d_midtimes>=1)
      {
      	 d_uint_ptr = (uint xdata *)(AD_CURPROG+AD_WIREHEAD);
      	 d_uintreg0 = *d_uint_ptr;
         for(i=0;i<d_midtimes;i++)
         {
            switch(i)
      	    {
      	       case 0:
      	            d_uint_ptr = (uint xdata *)(AD_CURPROG+AD_MIDSTRIP0);
      	            d_uintreg1 = *d_uint_ptr;
      	            break; 	
               case 1:
      	            d_uint_ptr = (uint xdata *)(AD_CURPROG+AD_MIDSTRIP1);
      	            d_uintreg1 = *d_uint_ptr;
      	            break;
      	       case 2:
      	            d_uint_ptr = (uint xdata *)(AD_CURPROG+AD_MIDSTRIP2);
      	            d_uintreg1 = *d_uint_ptr;
      	            break; 	
               case 3:
      	            d_uint_ptr = (uint xdata *)(AD_CURPROG+AD_MIDSTRIP3);
      	            d_uintreg1 = *d_uint_ptr;
      	            break;     
      	       default:
      	            break;     
      	    }        
            if(d_uintreg1>=d_uintreg0)   	
            { d_uintreg0 = d_uintreg1-d_uintreg0; }
            else
            { d_uintreg0 = 0; }
            d_uint_ptr = (uint xdata *)(AD_CURPROG+AD_STRIPLENG);
      	    if(d_uintreg0>=*d_uint_ptr)
      	    { d_uintreg0 = d_uintreg0-(*d_uint_ptr); }
            else
            { d_uintreg0 = 0; }
            if(d_uintreg0<=CN_SHORTPULSE)
            {
               g_currentisshort = TRUE;	
               break;
            }   	     
            d_uintreg0 = d_uintreg1;
         }   
         if(g_currentisshort==FALSE)
         {
            d_uint_ptr = (uint xdata *)(AD_CURPROG+AD_WIRELONG);
      	    if(*d_uint_ptr>=d_uintreg0)
      	    { d_uintreg0 = *d_uint_ptr-d_uintreg0; }  /* wirelong-ZB(N) */
            else
            { d_uintreg0 = 0; }  	
            d_uint_ptr = (uint xdata *)(AD_CURPROG+AD_WIRERAIL);
      	    if(d_uintreg0>=*d_uint_ptr)
      	    { d_uintreg0 = d_uintreg0-(*d_uint_ptr); }  /* wirelong-ZB(N)-wirerail */
            else
            { d_uintreg0 = 0; }
            if(d_uintreg0<=CN_SHORTPULSE)
            {
               g_currentisshort = TRUE;	
            }   
         }
         if(g_currentisshort==TRUE)
         {
            Signal_Show(2,CN_SHORT); /* show the short wire flag. */
         }
      }   
   }
}

/***************************************************************************

NAME:       Page0_Show()

FUNCTION:   This procedure will show the page0.

INPUTS:     NONE

OUTPUTS:    NONE

***************************************************************************/
void Page0_Show()
{
   uchar d_itemcnter;
   uchar d_charreg;
   uint  d_uintreg;
   bit   d_reverse;

   Reset_Watchdog();
   g_uint_ptr = (uint xdata *)AD_PROGCNTER;
   d_uintreg = *g_uint_ptr;  /* get the program number. */
   for(d_itemcnter=0;d_itemcnter<8;d_itemcnter++)
   {
      if(d_itemcnter==g_itemcnter)
      {
      	 d_reverse = TRUE;
      }
      else
      {
      	 d_reverse = FALSE;
      }
      Item_Show(d_itemcnter,d_reverse);
      g_uint_ptr = (uint xdata *)AD_PROGCNTER;
      d_uintreg = *g_uint_ptr;  /* get the program number. */
      switch(d_itemcnter)
      {
         case 0:  /* show the current program number. */
              Number_Chg(d_uintreg);
              Number_Show(d_itemcnter);
              break;
         case 1:  /* show the process speed. */
              if(d_uintreg>=CN_COMPROG)
              {
              	 g_char_ptr = (uchar xdata *)(AD_MIDSRAM+(d_uintreg-CN_COMPROG)*CN_MIDBYTE+AD_RUNSPEED);
              }
              else
              {
              	 g_char_ptr = (uchar xdata *)(AD_PROGRAM+d_uintreg*CN_COMBYTE+AD_RUNSPEED);
              }
              d_charreg = *g_char_ptr; /*get the current program speed value. */
              Number_Chg((uint)(d_charreg));
              Number_Show(d_itemcnter);
              break;
         case 2:  /* show the wire rod length.       */
         case 4:  /* show the wire rod head length.  */
         case 5:  /* show the wire strip head length.*/
         case 6:  /* show the wire rod rail length.  */
         case 7:  /* show the wire strip rail length.*/
              if(d_itemcnter==2)
              {
              	 g_uint_ptr = (uint xdata *)AD_PROGCNTER;
                 Current_Progparam(*g_uint_ptr);
                 Set_Shortflag(); /* handle the short wire flag on/off. */
                 g_uint_ptr = (uint xdata *)AD_PROGCNTER;
                 Midset_Shortflag(*g_uint_ptr);
              }
              if(d_uintreg>=CN_COMPROG)
              {
              	 g_uintreg0 = AD_MIDSRAM+(d_uintreg-CN_COMPROG)*CN_MIDBYTE+ADPAGE0[d_itemcnter];
              	 g_uint_ptr = (uint xdata *)g_uintreg0;
              }
              else
              {
              	 g_uintreg0 = AD_PROGRAM+d_uintreg*CN_COMBYTE+ADPAGE0[d_itemcnter];
              	 g_uint_ptr = (uint xdata *)g_uintreg0;
              }
              d_uintreg = *g_uint_ptr; /*get the current program item value. */
              Number_Chg(d_uintreg);
              Number_Show(d_itemcnter);
              break;
         case 3:  /* show the product counter value. */
              g_uint_ptr = (uint xdata *)AD_PRDUCNTER;
              d_uintreg = *g_uint_ptr;  /* get the product counter value. */
              Number_Chg(d_uintreg);
              Number_Show(d_itemcnter);
              break;
         default:
              break;
      }
   }
   Show_Crystal();
}

/***************************************************************************

NAME:       P0num_Show()

FUNCTION:   This procedure will show the program number in page 0 mode.

INPUTS:     program number.

OUTPUTS:    NONE

***************************************************************************/
void P0num_Show(uint d_progcnter)
{
   uchar d_itemcnter;
   uchar d_charreg;
   idata uint  d_uintreg;
   idata uint  d_uintreg0;

   Reset_Watchdog();
   for(d_itemcnter=0;d_itemcnter<8;d_itemcnter++)
   {
      d_uintreg = d_progcnter;  /* get the program number. */
      switch(d_itemcnter)
      {
         case 0:  /* show the current program number. */
              Number_Chg(d_uintreg);
              Number_Show(d_itemcnter);
              break;
         case 1:  /* show the process speed. */
              if(d_uintreg>=CN_COMPROG)
              {
              	 g_char_ptr = (uchar xdata *)(AD_MIDSRAM+(d_uintreg-CN_COMPROG)*CN_MIDBYTE+AD_RUNSPEED);
              }
              else
              {
              	 g_char_ptr = (uchar xdata *)(AD_PROGRAM+d_uintreg*CN_COMBYTE+AD_RUNSPEED);
              }
              d_charreg = *g_char_ptr; /*get the current program speed value. */
              Number_Chg((uint)(d_charreg));
              Number_Show(d_itemcnter);
              break;
         case 2:  /* show the wire rod length.       */
         case 4:  /* show the wire rod head length.  */
         case 5:  /* show the wire strip head length.*/
         case 6:  /* show the wire rod rail length.  */
         case 7:  /* show the wire strip rail length.*/
              if(d_itemcnter==2)
              {
              	 Current_Progparam(d_progcnter);
                 Set_Shortflag(); /* handle the short wire flag on/off. */
                 Midset_Shortflag(d_progcnter);
              }
              if(d_uintreg>=CN_COMPROG)
              {
              	 d_uintreg0 = AD_MIDSRAM+(d_uintreg-CN_COMPROG)*CN_MIDBYTE+ADPAGE0[d_itemcnter];
              	 g_uint_ptr = (uint xdata *)d_uintreg0;
              }
              else
              {
              	 d_uintreg0 = AD_PROGRAM+d_uintreg*CN_COMBYTE+ADPAGE0[d_itemcnter];
              	 g_uint_ptr = (uint xdata *)d_uintreg0;
              }
              d_uintreg = *g_uint_ptr; /*get the current program item value. */
              Number_Chg(d_uintreg);
              Number_Show(d_itemcnter);
              break;
         default:
              break;
      }
   }
}

/***************************************************************************

NAME:       Page1_Show()

FUNCTION:   This procedure will show the page1.

INPUTS:     NONE

OUTPUTS:    NONE

***************************************************************************/
void Page1_Show()
{
   uchar d_itemcnter;
   uchar d_charreg;
   uint  d_uintreg;
   bit   d_reverse;

   Reset_Watchdog();
   for(d_itemcnter=0;d_itemcnter<8;d_itemcnter++)
   {
      if(d_itemcnter==g_itemcnter)
      {
      	 d_reverse = TRUE;
      }
      else
      {
      	 d_reverse = FALSE;
      }
      Item_Show(d_itemcnter,d_reverse);

      if(d_itemcnter==2)
      {
         Signal_Show(d_itemcnter,CN_NWHITE);
      }
      g_uint_ptr = (uint xdata *)AD_PROGCNTER;
      d_uintreg = *g_uint_ptr;  /* get the program number. */
      switch(d_itemcnter)
      {
         case 0:  /* show the wire rod radius-area value. */
         case 1:  /* show the cutter back value.          */
              if(d_uintreg>=CN_COMPROG)
              {
              	 g_char_ptr = (uchar xdata *)(AD_MIDSRAM+(d_uintreg-CN_COMPROG)*CN_MIDBYTE+ADPAGE1[d_itemcnter]);
              }
              else
              {
              	 g_char_ptr = (uchar xdata *)(AD_PROGRAM+d_uintreg*CN_COMBYTE+ADPAGE1[d_itemcnter]);
              }
              d_charreg = *g_char_ptr; /*get the current program item value. */
              Number_Chg((uint)(d_charreg));
              Number_Show(d_itemcnter);
              break;
         case 2:
              if(d_uintreg>=CN_COMPROG)
              {
              	 g_uint_ptr = (uint xdata *)(AD_MIDSRAM+(d_uintreg-CN_COMPROG)*CN_MIDBYTE+ADPAGE1[d_itemcnter]);
              }
              else
              {
              	 g_uint_ptr = (uint xdata *)(AD_PROGRAM+d_uintreg*CN_COMBYTE+ADPAGE1[d_itemcnter]);
              }
              d_uintreg = *g_uint_ptr; /*get the current program item value. */
              Number_Chg(d_uintreg);
              Number_Show(d_itemcnter);
              break;
         case 3:  /* show the group counter value. */
              g_uint_ptr = (uint xdata *)AD_GROUPCNTER;
              d_uintreg = *g_uint_ptr;  /* get the product group counter value. */
              Number_Chg(d_uintreg);
              Number_Show(d_itemcnter);
              break;
         case 4:
              g_char_ptr = (uchar xdata *)AD_MACHNO;
              d_charreg = *g_char_ptr;  /* get the machine No. */
              Number_Chg((uint)(d_charreg));
              Number_Show(d_itemcnter);
              break;
         case 5:
              if(g_transall!=CN_SEGSET)
              {
                 Hzinfo_Show(CN_ALLTR);
              }
              else
              {
                 g_uint_ptr =  (uint xdata *)AD_STARTTRAN;
                 g_uintreg0 = *g_uint_ptr;  /* get the start value. */
                 g_uint_ptr =  (uint xdata *)AD_LASTTRAN;
                 g_uintreg1 = *g_uint_ptr;  /* get the last value.  */
                 Start_Lastchg(g_dotshow);
                 Number_Show(d_itemcnter);
              }
              break;
         case 6:
              g_char_ptr = (uchar xdata *)AD_TOMACH;
              d_charreg = *g_char_ptr;   /* get the to machine No. */
              Number_Chg((uint)(d_charreg));
              Number_Show(d_itemcnter);
              break;
         case 7:
              Hzinfo_Show(CN_DISAB);
              break;
         default:
              break;
      }
   }
   Show_Crystal();
}

/***************************************************************************

NAME:       Page2_Show()

FUNCTION:   This procedure will show the page2.

INPUTS:     NONE

OUTPUTS:    NONE

***************************************************************************/
void Page2_Show()
{
   uchar d_itemcnter;
   uint  d_uintreg;
   bit   d_reverse;

   Reset_Watchdog();
   for(d_itemcnter=0;d_itemcnter<8;d_itemcnter++)
   {
      if(d_itemcnter==g_itemcnter)
      {
      	 d_reverse = TRUE;
      }
      else
      {
      	 d_reverse = FALSE;
      }
      Item_Show(d_itemcnter,d_reverse);

      if(d_itemcnter==2)
      {
         Signal_Show(d_itemcnter,CN_NWHITE);
      }
      g_uint_ptr = (uint xdata *)AD_PROGCNTER;
      d_uintreg = *g_uint_ptr;  /* get the program number. */
      switch(d_itemcnter)
      {
         case 0:  /* show the middle strip 0 */
         case 1:  /* show the middle strip 1 */
         case 2:  /* show the middle strip 2 */
         case 3:  /* show the middle strip 3 */
         case 4:  /* the strip value.        */
              if(d_uintreg>=CN_COMPROG)
              {
              	 g_uint_ptr = (uint xdata *)(AD_MIDSRAM+(d_uintreg-CN_COMPROG)*CN_MIDBYTE+ADPAGE2[d_itemcnter]);
              	 d_uintreg  = *g_uint_ptr;
              }
              else
              {
              	 d_uintreg = 0;  /* only the 400-419 program can set the mid strip. */
              }
              Number_Chg(d_uintreg);
              Number_Show(d_itemcnter);
              break;
         case 6:
              if(d_uintreg>=CN_COMPROG)
              {
              	 g_uint_ptr = (uint xdata *)(AD_MIDSRAM+(d_uintreg-CN_COMPROG)*CN_MIDBYTE+ADPAGE2[d_itemcnter]);
              }
              else

⌨️ 快捷键说明

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