:PIDSIM.BA released 12/5/20038:Was version 2.0 of PID2J2.BA S:(c)R.H.Pigford 1991~: Simulates process w/ dead time and: lags in series. Teaches PIDά: tuning skills. Could be adapted to: control a real process. 256,59500:M"TREND2":M"LCD2LJ"f"Loading ...":I0319:59637I,0:I:put 0's in TREND2.CO buffer to startqSTR Hw585 :set init values#M1:535 :strt in autoϭ(615 :set default tuning-560 :set simulator consts2285 :add last 3 lines to screen07230 :build screen9< 75DAA$:nF:_________ main loop ______________KA$:A$"" 450P O0 75 :on HoldU:deviation from SP?ܮZ 355 :simulate the process_ M1 390:auto d M0 425:maniEASPPV2n 315 :check limitsLs@471,"###.## %";CO;ex@71,"###.## %";PV;}@111,"###.## %";SP;@540,;:_____ Proc Var mark ___YP%(101PV.5)ԯ YP%QP% 175(158,QP%)(163,QP%),0:main bar0YP%2͒(160,QP%1)(161,QP%1),0:top small barhYP%100͒(160,QP%1)(161,QP%1),0:btm small bar(160,YP%1)(161,YP%1),1:(158,YP%)(163,YP%),1:(160,YP%1)(161,YP%1),1ڰ:_____ Set Point mark ____ﰯYS%(101SP.5)YS%QS% 210 (169,QS%)(172,QS%),0DYS%2͒(170,QS%1)(171,QS%1),0lYS%100͒(170,QS%1)(171,QS%1),0(170,YS%1)(171,YS%1),1:(169,YS%)(172,YS%),1:(170,YS%1)(171,YS%1),1:pass the Y PV val in l, Y SP val in h 59500,,256YS%YP% :TREND2.CO$QP%YP%:QS%YS%K75 : ----- do loop again ------u:________ setup screen ____________(0,0)(157,102),1,B(157,0)(239,102),1,Bв F110110:(165,F)(167,F),1:F F110110:(0,F):F F11012:(166,F):F @69,"PV";( @109,"SP";9  @469,"CO";G@552,H3;Mw:___ lower 3 screen line data _____@520,"Prop = ";"####";PB;:" %";"@560,"Integ= ";"#.##";TI;:" Min/Rpt";:@580,"uit

rint an";0'@600,"Deriv= ";"#.##";TD;:" Min";:@620,"une old uto";l,@230,"PIDSIM.BA";:@270,"(c) 2002";:@310,"RHPigford";r16:---check variable limits (0-100)__; CO0CO0´@ CO100CO100״E PV100PV100J PV0PV0O SP0SP0T SP100SP100Y>^:_______simulate a process_________ZcR4R3:R3R2:R2R1:R1R0hY1((K1TR4)(T1T))((T1Y0)(T1T))mY3((K2TY1)(T2T))((T2Y2)(T2T))rY2Y3:Y0Y1wPVPVY3(.025((1)))(.025((1)))|:__________ automatic _____________+OPKC(EAEB)BOPOP(KCTEATI)cOPOP(TDKCT)(EA2EBEC)R0OP :send change to simulatorECEB:EBEA:COCOOPѶ:__________ manual _____________ڶR0XⶮX0춳SPPV:______ check any key strokes ____:A$"M"A$"m" M0:535:YA$"A"A$"a" M1:535:{A$(31)M1 SPSP1:downA$(30)M1 SPSP1:upA$(190)M1SPSP10:code=A$(197)M1SPSP10:code-A$(29)M0COCO1:X1:left arrow8A$(28)M0COCO1:X1:rt arrowbA$(190)M0COCO10:X10 :code=A$(197)M0COCO10:X10:code-:_ Call LCD2LJ.CO Scrn prt > LJet _ҸA$"p"A$"P" 60000A$"h"A$"H" O1O :holdA$"T"A$"t"A$"":650:285:A$"q"A$"Q" (27);(87):@ i:_________ print mode$ ___________@29,H1M$(M)H0;M0:@432,H1(155)(154)H0:@152," "ܹ!M1ͣ@152,H1(152)(153)H0:@432," "& +:___set process model dynamics ___90T.05:T11:K11:T21:K21:H3H1"TEMP"H0m5:T=.05:T1=.05:K1=1:T2=.1:K2=1:H3=H1+"FLOW"+H0::T = sampling rate (approx 1 sec)?D:---- init values -----ۺIH1(27)"p":H0(27)"q":O1 NPV50:CO50:SP50:Y30:Y00:Y10:Y20:Y30SQP%2:QS%2DXM$(1)" AUTOMATIC":M$(0)" MANUAL "J]tb:__ set initial PID tuning values _|gZ0lTD0qPB75:KC100PB :gain PB=100/KCϻvTI.5 :integral time(MIN/RPT){ (27);(86); :no scrol:____ change tuning ______________' 770u@600,"Change "H1"P"H0" "H1"I"H0" "H1"D"H0" ? or ";}65A$"P"A$"p" 695A$"I"A$"i" 720˼A$"D"A$"d" 745缨A$(13) A$"":770: 655:___ get new PB val _____3770:Z1PB:@600,"P="PB;:775Z PB$: PB$"" A$"":PVZ1:770:PB (PB$):PB10 PB1000 :PBZ1:695KC100PB:770: :with new PB valҽ:___ get new I val ______770:Z2TI:@600,"I="TI;:775 TI$:TI$"" A$"":TIZ2:770:HTI(TI$):TI.05 TI10 :TIZ2: 720f770: :with nte TI val:___ get new TD val _______770:Z3TD:@600,"D="TD;:775о TD$:TD$"" A$"":TDZ3:770:TD(TD$):TD0 TD10 ͱ:TDZ3:745770: :with new TD val9:____ clear line #16 _____R@600,(27);(75);:v" Enter new val or ";: