Clarification; Retain memory and Hot/Warm/Cold Restart
Hi all,
I am trying to wrap my head around the retain handling and the different reboot methods available in PLCnext Engineer. This post concerns AXC x152 controllers only.
Traditionally I am used to that the retain memory is holy. It should be retained no matter what in NVRAM/flash and I have been using it to store user settings from the PLC program, typically alarm limits, delays, and so forth to finetune a PLC program during commissioning.
It is therefore important that all changes are retained in the retain memory for the life of the project and the PLC.
I am therefore BAFFLED that there is a "cold restart" option easily available which simply resets the entire retain memory without further ado. There are no warnings such as "are you sure you really really really want to wipe the entire retain memory?" before executing this command.
To a person who has not read the manual of the device thoroughly, a cold restart sounds like a normal, fresh reboot while hot and warm reboot sounds like something special.
Here, it seems like warm reboot is the normal start, while hot reboot is the special case which attempts to keep non-retain variables as well during program loading. However, I have not found any information in the help file or info center which explicitly says how the normal boot process is.
Lastly, I find that there are some inconsistencies on how this is explained in various places:
In Info center, the cold restart does not mention that the retain memory is wiped:
In the help file, under Extended Retain Handling, the following is stated:
Also in the help file, under "Home Safety PLC Commissioning: From Compiling to Debugging Controlling the Safety Application from the Safety Cockpit"
Further in the help file, this time under "Home Controller Commissioning: From Compiling to Debugging Cockpit: Controlling the Application"
There are no warnings or bold text stating that the retain memory is in danger when attempting the cold start. The only hint is that under warm restart it is stated that non-retain memory is being initialized, while under cold restart it is simply said "all data".
And then from PLCnext Engineer Cockpit:
No hints or warnings that you are about to delete your precious retain memory. No-one expects that "all data" includes retain memory. It is supposed to be.. retained.
Comments
Hello fluxmodel,
thanks for your suggestion, please find the request status below:
The "missing warning dialog" is not implemented by request.
We had such warning in the past, but most of our customers know that behaviour, becasue it is a standard behaviour in the IEC61131.
And due to that, customers get anoued by such warning messages and dont want to have this dialogs which warn a customer about standard behaviour.
BR Eduard
I find it kind of puzzling that previous PLCs I have been working with never had a "cold restart" function or even a mention of the term. This was vendors such as wago, bachmann, etc.
When I google the term, i find that "plc cold restart" finds several pages which defines the behavior above; i.e. re-init of all variables, retentive or not.
However, when I google "cold restart" without adding plc to the search term, the more common understanding from the computer world is found: namely that a cold boot or cold restart is a "hard" reset with the device completely powered off and then re-powered. Of course there are no retain memory in a computer in the same way as in a plc, but the general understanding of a cold boot is simply a fresh restart.
If our company should use retain memory for anything important (such as config, running hours, etc which we really want to keep), then all service personnel with access to the PLCs need a thorough training in the differences between cold reboot and the other two reboot methods.
Most service personnel are more computer savvy than plc savvy, so I would believe that if someone encounters a buggy situation at an installation, the "cold restart" would sound tempting for them in their troubleshooting.
We would then lose valuable data or configurations. Worse is that the data such as running hours would be lost without us knowing it was lost.
For some very important logging metrics, i have therefore both retain and file-saving of the data, and at every boot I have to load the most recent backup file and compare it with the retain memory to decide if I should continue using the retain or have to reload from a backup file. (These are a kind of running hours where the values are always increasing, so it is trivial to compare the loaded backup with the retain memory, if the retain memory values are lower than the file backup, it has been reset or wiped and needs restore).
This data is also transferred to cloud with 100 ms intervals, but they are extremely important to us, so we cannot risk losing it in case of trouble with the edge computing pipeline, network connection and so forth.
Hello fluxmodel,
I understand your point of view, but please note that community is not the right way to provide the market requirements. You can contact the Phoenix Contact Subsidary/Support Department in your country and give your suggestions for the MRT. This will be communicated and analyzed with you. If the suggestions are justified, they will be forwarded to the product manager.
BR Eduard