📄 main_stop1.lst
字号:
C51 COMPILER V7.06 MAIN_STOP1 09/02/2005 14:08:54 PAGE 16
923 3 start_again=1;
924 3 }break;
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_STOP1 09/02/2005 14:08:54 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: if(rc_forbided==0)
1006 4 {
1007 5
1008 5 new_switch11=1;
1009 5 }break;
1010 4 case com_wire_on_off: if(rc_forbided==0)
1011 4 {
1012 5
1013 5 new_switch22=1;
1014 5 }break;
1015 4 case com_delt_switch: {
1016 5 if(rc_forbided==0)
1017 5 delt_switch=1;
1018 5 }break;
1019 4 default: break;
1020 4 }
1021 3
1022 3 }
1023 2 break;
1024 2 case p_section: {
1025 3 nonce_sec=rbuffer[5];
1026 3 change_sec_num=1;
1027 3 param=1;
1028 3 }break;
1029 2 case p_edit_finish:{
1030 3 nonce_sec=rbuffer[5];
1031 3 pp.sec_num=rbuffer[6];
1032 3 if(rbuffer[2]!=0xFF)
1033 3 {
1034 4 param=1;
1035 4 temp_edit_finish=1;
1036 4 }
1037 3 else
1038 3 edit_finish=1;
1039 3 work=0;
1040 3 }break;
1041 2 default: break;
1042 2 }
1043 1 }
1044
1045 void call_slave()
1046 {
C51 COMPILER V7.06 MAIN_STOP1 09/02/2005 14:08:54 PAGE 18
1047 1 unsigned char call_add[]={M_current,M_RW,M_OSC,M_AVC,M_P,M_RC};//电流、旋转/送丝、横摆/弧长、面板、线控器
-、等离子、热丝
1048 1 unsigned char i,ok[6],c_call[6];
1049 1 calling=1;
1050 1 for(i=0;i<6;i++)
1051 1 {
1052 2 ok[i]=0;
1053 2 c_call[i]=0;
1054 2 }
1055 1 for(i=0;i<6;i++)
1056 1 {
1057 2 RECALL: if(ok[i]==0&&c_call[i]<3)
1058 2 {
1059 3 ini_sbuf(call_add[i],command,com_calling,0,0,0,0);
1060 3 s_byte_nums=4;
1061 3 TR_ans();
1062 3 if(overtime==1)
1063 3 overtime=0;
1064 3 if(overtime==0&&R_ANSW==OK)
1065 3 {
1066 4 ok[i]=1;
1067 4 R_ANSW=0;
1068 4 }
1069 3 else
1070 3 {
1071 4 c_call[i]=c_call[i]+1;
1072 4 if(overtime==1)
1073 4 overtime=0;
1074 4 goto RECALL;
1075 4 }
1076 3 }
1077 2 }
1078 1 sbuffer1[0]=M_ALL;
1079 1 sbuffer1[1]=call_result;
1080 1 for(i=0;i<6;i++)
1081 1 sbuffer1[i+2]=ok[i];
1082 1 sbuffer1[8]=0;
1083 1 s_byte_nums=9;
1084 1 s_p=1;
1085 1 TR_noans();
1086 1 s_p=0;
1087 1 i=0;
1088 1 current_absent=ok[i++];
1089 1 rw_absent=ok[i++];
1090 1 osc_absent=ok[i++];
1091 1 avc_absent=ok[i++];
1092 1 p_absent=ok[i++];
1093 1 rc_absent=ok[i++];
1094 1 calling=0;
1095 1 }
1096
1097 void readPRG()
1098 {
1099 1 getPRG=1;
1100 1 readEEP_byte();
1101 1 getPRG=0;
1102 1 PRG=GET;
1103 1 }
1104
1105 void send_param()
1106 {
1107 1 unsigned char axis[]={M_current,M_RW,M_OSC,M_AVC},
C51 COMPILER V7.06 MAIN_STOP1 09/02/2005 14:08:54 PAGE 19
1108 1 temp_pc,temp_delt,snum,anum,c_err;
1109 1
1110 1 p_send=1;
1111 1 s_p=1;
1112 1 c_err=0;
1113 1 point=&pp.t01;
1114 1 temp_delt=2;
1115 1 sbuffer1[0]=M_current; //电流和面板接收
1116 1 sbuffer1[1]=p_out_sec; //电流区间外参数
1117 1 sbuffer1[52]=pp.syn_type%256;
1118 1 sbuffer1[53]=0;
1119 1 sbuffer1[54]=0;
1120 1 for(temp_pc=2;temp_pc<52;temp_pc++)
1121 1 {
1122 2 if(temp_pc%2==0)
1123 2 {
1124 3 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)/256;
1125 3 temp_delt++;
1126 3 }
1127 2 else
1128 2 sbuffer1[temp_pc]=*(point+temp_pc-temp_delt)%256;
1129 2 }
1130 1 s_byte_nums=55;
1131 1 TR_ans();
1132 1 RESEND: if(resend==1||overtime==1)
1133 1 {
1134 2 c_err++;
1135 2 resend=0;
1136 2 overtime=0;
1137 2 if(c_err<5)
1138 2 {
1139 3 TR_ans();
1140 3 goto RESEND;
1141 3 }
1142 2 else
1143 2 {
1144 3 c_err=0;
1145 3 main_err=1;
1146 3 err=2;
1147 3 stop=0;
1148 3 while(urgent_stop==0);
1149 3 goto END_P;
1150 3
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -