Siemens S7/TIA v18: WinCC: F7 needs to SAVE data AND advance the screen......

Mas01

Member
Join Date
Oct 2020
Location
Leicester, England
Posts
1,079
I'm a bit stuck again...

See the redacted picture.

At the moment, pressing F7 saves the "live" laser measurement into the boxes indicated by the arrows, and that's all it does.

I want to make it such that F7 will still perform the SAVE, but I want it to also advance to the next screen (screen 5).

Is there a way to assign two operations/commands to a single F-key, i.e. perform save AND advance to next screen?

i.e. I want to get rid of the NEXT button, which is a bit surplus to requirement.

Cheers

screen-shot.png
 
Last edited:
Bumping this thread for a reason...

Although the "save/advance to screen 5" is working fine, the operator does not get any confirmation of the save before screen 5 is displayed.

I just want to (for example) display the text "Saving..." in place of "SAVE" for a couple of seconds before advancing to screen 5. Then the operator's got some confidence the measurements were saved.

Anyone know how to do that, or got alternative suggestions?
Thanks
 
Let the HMI button set a bit.
The HMI variable triggers that the PLC copies the values from one set of variables to the other set of variables,
AND sets an extended pulse timer
AND resets the HMI variable.

Let the HMI read the pulse timer status to display the text with visibility animation.
 
Yep best way is to run a timer in your code, put up a message then when the timer is up change the screen, now I do not know the TP panels but on most there is a variable that either shows or allows a value (screen number) so by moving the screen required number in there will change the screen.
As you need confirmation I suggest you do the following.
Button to save is also used to trigger a TP timer i.e. on a transition from 0-1 of the input (use the save button) the timer will be true for the time value (perhaps display a text to say saving) then on a trasition falling pulse of the timer set a bit to change the screen, you may need to reset it again either another timer or perhaps use the new screen variable compare it to the expected screen number then reset the bit. or do like this

Screen Change.png
 
Just a comment, but I and anyone else I know absolutely hate it when the screen changes forcibly.
Better is to end the save by hinting what to do next. Use the aforementioned bit to display a text for example "use button Fx to proceed to the next step".
 
Yep, it can be a problem I have seen where the screen changes but there is a button in the same location so this becomes active before the operator takes off finger, some do not as they need to see a change of state once screen is active.
Just make sure if it is required to change screen there is no button or touch area in the same position as the previous screen.
 
Yep best way is to run a timer in your code, put up a message then when the timer is up change the screen, now I do not know the TP panels but on most there is a variable that either shows or allows a value (screen number) so by moving the screen required number in there will change the screen.
As you need confirmation I suggest you do the following.
Button to save is also used to trigger a TP timer i.e. on a transition from 0-1 of the input (use the save button) the timer will be true for the time value (perhaps display a text to say saving) then on a trasition falling pulse of the timer set a bit to change the screen, you may need to reset it again either another timer or perhaps use the new screen variable compare it to the expected screen number then reset the bit. or do like this
That's brilliant, did you do this code on the fly?
I'd need ages to come up with that.

Just a comment, but I and anyone else I know absolutely hate it when the screen changes forcibly.
Better is to end the save by hinting what to do next. Use the aforementioned bit to display a text for example "use button Fx to proceed to the next step".
Hmm, I can see the merits of this.
Ultimately, I'm not the operator, so I need to ask them about it.
 
Yes I did it took me all of about 3 minutes to code Years ago on the older S5 systems bits (M or F for english) were not retentive so I used to copy all bits I wanted as retentive to a DB at the end of scan, then on startup OB20 or what ever it was copy them back, I also set what we called a hold process flags so that it did not automatically start, this was not just a "NOT" contact on all outputs but a hold in the task processes, the task process was the overall control block for a group of Unit processes for example a Taks was say one batching tank, the code was written in what we called Unit Processes, it was all to do with a standard for one of our main clients.
@DR: even Seal in circuits if the status of an out instruction is not retentive on a stop in many PLC's it's status is still true, as it's own contact is the Seal then it remains true. Tried it on 4 platforms although not on AB stuff.
That is to say there may be others that reset bits on a warm start
 

Similar Topics

Context: PLC= S7-1212C, HMI=KTP1200 Basic. Hi again, When the "REPORT" button is pressed (on a different screen), it takes the operator to the...
Replies
7
Views
445
Context: PLC= S7-1212C, HMI=KTP1200 Basic. Hi, The operator has reported that, from time-to-time, when he presses the "Generate Report" button...
Replies
5
Views
295
General Question: The PLC and HMI that I've been working on (a laser measurement system) is soon to be transported to the site where it will be...
Replies
2
Views
580
Hi, I'm not sure how to do this... Basically, I want to restrict the user input values for this tag to be in the range 20.001 to 25.0. I...
Replies
17
Views
1,165
Can someone help me with this? I'm no good at SCL - virtually everything I've done so far has been ladder logic. The return value from the...
Replies
13
Views
853
Back
Top Bottom