📄 current.lst
字号:
1015 2 TR0=0;
1016 2 c_t0=0;
1017 2 if(I1<pp.i14)
1018 2 {
1019 3 if((I1+10)>=pp.i14)
1020 3 I1=pp.i14;
1021 3 else
1022 3 I1=I1+10;
1023 3 }
1024 2
1025 2 if(pp.k1==PDC)
1026 2 {
1027 3 if(I2<pp.i15)
1028 3 {
1029 4 if((I2+10)>=pp.i15)
1030 4 I2=pp.i15;
1031 4 else
1032 4 I2=I2+10;
1033 4 }
1034 3 }
1035 2 IM=(unsigned int)(I1*0.4096);
1036 2 IB=(unsigned int)(I2*0.4096);
1037 2 IM8=IM%256; //(I1*10/10)%256
1038 2 IM4=IM/256; //(I1*10/10)/256
1039 2 IB8=IB%256; //(I2*10/10)%256
1040 2 IB4=IB/256; //(I2*10/10)/256
1041 2 UPD=0X00;
1042 2
1043 2 if(urgent_stop==1)
1044 2 goto BEGIN;
1045 2
1046 2 }
C51 COMPILER V7.06 CURRENT 06/21/2005 15:24:34 PAGE 18
1047 1 ini_sbuf(M_main,answer,S_ANSW,0,0,0,0);
1048 1 s_byte_nums=4;
1049 1 TR_noans();
1050 1
1051 1 I1=pp.i14; //峰值电流
1052 1 I2=pp.i15; //基值电流
1053 1 IM=(unsigned int)(I1*0.4096);
1054 1 IB=(unsigned int)(I2*0.4096);
1055 1 IM8=IM%256; //(I1*10/10)%256
1056 1 IM4=IM/256; //(I1*10/10)/256
1057 1 IB8=IB%256; //(I2*10/10)%256
1058 1 IB4=IB/256; //(I2*10/10)/256
1059 1 UPD=0X00;
1060 1 if(pp.k1==PDC)
1061 1 IEN1=IEN1|0X20; //允许CM1,电流脉冲输出(峰、基值时间))
1062 1
1063 1 k=1;
1064 1 nonce_sec=0; //当前区间号
1065 1 //main circle
1066 1 do
1067 1 {
1068 2 work=3;
1069 2 if(urgent_stop==1) //急停后返回
1070 2 goto BEGIN;
1071 2 if(need_para==1) //显示焊接电流、焊接电压
1072 2 {
1073 3 sbuffer[0]=M_main;
1074 3 sbuffer[1]=parameter2;
1075 3 sbuffer[2]=ad_i/256;
1076 3 sbuffer[3]=ad_i%256;
1077 3 sbuffer[4]=ad_v/256;
1078 3 sbuffer[5]=ad_v%256;
1079 3 sbuffer[6]=0;
1080 3 s_byte_nums=7;
1081 3 TR_noans();
1082 3 need_para=0;
1083 3 }
1084 2 if(current_add==1) //电流加
1085 2 {
1086 3 if(delt_state==0||delt_state==1)
1087 3 {
1088 4 if(I1+pp.di<4000) //峰值
1089 4 I1=I1+pp.di;
1090 4 else
1091 4 I1=4000;
1092 4 IM=(unsigned int)(I1*0.4096);
1093 4 IM8=IM%256;
1094 4 IM4=IM/256;
1095 4 }
1096 3 if(delt_state==1||delt_state==2)
1097 3 {
1098 4 if(pp.k1==PDC)
1099 4 {
1100 5 if(I2+pp.di<4000) //基值
1101 5 I2=I2+pp.di;
1102 5 else
1103 5 I2=4000;
1104 5 IB=(unsigned int)(I2*0.4096);
1105 5 IB8=IB%256;
1106 5 IB4=IB/256;
1107 5 }
1108 4 }
C51 COMPILER V7.06 CURRENT 06/21/2005 15:24:34 PAGE 19
1109 3 UPD=0X00;
1110 3 current_add=0;
1111 3 }
1112 2
1113 2 if(urgent_stop==1) //急停后返回
1114 2 goto BEGIN;
1115 2
1116 2 if(current_dec==1) //电流减
1117 2 {
1118 3 if(delt_state==0||delt_state==1)
1119 3 {
1120 4 if(I1>=pp.i17&&I1-pp.i17>pp.di) //峰值
1121 4 I1=I1-pp.di;
1122 4 else
1123 4 I1=pp.i17;
1124 4 IM=(unsigned int)(I1*0.4096);
1125 4 IM8=IM%256;
1126 4 IM4=IM/256;
1127 4 }
1128 3 if(delt_state==1||delt_state==2)
1129 3 {
1130 4 if(pp.k1==PDC)
1131 4 {
1132 5 if(I2>=pp.i17&&I2-pp.i17>pp.di) //基值
1133 5 I2=I2-pp.di;
1134 5 else
1135 5 I2=pp.i17;
1136 5 IB=(unsigned int)(I2*0.4096);
1137 5 IB8=IB%256;
1138 5 IB4=IB/256;
1139 5 }
1140 4 }
1141 3 UPD=0X00;
1142 3 current_dec=0;
1143 3 }
1144 2
1145 2 if(urgent_stop==1) //急停后返回
1146 2 goto BEGIN;
1147 2
1148 2 if(in_sector==1&&new_sec==1)
1149 2 {
1150 3 delt1=pp.x[nonce_sec][1]*1000000;
1151 3 if(nonce_sec==0)
1152 3 {
1153 4 if(pp.x[nonce_sec][3]>=I1)
1154 4 temp_delt_p=pp.x[nonce_sec][3]-I1;
1155 4 else
1156 4 temp_delt_p=I1-pp.x[nonce_sec][3];
1157 4 }
1158 3 else
1159 3 {
1160 4 if(pp.x[nonce_sec][3]>=pp.x[nonce_sec-1][3])
1161 4 temp_delt_p=pp.x[nonce_sec][3]-pp.x[nonce_sec-1][3];
1162 4 else
1163 4 temp_delt_p=pp.x[nonce_sec-1][3]-pp.x[nonce_sec][3];
1164 4 }
1165 3 if(pp.k1==PDC)
1166 3 {
1167 4 if(nonce_sec==0)
1168 4 {
1169 5 if(pp.x[nonce_sec][5]>=I2)
1170 5 temp_delt_b=pp.x[nonce_sec][5]-I2;
C51 COMPILER V7.06 CURRENT 06/21/2005 15:24:34 PAGE 20
1171 5 else
1172 5 temp_delt_b=I2-pp.x[nonce_sec][5];
1173 5 }
1174 4 else
1175 4 {
1176 5 if(pp.x[nonce_sec][5]>=pp.x[nonce_sec-1][5])
1177 5 temp_delt_p=pp.x[nonce_sec][5]-pp.x[nonce_sec-1][5];
1178 5 else
1179 5 temp_delt_p=pp.x[nonce_sec-1][5]-pp.x[nonce_sec][5];
1180 5 }
1181 4 }
1182 3 if(temp_delt_p>=temp_delt_b)
1183 3 delt1=delt1/temp_delt_p;
1184 3 else
1185 3 delt1=delt1/temp_delt_b;
1186 3 if(delt1%256>=200)
1187 3 delt1=delt1/256+1;
1188 3 else
1189 3 delt1=delt1/256;
1190 3
1191 3 k1=0;
1192 3 k2=0;
1193 3 i_slope_ok=0;
1194 3 c_t0=0;
1195 3 while(i_slope_ok==0)
1196 3 {
1197 4 TR0=1;
1198 4 while(c_t0<delt1)
1199 4 {
1200 5 if(urgent_stop==1)
1201 5 goto BEGIN;
1202 5 }
1203 4 TR0=0;
1204 4 c_t0=0;
1205 4 if(I1!=pp.x[nonce_sec][3])
1206 4 {
1207 5 if(I1<pp.x[nonce_sec][3])
1208 5 {
1209 6 if((I1+10)>=pp.x[nonce_sec][3])
1210 6 I1=pp.x[nonce_sec][3];
1211 6 else
1212 6 I1=I1+10;
1213 6 }
1214 5 else
1215 5 {
1216 6 if(I1-10<=pp.x[nonce_sec][3])
1217 6 I1=pp.x[nonce_sec][3];
1218 6 else
1219 6 I1=I1-10;
1220 6 }
1221 5 }
1222 4 else
1223 4 k1=1;
1224 4
1225 4 if(pp.k1==PDC)
1226 4 {
1227 5 if(I2!=pp.x[nonce_sec][5])
1228 5 {
1229 6 if(I2<pp.x[nonce_sec][5])
1230 6 {
1231 7 if((I2+10)>=pp.x[nonce_sec][5])
1232 7 I2=pp.x[nonce_sec][5];
C51 COMPILER V7.06 CURRENT 06/21/2005 15:24:34 PAGE 21
1233 7 else
1234 7 I2=I2+10;
1235 7 }
1236 6 else
1237 6 {
1238 7 if(I2-10<=pp.x[nonce_sec][5])
1239 7 I2=pp.x[nonce_sec][5];
1240 7 else
1241 7 I2=I2-10;
1242 7 }
1243 6 }
1244 5 else
1245 5 k2=1;
1246 5 }
1247 4 IM=(unsigned int)(I1*0.4096);
1248 4 IB=(unsigned int)(I2*0.4096);
1249 4 IM8=IM%256; //(I1*10/10)%256
1250 4 IM4=IM/256; //(I1*10/10)/256
1251 4 IB8=IB%256; //(I2*10/10)%256
1252 4 IB4=IB/256; //(I2*10/10)/256
1253 4 UPD=0X00;
1254 4 if(pp.k1==0&&k1==1||pp.k1==1&&k1==1&&k2==1)
1255 4 i_slope_ok=1;
1256 4 if(urgent_stop==1)
1257 4 goto BEGIN;
1258 4 }
1259 3 c_cm1=0;
1260 3 n_pulse=pp.x[nonce_sec][2]%256;
1261 3 n_base=pp.x[nonce_sec][4]%256;
1262 3 new_sec=0;
1263 3 }
1264 2
1265 2 if(decrease==1) //衰减
1266 2 k=0;
126
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -