How to test the loading of Non-Volatile memory in your CompactLogix or ControlLogix

RSL5K Controller Properties Non-Volatile Memory SettingsSimilar to other Allen-Bradley PLC’s, the CompactLogix and ControlLogix Controllers give you three options for loading the Controller’s memory “image” from non-volatile memory (CompactFlash, SD, etc.) These “load modes” are “User Initiated,” “On Power Up,” and “On Corrupt Memory.” Below I’ll walk you through how to test each of these modes, of which “On Corrupt Memory” is the trickiest.

To test the “Load Mode” of “User Initiated” follow these steps:

RSL5K Launch Button For Controller PropertiesIn this test you’ll download a program to the Controller’s memory, and then transfer it to the non-volatile memory with a load mode of “User Initiated.” Next, you’ll download a different program to the Controller’s memory to prove you can overwrite it by manually reloading the original program back from non-volatile memory.

  1. Using RSLogix 5000, download a program to the Controller, go online and insure the Controller is in program mode.
  2. RSL5K Controller Properties with Nonvolatile Memory Tab CircledOpen the “Controller Properties” window and select the “Nonvolatile Memory” tab.
  3. Change the “Load Image” setting to “User Initiated” and press the “Store” button to transfer Controller’s memory image to Non-Volatile memory.
  4. When the transfer is done, go back online with the Controller and download a program different from the one you used in step 1.
  5. Cycle power to the Controller, go online, and verify the second program you downloaded in step 4 is still present in the Controller’s memory.
  6. Open the “Controller Properties” window and select the “Nonvolatile Memory” tab.
  7. Press the “Load” button to transfer Non-Volatile memory to Controller’s memory.
  8. Go online with the Controller once more and verify the program in Controller memory is now the original program downloaded in step 1.

To test the “Load Mode” of “On Power Up” follow these steps:

 In this test you’ll download a program to the Controller’s memory, then transfer it to the non-volatile memory with a load mode of “On Power Up.” Next, you’ll download a different program to the Controller’s memory to prove when you cycle power to the Controller it loads the original program from non-volatile memory.

  1. Using RSLogix 5000, download a program to the Controller, go online and insure the Controller is in program mode.
  2. Open the “Controller Properties” window and select the “Nonvolatile Memory” tab.
  3. Change the “Load Image” setting to “On Power Up” and then press the “Store” button to transfer Controller’s memory image to Non-Volatile memory.
  4. When the transfer is done, go back online with the Controller and download a program different than the one you used in step 1.
  5. Cycle Power, go back online, and verify the first program has been reloaded on power up from Non-Volatile Memory.

RSL5K Controller Properties Non-Volatile Memory Settings

The third and final “Load Mode” is “On Corrupt Memory” which can be a little tricky to test, but these steps should make it easier:

In this test you’ll download a program to the Controller’s memory, then transfer it to the non-volatile memory with a load mode of “On Corrupt Memory.” Next, you’ll reset the Controller to erase it’s memory to prove when you cycle power to the Controller and it detects no valid program that it loads the original program from the non-volatile memory.

  1. Using RSLogix 5000, download a program to the Controller, go online, and insure the Controller is in program mode.
  2. Open the “Controller Properties” window and select the “Nonvolatile Memory” tab.
  3. Change the “Load Image” setting to “On Power Up” and then press the “Store” button to transfer Controller memory to Non-Volatile memory.
  4. After the “store” process is complete, turn off the Controller and remove the non-volatile memory card (CompactFlash, SD, etc.)
  5. To erase the program from the Controllers memory, follow step 6 if your controller has a battery, or step 7 if it does not:
  6. For Controllers with a battery: Remove the battery and turn the Controller back on.
  7. For Controllers without a battery: Turn power on while pressing and holding the “default comms” button below the key switch
  8. Reconnect to the Controller and verify the original program is no longer loaded, and that the Controller has loaded the default blank program.
  9. Note on step 8: When the Controller powers on and finds no program in memory, and no non-volatile memory, it loads a default blank program. This program is not considered invalid or corrupt which is why step 10 has you erasing the Controller’s memory again after you reinstall the non-volatile memory. Also note that if you try to connect to the Controller when it has the default blank program loaded you’ll find you can’t go online unless you download an RSLogix 5000  program.
  10. Install the non-volatile memory card from step 3, and repeat steps 5-7  to erase the default blank program in the Controller’s memory to simulate a new out of box or corrupt memory condition
  11. Reconnect to the Controller and verify the original program (stored to non-volatile memory in step 2) has been loaded back into the Controller’s memory after the Controller found no valid program in memory on power up.

Have you ever needed to test your non-volatile memory? Do you have additional thoughts or comments on the above procedures? If you do, please share them below using the “leave a reply” form.

By Shawn Tierney

Leave a Reply