Keep a variable in memory after power failure in Panel 800
Hello everyone !
I have a Panel 800 (PP846). This panel send data to my CPU (AC700F) with ethernet.
My problem is that when there is a power failure, all the data configurations retart with 0. So the operator has to rewrite the variables.
Do you have a solution ?
Voted best answer
No problem with your English, it is OK, mine is not better.
Unfortunately I don't know how it is in AC700F, not worked with this controllers.
If you switch off only the panel, how it will reset the variables? The panel use variables, which are define in the PLC (excluding internal variables).
I'm quite sure you could declare such variables as cold retain (or some other definition with the same meaning) in AC700F.
In AC500 this variables are called Retain, Persistent, RETAIN PERSISTENT...
If you declare the varibles with this attributes, depends on the selected type, variables will keep their value during warm restart, cold restart, power off e.t.c.
In AC800M you can add the attribute Retain, or Coldretain to the variables - the same result.
So from the panel's point of view this "communication" variables are read and write. After switch-on the power supply, the CPU will load the last value of the retain variables and they will be transfered to the panel. Then you can change it from the panel again.
I use often that method and it works perfect for Process Panels.
I think the best way is to make the necessary variables (setpoints) non-volatile in your application in AC700F.
The other possibility may be is to use internal non-volatile variables, but then you will need to write a script to connect internal variables to the variables, coming from the controller:Internal Variables
Internal variables can be used and selected in the same way as different drivers. A number of volatile and non-volatile user-defined variables can be selected. When a value is changed, the non-volatile variables are saved in the flash memory to be read at the next start-up. The system variables are fixed. These can be used to display e.g. poll intervals and for toggle functions. By clicking Properties & Help in the I/O Browser or selecting Functions/I/O Configuration/Internal Variables the following window is displayed.
Thank you for your answer !
I see "Properties and help". If I understand, if we reffer to what it's written on the picture, the variable with the adress D4096 is my first non volatile variable (word devices) But how can I send this internal variable to a variable wich can be sent to my AC700F ?
Again - it is much easier to do that in PLC: you have to store that variables in persistent/retain area... (each PLC have such memory)
In the panel you can try the following but it is not a natural way of doing that:
- Create IO tag and Internal tag - e.g. IO_Var at your PLC address and Int_Var at D4096:
- Then you can try to use data exchange:
1=>2 can be each 1 s, and
2=>1 can be activated by some binary tag.
Than you very much !
I will try your idea.
Nevertheless I don't understand how is it possible to keep a variable if I use the non volatile variables with my AC700F. With a power failure (on my panel), there is a reset with the variable. When the panel is switched on, the set point is now zero and the non volatile variable in the AC700F too...
(sorry for my bad english)
By the way, it depends what protocol you are using to connect Process Panel with AC700F. It could happen read/write sequence in the PLC to be important.
If that is a case, please note the following:
- for the first cycle (or may be TON delay 5s after start of the CPU) you should exclude reading from the panel. This will ensure that the CPU will load the retain variables first
- then, may be, in your application, you have to place first writing operand to the panel, and then read operand from the panel, e.g.:
- all this depends on the protocol and read/write procedure to the panel. I faced similar issues with CP600 or CP400 for example