
adccommunitymod (AutomationDirect) asked a question.
Change Screen EA1-S3MLW
Created Date: October 04,2017
Created By: h2os
**** This post has been imported from our legacy forum. Information in this post may be outdated and links contained in the post may no longer work.****
Send command to change screen (PLC to Panel) does not change the screen. IF I change the screen from 2 to 3 and I want to go back from 3 to 2 it will not let me. But if I go to screen 4 it will let me go back to 2. Using V2000 as change screen address and V2004 as the current screen address; when it does not work the values are V2000 = 2 & V2004 = 3
Created Date: October 04,2017
Created by: h2os
Send command to change screen (PLC to Panel) does not change the screen. IF I change the screen from 2 to 3 and I want to go back from 3 to 2 it will not let me. But if I go to screen 4 it will let me go back to 2.
Using V2000 as change screen address and V2004 as the current screen address; when it does not work the values are V2000 = 2 & V2004 = 3
Created Date: October 04,2017
Created by: Do-more PE
The Panel has to see a change in the number. If you have a 2 loaded into V2000 and put another 2 in it, it's just going to sit there as nothing has changed as far as the panel can tell.
Created Date: October 04,2017
Created by: bcarlton
Use a rung of logic - if the current screen number is equal to the requested screen number then move a non-used screen number (don't use zero) into the requested screen number. Make sure to one-shot the orinal screen request rungs so that they aren't trying continously writing the screen request number.
Created Date: October 05,2017
Created by: kewakl
I am reading OP a bit differently.
I am thinking that OP is changing from screen 2 to screen 3, then desiring to go back to screen 2 -- from screen 3.
If OP is using a mix of PLC commands and HMI Screen Change objects, then he can get into this situation.
To further flesh-out Bernie's suggestion:
---DirectLogic
.
. V2000 V2004 | LD
.----------------------]=
In one rung you will get the 'one-shot ' effect that Bernie mentioned, and the register change that Do-more PE mentioned.
---DoMore
.
. V2000 V2004 |Move
.----------------------]=
What happens is '9999 ' is (probably) not a valid screen number for your application, the hmi will silently fail to change to a non-existent screen. And you will get a new number in the ScreenChange register so that when you wish to go back to screen 2, that register will hold a 9999, so the new '2 ' will be recognized as a value change.
As Bernie states, do not use ZERO, that is interpreted as PREVIOUS SCREEN.
EDIT: remove wayward '+ ' in ascii rung