Issue
Andover Continuum first generation controllers do not support backing up their object database to flash memory, under certain conditions these controllers can reset and lose the object database that is kept in RAM memory.
Environment
CyberStation
CX9200
CX9900
CX9940
CX9400
CX9702
Cause
Controller memory loss due to reset.
Power failure that lasts beyond the capacity of the battery to retain memory.
Resolution
The following sample program running in the CyberStation monitors a controller for memory loss and automatically performs a reload (Send to controller), optionally the program can trigger an alarm to announce the memory loss and reload event.
Note that the cause of a controller reset should never be ignored and must always be investigated thus the automatic reload program is not intended as a fix for a reset issue.
SAMPLE PROGRAM
'This program monitors a CX99xx controller and reloads it if a memory loss is detected.
'The program is triggered by the Minute system variable
'CONFIGURATION
'Flow type: Looping
'Auto start: False
'CX9900.11.Reload is an analog value point in CyberStation attached to an alarm so that 'a memory loss/reload event can be announced.
CheckCommStatus:
'Make sure controller is online before attempting to communicate with it
If LocalNetwork\CX9900.11 CommStatus = OffLine then Stop Else Goto CheckController
CheckController:
'If controller memory loss detected, reload the controller
If LocalNetwork\CX9900.11\Freemem > 5600000 then 'replace 5600000 with appropriate value for your particular controller
CX9900.11.Reload = 1 'Send alarm to announce memory loss/reload event
Reload LocalNetwork\CX9900.11
Goto WaitForReload
Else
Stop
Endif
WaitForReload:
'Wait here to avoid getting into a reload loop
If LocalNetwork\CX9900.11 Reloading = False or TM > 15 then
CX9900.11.Reload = 0
Stop
Endif
E:
'If an error is detected stop the program, we'll try again next time the program is triggered
'NOTE we will end up here if the controller is actually offline but CyberStation has it as
'Online due to probe time latency
Stop