Kkula
Hi, I have a couple of questions regarding WinCC Flex that I would really appreciate some help with:
1). Is it possible to have vertical or horizontal movement of an object within a faceplate, with its position being determined by a variable given to each faceplate instance as a dynamic property? I know that this cannot be done using the standard features of WinCC Flex, but is there some way ofmaking it work using scripting or something?
2). Is there a way to adjust the minimum/maximum value of a bar object within a faceplate instance through the adjustment of a static property of that faceplate instance?
To give you a better idea of what I’m trying to accomplish, I haveattached a jpeg showingtwo separate faceplates from the faceplate editor.
The one on the left shows the faceplate that I have created for the display of analogue variables. The one on the right shows the faceplate that I have created for the display and adjustment of the Hi and Lo alarm set-points for each analogue variable.
On the left-hand faceplate, you will see the two markers that correspond to the Hi and Lo alarm set-points for the analogue variable. These are the objects that I would like to adjust the postion of based on dynamic properties given to each faceplate instance. So I would like to configure this faceplate to have the following dynamic properties: process_variable, Hi_SP, Lo_SP. The following information I would like to have as static properties: Maximum value of the bar, minimum value of the bar, Label string, Maximum value string (“Max” currently), minimum value string (“Min” currently) and units string (“Units” currently).
Another question I have is this: For the right-hand faceplate of the two below, is there a good way of sharing some of the information that is common to faceplate instances relating to the same analogue variable? For each faceplate instance of the type shown on the left, there will be one corresponding faceplate instance of the type shown on the right. Since the label, the units and the minimum and maximum values will be common to both these faceplate instances, is there a way that I can configure the project so that the data only needs to be entered at one point?
Thanks for your help!
Dear Customer,
Here are the answers to your questions regarding WinCC Flex faceplates, leveraging scripting and static/dynamic properties. I have consulted SiePortal for the most accurate information.
You are correct that standard WinCC Flex features do not directly support dynamic positioning of objects within a faceplate based on variable values. However, this can be achieved using VBScript. You'll need to write a script that updates the .Rect property of the object (the marker in your case) based on the dynamic property values (Hi_SP, Lo_SP, process_variable). The script would be triggered by changes to those dynamic properties. Consider using the HMIRuntime.Tags object to access tag values within the script.
Please refer to Siemens Support article 109765336 for scripting examples in WinCC Flex.
Yes, you can adjust the minimum/maximum value of a bar object using static properties of the faceplate instance. Define static properties for "Maximum Value" and "Minimum Value" in your faceplate. In the faceplate editor, link these static properties to the corresponding properties of the bar object. The bar object will then dynamically scale based on these static values.
To avoid redundant data entry for related faceplate instances (analog variable display and alarm setpoint adjustment), consider these options:
I recommend reviewing the SiePortal documentation on Indirect Tag Addressing in WinCC Flex and Faceplate Properties for more detailed guidance.
Please let me know if you have further questions.
Sincerely,
Siemens Self Support
Share this page with your family and friends.