📄 main_stop2.c.bak
字号:
}break;
case V32: {
pp.v32=rbuffer[3]*256+rbuffer[4];
general_param=pp.v32;
}break;
case T34: {
pp.t34=rbuffer[3]*256+rbuffer[4];
general_param=pp.t34;
}break;
case K4: {
pp.k4=rbuffer[3]*256+rbuffer[4];
general_param=pp.k4;
}break;
case Syn_type:{
pp.syn_type=rbuffer[3]*256+rbuffer[4];
general_param=pp.syn_type;
}break;
case T41: {
pp.t41=rbuffer[3]*256+rbuffer[4];
general_param=pp.t41;
}break;
case T41_SD: {
pp.t41_sd=rbuffer[3]*256+rbuffer[4];
general_param=pp.t41_sd;
}break;
case T42_L: {
pp.t42_l=rbuffer[3]*256+rbuffer[4];
general_param=pp.t42_l;
}break;
case T42_R: {
pp.t42_r=rbuffer[3]*256+rbuffer[4];
general_param=pp.t42_r;
}break;
case V41: {
pp.v41=rbuffer[3]*256+rbuffer[4];
general_param=pp.v41;
}break;
case A41: {
pp.a41=rbuffer[3]*256+rbuffer[4];
general_param=pp.a41;
}break;
case DC41: {
pp.dc41=rbuffer[3]*256+rbuffer[4];
general_param=pp.dc41;
}break;
case DA41: {
pp.da41=rbuffer[3]*256+rbuffer[4];
general_param=pp.da41;
}break;
case T43: {
pp.t43=rbuffer[3]*256+rbuffer[4];
general_param=pp.t43;
}break;
case T43_SD: {
pp.t43_sd=rbuffer[3]*256+rbuffer[4];
general_param=pp.t43_sd;
}break;
case K5: {
pp.k5=rbuffer[3]*256+rbuffer[4];
general_param=pp.k5;
}break;
case PGJ: {
pp.pgj=rbuffer[3]*256+rbuffer[4];
general_param=pp.pgj;
}break;
case H51: {
pp.h51=rbuffer[3]*256+rbuffer[4];
general_param=pp.h51;
}break;
case T51: {
pp.t51=rbuffer[3]*256+rbuffer[4];
general_param=pp.t51;
}break;
case T51_SD: {
pp.t51_sd=rbuffer[3]*256+rbuffer[4];
general_param=pp.t51_sd;
}break;
case T52: {
pp.t52=rbuffer[3]*256+rbuffer[4];
general_param=pp.t52;
}break;
case T52_SD: {
pp.t52_sd=rbuffer[3]*256+rbuffer[4];
general_param=pp.t52_sd;
}break;
case AVC_type:{
pp.avc_type=rbuffer[3]*256+rbuffer[4];
general_param=pp.avc_type;
}break;
case U51_P: {
pp.u51_p=rbuffer[3]*256+rbuffer[4];
general_param=pp.u51_p;
}break;
case U51_B: {
pp.u51_b=rbuffer[3]*256+rbuffer[4];
general_param=pp.u51_b;
}break;
case SENS: {
pp.sens=rbuffer[3]*256+rbuffer[4];
general_param=pp.sens;
}break;
case DU51: {
pp.du51=rbuffer[3]*256+rbuffer[4];
general_param=pp.du51;
}break;
case H52: {
pp.h52=rbuffer[3]*256+rbuffer[4];
general_param=pp.h52;
}break;
case NUM_BB: general_param=pp.sec_num;break;
case N_BB: {
pp.x[nonce_sec][0]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][0];
}break;
case T13_BB: {
pp.x[nonce_sec][1]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][1];
}break;
case T14_BB: {
pp.x[nonce_sec][2]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][2];
}break;
case I14_BB: {
pp.x[nonce_sec][3]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][3];
}break;
case T15_BB: {
pp.x[nonce_sec][4]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][4];
}break;
case I15_BB: {
pp.x[nonce_sec][5]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][5];
}break;
case AHF_BB: {
pp.x[nonce_sec][6]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][6];
}break;
case I16_BB: {
pp.x[nonce_sec][7]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][7];
}break;
case F_BB: {
pp.x[nonce_sec][8]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][8];
}break;
case T16_BB: {
pp.x[nonce_sec][9]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][9];
}break;
case D_BB: {
pp.x[nonce_sec][10]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][10];
}break;
case K21_BB: {
pp.x[nonce_sec][11]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][11];
}break;
case V21P_BB:{
pp.x[nonce_sec][12]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][12];
}break;
case V21B_BB:{
pp.x[nonce_sec][13]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][13];
}break;
case T21_BB: {
pp.x[nonce_sec][14]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][14];
}break;
case K3_BB: {
pp.x[nonce_sec][15]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][15];
}break;
case K31_BB: {
pp.x[nonce_sec][16]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][16];
}break;
case T32_BB: {
pp.x[nonce_sec][17]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][17];
}break;
case V31P_BB:{
pp.x[nonce_sec][18]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][18];
}break;
case V31B_BB:{
pp.x[nonce_sec][19]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][19];
}break;
case K4_BB: {
pp.x[nonce_sec][20]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][20];
}break;
case T42L_BB:{
pp.x[nonce_sec][21]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][21];
}break;
case T42R_BB:{
pp.x[nonce_sec][22]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][22];
}break;
case V41_BB: {
pp.x[nonce_sec][23]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][23];
}break;
case A41_BB: {
pp.x[nonce_sec][24]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][24];
}break;
case T43_BB: {
pp.x[nonce_sec][25]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][25];
}break;
case U51P_BB:{
pp.x[nonce_sec][26]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][26];
}break;
case U51B_BB:{
pp.x[nonce_sec][27]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][27];
}break;
case SENS_BB:{
pp.x[nonce_sec][28]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][28];
}break;
case DU51_BB:{
pp.x[nonce_sec][29]=rbuffer[3]*256+rbuffer[4];
general_param=pp.x[nonce_sec][29];
}break;
default:break;
}
get_SLA(); //根据程序号,获取SLA和temp_PRG
get_secondDDR();
COMM=(mainDDR+secondDDR)/256;
writeEEP_word();
if(change_sec_num==1)
{
nonce_sec=rbuffer[6];
change_sec_num=0;
}
param=0;
}
void com_type()
{
switch(rbuffer[2])
{
case com_edit: {
editing=1; //编程
p_out=1;
}break;
case com_start: if(start==0)//编程未结束,禁止启动焊接
{
FINISH=0;
start=1;
}break;
case com_start_again: if(start==0)
{
start=1;
start_again=1;
}break;
case com_ignit_ok: ignit_ok=1;break;
case com_decrease: decrease=1;break; //衰减
case com_current_add: if(rc_forbided==0)
current_add=1;break; //电流加
case com_current_dec: if(rc_forbided==0)
current_dec=1;break; //电流减
case com_rot_front: if(rc_forbided==0)
rot_front=1;break;
case com_rot_reverse: if(rc_forbided==0)
rot_reverse=1;break;
case com_wire_add: if(rc_forbided==0)
wire_add=1;break;
case com_wire_dec: if(rc_forbided==0)
wire_dec=1;break;
case com_osc_l: {
if(rc_forbided==0&&osc_l==0)
osc_l=1;
}break;
case com_osc_r: {
if(rc_forbided==0&&osc_r==0)
osc_r=1;
}break;
case com_breadth_add: {
if(rc_forbided==0&&breadth_add==0)
breadth_add=1;
}break;
case com_breadth_dec: {
if(rc_forbided==0&&breadth_dec==0)
breadth_dec=1;
}break;
case com_avc_up: if(rc_forbided==0)
avc_up=1;break;
case com_avc_down: if(rc_forbided==0)
avc_down=1;break;
case com_motor_stop: {
if(rc_forbided==0&&motor_stop==0)
motor_stop=1;
}break;
case com_lift_ok: lift_ok=1;break;
case com_return_ok: return_ok=1;break;
default: break;
}
if(ans==0)
{
POINTER1=0;
RSUM=0;
r_byte_nums=4;
}
}
void data_type() //对接收到的数据分辨类型
{
switch(rbuffer[1])
{
case command: com_type();
break;
case answer: R_ANSW=rbuffer[2];
break;
case err_infor: err=rbuffer[3];
break;
case edit_sec: if(in_sector==0)
{
nonce_sec=rbuffer[2];
p_out=0;
in_sector=1;
}
break;
case parameter: param=1;break;
case program: if(work==0)
change_prg=1; //将程序号存入EEPROM
break;
case infor: {
switch(rbuffer[2])
{
case com_calling: R_ANSW=rbuffer[3];break;
case com_switch: {
YOUHU=rbuffer[3];
WIRE=rbuffer[4];
}break;
case com_weld_simu: new_switch11=1;break;
case com_wire_on_off: new_switch22=1;break;
case com_delt_switch: delt_switch=1;break;
default: break;
}
}
break;
case p_section: {
nonce_sec=rbuffer[5];
change_sec_num=1;
param=1;
}break;
case p_edit_finish:{
nonce_sec=rbuffer[5];
pp.sec_num=rbuffer[6];
if(rbuffer[2]!=0xFF)
{
param=1;
temp_edit_finish=1;
}
else
edit_finish=1;
work=0;
}break;
default: break;
}
}
void call_slave()
{
unsigned char call_add[]={M_current,M_RW,M_OSC,M_AVC,M_P,M_RC};//电流、旋转/送丝、横摆/弧长、面板、线控器、等离子、热丝
unsigned char i,c_call[6];
calling=1;
for(i=0;i<6;i++)
{
existent[i]=0;
c_call[i]=0;
}
for(i=0;i<6;i++)
{
RECALL: R_ANSW=0;
if(existent[i]==0&&c_call[i]<3)
{
ini_sbuf(call_add[i],command,com_calling,0,0,0,0);
s_byte_nums=4;
TR_ans();
if(overtime==1)
overtime=0;
if(overtime==0&&R_ANSW==OK)
existent[i]=1;
else
{
c_call[i]=c_call[i]+1;
if(overtime==1)
overtime=0;
goto RECALL;
}
}
/*
if(i==0&&c_call[0]==3&&existent[0]==0)
{
main_err=1;
err=19;
stop=0;
while(main_err==1);
I_RECALL: ini_sbuf(call_add[i],command,com_calling,0,0,0,0);
s_byte_nums=4;
TR_ans();
if(overtime==1)
overtime=0;
if(overtime==0&&R_ANSW==OK)
existent[i]=1;
if(existent[0]==0)
goto I_RECALL;
}
*/
}
sbuffer1[0]=M_P;
sbuffer1[1]=call_result;
for(i=0;i<6;i++)
sbuffer1[i+2]=existent[i];
sbuffer1[8]=0;
s_byte_nums=9;
s_p=1;
TR_noans();
s_p=0;
R_ANSW=0;
calling=0;
}
void readPRG()
{
getPRG=1;
readEEP_byte();
getPRG=0;
PRG=GET;
}
void send_param()
{
unsigned char axis[]={M_current,M_RW,M_OSC,M_AVC},
temp_pc,temp_delt,snum,anum,c_err;
p_send=1;
s_p=1;
c_err=0;
if(existent[0]==1)
{
point=&pp.t01;
temp_delt=2;
sbuffer1[0]=M_current; //电流和面板接收
sbuffer1[1]=p_out_sec; //电流区间外参数
sbuffer1[52]=pp.syn_type%256;
sbuffer1[53]=0;
sbuffer1[54]=0;
for(temp_pc=2;temp_pc<52;temp_pc++)
{
if(temp_pc%2==0)
{
sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
temp_delt++;
}
else
sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
}
s_byte_nums=55;
TR_ans();
RESEND: if(resend==1||overtime==1)
{
c_err++;
resend=0;
overtime=0;
if(c_err<5)
{
TR_ans();
goto RESEND;
}
else
{
c_err=0;
main_err=1;
err=2;
stop=0;
while(urgent_stop==0);
goto END_P;
}
}
else
c_err=0;
}
if(existent[1]==1)
{
s_p=1;
point=&pp.k2;
temp_delt=2;
sbuffer1[0]=M_RW; //旋转/送丝和面板接收
sbuffer1[1]=p_out_sec; //旋转/送丝区间外参数
for(temp_pc=2;temp_pc<50;temp_pc++)
{
if(temp_pc%2==0)
{
sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
temp_delt++;
}
else
sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
}
sbuffer1[50]=pp.k1%256;
for(temp_pc=51;temp_pc<55;temp_pc++)
sbuffer1[temp_pc]=0;
s_byte_nums=55;
TR_ans();
RESEND1: if(resend==1||overtime==1)
{
c_err++;
resend=0;
overtime=0;
if(c_err<5)
{
TR_ans();
goto RESEND1;
}
else
{
c_err=0;
main_err=1;
err=2;
stop=0;
while(urgent_stop==0);
goto END_P;
}
}
else
c_err=0;
}
if(existent[2]==1)
{
s_p=1;
point=&pp.k4;
temp_delt=2;
sbuffer1[0]=M_OSC; //横摆和面板接收
sbuffer1[1]=p_out_sec; //横摆区间外参数
for(temp_pc=2;temp_pc<26;temp_pc++)
{
if(temp_pc%2==0)
{
sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
temp_delt++;
}
else
sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
}
sbuffer1[26]=pp.t17/256;
sbuffer1[27]=pp.t17%256;
sbuffer1[28]=0;
sbuffer1[29]=pp.sec_num%256;
for(temp_pc=30;temp_pc<55;temp_pc++)
sbuffer1[temp_pc]=0;
s_byte_nums=55;
TR_ans();
RESEND2: if(resend==1||overtime==1)
{
c_err++;
resend=0;
overtime=0;
if(c_err<5)
{
TR_ans();
goto RESEND2;
}
else
{
c_err=0;
main_err=1;
err=2;
stop=0;
while(urgent_stop==0);
goto END_P;
}
}
else
c_err=0;
}
if(existent[3]==1)
{
s_p=1;
point=&pp.k5;
temp_delt=2;
sbuffer1[0]=M_AVC; //横摆和面板接收
sbuffer1[1]=p_out_sec; //横摆区间外参数
for(temp_pc=2;temp_pc<28;temp_pc++)
{
if(temp_pc%2==0)
{
sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
temp_delt++;
}
else
sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
}
if(pp.sec_num>11)
pp.sec_num=0;
sbuffer1[28]=pp.k1/256;
sbuffer1[29]=pp.k1%256;
for(temp_pc=30;temp_pc<55;temp_pc++)
sbuffer1[temp_pc]=0;
s_byte_nums=55;
TR_ans();
RESEND3: if(resend==1||overtime==1)
{
c_err++;
resend=0;
overtime=0;
if(c_err<5)
{
TR_ans();
goto RESEND3;
}
else
{
c_err=0;
main_err=1;
err=2;
stop=0;
while(urgent_stop==0);
goto END_P;
}
}
else
c_err=0;
}
if(pp.sec_num>0)
{
for(anum=0;anum<4;anum++)
{
if(existent[anum]==1)
{
s_p=1;
for(snum=0;snum<pp.sec_num;snum++)
{
s_p=1;
temp_delt=3;
sbuffer1[0]=axis[anum];
sbuffer1[1]=p_in_sec;
sbuffer1[2]=snum;
switch(anum)
{
case 0: {
point=&pp.x[snum][0];
for(temp_pc=3;temp_pc<23;temp_pc++)
{
if(temp_pc%2==1)
{
sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
temp_delt++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -