📄 复件 current1.c.bak
字号:
IM8=IML;
IM4=IMH;
UPD=0X00;
TR0=1;
}
else
{
IM=(unsigned int)(I1*0.41);
IB=(unsigned int)(I2*0.41);
IM8=IM%256; //(I1*10/10)%256
IM4=IM/256; //(I1*10/10)/256
IB8=IB%256; //(I2*10/10)%256
IB4=IB/256; //(I2*10/10)/256
UPD=0X00;
}
if(pp.k1==PDC)
IEN1=IEN1|0X20; //允许CM1,电流脉冲输出(峰、基值时间))
k=1;
nonce_sec=0; //当前区间号
do
{
work=3;
if(urgent_stop==1) //急停后返回
goto BEGIN;
if(need_para==1) //显示焊接电流、焊接电压
{
sbuffer[0]=M_main;
sbuffer[1]=parameter2;
sbuffer[2]=ad_i/256;
sbuffer[3]=ad_i%256;
sbuffer[4]=ad_v/256;
sbuffer[5]=ad_v%256;
sbuffer[6]=0;
s_byte_nums=7;
TR_noans();
need_para=0;
}
if(current_add==1) //电流加
{
if(delt_state==0||delt_state==1)
{
if(I1+pp.di<4000) //峰值
{
I1=I1+pp.di;
if(ahf_ok==1)
{
if(I11+pp.di<4000)
I11=I11+pp.di;
else
I11=4000;
I12=I12+pp.di;
}
}
else
{
I1=4000;
if(ahf_ok==1)
{
I11=4000;
if(I12+pp.di<4000)
I12=I12+pp.di;
else
I12=4000;
}
}
if(ahf_ok==1)
{
IM=(unsigned int)(I11*0.41);
IMM=(unsigned int)(I12*0.41);
IML=IM%256;
IMH=IM/256;
IMML=IMM%256;
IMMH=IMM/256;
}
else
{
IM=(unsigned int)(I1*0.41);
IM8=IM%256;
IM4=IM/256;
UPD=0X00;
}
}
if(delt_state==1||delt_state==2)
{
if(pp.k1==PDC)
{
if(I2+pp.di<4000) //基值
{
I2=I2+pp.di;
if(ahf_ok==1)
{
if(I21+pp.di<4000)
I21=I21+pp.di;
else
I21=4000;
I22=I22+pp.di;
}
}
else
{
I2=4000;
if(ahf_ok==1)
{
I21=4000;
if(I22+pp.di<4000)
I22=I22+pp.di;
else
I22=4000;
}
}
if(ahf_ok==1)
{
IB=(unsigned int)(I21*0.41);
IBB=(unsigned int)(I22*0.41);
IBL=IB%256;
IBH=IB/256;
IBBL=IBB%256;
IBBH=IBB/256;
}
else
{
IB=(unsigned int)(I2*0.41);
IB8=IB%256;
IB4=IB/256;
UPD=0X00;
}
}
}
current_add=0;
}
if(urgent_stop==1) //急停后返回
goto BEGIN;
if(current_dec==1) //电流减
{
if(delt_state==0||delt_state==1)
{
if(I1-pp.i17>pp.di) //峰值
{
I1=I1-pp.di;
if(ahf_ok==1)
{
I11=I11-pp.di;
if(I12-pp.i17>pp.di)
I12=I12-pp.di;
else
I12=pp.i17;
}
}
else
{
I1=pp.i17;
if(ahf_ok==1)
{
if(I11-pp.i17>pp.di)
I11=I11-pp.di;
else
I11=pp.i17;
I12=pp.i17;
}
}
if(ahf_ok==1)
{
IM=(unsigned int)(I11*0.41);
IMM=(unsigned int)(I12*0.41);
IML=IM%256;
IMH=IM/256;
IMML=IMM%256;
IMMH=IMM/256;
}
else
{
IM=(unsigned int)(I1*0.41);
IM8=IM%256;
IM4=IM/256;
UPD=0X00;
}
}
if(delt_state==1||delt_state==2)
{
if(pp.k1==PDC)
{
if(I2-pp.i17>pp.di) //基值
{
I2=I2-pp.di;
if(ahf_ok==1)
{
I21=I21-pp.di;
if(I22-pp.i17>pp.di)
I22=I22-pp.di;
else
I22=pp.i17;
}
}
else
{
I2=pp.i17;
if(ahf_ok==1)
{
if(I21-pp.i17>pp.di)
I21=I21-pp.di;
else
I21=pp.i17;
I22=pp.i17;
}
}
if(ahf_ok==1)
{
IB=(unsigned int)(I21*0.41);
IBB=(unsigned int)(I22*0.41);
IBL=IB%256;
IBH=IB/256;
IBBL=IBB%256;
IBBH=IBB/256;
}
else
{
IB=(unsigned int)(I2*0.41);
IB8=IB%256;
IB4=IB/256;
UPD=0X00;
}
}
}
current_dec=0;
}
if(urgent_stop==1) //急停后返回
goto BEGIN;
if(in_sector==1&&new_sec==1)
{
TR0=0;
ahf_ok=0;
delt1=pp.x[nonce_sec][1]*1000000;
if(nonce_sec==0)
{
if(pp.x[nonce_sec][3]>=I1)
temp_delt_p=pp.x[nonce_sec][3]-I1;
else
temp_delt_p=I1-pp.x[nonce_sec][3];
}
else
{
if(pp.x[nonce_sec][3]>=pp.x[nonce_sec-1][3])
temp_delt_p=pp.x[nonce_sec][3]-pp.x[nonce_sec-1][3];
else
temp_delt_p=pp.x[nonce_sec-1][3]-pp.x[nonce_sec][3];
}
if(pp.k1==PDC)
{
if(nonce_sec==0)
{
if(pp.x[nonce_sec][5]>=I2)
temp_delt_b=pp.x[nonce_sec][5]-I2;
else
temp_delt_b=I2-pp.x[nonce_sec][5];
}
else
{
if(pp.x[nonce_sec][5]>=pp.x[nonce_sec-1][5])
temp_delt_b=pp.x[nonce_sec][5]-pp.x[nonce_sec-1][5];
else
temp_delt_b=pp.x[nonce_sec-1][5]-pp.x[nonce_sec][5];
}
}
if(temp_delt_p>=temp_delt_b)
{
if(temp_delt_p!=0)
{
delt1=delt1/temp_delt_p;
if(delt1%256>=200)
delt1=delt1/256+1;
else
delt1=delt1/256;
}
}
else
{
if(temp_delt_b!=0)
{
delt1=delt1/temp_delt_b;
if(delt1%256>=200)
delt1=delt1/256+1;
else
delt1=delt1/256;
}
}
if(temp_delt_p!=0||temp_delt_b!=0)
{
k1=0;
k2=0;
i_slope_ok=0;
c_t0=0;
while(i_slope_ok==0)
{
TR0=1;
while(c_t0<delt1)
{
if(urgent_stop==1)
goto BEGIN;
}
TR0=0;
c_t0=0;
if(I1!=pp.x[nonce_sec][3])
{
if(I1<pp.x[nonce_sec][3])
{
if((I1+10)>=pp.x[nonce_sec][3])
I1=pp.x[nonce_sec][3];
else
I1=I1+10;
}
else
{
if(I1-10<=pp.x[nonce_sec][3])
I1=pp.x[nonce_sec][3];
else
I1=I1-10;
}
}
else
k1=1;
if(pp.k1==PDC)
{
if(I2!=pp.x[nonce_sec][5])
{
if(I2<pp.x[nonce_sec][5])
{
if((I2+10)>=pp.x[nonce_sec][5])
I2=pp.x[nonce_sec][5];
else
I2=I2+10;
}
else
{
if(I2-10<=pp.x[nonce_sec][5])
I2=pp.x[nonce_sec][5];
else
I2=I2-10;
}
}
else
k2=1;
}
IM=(unsigned int)(I1*0.41);
IB=(unsigned int)(I2*0.41);
IM8=IM%256; //(I1*10/10)%256
IM4=IM/256; //(I1*10/10)/256
IB8=IB%256; //(I2*10/10)%256
IB4=IB/256; //(I2*10/10)/256
UPD=0X00;
if(pp.k1==0&&k1==1||pp.k1==1&&k1==1&&k2==1)
i_slope_ok=1;
if(urgent_stop==1)
goto BEGIN;
}
TR0=0;
current_out=1;
}
c_cm1=0;
n_pulse=pp.x[nonce_sec][2]%256;
n_base=pp.x[nonce_sec][4]%256;
if(pp.x[nonce_sec][6]==ON)
{
delt_ahf=pp.x[nonce_sec][7]/2;
I11=I1+delt_ahf;
I12=I1-delt_ahf;
I21=I2+delt_ahf;
I22=I2-delt_ahf;
t=1000000/pp.x[nonce_sec][8];
c_ahf_p=t*pp.x[nonce_sec][9]/100/100;
c_ahf_b=t/100-c_ahf_p;
ahf_p_b=1;
ahf_ok=1;
c_t0=0;
IM=(unsigned int)(I11*0.41);
IMM=(unsigned int)(I12*0.41);
IB=(unsigned int)(I21*0.41);
IBB=(unsigned int)(I22*0.41);
IML=IM%256;
IMH=IM/256;
IMML=IMM%256;
IMMH=IMM/256;
IBL=IB%256;
IBH=IB/256;
IBBL=IBB%256;
IBBH=IBB/256;
TR0=1;
}
else
ahf_ok=0;
new_sec=0;
}
if(decrease==1) //衰减
k=0;
}while(k==1);
if(ahf_ok==1)
{
TR0=0;
ahf_ok=0;
if(in_sector==0)
{
I1=pp.i14;
I2=pp.i15;
}
else
{
I1=pp.x[nonce_sec][3];
I2=pp.x[nonce_sec][5];
}
IM=(unsigned int)(I1*0.41);
IB=(unsigned int)(I2*0.41);
IML=IM%256;
IMH=IM/256;
IBL=IB%256;
IBH=IB/256;
IM8=IML;
IM4=IMH;
IB8=IBL;
IB4=IBH;
UPD=0x00;
}
if(urgent_stop==1) //急停后返回
goto BEGIN;
IEN1=IEN1&0xFA;
work=4;
kk=1;
k1=0;
k2=0;
if(I1>pp.i17)
{
temp_delt=pp.t17*1000000;
temp_delt=temp_delt/(I1-pp.i17);
delt=temp_delt/256;
}
else
delt=0;
c_t0=0;
work=4;
do //电流衰减
{
TR0=1;
while(c_t0<delt)
{
if(urgent_stop==1)
goto BEGIN;
}
TR0=0;
c_t0=0;
if(pp.k1==PDC)
{
if(I1>pp.i17)
{
if((I1-10)<=pp.i17)
I1=pp.i17;
else
I1=I1-10;
IM=(unsigned int)(I1*0.41);
IM8=IM%256;
IM4=IM/256;
}
else
k1=1;
if(I2>pp.i17)
{
if((I2-10)<=pp.i17)
I2=pp.i17;
else
I2=I2-10;
IB=(unsigned int)(I2*0.41);
IB8=IB%256;
IB4=IB/256;
}
else
k2=1;
UPD=0;
if(k1==1&&k2==1)
kk=0;
}
else
{
if(I1>pp.i17)
{
if((I1-10)<=pp.i17)
I1=pp.i17;
else
I1=I1-10;
IM=(unsigned int)(I1*0.41);
IM8=IM%256;
IM4=IM/256;
UPD=0;
}
else
kk=0;
}
/*
if(need_para==1) //显示焊接电流、焊接电压
{
sbuffer[0]=M_main;
sbuffer[1]=parameter2;
sbuffer[2]=ad_i/256;
sbuffer[3]=ad_i%256;
sbuffer[4]=ad_v/256;
sbuffer[5]=ad_v%256;
sbuffer[6]=0;
s_byte_nums=7;
TR_noans();
need_para=0;
}
*/
if(urgent_stop==1) //急停后返回
goto BEGIN;
}while(kk==1);
if(YOUHU==1)
current_enable=0; //关电源使能
IEN1=IEN1&0XDF; //禁止CM1
c_cm2=0;
IEN1=IEN1|0x40; //允许CM2,停水计时
while(close_gas_ok==0)
{
if(close_gas2==1)
{
ini_sbuf(M_main,answer,S_ANSW,0,0,0,0);
s_byte_nums=4;
TR_noans();
con_gas2=1; //关气2
close_gas2=0;
close_gas2_ok=1;
}
if(close_gas1==1)
{
ini_sbuf(M_main,answer,S_ANSW,0,0,0,0);
s_byte_nums=4;
TR_noans();
con_gas1=1; //关气1
close_gas1=0;
close_gas1_ok=1;
}
if((pp.gas2==OFF&&close_gas1_ok==1)||(pp.gas2==ON&&close_gas1_ok==1&&close_gas2_ok==1))
close_gas_ok=1;
if(urgent_stop==1) //急停后返回
goto BEGIN;
}
while(to_begin==0)
{
if(urgent_stop==1)
goto BEGIN;
}
goto BEGIN;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -