Master Lost its Persistent Memory
TurnipTruck
Posts: 1,485
Greeting,
I have a system with an NI-700 as the master. It has been up and running just fine for a year or so. Yesterday, during a power failure, it lost all values stored as persistent memory. I have since tried rebooting, loading code, power cycling and won't lose the values again. It seems to be a freak occurence.
Anyone else had something similar occur?
I have a system with an NI-700 as the master. It has been up and running just fine for a year or so. Yesterday, during a power failure, it lost all values stored as persistent memory. I have since tried rebooting, loading code, power cycling and won't lose the values again. It seems to be a freak occurence.
Anyone else had something similar occur?
0
Comments
1) The clock would not keep it's time, resetting to the year 2031.
2) Looking at the AMX documentation closely, it never claims that persistent variables are committed to FLASH. From a design perspective this makes sense, since PVs might be updated frequently.
This one is wrong. 3) I believe NLS stores persistent variables on the PC when re-dumping a program, then re-writes these back to the NI. This "hides" the flat battery issue when you are programming a unit.
4) Whilst my units were only 6 months old when the symptom appeared, they (or their timekeeper) may have been running for several years while sitting in shipping containers, in warehouses, etc. I am not guaranteed a fresh TK battery upon delivery.
When I first came across the issue you had to replace the entire timekeeper. I believe it is possible to open it up and replace the battery, but I have never bothered to do this. My way to cope with the issue is to save all "persistence" to XML files. I then load the files into volatile memory at boot time. (I know I'm contradicting point #2, but my PVs are basically set-and-forget.) I also time-sync against a time server. Prior to RMS I used i!-TimeManager which worked a treat. Post-RMS I let it handle all the time syncing, and just sync RMS against a time server. This works well for those of us that can not be bothered replacing all our timekeepers. 250+ and counting...
Roger McLean
Swinburne University
Not sure how master/Studio are keeping the persistent values.
In both cases a failure of the battery will cause a loss of the values in the battery backed ram.
--John
http://www.rapidonline.com/Electronic-Components/Integrated-Circuits/Real-Time-Clocks/SNAPHAT-Battery-and-crystal-modules-for-Timekeeper-memory-devices/72964/kw/
--John
--John
I have two masters out there that live in bad power land. they both have lost their programs twice over the years. A quick upload fixed the problem. It's obvioulsy not impossible for such a thing to happen. I have also seen one case of losing persistent variable values as well.
But you'd certainly want to verify that it's actually the battery that's failed and not some other RAM or Flash glitch.
Thanks for clarifying point #3, shane-a-roo. As I said, "I believe"... Now I believe otherwise! (If there were a BB Code for putting a line through #3 I'd do that straight away.) I was pondering this one overnight and was starting to doubt myself anyway. It's been so long since I've had to deal with the issue that my mind was getting a bit fuzzy. Thankfully I haven't had to worry about it since saving all PVs to flash via .xml files.
Roger McLean
Swinburne University