01-13-2014 03:29 AM
Hello everybody,
I'm developing an industrial application with a real time system cRIO.
In case of power down or a simply shutdown, the next boot I need to load data as set before.
I want to avoid heavy disk writing to preserve system life and CPU resources, so I'd like to know if there is a sort of retentive memory on theese systems.
The system should work stand alone without communicate with other devices.
Regards.
01-13-2014 03:32 AM
01-13-2014 03:59 AM
Ok but this way I should access to the internal disk one time per second or more..I'm afraid of this way is a little deleterious for the disk considering that the device should have a life of at least 15 years!
I'm quite new to cRIO systems, so what do you mean with "internal disk"? Is the disk you can usually access (addressing with path C:\..) or is the memory wich the program reside?
01-13-2014 04:13 AM
Hi Marcello,
the cRIOs use a flash drive to store data as well as all OS relevant files. Your program is stored in the flash drive too.
On execution the program is loaded into RAM.
Please look up the specifications of your cRIO. You will find two values specifying flash size as well as RAM size!
01-13-2014 09:28 AM
Do you really need to update the values on disk once per second? How often does the main controller send new commands to the cRIO? Can you update the saved values only when it receives a new setpoint?
Alternatively, could you add a small battery and relay to the power system so you could detect a power loss, write to disk, and then shutdown?
02-27-2014 07:38 AM
Yes of course I need to update settings just when they change, but we talk about hundreds parameters, so I dont't know how to check that changes.
All the parameters are sended via Modbus TCP and in RT module there are no "event interrupt structures".
02-27-2014 09:10 AM
02-27-2014 10:58 AM
@marcello.zoppetti wrote:
Yes of course I need to update settings just when they change, but we talk about hundreds parameters, so I dont't know how to check that changes.
How are you storing the parameters in memory? If they're in a large cluster or array, you can simply periodically check if the current value is the same as some previous value (how frequently you check this is up to you - it can be a time interval, or each time you receive a new set of parameters).
02-28-2014 10:00 AM
Yes I will program a user-defined event even if I don't know how much resources needs..I have to try.
Actually I have all the parameters on shared variables because they are linked to modbus server..I could collect them addresses and check periodically which of them are changed.
Thanks to all!