1 DISABLE 2 PRINT "Axle Scale":SLEEP 2000:ON ERROR GOTO 568 3 COMMON SclDa$,ScrSt$,SPO%,TCM%,LVar$,HMITerm$,IOP%,PIO%,IOF%,IOMAP%,IP# 4 COMMON RxD%,Cfg%,TxD%,WtG!,WtD$,WtS$,WrkGW!,NumScales%,AxlWt!,JagDisp$,JagSum$ 5 COMMON WtUn$,WtGr$,WtNt$,WtInc%,WtS%,MFunc%,OMS$,OMT$,OMR%,OMIP$,browser% 6 COMMON RxDMsg%,TxDMsg%,TxDTrg%,SVC$,SVPtr%,SVStr$,Cheat%,TCDGWt#,SerDisp$ 7 COMMON BeTheScl,Thresh#,SclTyp%,ExcTm%,ExcWt#,EndTm%,TCDM%,TCDZ%,TCDO%,TCDU% 8 COMMON TCDN%,TCDX$,WghRng%,WtMot%,WtNet%,WtUnZ%,WtOvC%,WtCOZ%,WtRng%,LNS 9 COMMON SclState%,SPTRef#,SPTerm%,SPFilt%,LRxDMsg%,TransStat%,JS%,SKT%,ZScl% 10 COMMON SOMmsg$,SOMstr$,SOMsrc$,SOMterm$,SlavDsp$,RemoteNode%,RemNdScl% 11 DIM AxWt!(15) 12 EVENT key:ON EVENT key GOSUB 488 13 EVENT TIME 14 GOSUB 436:GOSUB 65:GoSub 301 15 ENABLE 16 Msg54%=1:Toggle%=0:NetErrors%=0 17 IF browser%>0 THEN GOTO 571 18 GOSUB 20:GOSUB 555:GOSUB 122:GOSUB 55:GOSUB 91 19 GOSUB 115:GOSUB 159:GOSUB 50:GOTO 17 20 IF RemNdScl%>0 THEN fw%=RemNdScl%:GOTO 22 21 fw%=1:IF LNS>1 THEN fw%=5 22 ON ERROR GOTO 31 23 WtG!(1)=TCDGWt#(fw%):WtS%(1)=0 24 IF TCDO%(fw%)<>0 THEN WtS%(1)=2:GOTO 28 25 IF TCDU%(fw%)<>0 THEN WtS%(1)=1:GOTO 28 26 IF TCDM%(fw%)<>0 THEN WtS%(1)=3:GOTO 28 27 IF TCDZ%(fw%)<>0 THEN WtS%(1)=4 28 WtMot%(1)=TCDM%(fw%):WtNet%(1)=TCDN%(fw%):WtOvC%(1)=TCDO%(fw%) 29 WtUnZ%(1)=TCDU%(fw%):WtCOZ%(1)=TCDZ%(fw%):WtUn$=TCDX$(fw%) 30 WtRng%(1)=WghRng%(fw%):GoTo 34 31 IF ERR()<>32 THEN GOTO 568 32 NetErrors%=NetErrors%+1:IF NetErrors%>30000 THEN NetErrors%=30000 33 WtMot%(1)=1:GoTo 35 34 NetErrors%=0 35 ON ERROR GOTO 568 36 RETURN 37 RxDMsg%=0 38 IOF%(S1EnGrn%)=1:IOF%(S1ExGrn%)=1:IOF%(S2EnGrn%)=1:IOF%(S2ExGrn%)=1 39 IOF%(S1EnRed%)=1:IOF%(S1ExRed%)=2:IOF%(S2EnRed%)=1:IOF%(S2ExRed%)=2 40 ON EVENT TIME GOSUB 46 41 STARTIME 750:RETURN 42 RxDMsg%=0 43 STOPTIME 44 IOF%(S1EnGrn%)=0:IOF%(S1ExGrn%)=0:IOF%(S2EnGrn%)=0:IOF%(S2ExGrn%)=0 45 IOF%(S1EnRed%)=0:IOF%(S1ExRed%)=0:IOF%(S2EnRed%)=0:IOF%(S2ExRed%)=0:RETURN 46 STARTIME 950 47 IF IOF%(S1EnRed%)<2 THEN GOTO 49 48 IOF%(S1EnRed%)=1:IOF%(S1ExRed%)=2:IOF%(S2EnRed%)=1:IOF%(S2ExRed%)=2:RETURN 49 IOF%(S1EnRed%)=2:IOF%(S1ExRed%)=1:IOF%(S2EnRed%)=2:IOF%(S2ExRed%)=1:RETURN 50 FOR WO%=13 TO 24 51 IF IOF%(WO%)=0 THEN IOP%(WO%)=PIO%(WO%):GOTO 53 52 IF IOF%(WO%)=1 THEN IOP%(WO%)=0 ELSE IOP%(WO%)=1 53 NEXT WO% 54 RETURN 55 GSum#=WtG!(1):MtSum%=WtMot%(1):NtSum%=WtNet%(1) 56 OvSum%=WtOvC%(1):UnSum%=WtUnZ%(1):CZSum%=WtCOZ%(1) 57 RgSum%=WtRng%(1):RETURN 58 IF WtInc%=0 THEN GOTO 60 59 BeTheScl=1:DHWt$=LTRIM$(SerDisp$):GOTO 62 60 IF LNS>1 THEN DHWt$=LTRIM$(JagSum$):GOTO 62 61 DHWt$=LTRIM$(JagDisp$) 62 DHWt$=PADL$(DHWt$,6," ") 63 RETURN 64 RETURN 65 ON ERROR GOTO 71 66 LCDCn%=55:LCDBr%=80 67 OPEN "Settings.LCD" FOR INPUT AS #0 68 INPUT #0,LCDCn$,LCDBr$ 69 LCDCn%=VAL(LCDCn$):LCDBr%=VAL(LCDBr$) 70 CLOSE #0 71 ON ERROR GOTO 568 72 LCDInit$=CHR$(4)+CHR$(20)+CHR$(23)+CHR$(15)+CHR$(LCDCn%)+CHR$(14)+CHR$(LCDBr%) 73 SFLSt$=LCDInit$+CHR$(12)+CHR$(1)+" JB-060, V2.08 MA "+" Axle Scale " 74 SFLSt$=SFLSt$+"IP: "+IPS$(IP#) 75 SlavDsp$(1)=" JB-060, V2.08 SL ":SlavDsp$(2)=" Axle Scale " 76 SlavDsp$(3)=" Mettler Toledo ":SlavDsp$(4)=" " 77 IF Cfg%(1)=1 THEN Print #1,SFLSt$; 78 IF Cfg%(2)=1 THEN Print #2,SFLSt$; 79 IF MFunc%<>1 THEN RETURN 80 IF Cfg%(3)=1 THEN Print #3,SFLSt$; 81 IF Cfg%(4)=1 THEN Print #4,SFLSt$; 82 SLEEP 1000 83 RETURN 84 SlavDsp$(1)=" ":SlavDsp$(2)=" ":SlavDsp$(3)=" ":SlavDsp$(4)=" " 85 IF Cfg%(1)=1 THEN Print #1,CHR$(12); 86 IF Cfg%(2)=1 THEN Print #2,CHR$(12); 87 IF MFunc%<>1 THEN RETURN 88 IF Cfg%(3)=1 THEN Print #3,CHR$(12); 89 IF Cfg%(4)=1 THEN Print #4,CHR$(12); 90 RETURN 91 IF JS%(4)<>0 THEN GOTO 93 92 OGWtSt$=CHR$(17)+CHR$(16)+CHR$(255)+CHR$(3)+SPACE$(20):SlavDsp$(4)=" ":GOTO 109 93 IF NetErrors%<3 THEN GoTo 95 94 OGWtSt$=CHR$(17)+CHR$(16)+CHR$(255)+String$(20," "):SlavDsp$(4)=" ":GoTo 109 95 DHWR$=" ":IF RgSum%=0 THEN GOTO 97 96 Tmp$=Str$(RgSum%):DHWR$="W"+LTRIM$(Tmp$) 97 DHMT$=" ":IF MtSum%>0 then DHMT$=" "+CHR$(206)+" ":GOTO 98 98 DHDNG$=WtGr$:IF GSum#=0 THEN GOSUB 58:DHMT$=">0<":GOTO 103 99 IF WtInc%=0 THEN GOTO 101 100 DHWt$=LTRIM$(SerDisp$):GOTO 103 101 IF LNS>1 THEN DHWt$=LTRIM$(JagSum$):GOTO 103: 102 DHWt$=LTRIM$(JagDisp$) 103 DHWt$=PADL$(DHWt$,6," ") 104 IF OvSum%<>0 THEN DHWt$=STRING$(6,CHR$(222)):GOTO 106 105 IF UnSum%<>0 THEN DHWt$=STRING$(6,CHR$(224)) 106 OGWtSt$=CHR$(17)+CHR$(16)+CHR$(255)+CHR$(3)+DHDNG$+": "+DHWt$+" "+WtUn$ 107 OGWtSt$=OGWtSt$+" "+DHMT$+" "+DHWR$:OGWtSt$=PADR$(OGWtSt$,24," ") 108 SlavDsp$(4)=DHDNG$+": "+DHWt$+" "+WtUn$+" "+DHMT$+" "+DHWR$ 109 IF Cfg%(1)=1 THEN Print #1,OGWtSt$; 110 IF Cfg%(2)=1 THEN Print #2,OGWtSt$; 111 IF MFunc%<>1 THEN RETURN 112 IF Cfg%(3)=1 THEN Print #3,OGWtSt$; 113 IF Cfg%(4)=1 THEN Print #4,OGWtSt$; 114 RETURN 115 IF VAL(SOMmsg$)=0 THEN RETURN 116 DISABLE 117 QORDS$=SOMstr$:QORDR%=VAL(SOMsrc$):QORDT$=SOMterm$:QORDIP$="":GOSUB 291 118 ENABLE 119 SOMmsg$="0" 120 RETURN 121 LVar$(17)="":KPStr$="":KPPtr%=1:KPPtrMem%=1:HMITerm$="":RETURN 122 IF TxDMsg%=0 THEN GOTO 125 123 IF TxDTrg%<>1 THEN TxDTrg%=1 124 RETURN 125 IF TMSTC%>0 THEN TxDMsg%=TMSTC%:TransStat%=TMSTC%:TxDTrg%=1:TMSTC%=0:RETURN 126 IF NumOM%=0 THEN GOTO 128 127 GOSUB 130:RETURN 128 IF Msg54%<>0 THEN TxDMsg%=54:TxDTrg%=1:Msg54%=0 129 RETURN 130 DISABLE 131 LVar$(24)=OMS$(NxtOtOM%):TxD%(1)=OMR%(NxtOtOM%):TxD%(2)=ASC(OMT$(NxtOtOM%)):LVar$(23)=OMIP$(NxtOtOM%) 132 NumOM%=NumOM%-1:IF NumOM%<1 THEN GOSUB 301:GOTO 134 133 NxtOtOM%=NxtOtOM%+1:IF NxtOtOM%>1 THEN NxtOtOM%=1 134 ENABLE 135 TxDMsg%=51:TxDTrg%=1:RETURN 136 TrnSt%=0:TransStat%=0:IF TrnMd%=1 THEN GOTO 138 137 PIO%(EntGrn%)=1:PIO%(EntRed%)=0:PIO%(ExtGrn%)=1:PIO%(ExtRed%)=0:GOTO 140 138 PIO%(S1EnGrn%)=0:PIO%(S1EnRed%)=1:PIO%(S1ExGrn%)=0:PIO%(S1ExRed%)=1 139 PIO%(S2EnGrn%)=0:PIO%(S2EnRed%)=1:PIO%(S2ExGrn%)=0:PIO%(S2ExRed%)=1 140 PRINT "Ready":RETURN 141 FOR STR%=1 TO 20:TCM%(STR%)=0:NEXT STR% 142 FOR STR%=1 TO 15:AxWt!(STR%)=0.0:NEXT STR% 143 AxPtr%=1:NumAxles%=0 144 RETURN 145 FOR ETR%=1 TO 15:AxlWt!(ETR%)=AxWt!(ETR%):NEXT ETR% 146 TxD%(31)=NumAxles%:RETURN 147 AxWt!(AxPtr%)=TCWt#:AxPtr%=AxPtr%+1:NumAxles%=NumAxles%+1 148 IF AxPtr%>15 THEN AxPtr%=15:NumAxles%=15 149 RETURN 150 TMSTC%=108:Print "Reset Sequence":GOSUB 136:GoSub 301:RETURN 151 ZSNum%=1:IF RemNdScl%>0 THEN ZSNum%=RemNdScl%:GOTO 153 152 ON ERROR GOTO 156 153 IF TCDZ%(ZSNum%)=1 THEN AtZero%=1:GoTo 157 154 IF ZScl%(ZSNum%)=0 THEN ZScl%(ZSNum%)=1 155 GOTO 157 156 IF ERR()<>32 THEN GOTO 568 157 ON ERROR GOTO 568 158 RETURN 159 TCWt#=GSum#:IF TrnMd%=1 THEN GOTO 203 160 IF TrnSt%=0 THEN GOTO 173 161 IF TrnSt%=1 THEN GOTO 176 162 IF TrnSt%=2 THEN GOTO 182 163 IF TrnSt%=3 THEN GOTO 184 164 IF TrnSt%=4 THEN GOTO 186 165 IF TrnSt%=5 THEN GOTO 188 166 IF TrnSt%=6 THEN GOTO 192 167 IF TrnSt%=7 THEN GOTO 193 168 IF TrnSt%=8 THEN GOTO 194 169 IF TrnSt%=9 THEN GOTO 197 170 IF TrnSt%=10 THEN GOTO 200 171 IF TrnSt%=11 THEN GOTO 202 172 GoSub 136:RETURN 173 IF TCWt#0 THEN RETURN 177 IF TCWt#ExcWtRf1# OR TCWt#0 THEN RETURN 189 IF TCWt#>Thresh# THEN GOTO 178 190 IF (Timer()-EndTmRef#)1 THEN GOTO 230 228 PIO%(EntGrn%)=1:PIO%(EntRed%)=0:PIO%(ExtGrn%)=1:PIO%(ExtRed%)=0 229 Print "Scale Zeroed":TrnSt%=2:SRefTmr#=Timer():RETURN 230 IF (Timer()-ZRefTmr#)<30 THEN RETURN 231 TMSTC%=103:GOSUB 38:TrnSt%=12:Print "Scale Zero Error":RETURN 232 IF TCWt#>Thresh# THEN GOTO 235 233 IF IOP%(EntLoop%)<>1 AND (Timer()-SRefTmr#)>30 THEN GOSUB 150 234 RETURN 235 PIO%(EntGrn%)=0:PIO%(EntRed%)=1:PIO%(ExtGrn%)=0:PIO%(ExtRed%)=1 236 TrnSt%=3:PRINT "Checking Motion":RETURN 237 IF MtSum%<>0 THEN RETURN 238 IF TCWt#ExcWtRf1# OR TCWt#0 THEN RETURN 250 IF TCWt#>Thresh# THEN GOTO 239 251 IF (Timer()-EndTmRef#)5 THEN GOSUB 136 259 RETURN 260 AtZero%=0:GoSub 151 261 IF AtZero%=1 AND IOP%(Loop1%)<>1 AND IOP%(Loop2%)<>1 THEN GOTO 264 262 IF TCM%(2)<>0 THEN TCM%(2)=0:GOTO 264 263 RETURN 264 GOSUB 43:GOSUB 136:RETURN 265 TM%=RxDMsg%-100:IF TM%<>8 THEN GOTO 270 266 FOR TML%=1 TO 20 267 TCM%(TML%)=0 268 NEXT TML% 269 GOSUB 43:TrnSt%=0:TransStat%=0:GoSub 301 270 RxDMsg%=0:IF TM%>0 AND TM%<=20 THEN TCM%(TM%)=1 271 RETURN 272 SlavDsp$(3)=" " 273 IF OpGuide%=0 THEN RETURN 274 COGRS$=CHR$(17)+CHR$(16)+CHR$(255)+CHR$(2)+SPACE$(20) 275 IF Cfg%(1)=1 THEN Print #1,COGRS$; 276 IF Cfg%(2)=1 THEN Print #2,COGRS$; 277 IF MFunc%<>1 THEN RETURN 278 IF Cfg%(3)=1 THEN Print #3,COGRS$; 279 IF Cfg%(4)=1 THEN Print #4,COGRS$; 280 RETURN 281 ScrSt$="0":RxDMsg%=0 282 SlavDsp$(1)=" ":SlavDsp$(2)=" ":SlavDsp$(3)=" " 283 IF OpGuide%=0 THEN RETURN 284 BTOGD$=CHR$(1)+SPACE$(60) 285 IF Cfg%(1)=1 THEN Print #1,BTOGD$; 286 IF Cfg%(2)=1 THEN Print #2,BTOGD$; 287 IF MFunc%<>1 THEN RETURN 288 IF Cfg%(3)=1 THEN Print #3,BTOGD$; 289 IF Cfg%(4)=1 THEN Print #4,BTOGD$; 290 RETURN 291 IF TxDMsg%<>0 THEN GoTo 296 292 IF NumOM%>0 THEN GoTo 296 293 IF TrnSt%=11 THEN GOTO 300 294 LVar$(24)=QORDS$:TxD%(1)=QORDR%:TxD%(2)=ASC(QORDT$):LVar$(23)=QORDIP$ 295 TxDMsg%=51:TxDTrg%=1:GoSub 301:GoTo 300 296 OMS$(NxtInOM%)=QORDS$:OMR%(NxtInOM%)=QORDR%:OMT$(NxtInOM%)=QORDT$:OMIP$(NxtInOM%)=QORDIP$ 297 NxtInOM%=NxtInOM%+1:IF NxtInOM%>1 THEN NxtInOM%=1 298 NumOM%=NumOM%+1:IF NumOM%<=1 THEN GoTo 300 299 NumOM%=1:NxtOtOM%=NxtInOM% 300 QORDS$="":QORDR%=0:QORDT$="":QORDIP$="":Return 301 DISABLE 302 QORDS$="":QORDR%=0:QORDT$="":QORDIP$="":NumOM%=0:NxtInOM%=1:NxtOtOM%=1:RxDMsg%=0 303 For FLB%=1 TO 5 304 OMS$(FLB%)="":OMR%(FLB%)=0:OMT$(FLB%)="":OMIP$(FLB%)="" 305 Next FLB% 306 ENABLE 307 RETURN 308 LVar$(18)=LVar$(1):LVar$(19)="":LVar$(20)="" 309 IF RxD%(1)<41 THEN GOTO 311 ELSE LVar$(19)=LVar$(2) 310 IF RxD%(1)<81 THEN GOTO 311 ELSE LVar$(20)=LVar$(3) 311 DTMDSP$=CHR$(1)+SPACE$(60)+CHR$(1)+LVar$(18)+LEFT$(LVar$(19),20) 312 SlavDsp$(1)=LEFT$(LVar$(18),20) 313 IF (LEN(LVar$(18)) < 21) THEN SlavDsp$(2)=" ":SlavDsp$(3)=" ":GOTO 317 314 SlavDsp$(2)=MID$(LVar$(18),21,20) 315 IF (LEN(LVar$(19)) = 0) THEN SlavDsp$(3)=" ":GOTO 317 316 SlavDsp$(3)=LEFT$(LVar$(19),20) 317 IF OpGuide%=0 THEN GOTO 323 318 IF Cfg%(1)=1 THEN Print #1,DTMDSP$; 319 IF Cfg%(2)=1 THEN Print #2,DTMDSP$; 320 IF MFunc%<>1 THEN GOTO 323 321 IF Cfg%(3)=1 THEN Print #3,DTMDSP$; 322 IF Cfg%(4)=1 THEN Print #4,DTMDSP$; 323 ScrSt$="2":RxDMsg%=0:RETURN 324 IF SPO%(1)=0 THEN GOTO 327 325 IF SPO%(1)=2 THEN DELEVENT #1 326 CLOSE #1:SPO%(1)=0 327 IF SPO%(2)=0 THEN GOTO 330 328 IF SPO%(2)=2 THEN DELEVENT #2 329 CLOSE #2:SPO%(2)=0 330 IF MFunc%<>1 THEN RETURN 331 IF SPO%(3)=0 THEN GOTO 334 332 IF SPO%(3)=2 THEN DELEVENT #3 333 CLOSE #3:SPO%(3)=0 334 IF SPO%(4)=0 THEN RETURN 335 IF SPO%(4)=2 THEN DELEVENT #4 336 CLOSE #4:SPO%(4)=0:RETURN 337 ON ERROR GOTO 353 338 IF Cfg%(1)=0 OR SPO%(1)>0 THEN GOTO 354 339 IF Cfg%(1)=1 THEN OpGuide%=1 340 IF Cfg%(1)>39 THEN GOTO 343 341 OPEN "com1: xpr null" FOR OUTPUT AS #1 342 SPO%(1)=1:GOTO 354 343 IF SPTerm%(1)=4 THEN OPEN "com1: event len40 trm10" FOR INPUT AS #1:GOTO 348 344 IF SPTerm%(1)=5 THEN OPEN "com1: event len40 trm13" FOR INPUT AS #1:GOTO 348 345 IF SPTerm%(1)=6 THEN OPEN "com1: event len40 trm3" FOR INPUT AS #1:GOTO 348 346 IF SPTerm%(1)=7 THEN OPEN "com1: event len1" FOR INPUT AS #1:GOTO 348 347 GOTO 354 348 FLUSH #1 349 ON EVENT #1 GOSUB 539 350 SPO%(1)=2 351 S1$="":INPUT #1,S1$ 352 GOTO 354 353 Cfg%(1)=0:SPO%(1)=0 354 ON ERROR GOTO 370 355 IF Cfg%(2)=0 OR SPO%(2)>0 THEN GOTO 371 356 IF Cfg%(2)=1 THEN OpGuide%=1 357 IF Cfg%(2)>39 THEN GOTO 360 358 OPEN "com2: xpr null" FOR OUTPUT AS #2 359 SPO%(2)=1:GOTO 371 360 IF SPTerm%(2)=4 THEN OPEN "com2: event len40 trm10" FOR INPUT AS #2:GOTO 365 361 IF SPTerm%(2)=5 THEN OPEN "com2: event len40 trm13" FOR INPUT AS #2:GOTO 365 362 IF SPTerm%(2)=6 THEN OPEN "com2: event len40 trm3" FOR INPUT AS #2:GOTO 365 363 IF SPTerm%(2)=7 THEN OPEN "com2: event len1" FOR INPUT AS #2:GOTO 365 364 GOTO 371 365 FLUSH #2 366 ON EVENT #2 GOSUB 543 367 SPO%(2)=2 368 S2$="":INPUT #2,S2$ 369 GOTO 371 370 Cfg%(2)=0:SPO%(2)=0 371 IF MFunc%<>1 THEN GOTO 406 372 ON ERROR GOTO 388 373 IF Cfg%(3)=0 OR SPO%(3)>0 THEN GOTO 389 374 IF Cfg%(3)=1 THEN OpGuide%=1 375 IF Cfg%(3)>39 THEN GOTO 378 376 OPEN "com3: xpr null" FOR OUTPUT AS #3 377 SPO%(3)=1:GOTO 389 378 IF SPTerm%(3)=4 THEN OPEN "com3: event len40 trm10" FOR INPUT AS #3:GOTO 383 379 IF SPTerm%(3)=5 THEN OPEN "com3: event len40 trm13" FOR INPUT AS #3:GOTO 383 380 IF SPTerm%(3)=6 THEN OPEN "com3: event len40 trm3" FOR INPUT AS #3:GOTO 383 381 IF SPTerm%(3)=7 THEN OPEN "com3: event len1" FOR INPUT AS #3:GOTO 383 382 GOTO 389 383 FLUSH #3 384 ON EVENT #3 GOSUB 547 385 SPO%(3)=2 386 S3$="":INPUT #3,S3$ 387 GOTO 389 388 Cfg%(3)=0:SPO%(3)=0 389 ON ERROR GOTO 405 390 IF Cfg%(4)=0 OR SPO%(4)>0 THEN GOTO 406 391 IF Cfg%(4)=1 THEN OpGuide%=1 392 IF Cfg%(4)>39 THEN GOTO 395 393 OPEN "com4: xpr null" FOR OUTPUT AS #4 394 SPO%(4)=1:GOTO 406 395 IF SPTerm%(4)=4 THEN OPEN "com4: event len40 trm10" FOR INPUT AS #4:GOTO 400 396 IF SPTerm%(4)=5 THEN OPEN "com4: event len40 trm13" FOR INPUT AS #4:GOTO 400 397 IF SPTerm%(4)=6 THEN OPEN "com4: event len40 trm3" FOR INPUT AS #4:GOTO 400 398 IF SPTerm%(4)=7 THEN OPEN "com4: event len1" FOR INPUT AS #4:GOTO 400 399 GOTO 406 400 FLUSH #4 401 ON EVENT #4 GOSUB 551 402 SPO%(4)=2 403 S4$="":INPUT #4,S4$ 404 GOTO 406 405 Cfg%(4)=0:SPO%(4)=0 406 ON ERROR GOTO 568:RETURN 407 S1EnGrn%=26:S1EnRed%=26:S1ExGrn%=26:S1ExRed%=26:S2EnGrn%=26:S2EnRed%=26 408 S2ExGrn%=26:S2ExRed%=26:Bar1%=26:Bar2%=26:Loop1%=25:Loop2%=25:BLS1%=25:BLS2%=25 409 EntGrn%=26:EntRed%=26:ExtGrn%=26:ExtRed%=26:BSNGrn%=26:BSNRed%=26:BSXGrn%=26:BSXRed%=26 410 EntBar%=26:ExtBar%=26:EntLoop%=25:ExtLoop%=25:EntBLS%=25:ExtBLS%=25 411 PhoCell%=25:Illumin%=26:StrtWghPB%=26:TrnMd%=0 412 FOR SP%=5 TO 16 413 IF Cfg%(SP%)=0 THEN GOTO 420 414 IF Cfg%(SP%)=51 THEN EntLoop%=SP%-4:Loop1%=EntLoop%:TrnMd%=1 415 IF Cfg%(SP%)=52 THEN ExtLoop%=SP%-4:Loop2%=ExtLoop%:TrnMd%=1 416 IF Cfg%(SP%)=53 THEN EntBLS%=SP%-4:BLS1%=EntBLS% 417 IF Cfg%(SP%)=54 THEN ExtBLS%=SP%-4:BLS2%=ExtBLS% 418 IF Cfg%(SP%)=55 THEN PhoCell%=SP%-4 419 IF Cfg%(SP%)=56 THEN StrtWghPB%=SP%-4 420 NEXT SP% 421 FOR SP%=17 TO 28 422 IF Cfg%(SP%)=0 THEN GOTO 434 423 IF Cfg%(SP%)=1 THEN EntGrn%=SP%-4:IOMAP%(1)=EntGrn%:S1EnGrn%=EntGrn% 424 IF Cfg%(SP%)=2 THEN EntRed%=SP%-4:IOMAP%(2)=EntRed%:S1EnRed%=EntRed% 425 IF Cfg%(SP%)=3 THEN ExtGrn%=SP%-4:IOMAP%(3)=ExtGrn%:S1ExGrn%=ExtGrn% 426 IF Cfg%(SP%)=4 THEN ExtRed%=SP%-4:IOMAP%(4)=ExtRed%:S1ExRed%=ExtRed% 427 IF Cfg%(SP%)=5 THEN EntBar%=SP%-4:IOMAP%(5)=EntBar%:Bar1%=EntBar% 428 IF Cfg%(SP%)=6 THEN ExtBar%=SP%-4:IOMAP%(6)=ExtBar%:Bar2%=ExtBar% 429 IF Cfg%(SP%)=7 THEN Illumin%=SP%-4:IOMAP%(7)=Illumin% 430 IF Cfg%(SP%)=8 THEN BSNGrn%=SP%-4:IOMAP%(8)=BSNGrn%:S2EnGrn%=BSNGrn% 431 IF Cfg%(SP%)=9 THEN BSNRed%=SP%-4:IOMAP%(9)=BSNRed%:S2EnRed%=BSNRed% 432 IF Cfg%(SP%)=10 THEN BSXGrn%=SP%-4:IOMAP%(10)=BSXGrn%:S2ExGrn%=BSXGrn% 433 IF Cfg%(SP%)=11 THEN BSXRed%=SP%-4:IOMAP%(11)=BSXRed%:S2ExRed%=BSXRed% 434 NEXT SP% 435 RETURN 436 GOSUB 324:GOSUB 337:GOSUB 407 437 Thresh#=Cfg%(29)/10.0 438 SclTyp%=Cfg%(30):ExcTm%=Cfg%(31):ExcWt#=Cfg%(32)/10.0:EndTm%=Cfg%(33):RETURN 439 ON ERROR GOTO 446 440 OPEN "Setup" FOR OUTPUT AS #0 441 FOR UC%=1 TO 33 442 Cfg%(UC%)=RxD%(UC%) 443 WRITE #0,STR$(RxD%(UC%)) 444 NEXT UC% 445 CLOSE #0 446 RxDMsg%=0:PRINT "Re-Booting . . .":SLEEP 2000:RESETJAG 447 LVar$(18)=LVar$(1):LVar$(19)="":LVar$(20)="" 448 IF RxD%(1)<41 THEN GOTO 450 ELSE LVar$(19)=LVar$(2) 449 IF RxD%(1)<81 THEN GOTO 450 ELSE LVar$(20)=LVar$(3) 450 PMLDSP$=CHR$(1)+SPACE$(60)+CHR$(1)+LVar$(18)+LEFT$(LVar$(19),20) 451 SlavDsp$(1)=LEFT$(LVar$(18),20) 452 IF (LEN(LVar$(18)) < 21) THEN SlavDsp$(2)=" ":SlavDsp$(3)=" ":GOTO 456 453 SlavDsp$(2)=MID$(LVar$(18),21,20) 454 IF (LEN(LVar$(19)) = 0) THEN SlavDsp$(3)=" ":GOTO 456 455 SlavDsp$(3)=LEFT$(LVar$(19),20) 456 IF OpGuide%=0 THEN GOTO 462 457 IF Cfg%(1)=1 THEN Print #1,PMLDSP$; 458 IF Cfg%(2)=1 THEN Print #2,PMLDSP$; 459 IF MFunc%<>1 THEN GOTO 462 460 IF Cfg%(3)=1 THEN Print #3,PMLDSP$; 461 IF Cfg%(4)=1 THEN Print #4,PMLDSP$; 462 ScrSt$="3":RxDMsg%=0:RETURN 463 LVar$(18)=LVar$(1):LVar$(19)="":LVar$(20)="" 464 PSLDSP$=CHR$(1)+SPACE$(60)+CHR$(1)+LVar$(18); 465 SlavDsp$(3)=" ":SlavDsp$(1)=LEFT$(LVar$(18),20) 466 IF (LEN(LVar$(18)) < 21) THEN SlavDsp$(2)=" ":GOTO 468 467 SlavDsp$(2)=MID$(LVar$(18),21,20) 468 IF OpGuide%=0 THEN GOTO 474 469 IF Cfg%(1)=1 THEN Print #1,PSLDSP$; 470 IF Cfg%(2)=1 THEN Print #2,PSLDSP$; 471 IF MFunc%<>1 THEN GOTO 474 472 IF Cfg%(3)=1 THEN Print #3,PSLDSP$; 473 IF Cfg%(4)=1 THEN Print #4,PSLDSP$; 474 ScrSt$="3":RxDMsg%=0:RETURN 475 STOPTIME 476 FOR CF%=1 TO 26 477 IOF%(CF%)=0 478 NEXT CF% 479 RxDMsg%=0:RETURN 480 FOR FI%=1 TO 11 481 IF RxD%(FI%)<0 OR RxD%(FI%)>2 THEN GOTO 484 482 IF IOMAP%(FI%)<13 OR IOMAP%(FI%)>24 THEN GOTO 484 483 FIOTmp%=IOMAP%(FI%):IOF%(FIOTmp%)=RxD%(FI%) 484 NEXT FI% 485 RxDMsg%=0:RETURN 486 SKPtr%=ASC(SVC$(SVI%)):IF SKPtr%<0 THEN SKPtr%=SKPtr%+256 487 KPKey$=CHR$(SKT%(SKPtr%)):GOTO 489 488 KPKey$=INKEY$ 489 IF KPKey$="" THEN RETURN 490 IF TrnSt%=11 THEN GOTO 511:REM for V206 no keys while Transaction Complete 491 IF ASC(KPKey$)<>6 THEN GOTO 494 492 KPPtr%=KPPtr%-1:IF KPPtr%<1 THEN KPPtr%=1:KPStr$="":GOTO 497 493 KPStr$=LEFT$(KPStr$,LEN(KPStr$)-1):GOTO 497 494 IF KPKey$=41 THEN KPT$="":GOTO 508 497 IF ScrSt$<>"3" THEN GOTO 488 498 KPPtrMem%=KPPtr%:KPOGStr$=CHR$(17)+CHR$(16)+CHR$(255)+CHR$(2)+KPStr$ 499 KPOGStr$=PADR$(KPOGStr$,24," ") 500 SlavDsp$(3)=KPStr$ 501 IF OpGuide%=0 THEN GOTO 488 502 IF Cfg%(1)=1 THEN Print #1,KPOGStr$; 503 IF Cfg%(2)=1 THEN Print #2,KPOGStr$; 504 IF MFunc%<>1 THEN GOTO 488 505 IF Cfg%(3)=1 THEN Print #3,KPOGStr$; 506 IF Cfg%(4)=1 THEN Print #4,KPOGStr$; 507 GOTO 488 508 DISABLE 509 QORDS$=KPStr$:QORDR%=0:QORDT$=KPT$:QORDIP$="":GOSUB 291 510 ENABLE 511 GOSUB 121:GoTo 488 512 IF SVC$(SVI%)="" THEN GOTO 538 513 IF SPTerm%(SVI%)=7 THEN GOTO 486 514 IF SPFilt%(SVI%)=1 THEN GOTO 521 515 IF SPFilt%(SVI%)=2 THEN GOTO 523 516 IF SPFilt%(SVI%)=3 THEN GOTO 525 517 IF SPFilt%(SVI%)=4 THEN GOTO 528 518 IF SPFilt%(SVI%)=5 THEN GOTO 531 519 IF SPFilt%(SVI%)=6 THEN GOTO 534 520 SVStr$(SVI%)=SVC$(SVI%):GOTO 536 521 IF LEN(SVC$(SVI%))<2 THEN GOTO 538 522 SVStr$(SVI%)=LEFT$(SVC$(SVI%),LEN(SVC$(SVI%))-1):GOTO 536 523 IF LEN(SVC$(SVI%))<3 THEN GOTO 538 524 SVStr$(SVI%)=LEFT$(SVC$(SVI%),LEN(SVC$(SVI%))-2):GOTO 536 525 IF LEN(SVC$(SVI%))<3 THEN GOTO 538 526 SVC$(SVI%)=RIGHT$(SVC$(SVI%),LEN(SVC$(SVI%))-1) 527 SVStr$(SVI%)=LEFT$(SVC$(SVI%),LEN(SVC$(SVI%))-1):GOTO 536 528 IF LEN(SVC$(SVI%))<4 THEN GOTO 538 529 SVC$(SVI%)=RIGHT$(SVC$(SVI%),LEN(SVC$(SVI%))-1) 530 SVStr$(SVI%)=LEFT$(SVC$(SVI%),LEN(SVC$(SVI%))-2):GOTO 536 531 IF LEN(SVC$(SVI%))<5 THEN GOTO 538 532 SVC$(SVI%)=RIGHT$(SVC$(SVI%),LEN(SVC$(SVI%))-1) 533 SVStr$(SVI%)=LEFT$(SVC$(SVI%),LEN(SVC$(SVI%))-3):GOTO 536 534 IF LEN(SVC$(SVI%))<23 THEN GOTO 538 535 SVStr$(SVI%)=MID$(SVC$(SVI%),6,4)+MID$(SVC$(SVI%),12,6):GOTO 536 536 QORDS$=SVStr$(SVI%):QORDR%=SVI%:QORDT$="":QORDIP$="":GOSUB 291:SVStr$(SVI%)="" 537 GOSUB 121 538 SVC$(SVI%)="":RETURN 539 DISABLE 540 SVC$(1)=S1$:SVI%=1:GOSUB 512 541 ENABLE 542 INPUT #1,S1$:RETURN 543 DISABLE 544 SVC$(2)=S2$:SVI%=2:GOSUB 512 545 ENABLE 546 INPUT #2,S2$:RETURN 547 DISABLE 548 SVC$(3)=S3$:SVI%=3:GOSUB 512 549 ENABLE 550 INPUT #3,S3$:RETURN 551 DISABLE 552 SVC$(4)=S4$:SVI%=4:GOSUB 512 553 ENABLE 554 INPUT #4,S4$:RETURN 555 IF RxDMsg%=0 THEN RETURN 556 IF RxDMsg%=1 THEN GOTO 463 557 IF RxDMsg%=2 THEN GOTO 447 558 IF RxDMsg%=8 THEN GOTO 439 559 IF RxDMsg%=9 THEN GOTO 308 560 IF RxDMsg%=12 THEN GOTO 301 561 IF RxDMsg%=13 THEN GOTO 281 562 IF RxDMsg%=14 THEN GOTO 480 563 IF RxDMsg%=15 THEN GOTO 475 564 IF RxDMsg%=16 THEN GOTO 37 565 IF RxDMsg%=17 THEN GOTO 42 566 IF RxDMsg%>100 THEN GOTO 265 ELSE RxDMsg%=0 567 RETURN 568 GOSUB 281:PRINT "ERR";ERR();",LIN":ERL() 569 JS%(1)=2:JS%(2)=1:JS%(3)=1:SLEEP 1000 570 END 571 DELEVENT 572 JS%(1)=2:JS%(2)=1:JS%(3)=1:Print "Exiting . . .":GOSUB 324:SLEEP 1000:GOSUB 84 573 NEW