📄 main_stop1.c.bak
字号:
#pragma la
#include <main.h>
#define uchar unsigned char
#define uint unsigned int
sbit stop=P3^5;
/**********err information**********/
/*
err=0 正常
err=1 急停
err=2 通讯出错
err=3 引弧失败
err=4 电源出错
err=5 过温
err=6 缺水
err=7 缺气1
err=8 缺气2
err=9 旋转过流
err=10 送丝过流
err=11 旋转限位
err=12 横摆左限位
err=13 横摆右限位
err=14 横摆过流
err=15 弧长上限位
err=16 弧长下限位
err=17 弧长过流
err=18 弧长短路
*/
/**********err information**********/
xdata unsigned char sbuffer[7],rbuffer[64],sbuffer1[55];
unsigned char S_ANSW,R_ANSW,POINTER0,POINTER1,work,Rn,Wn,OA,RSUM,SSUM,sw,PRG,
err,toPRG,temp_PRG,p_name,s_byte_nums,r_byte_nums,
times,p_sec,c_ex1,delt_state,c_c_t1;
unsigned int *point,n_n11,n_t21,n_t31,n_t13,n_t32,n_t33,n_t41,n_t43,n_t51,n_t52,
n_t01,n_t02,n_t03,n_t04,n_t12,n_t17,n_t34,c_flow,c_sum,c_current,
c_end,temp_GET,general_param,mainDDR,secondDDR,nums,nums1,delt,c_t1
;
unsigned char COMM,SLA,FF,GET;
bit ignit_ok,lift_ok,auto_return,editing,readEEPbyte,readEEPpage,
writeEEPpage,writeEEPword,writeEEPbyte,edit_finish,copy,change_prg,
overtime,getPRG,in_sector,send,current_ok,rw_ok,oa_ok,rc_ok,p_absent,
t31OK,t41OK,t51OK,resend,param,ans,s_p,rc_demand,wire_stoped,avc_stoped,
savePRG,noans_ok,calling,current_absent,rw_absent,oa_absent,main_err,current_err,rw_err,oa_err,
osc_absent,avc_absent,rc_err,delt_switch,p_out,p_send,temp_edit_finish,enter;
bit p_absent,rc_absent,change_sec_num,urgent_stop,p_forbid,rc_forbid,p_active,rc_active,wait_ans,send_p_ok;
xdata uchar start _at_ 0x0800;
xdata uchar start_again _at_ 0x0801;
xdata uchar decrease _at_ 0x0802;
//xdata uchar urgent_stop _at_ 0x0804;
xdata uchar YOUHU _at_ 0x0806;
xdata uchar WIRE _at_ 0x0808;
xdata uchar decrease_ok _at_ 0x080A;
xdata uchar weld_switch _at_ 0x080C;
xdata uchar wire_switch _at_ 0x080E;
xdata uchar current_add _at_ 0x0810;
xdata uchar current_dec _at_ 0x0812;
xdata uchar rot_front _at_ 0x0814;
xdata uchar rot_reverse _at_ 0x0816;
xdata uchar wire_add _at_ 0x0818;
xdata uchar wire_dec _at_ 0x081A;
xdata uchar osc_l _at_ 0x081C;
xdata uchar osc_r _at_ 0x081E;
xdata uchar breadth_add _at_ 0x0820;
xdata uchar breadth_dec _at_ 0x0822;
xdata uchar avc_up _at_ 0x0824;
xdata uchar avc_down _at_ 0x0826;
xdata uchar motor_stop _at_ 0x0828;
//xdata uchar lift_ok _at_ 0x082A;
xdata uchar return_ok _at_ 0x082C;
xdata uchar nonce_sec _at_ 0X082E;
xdata uint FINISH _at_ 0X0830;
xdata uint CURRENT _at_ 0X0832;
xdata uint VOLTAGE _at_ 0X0834;
xdata uint AVC _at_ 0X0836;
//xdata uchar pc_ok _at_ 0x0838;
xdata uchar new_switch11 _at_ 0x0839;
xdata uchar new_switch22 _at_ 0x083A;
xdata uchar p_forbided _at_ 0x083B;
xdata uchar rc_forbided _at_ 0x083C;
xdata uchar p_actived _at_ 0x083D;
xdata uchar rc_actived _at_ 0x083E;
xdata uint last_FINISH _at_ 0x0840;
//xdata uint reset _at_ 0x0842;
void delay(unsigned int num)
{
data unsigned int i,ii;
for(i=0;i<num;i++)
{
for(ii=0;ii<255;ii++);
}
}
void start_i2()
{
data unsigned int time;
P1_6=1; //SCL
P1_7=1; //SDA
S1CON=0x47; //ENS1=1 STA=0 STO=0 SI=0 AA=1
PS1=1;FF=0;
EA=1;
ES1=1;
STA=1;
time=0;
do
{
time++;
if(time>10000)
{
FF=1;
}
}while(FF==0);
FF=0;
ES1=0;
}
void ini_sbuf(unsigned char a,b,c,d,e,f,g)
{
sbuffer[0]=a;
sbuffer[1]=b;
sbuffer[2]=c;
sbuffer[3]=d;
sbuffer[4]=e;
sbuffer[5]=f;
sbuffer[6]=g;
}
unsigned char get_byte_nums(unsigned char type)
{
unsigned char numbers;
switch(type)
{
// case infor_sec:
case command:
case program:
case answer: numbers=4;
break;
case err_infor:
case parameter1: numbers=5;
break;
case parameter:
case infor: numbers=6;
break;
case parameter2: numbers=7;
break;
case call_result: numbers=9;
break;
case p_out_sec: numbers=55;
break;
case p_in_sec: numbers=24;
break;
case edit_sec: numbers=64;
break;
case p_section:
case p_edit_finish: numbers=8;
break;
default: break;
}
return numbers;
}
void start_i2a()
{
P1_6=1; //SCL
P1_7=1; //SDA
S1CON=0x47; //ENS1=1 STA=0 STO=0 SI=0 AA=1
PS1=1;
EA=1;
ES1=1;
STA=1;
}
void get_SLA()
{
if(PRG<50)
{
SLA=0xA0;
temp_PRG=PRG;
}
else
{
if(PRG<100)
{
SLA=0XA2;
temp_PRG=PRG-50;
}
}
mainDDR=temp_PRG*768;
}
void get_SLA1()
{
if(PRG<50)
{
SLA=0XA0;
temp_PRG=PRG;
}
else
{
if(PRG<100)
{
SLA=0XA2;
temp_PRG=PRG-50;
}
else
{
if(PRG<150)
{
SLA=0XA4;
temp_PRG=PRG-100;
}
else
{
SLA=0XA6;
temp_PRG=PRG-150;
}
}
}
mainDDR=temp_PRG*768;
}
void readEEP_byte()
{
nums=0;
readEEPbyte=1;
SLA=0XA0;
COMM=0xFF;
start_i2a();
while(readEEPbyte==1)
{
if(urgent_stop==1)
readEEPbyte=0;
}
}
void readEEP_page()
{
nums=0;
nums1=0;
delt=2;
point=&pp.pn;
readEEPpage=1;
get_SLA1();
COMM=(mainDDR+times*128)/256;
start_i2a();
while(readEEPpage==1)
{
if(urgent_stop==1)
readEEPpage=0;
}
}
void writeEEP_byte()
{
nums=0;
writeEEPbyte=1;
SLA=0XA0;
COMM=0XFF;
start_i2a();
while(writeEEPbyte==1)
{
if(urgent_stop==1)
writeEEPbyte=0;
}
}
void writeEEP_word()
{
nums=0;
writeEEPword=1;
start_i2a();
while(writeEEPword==1)
{
if(urgent_stop==1)
writeEEPword=0;
}
}
void writeEEP_page(unsigned char t) //将指定专家参数复制到目的程序号下
{
nums=0;
delt=2;
writeEEPpage=1;
get_SLA1();
COMM=(mainDDR+t*128)/256;
start_i2a();
while(writeEEPpage==1)
{
if(urgent_stop==1)
writeEEPpage=0;
}
}
void save_prg()
{
savePRG=1;
SLA=0XA0;
COMM=0XFF;
writeEEP_byte();
}
void TR_noans()
{
noans_ok=0;
TB8=1;
POINTER0=0;
SSUM=0;
send=1;
c_t1=0;
TR1=1;
while(POINTER0<s_byte_nums);
TR1=0;
noans_ok=1;
}
void TR_ans()
{
REN=0;
ans=1;
POINTER1=0;
RSUM=0;
TB8=1;
POINTER0=0;
SSUM=0;
send=1;
c_t1=0;
TR1=1;
while(POINTER0<s_byte_nums);
TR1=0;
REN=1;
send=0;
c_t1=0;
TR1=1;
while(POINTER1<r_byte_nums&&overtime==0);
TR1=0;
POINTER1=0;
RSUM=0;
c_t1=0;
if(overtime==1)
{
if(wait_ans==1)
{
err=2;
main_err=1;
}
c_t1=0;
}
ans=0;
REN=0;
}
void get_secondDDR()
{
switch(p_name)
{
case T01: secondDDR=2;break;
case T02: secondDDR=4;break;
case GAS2: secondDDR=6;break;
case T03: secondDDR=8;break;
case T04: secondDDR=10;break;
case K1: secondDDR=12;break;
case Ignit: secondDDR=14;break;
case I11: secondDDR=16;break;
case T12: secondDDR=18;break;
case I12: secondDDR=20;break;
case T13: secondDDR=22;break;
case T13_SD: secondDDR=24;break;
case T14: secondDDR=26;break;
case I14: secondDDR=28;break;
case T15: secondDDR=30;break;
case I15: secondDDR=32;break;
case DI: secondDDR=34;break;
case AHF: secondDDR=36;break;
case I16: secondDDR=38;break;
case F: secondDDR=40;break;
case T16: secondDDR=42;break;
case N11: secondDDR=44;break;
case N11_SD: secondDDR=46;break;
case T17: secondDDR=48;break;
case I17: secondDDR=50;break;
case K2: secondDDR=52;break;
case RN: secondDDR=54;break;
case D: secondDDR=56;break;
case K21: secondDDR=58;break;
case V21_P: secondDDR=60;break;
case V21_B: secondDDR=62;break;
case T21: secondDDR=64;break;
case T21_SD: secondDDR=66;break;
case DV21: secondDDR=68;break;
case B : secondDDR=70;break;
case K3: secondDDR=72;break;
case K31: secondDDR=74;break;
case WN: secondDDR=76;break;
case T31: secondDDR=78;break;
case T31_SD: secondDDR=80;break;
case T32: secondDDR=82;break;
case T32_SD: secondDDR=84;break;
case V31_P: secondDDR=86;break;
case V31_B: secondDDR=88;break;
case DV31: secondDDR=90;break;
case T33: secondDDR=92;break;
case T33_SD: secondDDR=94;break;
case V32: secondDDR=96;break;
case T34: secondDDR=98;break;
case K4: secondDDR=100;break;
case Syn_type: secondDDR=102;break;
case T41: secondDDR=104;break;
case T41_SD: secondDDR=106;break;
case T42_L: secondDDR=108;break;
case T42_R: secondDDR=110;break;
case V41: secondDDR=112;break;
case A41: secondDDR=114;break;
case DC41: secondDDR=116;break;
case DA41: secondDDR=118;break;
case T43: secondDDR=120;break;
case T43_SD: secondDDR=122;break;
case K5: secondDDR=124;break;
case PGJ: secondDDR=126;break;
case H51: secondDDR=128;break;
case T51: secondDDR=130;break;
case T51_SD: secondDDR=132;break;
case T52: secondDDR=134;break;
case T52_SD: secondDDR=136;break;
case AVC_type: secondDDR=138;break;
case U51_P: secondDDR=140;break;
case U51_B: secondDDR=142;break;
case SENS: secondDDR=144;break;
case DU51: secondDDR=146;break;
case H52: secondDDR=148;break;
case NUM_BB: secondDDR=150;break;
case N_BB: secondDDR=150+nonce_sec*60+2;break;
case T13_BB: secondDDR=150+nonce_sec*60+4;break;
case T14_BB: secondDDR=150+nonce_sec*60+6;break;
case I14_BB: secondDDR=150+nonce_sec*60+8;break;
case T15_BB: secondDDR=150+nonce_sec*60+10;break;
case I15_BB: secondDDR=150+nonce_sec*60+12;break;
case AHF_BB: secondDDR=150+nonce_sec*60+14;break;
case I16_BB: secondDDR=150+nonce_sec*60+16;break;
case F_BB: secondDDR=150+nonce_sec*60+18;break;
case T16_BB: secondDDR=150+nonce_sec*60+20;break;
case D_BB: secondDDR=150+nonce_sec*60+22;break;
case K21_BB: secondDDR=150+nonce_sec*60+24;break;
case V21P_BB: secondDDR=150+nonce_sec*60+26;break;
case V21B_BB: secondDDR=150+nonce_sec*60+28;break;
case T21_BB: secondDDR=150+nonce_sec*60+30;break;
case K3_BB: secondDDR=150+nonce_sec*60+32;break;
case K31_BB: secondDDR=150+nonce_sec*60+34;break;
case T32_BB: secondDDR=150+nonce_sec*60+36;break;
case V31P_BB: secondDDR=150+nonce_sec*60+38;break;
case V31B_BB: secondDDR=150+nonce_sec*60+40;break;
case K4_BB: secondDDR=150+nonce_sec*60+42;break;
case T42L_BB: secondDDR=150+nonce_sec*60+44;break;
case T42R_BB: secondDDR=150+nonce_sec*60+46;break;
case V41_BB: secondDDR=150+nonce_sec*60+48;break;
case A41_BB: secondDDR=150+nonce_sec*60+50;break;
case T43_BB: secondDDR=150+nonce_sec*60+52;break;
case U51P_BB: secondDDR=150+nonce_sec*60+54;break;
case U51B_BB: secondDDR=150+nonce_sec*60+56;break;
case SENS_BB: secondDDR=150+nonce_sec*60+58;break;
case DU51_BB: secondDDR=150+nonce_sec*60+60;break;
default:break;
}
}
void para_table()
{
switch(p_name)
{
case T01: {
pp.t01=rbuffer[3]*256+rbuffer[4];
general_param=pp.t01;
}break;
case T02: {
pp.t02=rbuffer[3]*256+rbuffer[4];
general_param=pp.t02;
}break;
case GAS2: {
pp.gas2=rbuffer[3]*256+rbuffer[4];
general_param=pp.gas2;
}break;
case T03: {
pp.t03=rbuffer[3]*256+rbuffer[4];
general_param=pp.t03;
}break;
case T04: {
pp.t04=rbuffer[3]*256+rbuffer[4];
general_param=pp.t04;
}break;
case K1: {
pp.k1=rbuffer[3]*256+rbuffer[4];
if(pp.k1==DC)
{
pp.k21=OFF;
pp.k31=OFF;
}
general_param=pp.k1;
}break;
case Ignit: {
pp.ignit=rbuffer[3]*256+rbuffer[4];
general_param=pp.ignit;
}break;
case I11: {
pp.i11=rbuffer[3]*256+rbuffer[4];
general_param=pp.i11;
}break;
case T12: {
pp.t12=rbuffer[3]*256+rbuffer[4];
general_param=pp.t12;
}break;
case I12: {
pp.i12=rbuffer[3]*256+rbuffer[4];
general_param=pp.i12;
}break;
case T13: {
pp.t13=rbuffer[3]*256+rbuffer[4];
general_param=pp.t13;
}break;
case T13_SD: {
pp.t13_sd=rbuffer[3]*256+rbuffer[4];
general_param=pp.t13_sd;
}break;
case T14: {
pp.t14=rbuffer[3]*256+rbuffer[4];
general_param=pp.t14;
}break;
case I14: {
pp.i14=rbuffer[3]*256+rbuffer[4];
general_param=pp.i14;
}break;
case T15: {
pp.t15=rbuffer[3]*256+rbuffer[4];
general_param=pp.t15;
}break;
case I15: {
pp.i15=rbuffer[3]*256+rbuffer[4];
general_param=pp.i15;
}break;
case DI: {
pp.di=rbuffer[3]*256+rbuffer[4];
general_param=pp.di;
}break;
case AHF: {
pp.ahf=rbuffer[3]*256+rbuffer[4];
general_param=pp.ahf;
}break;
case I16: {
pp.i16=rbuffer[3]*256+rbuffer[4];
general_param=pp.i16;
}break;
case F: {
pp.f=rbuffer[3]*256+rbuffer[4];
general_param=pp.f;
}break;
case T16: {
pp.t16=rbuffer[3]*256+rbuffer[4];
general_param=pp.t16;
}break;
case N11: {
pp.n11=rbuffer[3]*256+rbuffer[4];
general_param=pp.n11;
}break;
case N11_SD: {
pp.n11_sd=rbuffer[3]*256+rbuffer[4];
general_param=pp.n11_sd;
}break;
case T17: {
pp.t17=rbuffer[3]*256+rbuffer[4];
general_param=pp.t17;
}break;
case I17: {
pp.i17=rbuffer[3]*256+rbuffer[4];
general_param=pp.i17;
}break;
case K2: {
pp.k2=rbuffer[3]*256+rbuffer[4];
general_param=pp.k2;
}break;
case RN: {
pp.rn=rbuffer[3]*256+rbuffer[4];
general_param=pp.rn;
}break;
case D: {
pp.d=rbuffer[3]*256+rbuffer[4];
general_param=pp.d;
}break;
case K21: {
pp.k21=rbuffer[3]*256+rbuffer[4];
general_param=pp.k21;
}break;
case V21_P: {
pp.v21_p=rbuffer[3]*256+rbuffer[4];
general_param=pp.v21_p;
}break;
case V21_B: {
pp.v21_b=rbuffer[3]*256+rbuffer[4];
general_param=pp.v21_b;
}break;
case T21: {
pp.t21=rbuffer[3]*256+rbuffer[4];
general_param=pp.t21;
}break;
case T21_SD: {
pp.t21_sd=rbuffer[3]*256+rbuffer[4];
general_param=pp.t21_sd;
}break;
case DV21: {
pp.dv21=rbuffer[3]*256+rbuffer[4];
general_param=pp.dv21;
}break;
case B: {
pp.b=rbuffer[3]*256+rbuffer[4];
general_param=pp.b;
}break;
case K3: {
pp.k3=rbuffer[3]*256+rbuffer[4];
general_param=pp.k3;
}break;
case K31: {
pp.k31=rbuffer[3]*256+rbuffer[4];
general_param=pp.k31;
}break;
case WN: {
pp.wn=rbuffer[3]*256+rbuffer[4];
general_param=pp.wn;
}break;
case T31: {
pp.t31=rbuffer[3]*256+rbuffer[4];
general_param=pp.t31;
}break;
case T31_SD: {
pp.t31_sd=rbuffer[3]*256+rbuffer[4];
general_param=pp.t31_sd;
}break;
case T32: {
pp.t32=rbuffer[3]*256+rbuffer[4];
general_param=pp.t32;
}break;
case T32_SD: {
pp.t32_sd=rbuffer[3]*256+rbuffer[4];
general_param=pp.t32_sd;
}break;
case V31_P: {
pp.v31_p=rbuffer[3]*256+rbuffer[4];
general_param=pp.v31_p;
}break;
case V31_B: {
pp.v31_b=rbuffer[3]*256+rbuffer[4];
general_param=pp.v31_b;
}break;
case DV31: {
pp.dv31=rbuffer[3]*256+rbuffer[4];
general_param=pp.dv31;
}break;
case T33: {
pp.t33=rbuffer[3]*256+rbuffer[4];
general_param=pp.t33;
}break;
case V32: {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -