📄 _edit.c
字号:
}
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 + -