📄 main_stop2zw.lst
字号:
925 2 case com_ignit_ok: ignit_ok=1;break;
926 2 case com_decrease: decrease=1;break; //衰减
927 2 case com_current_add: if(rc_forbided==0)
928 2 current_add=1;break; //电流加
929 2 case com_current_dec: if(rc_forbided==0)
930 2 current_dec=1;break; //电流减
931 2 case com_rot_front: if(rc_forbided==0)
932 2 rot_front=1;break;
933 2 case com_rot_reverse: if(rc_forbided==0)
934 2 rot_reverse=1;break;
935 2 case com_wire_add: if(rc_forbided==0)
936 2 wire_add=1;break;
937 2 case com_wire_dec: if(rc_forbided==0)
938 2 wire_dec=1;break;
939 2 case com_osc_l: {
940 3 if(rc_forbided==0&&osc_l==0)
941 3 osc_l=1;
942 3 }break;
943 2 case com_osc_r: {
944 3 if(rc_forbided==0&&osc_r==0)
945 3 osc_r=1;
946 3 }break;
947 2 case com_breadth_add: {
948 3 if(rc_forbided==0&&breadth_add==0)
949 3 breadth_add=1;
950 3 }break;
951 2 case com_breadth_dec: {
952 3 if(rc_forbided==0&&breadth_dec==0)
953 3 breadth_dec=1;
954 3 }break;
955 2 case com_avc_up: if(rc_forbided==0)
956 2 avc_up=1;break;
957 2 case com_avc_down: if(rc_forbided==0)
958 2 avc_down=1;break;
959 2 case com_motor_stop: {
960 3 if(rc_forbided==0&&motor_stop==0)
961 3 motor_stop=1;
962 3 }break;
963 2
964 2 case com_lift_ok: lift_ok=1;break;
965 2 case com_return_ok: return_ok=1;break;
966 2 default: break;
967 2 }
968 1 if(ans==0)
969 1 {
970 2 POINTER1=0;
971 2 RSUM=0;
972 2 r_byte_nums=4;
973 2 }
974 1 }
975
976 void data_type() //对接收到的数据分辨类型
977 {
978 1 switch(rbuffer[1])
979 1 {
980 2 case command: com_type();
981 2 break;
982 2 case answer: R_ANSW=rbuffer[2];
983 2 break;
984 2 case err_infor: err=rbuffer[3];
C51 COMPILER V7.06 MAIN_STOP2ZW 10/04/2005 11:11:27 PAGE 17
985 2 break;
986 2 case edit_sec: if(in_sector==0)
987 2 {
988 3 nonce_sec=rbuffer[2];
989 3 p_out=0;
990 3 in_sector=1;
991 3 }
992 2 break;
993 2 case parameter: param=1;break;
994 2 case program: if(work==0)
995 2 change_prg=1; //将程序号存入EEPROM
996 2 break;
997 2 case infor: {
998 3 switch(rbuffer[2])
999 3 {
1000 4 case com_calling: R_ANSW=rbuffer[3];break;
1001 4 case com_switch: {
1002 5 YOUHU=rbuffer[3];
1003 5 WIRE=rbuffer[4];
1004 5 }break;
1005 4 case com_weld_simu: new_switch11=1;break;
1006 4 case com_wire_on_off: new_switch22=1;break;
1007 4 case com_delt_switch: delt_switch=1;break;
1008 4 default: break;
1009 4 }
1010 3
1011 3 }
1012 2 break;
1013 2 case p_section: {
1014 3 nonce_sec=rbuffer[5];
1015 3 change_sec_num=1;
1016 3 param=1;
1017 3 }break;
1018 2 case p_edit_finish:{
1019 3 nonce_sec=rbuffer[5];
1020 3 pp.sec_num=rbuffer[6];
1021 3 if(rbuffer[2]!=0xFF)
1022 3 {
1023 4 param=1;
1024 4 temp_edit_finish=1;
1025 4 }
1026 3 else
1027 3 edit_finish=1;
1028 3 work=0;
1029 3 }break;
1030 2 default: break;
1031 2 }
1032 1 }
1033
1034 void call_slave()
1035 {
1036 1 unsigned char call_add[]={M_current,M_RW,M_OSC,M_AVC,M_P,M_RC};//电流、旋转/送丝、横摆/弧长、面板、线控器
-、等离子、热丝
1037 1 unsigned char i,c_call[6];
1038 1 calling=1;
1039 1 for(i=0;i<6;i++)
1040 1 {
1041 2 existent[i]=0;
1042 2 c_call[i]=0;
1043 2 }
1044 1 for(i=0;i<6;i++)
1045 1 {
C51 COMPILER V7.06 MAIN_STOP2ZW 10/04/2005 11:11:27 PAGE 18
1046 2 RECALL: R_ANSW=0;
1047 2 if(existent[i]==0&&c_call[i]<3)
1048 2 {
1049 3 ini_sbuf(call_add[i],command,com_calling,0,0,0,0);
1050 3 s_byte_nums=4;
1051 3 TR_ans();
1052 3 if(overtime==1)
1053 3 overtime=0;
1054 3 if(overtime==0&&R_ANSW==OK)
1055 3 existent[i]=1;
1056 3 else
1057 3 {
1058 4 c_call[i]=c_call[i]+1;
1059 4 if(overtime==1)
1060 4 overtime=0;
1061 4 goto RECALL;
1062 4 }
1063 3 }
1064 2 /*
1065 2 if(i==0&&c_call[0]==3&&existent[0]==0)
1066 2 {
1067 2 main_err=1;
1068 2 err=19;
1069 2 stop=0;
1070 2 while(main_err==1);
1071 2 I_RECALL: ini_sbuf(call_add[i],command,com_calling,0,0,0,0);
1072 2 s_byte_nums=4;
1073 2 TR_ans();
1074 2 if(overtime==1)
1075 2 overtime=0;
1076 2 if(overtime==0&&R_ANSW==OK)
1077 2 existent[i]=1;
1078 2 if(existent[0]==0)
1079 2 goto I_RECALL;
1080 2 }
1081 2 */
1082 2 }
1083 1 sbuffer1[0]=M_P;
1084 1 sbuffer1[1]=call_result;
1085 1 for(i=0;i<6;i++)
1086 1 sbuffer1[i+2]=existent[i];
1087 1 sbuffer1[8]=0;
1088 1 s_byte_nums=9;
1089 1 s_p=1;
1090 1 TR_noans();
1091 1 s_p=0;
1092 1 R_ANSW=0;
1093 1 calling=0;
1094 1 }
1095
1096 void readPRG()
1097 {
1098 1 getPRG=1;
1099 1 readEEP_byte();
1100 1 getPRG=0;
1101 1 PRG=GET;
1102 1 }
1103
1104 void send_param()
1105 {
1106 1 unsigned char axis[]={M_current,M_RW,M_OSC,M_AVC},
1107 1 temp_pc,temp_delt,snum,anum,c_err;
C51 COMPILER V7.06 MAIN_STOP2ZW 10/04/2005 11:11:27 PAGE 19
1108 1
1109 1 p_send=1;
1110 1 s_p=1;
1111 1 c_err=0;
1112 1 if(existent[0]==1)
1113 1 {
1114 2 point=&pp.t01;
1115 2 temp_delt=2;
1116 2 sbuffer1[0]=M_current; //电流和面板接收
1117 2 sbuffer1[1]=p_out_sec; //电流区间外参数
1118 2 sbuffer1[52]=pp.syn_type%256;
1119 2 sbuffer1[53]=0;
1120 2 sbuffer1[54]=0;
1121 2 for(temp_pc=2;temp_pc<52;temp_pc++)
1122 2 {
1123 3 if(temp_pc%2==0)
1124 3 {
1125 4 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
1126 4 temp_delt++;
1127 4 }
1128 3 else
1129 3 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
1130 3 }
1131 2 s_byte_nums=55;
1132 2 TR_ans();
1133 2 RESEND: if(resend==1||overtime==1)
1134 2 {
1135 3 c_err++;
1136 3 resend=0;
1137 3 overtime=0;
1138 3 if(c_err<5)
1139 3 {
1140 4 TR_ans();
1141 4 goto RESEND;
1142 4 }
1143 3 else
1144 3 {
1145 4 c_err=0;
1146 4 main_err=1;
1147 4 err=2;
1148 4 stop=0;
1149 4 while(urgent_stop==0);
1150 4 goto END_P;
1151 4 }
1152 3 }
1153 2 else
1154 2 c_err=0;
1155 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -