- GOTO SCREEN begin *>SCREEN begin out -1:call lowbits(0) dim ct%(6) : dim i%(6) : dim ed%(6) dim stat$(2) : stat$(1) = "OFF" : stat$(2) = "ON " db=100 for n%=1 to 6:i%(n%)=0:ed%(n%)=0:next call plcinit(1,1) - GOTO SCREEN mainscr *>SCREEN mainscr - PUT TEXT AT (1,1): "SET POINT" - PUT TEXT AT (12,1): "TEMPERATURE" - PUT TEXT AT (26,1): "STATUS" - PUT NUMBER nvol(1) AT (3,2) USING "-####" - PUT NUMBER nvol(2) AT (3,3) USING "-####" - PUT NUMBER nvol(3) AT (3,4) USING "-####" - PUT NUMBER nvol(4) AT (3,5) USING "-####" - PUT NUMBER nvol(5) AT (3,6) USING "-####" - PUT NUMBER nvol(6) AT (3,7) USING "-####" - SOFTKEY (1) "edit" GOTO SCREEN editscr - SOFTKEY (3) "zero" GOTO SCREEN zeroscr - SOFTKEY (4) "gain" GOTO SCREEN gainscr - SOFTKEY (6) "exit" GOTO SCREEN exitscr - LABEL monitor call plcread( 1,7,7,0,,6,ct%(1) ) : stat%=0 for n% = 1 to 6 e=nvol(n%)-ct%(n%) if sgn(e) <> sgn(ed%(n%)) then i%(n%)=0 if e<-10 or e>10 then i%(n%)=e else i%(n%)=i%(n%)+e u=(nvol(10+n%)*e)+(nvol(20+n%)*i%(n%))+nvol(30+n%)*(e-ed%(n%)) y%=n%+1 - PUT NUMBER u AT (31,y%) USING "-########" ed%(n%)=e : if u>db then stat%=stat% or 2^(n%-1) next call plcwrite( 1,7,7,6,,1,stat% ) - PUT NUMBER ct%(1) AT (15,2) USING "-####" - PUT NUMBER ct%(2) AT (15,3) USING "-####" - PUT NUMBER ct%(3) AT (15,4) USING "-####" - PUT NUMBER ct%(4) AT (15,5) USING "-####" - PUT NUMBER ct%(5) AT (15,6) USING "-####" - PUT NUMBER ct%(6) AT (15,7) USING "-####" x% = sgn(bit(0,stat%)) + 1 - PUT TEXT AT (28,2): stat$(x%) x% = sgn(bit(1,stat%)) + 1 - PUT TEXT AT (28,3): stat$(x%) x% = sgn(bit(2,stat%)) + 1 - PUT TEXT AT (28,4): stat$(x%) x% = sgn(bit(3,stat%)) + 1 - PUT TEXT AT (28,5): stat$(x%) x% = sgn(bit(4,stat%)) + 1 - PUT TEXT AT (28,6): stat$(x%) x% = sgn(bit(5,stat%)) + 1 - PUT TEXT AT (28,7): stat$(x%) - SOFTKEY CHECK - GOTO LABEL monitor *>SCREEN zeroscr - PUT LARGE TEXT AT (5,2): "ALL COUNTERS" - PUT LARGE TEXT AT (1,3): " HAVE BEEN CLEARED!" for x% = 1 to 6 : ct%(x%)=0 : next x% call plcwrite( 1,7,7,0,,1,0 ) : stat%=0 call plcwrite( 1,7,7,1,,1,0 ) call plcwrite( 1,7,7,2,,1,0 ) call plcwrite( 1,7,7,3,,1,0 ) call plcwrite( 1,7,7,4,,1,0 ) call plcwrite( 1,7,7,5,,1,0 ) - DELAY 1000 - GOTO SCREEN mainscr *>SCREEN QUICK editscr - GET BACKGROUND STYLE SETUP: 1 - GET NUMBER nvol(1) AT (3,2) USING "-####" DEFAULT nvol(1) - GET NUMBER nvol(2) AT (3,3) USING "-####" DEFAULT nvol(2) - GET NUMBER nvol(3) AT (3,4) USING "-####" DEFAULT nvol(3) - GET NUMBER nvol(4) AT (3,5) USING "-####" DEFAULT nvol(4) - GET NUMBER nvol(5) AT (3,6) USING "-####" DEFAULT nvol(5) - GET NUMBER nvol(6) AT (3,7) USING "-####" DEFAULT nvol(6) - GOTO SCREEN mainscr *>SCREEN exitscr - PUT LARGE TEXT AT (1,1): "THANK YOU FOR USING" - PUT LARGE TEXT AT (1,3): " EASON TECHNOLOGY" END *>SCREEN gainscr - PUT TEXT AT (1,5): "Enter the loop to be changed (1-6):" - GET NUMBER x% AT (37,5) USING "#" DEFAULT 1 - CLEAR SCREEN - LABEL gainscr1 - PUT TEXT AT (1,1): "Select the parameter you wish to change" - PUT TEXT AT (9,2): "by pressing a softkey." - PUT TEXT AT (6,4): "Loop number:" - PUT NUMBER x% AT (19,4) USING "#" - PUT NUMBER nvol(10+x%) AT (3,7) USING "####" - PUT NUMBER nvol(20+x%) AT (9,7) USING "####" - PUT NUMBER nvol(30+x%) AT (15,7) USING "####" - PUT NUMBER nvol(x%) AT (22,7) USING "####" - SOFTKEY (1) " KD" GOTO SCREEN kdscr - SOFTKEY (2) " KI" GOTO SCREEN kiscr - SOFTKEY (3) " KP" GOTO SCREEN kpscr - SOFTKEY (4) "SETPT" GOTO SCREEN setptscr - SOFTKEY (6) "DONE" GOTO SCREEN mainscr - SOFTKEY WAIT - LABEL kdscr - GET NUMBER nvol(10+x%) AT (3,7) USING "####" DEFAULT nvol(10+x%) - GOTO LABEL gainscr1 - LABEL kiscr - GET NUMBER nvol(20+x%) AT (9,7) USING "####" DEFAULT nvol(20+x%) - GOTO LABEL gainscr1 - LABEL kpscr - GET NUMBER nvol(30+x%) AT (15,7) USING "####" DEFAULT nvol(30+x%) - GOTO LABEL gainscr1 - LABEL setptscr - GET NUMBER nvol(x%) AT (22,7) USING "####" DEFAULT nvol(x%) - GOTO LABEL gainscr1 - END OF PSEUDOCODE