- GOTO SCREEN begin *>SCREEN begin - PUT LARGE TEXT AT (3,1): "EASON TECHNOLOGY" - PUT LARGE TEXT AT (7,2): "SUPPORTS" - PUT HUGE TEXT AT (3,2): "PLC'S!" - POWER RESUME ON - TITLE:::::::::: "INITIALIZE PLC TYPE & ADDRESS WITH THIS COMMAND" :::::::::::: - PLC: INITIALIZE COMMUNICATIONS FOR PLC 1 OF TYPE 1 on error goto problem - GET NUMBER BACKGROUND STYLE SETUP: 2 - DELAY 2000 - GOTO SCREEN main - TITLE:::::::::: "MAIN PLC INTERFACE ACTION MENU" :::::::::::: *>SCREEN main - PUT LARGE TEXT AT (1,1): "SELECT A PLC ACTION:" - PUT TEXT AT (1,3): "WRREG TO WRITE TO A REGISTER" - PUT TEXT AT (1,4): "RDREG TO READ A REGISTER F9 TO" - PUT TEXT AT (1,5): "WRI/O TO WRITE AN I/O LOCATION EXIT" - PUT TEXT AT (1,6): "RDI/O TO READ AN I/O LOCATION" - PUT TEXT AT (1,7): "DISCR TO ACCESS DISCRETE INTERNALS" - SOFTKEY (1) "WRREG" GOTO SCREEN wrregscr - SOFTKEY (2) "RDREG" GOTO SCREEN rdregscr - SOFTKEY (3) "WRI/O" GOTO SCREEN wrioscr - SOFTKEY (4) "RDI/O" GOTO SCREEN rdioscr - SOFTKEY (5) "DISCR" GOTO SCREEN discrscr - SOFTKEY (6) "STAT" GOTO SCREEN statscr - SOFTKEY (9) "EXIT" GOTO SCREEN exitscr - SOFTKEY WAIT - TITLE:::::::::: "WRITE ANY LEGAL VALUE TO ANY LEGAL REGISTER" :::::::::::: *>SCREEN wrregscr - PUT LARGE TEXT AT (1,1): "WRITE TO A REGISTER!" - PUT TEXT AT (4,4): "ENTER REGISTER NUMBER:" - GET NUMBER reg1% AT (27,4) USING "####" DEFAULT reg1% - PUT TEXT AT (2,6): "ENTER NEW REGISTER VALUE:" - PUT NUMBER reg1% AT (21,6) USING "####" - GET NUMBER regval1% AT (33,6) USING "+#####" DEFAULT regval1% - SOFTKEY (3) " OK" GOTO SCREEN wrregok - SOFTKEY (4) "EDIT" GOTO SCREEN wrregscr - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT *>SCREEN wrregok - PUT LARGE TEXT AT (1,2): "WRITING TO REGISTER#" - PUT LARGE NUMBER reg1% AT (9,3) USING "####" - TITLE:::::::::: "COMMAND TO WRITE TO A DESIRED REGISTER" :::::::::::: - PLC: SET REGISTER reg1% TO regval1% - DELAY 1000 - GOTO SCREEN main - TITLE:::::::::: "READ THE VALUE OF ANY LEGAL REGISTER" :::::::::::: *>SCREEN rdregscr - PUT LARGE TEXT AT (1,1): "READ FROM A REGISTER" - PUT TEXT AT (4,4): "ENTER REGISTER NUMBER:" - GET NUMBER reg2% AT (27,4) USING "####" DEFAULT reg2% - PUT LARGE TEXT AT (2,3): "READING REGISTER!" - TITLE:::::::::: "COMMAND TO READ A DESIRED REGISTER VALUE" :::::::::::: - PLC: READ reg2% INTO regval2% - PUT LARGE TEXT AT (2,3): " " - PUT TEXT AT (2,6): "REGISTER VALUE IS: " - PUT NUMBER reg2% AT (11,6) USING "####" - PUT NUMBER regval2% AT (26,6) USING "+#####" - SOFTKEY (1) "AGAIN" GOTO SCREEN rdregscr - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT - TITLE:::::::::: "READ AN I/O POINT" :::::::::::: *>SCREEN rdioscr - PUT LARGE TEXT AT (2,1): "WHAT TYPE OF I/O??" - PUT TEXT AT (1,4): "SELECT WHETHER YOU WOULD LIKE TO READ AN" - PUT TEXT AT (8,5): "INPUT OR AN OUTPUT POINT." - SOFTKEY (3) "INPUT" GOTO SCREEN rdinchek - SOFTKEY (4) "OUTPT" GOTO SCREEN rdoutchk - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT *>SCREEN rdinchek - PUT LARGE TEXT AT (1,1): "WHAT TYPE OF INPUT??" - PUT TEXT AT (1,4): "SELECT WHETHER YOU WOULD LIKE TO READ AN" - PUT TEXT AT (6,5): "ANALOG OR DIGITAL INPUT POINT." - SOFTKEY (3) "ANALG" GOTO SCREEN rdaiscr - SOFTKEY (4) "DIGIT" GOTO SCREEN rdinscr - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT *>SCREEN rdoutchk - PUT TEXT AT (1,4): "SELECT WHETHER YOU WOULD LIKE TO READ AN" - PUT TEXT AT (5,5): "ANALOG OR DIGITAL OUTPUT POINT." - PUT LARGE TEXT AT (2,1): "WHAT TYPE OF I/O??" - SOFTKEY (3) "ANALG" GOTO SCREEN rdaoscr - SOFTKEY (4) "DIGIT" GOTO SCREEN rdoutscr - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT *>SCREEN rdaiscr - PUT LARGE TEXT AT (1,1): "READ AN ANALOG INPUT" - PUT TEXT AT (1,4): "ENTER ANALOG INPUT NUMBER:" - GET NUMBER anin2% AT (28,4) USING "####" DEFAULT anin2% - PUT LARGE TEXT AT (1,3): "READING ANALOG I/O!!" - TITLE:::::::::: "COMMAND TO READ A DESIRED REGISTER VALUE" :::::::::::: - PLC: READ ANALOG INPUT anin2% INTO aninval2% SCALED BY 1 - PUT LARGE TEXT AT (1,3): " " - PUT TEXT AT (2,6): "ANALOG IN VALUE IS: VOLTS" - PUT NUMBER anin2% AT (12,6) USING "####" - PUT NUMBER aninval2% AT (27,6) USING "+###.##" - SOFTKEY (1) "AGAIN" GOTO SCREEN rdaiscr - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT *>SCREEN rdaoscr - PUT LARGE TEXT AT (1,1): "READ ANALOG OUTPUTS!" - PUT TEXT AT (1,4): "ENTER ANALOG OUTPUT NUMBER:" - GET NUMBER anout2% AT (29,4) USING "####" DEFAULT anout2% - PUT LARGE TEXT AT (1,3): "READING ANALOG I/O!!" - TITLE:::::::::: "COMMAND TO READ A DESIRED REGISTER VALUE" :::::::::::: - PLC: READ ANALOG OUTPUT anout2% INTO anoutvl2% SCALED BY 1 - PUT LARGE TEXT AT (1,3): " " - PUT TEXT AT (1,6): "ANALOG OUT VALUE IS: VOLTS" - PUT NUMBER anout2% AT (12,6) USING "####" - PUT NUMBER anoutvl2% AT (27,6) USING "+####.##" - SOFTKEY (1) "AGAIN" GOTO SCREEN rdaoscr - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT - TITLE:::::::::: "FORCE AN I/O POINT" :::::::::::: *>SCREEN wrioscr - PUT LARGE TEXT AT (2,1): "WHAT TYPE OF I/O??" - PUT TEXT AT (1,4): "SELECT WHETHER YOU WOULD LIKE TO SET AN" - PUT TEXT AT (8,5): "INPUT OR AN OUTPUT POINT." - SOFTKEY (3) "INPUT" GOTO SCREEN wrdiscr - SOFTKEY (4) "OUTPT" GOTO SCREEN outckscr - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT *>SCREEN outckscr - PUT LARGE TEXT AT (2,1): "WHAT TYPE OF I/O??" - PUT TEXT AT (1,4): "SELECT WHETHER YOU WOULD LIKE TO SET AN" - PUT TEXT AT (5,5): "ANALOG OR DIGITAL OUTPUT POINT." - SOFTKEY (3) "ANALG" GOTO SCREEN wraoscr - SOFTKEY (4) "DIGIT" GOTO SCREEN wrdoscr - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT *>SCREEN wraoscr - PUT LARGE TEXT AT (1,1): "SET AN ANALOG OUTPUT" - PUT TEXT AT (4,4): "ENTER OUTPUT NUMBER:" - GET NUMBER aobit1% AT (27,4) USING "####" DEFAULT aobit1% - PUT TEXT AT (3,6): "ENTER DESIRED OUTPUT: VOLTS" - GET NUMBER aoval1% AT (25,6) USING "###.##" DEFAULT aoval1% - SOFTKEY (3) " OK" GOTO SCREEN wranout - SOFTKEY (4) "EDIT" GOTO SCREEN wraoscr - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT *>SCREEN wranout - PUT LARGE TEXT AT (2,2): "WRITING TO ANALOG" - PUT LARGE TEXT AT (4,3): "OUTPUT #" - PUT LARGE NUMBER aobit1% AT (12,3) USING "####" - TITLE:::::::::: "COMMAND TO WRITE TO A DESIRED REGISTER" :::::::::::: - PLC: SET ANALOG OUTPUT aobit1% TO aoval1% SCALED BY 1 - DELAY 1000 - GOTO SCREEN main *>SCREEN wrdoscr - PUT TEXT AT (4,4): "ENTER OUTPUT NUMBER:" - PUT LARGE TEXT AT (1,1): "WRITE TO AN OUTPUT!!" - GET NUMBER obit1% AT (27,4) USING "####" DEFAULT obit1% - PUT TEXT AT (7,6): "TURN THE OUTPUT ON OR OFF?" - SOFTKEY (3) " ON" GOTO SCREEN obiton - SOFTKEY (4) " OFF" GOTO SCREEN obitoff - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT *>SCREEN obiton - PUT LARGE TEXT AT (3,1): "TURNING OUTPUT #" - PUT LARGE NUMBER obit1% AT (9,2) USING "####" - PUT HUGE TEXT AT (5,2): "ON" - TITLE:::::::::: "COMMAND TO TURN ON A DESIRED OUTPUT BIT" :::::::::::: - PLC: SET DISCRETE OUTPUT obit1% TO 1 - DELAY 1000 - GOTO SCREEN main *>SCREEN obitoff - PUT LARGE TEXT AT (3,1): "TURNING OUTPUT #" - PUT LARGE NUMBER obit1% AT (9,2) USING "####" - PUT HUGE TEXT AT (4,2): "OFF!" - TITLE:::::::::: "COMMAND TO TURN OFF A DESIRED OUTPUT BIT" :::::::::::: - PLC: SET DISCRETE OUTPUT obit1% TO 0 - DELAY 1000 - GOTO SCREEN main - TITLE:::::::::: "FORCE THE STATE OF AN INPUT" :::::::::::: *>SCREEN wrdiscr - PUT LARGE TEXT AT (2,1): "WRITE TO AN INPUT!" - PUT TEXT AT (4,4): "ENTER INPUT NUMBER:" - GET NUMBER dibit1% AT (27,4) USING "####" DEFAULT dibit1% - PUT TEXT AT (8,6): "TURN THE INPUT ON OR OFF?" - SOFTKEY (3) " ON" GOTO SCREEN ibiton - SOFTKEY (4) " OFF" GOTO SCREEN ibitoff - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT *>SCREEN ibiton - PUT LARGE TEXT AT (3,1): "TURNING INPUT #" - PUT LARGE NUMBER dibit1% AT (9,2) USING "####" - PUT HUGE TEXT AT (5,2): "ON" - TITLE:::::::::: "COMMAND TO TURN ON A DESIRED INPUT BIT" :::::::::::: - PLC: SET DISCRETE INPUT dibit1% TO 1 - DELAY 1000 - GOTO SCREEN main *>SCREEN ibitoff - PUT LARGE TEXT AT (3,1): "TURNING INPUT #" - PUT LARGE NUMBER dibit1% AT (9,2) USING "####" - PUT HUGE TEXT AT (4,2): "OFF!" - TITLE:::::::::: "COMMAND TO TURN OFF A DESIRED INPUT BIT" :::::::::::: - PLC: SET DISCRETE INPUT dibit1% TO 0 - DELAY 1000 - GOTO SCREEN main *>SCREEN rdinscr - PUT LARGE TEXT AT (2,1): "READING INPUT BIT!" - PUT TEXT AT (4,4): "ENTER INPUT NUMBER:" - GET NUMBER reg3% AT (27,4) USING "####" DEFAULT reg3% - PUT LARGE TEXT AT (3,3): "READING STATUS!" - TITLE:::::::::: "COMMAND TO READ THE STATE OF AN INPUT" :::::::::::: - PLC: READ DISCRETE INPUT reg3% INTO regval3% - PUT LARGE TEXT AT (3,3): " " - PUT TEXT AT (11,6): "INPUT IS " - PUT NUMBER reg3% AT (17,6) USING "####" if regval3% = 1 then istat$ = "ON " if regval3% = 0 then istat$ = "OFF" - PUT TEXT AT (25,6): istat$ - SOFTKEY (1) "AGAIN" GOTO SCREEN rdinscr - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT - TITLE:::::::::: "READ THE STATE OF ON OUTPUT" :::::::::::: *>SCREEN rdoutscr - PUT LARGE TEXT AT (2,1): "READING OUTPUT BIT" - PUT TEXT AT (6,4): "ENTER OUTPUT NUMBER:" - GET NUMBER reg4% AT (27,4) USING "####" DEFAULT reg4% - PUT LARGE TEXT AT (3,3): "READING STATUS!" - TITLE:::::::::: "COMMAND TO READ THE STATE OF AN OUTPUT" :::::::::::: - PLC: READ DISCRETE OUTPUT reg4% INTO regval4% - PUT LARGE TEXT AT (3,3): " " - PUT TEXT AT (10,6): "OUTPUT IS" - PUT NUMBER reg4% AT (17,6) USING "####" if regval4% = 1 then ostat$ = "ON " if regval4% = 0 then ostat$ = "OFF" - PUT TEXT AT (25,6): ostat$ - SOFTKEY (1) "AGAIN" GOTO SCREEN rdoutscr - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT *>SCREEN discrscr - PUT LARGE TEXT AT (1,1): "DISCRETE INTERNALS!!" - PUT TEXT AT (1,4): "WOULD YOU LIKE TO READ FROM OR WRITE TO" - PUT TEXT AT (11,5): "DISCRETE INTERNALS?" - SOFTKEY (3) "READ" GOTO SCREEN rddisc - SOFTKEY (4) "WRITE" GOTO SCREEN wrdisc - SOFTKEY (6) "EXIT" GOTO SCREEN main - SOFTKEY WAIT *>SCREEN rddisc - PUT LARGE TEXT AT (2,1): "DISCRETE INTERNALS" - PUT TEXT AT (1,4): "READ DISCRETE INTERNAL #:" - GET NUMBER discint3% AT (27,4) USING "####" DEFAULT discint3% - PUT LARGE TEXT AT (3,3): "READING STATUS!" - TITLE:::::::::: "COMMAND TO READ THE STATE OF A DISCRETE INTERNAL" :::::::::::: - PLC: READ DISCRETE INTERNAL discint3% INTO discinvl% - PUT LARGE TEXT AT (3,3): " " - PUT TEXT AT (4,6): "DISCRETE INTERNAL IS" - PUT NUMBER discint3% AT (22,6) USING "####" if discinvl% = 1 then istat$ = "ON " if discinvl% = 0 then istat$ = "OFF" - PUT TEXT AT (30,6): istat$ - SOFTKEY (1) "AGAIN" GOTO SCREEN rddisc - SOFTKEY (6) "EXIT" GOTO SCREEN discrscr - SOFTKEY WAIT *>SCREEN wrdisc - PUT LARGE TEXT AT (1,1): "DISCRETE INTERNALS!!" - PUT TEXT AT (4,4): "WRITE TO DISCRETE INTERNAL #:" - GET NUMBER discint3% AT (34,4) USING "####" DEFAULT discint3% - PUT TEXT AT (2,6): "TURN THE DISCRETE INTERNAL ON OR OFF?" - SOFTKEY (3) " ON" GOTO SCREEN dscinon - SOFTKEY (4) " OFF" GOTO SCREEN dscinoff - SOFTKEY (6) "EXIT" GOTO SCREEN discrscr - SOFTKEY WAIT *>SCREEN dscinon - PUT LARGE TEXT AT (2,1): "TURNING INTERNAL #" - PUT LARGE NUMBER discint3% AT (9,2) USING "####" - PUT HUGE TEXT AT (5,2): "ON" - TITLE:::::::::: "COMMAND TO TURN ON A DESIRED DISCRETE INTERNAL" :::::::::::: - PLC: SET DISCRETE INTERNAL discint3% TO 1 - DELAY 1000 - GOTO SCREEN discrscr *>SCREEN dscinoff - PUT LARGE TEXT AT (2,1): "TURNING INTERNAL #" - PUT LARGE NUMBER discint3% AT (9,2) USING "####" - PUT HUGE TEXT AT (4,2): "OFF!" - TITLE:::::::::: "COMMAND TO TURN OFF A DESIRED DISCRETE INTERNAL" :::::::::::: - PLC: SET DISCRETE INTERNAL discint3% TO 0 - DELAY 1000 - GOTO SCREEN discrscr *>SCREEN statscr - PUT LARGE TEXT AT (1,1): "PLC TYPE AND STATUS!" - PUT TEXT AT (6,4): "THIS FUNCTION NOT IMPLEMENTED" - PUT TEXT AT (11,5): "FOR THIS PLC TYPE!!" - DELAY 3000 - GOTO SCREEN main - TITLE:::::::::: "SCREEN THAT YOU GO TO ON AN ERROR CONDITION" :::::::::::: *>SCREEN problem - PUT LARGE TEXT AT (6,1): "TROUBLE!!!" - PUT TEXT AT (1,3): "THERE IS A PROBLEM WITH ACCESSING THIS" - PUT TEXT AT (1,4): "REGISTER OR BIT AT THIS TIME. MAKE SURE" - PUT TEXT AT (1,5): "YOU ARE ACCESSING A VALID LOCATION OR" - PUT TEXT AT (1,6): "CALL EASON TECHNOLOGY AT (707)433-2854" - PUT TEXT AT (1,7): "FOR CLARIFICATION!" - SOFTKEY (1) " GO" GOTO SCREEN main - SOFTKEY WAIT *>SCREEN exitscr - PUT LARGE TEXT AT (1,1): "THANK YOU FOR TRYING" - PUT LARGE TEXT AT (2,2): "EASON TECHNOLOGY'S" - PUT LARGE TEXT AT (1,3): "NEW PLC INTERFACES!!" - DELAY 2000 - CLEAR GRAPHICS SCREEN - END OF PSEUDOCODE