jackvoxel8.com Posted August 15, 2018 Posted August 15, 2018 I wrote a PLC to track the lifetime distance of all axes in my system (for more details see this post: http://forums.deltatau.com/showthread.php?tid=2635). I want to persist those values across powercycles/resets. It was suggested to me to use fsave/fload for this purpose. My plan is to add fload to an initialization PLC, and write a new PLC that calls fsave every 30 seconds or so. I haven't been able to find much information on fsave. Is it OK to call it this often? Can I call it more often? Is it OK to call it while also executing a motion program? I would appreciate any insight from people who have experience with this situation.
curtwilson Posted August 17, 2018 Posted August 17, 2018 Flash cell lifetime has increased so much in recent years, and the flash controller wear leveling algorithms have improved so much, that life time is rarely even quoted any more. When it is, it is quoted in terabytes (TB) of total data stored, not in number write cycles like it used to be. For a flash module very similar to what you have (probably the same chips inside), there is a 16 TB total data specification (16,777,216 MB). Even if the minimum cell size is 256K, and it's probably much smaller, you have 64 million write cycles. At 3000 per day (operating 24/7), you have 60 years before you reach this limit. Expect that background tasks will be suspended during the fsave operation. As a test, you may want to have a background task toggling an output that you can easily monitor to see how the fsave affects these.
jackvoxel8.com Posted August 20, 2018 Author Posted August 20, 2018 Thanks for the insights curtwilson. In addition to periodically calling fsave, do you know of any way to call fsave immediately before shutdown?
curtwilson Posted August 20, 2018 Posted August 20, 2018 For a planned shutdown, you will need to use a (hardware or software) input to the PPMAC that is a "shutdown request". On receipt of this request, the PPMAC will -- probably through a PLC program -- perform all of the tasks that need to be done for an orderly shutdown, including fsave, then provide a (hardware or software) output to whatever device actually removes power.
Recommended Posts