winCC flexible

moody088

Member
Join Date
Nov 2008
Location
checago
Posts
38
i work with touch panel ( MP 277 8" touch ) and i want to change the screens
for example:
when a certain valve open, i want to change from screen_1 to screen_2 ( change between screens without pushbutton )
how can i do that in winCC flexible........
 
This can be done from the PLC using the Job Mailbox - Job 51. The job mailbox is an are of memory set up in the connections tab in WinCC Flex. Using this memory area the PLC can give tasks to the HMI - Job 51 is to display a specific screen. See the help files - Job Mailbox.

Nick
 
This is how I would do it.

In WinCC Flex:

Create 2 new tags. One an integer, the other a bool.

For the integer, in it's events, change value, select: ActivateScreenByNumber and for the Screen number parameter, select the integer tag you are currently modifying.
Select Cyclic continuous for it's acquisition mode.

The result of this will be that whenever the value of that tag changes, it'll open the picture corresponding with it's new value. If it changes from 5 to 8, then Screen number 8 will activate automatically.

Changing the value of the tag is done in the PLC. Activate valve, you want it to change screens, then just add a load/transfer of the correct integer.

One tag, one variable and so many uses.

Now the other boolean tag is more of an option. Say you have certain screens on the panel that you want to keep activated even when the valves change.
On those screens on their events Loaded and Cleared, use the SetBit and ResetBit functions.
On loading the screen, you set the bit. In the PLC you use this bit to prevent the change of screens. When exiting the screen you reset the bit, allowing autochanging of screens again.


Or something like that. We use the ActivateScreenByNumber function alot and it really works nice.
 
jeebs.......
can u tell me how can i do this i mean ActivateScreenByNumber in details i tried but i cannot get the solution
 
The ActivateScreenByNumber is a function you enable for your tag in WinCC Flex. So open the Tags page in WinCC Flex. Select your tag (the integer tag that Jeebs wrote about). The tag properties are displayed in the little window. Select the Events tab/folder. For the "Change value" select the "ActivateScreenByNumber" function from the drop down list.


Here is how I do it. It is the same idea as Jeebs, but I also use the area pointer so I can tell the PLC which screen is displayed.

Prepare for the area pointer in a DB of the PLC. Reserve five words of type Integer. I modified the suggested tag names to: ScrnType, ScreenNum, Reserve1, FieldNumber, Reserved.

Set up additional tags of type Integer in the DB. Create a Req_ScreenNum (this will hold the integer value of the screen to draw). Also create tags for each of the screens that you want to request (These tags contain the WinCC Flex screen number). For each screen tag, make sure the value of the tag in the DB is the same as the screen number that is assigned in WinCC Flex (General -> Settings -> Number).

Setup the area pointer in WinCC Flex. On the Connections page go to the Area Pointer tab. I set the Name to "Screen number", the Symbol to "ScrnType" with its address, Length of 5, and Trigger Mode of "Cyclic continuous".

In the Tags page (Communications -> Tags), I set the ScreenNum (the WinCC Flex area pointer) properties as follows: Acquisition mode to "Cyclic on use" (General -> Acquisition mode).

Also in the Tags page, I set the Req_ScreenNum properties as follows: Acquisition mode to "Cycle continuous" and Acquisition cycle to "100 ms". On the Events tab, for "Change value" I selected the "ActivateScreenByNumber" function and set the screen number property to itself (Req_ScreenNum).

In your PLC logic, when the event occurs MOVE Auto to Req_Screen. Then wait for ScreenNum CMP==I Req_ScreenNum then MOVE 0 to Req_ScreenNum.
 
Busy today, hence the somewhat late reply.

These are screenshots of our actual setup:

The Screennr tag. Simple Integer tag reading a value from the PLC.
screennrpropertiestk5.png



The event on the Screennr tag. See how it uses itself to trigger the screen change. Thus no other changes needed to the panel.
screennreventzn8.png


In our project, if I 'MOVE' the number 1 into the memory location for the Screennr tag (DB1,DBW100 for us), then it opens the Start Screen. To find the screen number just look at the general properties
screennrnumberqc1.png



If you still have some time, you might wanna explore Imi'ike's solution. It has a few nice extra's. Making it both more complicated, but more versatile.

Hope this helps.
 
Hello all,

But how to inform PLC what's the number of actual screen?
Where can i specify a variable that containing the number of actual screen?
 
Connections > Area Pointers > Global Area Pointer of HMI device - Screen number

This is an array of 5 word values, array[2] is the number of the actual screen.
 
Today i've talked with a siemens specialist and he said that HMI OP73 Micro do not supports these words in Area Pointers... So i can't inform the screen number to PLC if i'm using OP73 Micro model.
 
Last edited:

Similar Topics

Hi, We have upgraded our laptop which includes Windows 11. It appears that WinCC flexible 2008 advanced does not support Windows 11. What...
Replies
11
Views
266
Hello everyone I Have an Issue with the usage of recipes in Wincc Flexible 2008, I create the recipe to change the values in a fast way The...
Replies
0
Views
106
Hi colleagues.We do data logging system.We want to record three temperatures under a certain condition. We prepared the project as follows. We do...
Replies
1
Views
755
Hello to everyone. I change the value of a "PQW" with a button in Wincc flexible. The code of the button is defined as M102.0. Value reset...
Replies
10
Views
4,579
Hello Friends I have installed WinCC Flexible 2008 SP5 Update 2. I have open the software, but the Transfer option does not appear. Is It...
Replies
2
Views
1,477
Back
Top Bottom