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