Announcement

Collapse
No announcement yet.

Pass C-more screen change event to Do-More Designer

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts


  • Pass C-more screen change event to Do-More Designer

    Is there some way to pass a C-more screen change event to Do-More Designer?


  • #2
    I believe in the menus there is an entry labeled PLC <-> Panel where you can assign a specific PLC address to receive the number of the current screen. Add a little comparison code in the PLC. You could implement different reactions based on the screen number. Also by setting up an address in the PLC -> Panel tab the PLC can control which screen is showing.

    It is possible that 'alarms' could be set up to trigger a bit on screen change but I am not as sure of that.
    thePLCguy

    Bernie

    Comment



    • #3
      There are a couple of ways to do this:

      1) Go to Setup > PLC<- >Panel and there is a current screen word you can use to monitor in the plc. When the screen changes use a compare to toggle a bit that saves the current screen to a memory location that can be used in the compare to see when changed again.

      2) Go to Dtabase> Event Manager Database And add screen change events for each screen and an action to turn on and off tags each time a screen is opened or closed.


      The first would require a little plc logic, but would be easier to implement in my opinion.

      Comment



      • #4
        Thanks. I knew there had to be a way to do this.

        Comment



        • #5
          I tried using the Database - Event Manager Database and added events for two screens one for on and one for off. Four bits in all. The problem is that the bits do trigger when the event occurs but they never reset. After toggling between the two screens a couple of times, all the bits are True on the PLC. This is very odd behavior. I had originally expected simple Open = TRUE , Closed = FALSE behavior and went to four bits when that did not work. It would take a very complex set of toggles to make this work.

          I'll try the Current Screen Word method next.

          Comment



          • #6
            Originally posted by wildcatherder View Post
            IAfter toggling between the two screens a couple of times, all the bits are True on the PLC. This is very odd behavior.
            actually, it's expected behavior. You are turning the bits on in Event Manager, but you aren't turning them off anywhere.

            a simple method is to use event manager to turn on a bit, say C20, when screen is opened.Then use event manager to turn C20 off when said screen is closed.

            then you just monitor the status of the bit in the PLC.
            Last edited by scott.lawrence; 05-19-2017, 08:40 PM. Reason: phones aren't computers... yet

            Comment



            • #7
              you guys have me curious I have to try this Monday at work. I set the event to screen change, then chose screen 1 to wright when it is opened. For action I choose Tag and and the Tag name is GO using c4. From following this it looks like when screen 1 is opened C4 will go true, then when Screen 1 is closed it should go false. Is this not true. If what you say is true Scott, then yea he will need to do 4. Maybe the behavior should be a option the way you want it to work. Seems like too much logic to make it work using 4 events.

              Comment



              • #8
                Never mind. I got your question backwards.



                Last edited by Dean; 05-22-2017, 08:43 AM.

                Comment



                • #9
                  Originally posted by wildcatherder View Post
                  I tried using the Database - Event Manager Database and added events for two screens one for on and one for off. Four bits in all. The problem is that the bits do trigger when the event occurs but they never reset. After toggling between the two screens a couple of times, all the bits are True on the PLC. This is very odd behavior. I had originally expected simple Open = TRUE , Closed = FALSE behavior and went to four bits when that did not work. It would take a very complex set of toggles to make this work.

                  I'll try the Current Screen Word method next.
                  For just a couple screens, the Event Manager approach can be done. It quickly gets unwieldy.
                  I tried with an EA9 and a CLICK.
                  In the EA9 Event Manager:

                  Create 4 SCREEN CHANGE events.

                  In all events, select your desired screen name/number and select (o) When Screen is Opened.
                  I did not bother with the ( ) When Screen is Closed. You may need it.
                  Each Screen Opening, clears all other bit tags in the other Screen Open Events/Actions.


                  Event 1: Create 4 Actions. All of type TAG
                  In Action 1 Select a tag for Screen 1 opening event Write State = ON
                  In Action 2 Select a tag for Screen 2 opening event Write State = OFF
                  In Action 3 Select a tag for Screen 3 opening event Write State = OFF
                  In Action 4 Select a tag for Screen 4 opening event Write State = OFF


                  Event 2: Create 4 Actions. All of type TAG
                  In Action 1 Select a tag for Screen 1 opening event Write State = OFF
                  In Action 2 Select a tag for Screen 2 opening event Write State = ON
                  In Action 3 Select a tag for Screen 3 opening event Write State = OFF
                  In Action 4 Select a tag for Screen 4 opening event Write State = OFF


                  Event 3: Create 4 Actions. All of type TAG
                  In Action 1 Select a tag for Screen 1 opening event Write State = OFF
                  In Action 2 Select a tag for Screen 2 opening event Write State = OFF
                  In Action 3 Select a tag for Screen 3 opening event Write State = ON
                  In Action 4 Select a tag for Screen 4 opening event Write State = OFF


                  Event 4: Create 4 Actions. All of type TAG
                  In Action 1 Select a tag for Screen 1 opening event Write State = OFF
                  In Action 2 Select a tag for Screen 2 opening event Write State = OFF
                  In Action 3 Select a tag for Screen 3 opening event Write State = OFF
                  In Action 4 Select a tag for Screen 4 opening event Write State = ON


                  I tested ONE EVENT (#3) to see if the ORDER of tags in the Action - Sequence List mattered.
                  It didn't, but I cannot say that this will be the norm in a more complex Event List.

                  In the CLICK, the tag bits followed the screen changes - except for the HMI Power-On screen Open.

                  Comment



                  • #10
                    Okay, so it does seem you need to have two events, one to set the bit and one to reset the bit. Love to see this optional behavior, either have the bit follow the screen status or write set it as it does now until you reset it. I do not use the event manager for this reason, I use the PLC>HMI method. Why did they choose this behavior? Example of the visibility feature, that follows the status of the tag.

                    Comment



                    • #11
                      Originally posted by a agnone View Post
                      Okay, so it does seem you need to have two events, one to set the bit and one to reset the bit. Love to see this optional behavior, either have the bit follow the screen status or write set it as it does now until you reset it. I do not use the event manager for this reason, I use the PLC>HMI method. Why did they choose this behavior? Example of the visibility feature, that follows the status of the tag.
                      Because they are just that, Events! Events are triggers, not continuous monitoring. Continuous monitoring as as an optional behavior would be a bit more (HMI) cpu and bandwidth intensive. (hopefully not punishingly so!)
                      I prefer NOT using HMI events, unless I have an overriding factor - Like if the tag value ONLY used in the local HMI.

                      HMI<->PLC screen tags are great if you only have one PLC managing the screen navigation. I guess that some handshaking between multiple PLCs could be devised for multi-PLC screen manipulation.

                      Comment



                      • #12
                        Thanks. I did not think of events as triggers.

                        Comment



                        • #13
                          Originally posted by a agnone View Post
                          Thanks. I did not think of events as triggers.
                          If AD sold cars, then each event would be 8 weeks long!

                          Comment

                          Working...
                          X