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

Support
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.

Note: You can listen to our companion podcast about loading of Non-Volatile memory HERE.

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.

Sincerely,

Shawn Tierney
Editor-in-Chief/Publisher
Insights In Automation

If you've found this article helpful, please consider buying me a cup of coffee to say thanks! Click HERE to learn more.

Support

About Shawn Tierney

Shawn Tierney worked as an automation specialist for twenty five years helping controls engineers implement automation solutions using Allen-Bradley PLC's and HMI's, as well as Rockwell Software SCADA and MES products.

7 comments

  1. Hello Shawn,
    Nice to join on your blog again.
    A week ago, We have problem with our machine which this machine would be modified with add new pump. And this machine used Compactlogix as controller and equipped with non-volatile memory. In Non Volatile memory, Load image was set to user initiated and load mode was set to program. The problems were when I modified parameter value from control tag as well as from program tag it is affect everything, for example i change maxEU from 100 to 300, after I pressed enter, the return back to 100. Ok, I let it. So, I tried to download modification program (including new EUmax value and additional ladder for new pump), and After 75 % download progress, I loss connection to plc…and I checked on controller no plc program. Oh my god…..Fortunetly, I can load last PLC program from Non Volatile memory and PLC could normally running. But, My question why i could not able to download a program to PLC? was it because I used Non Volatile memory or using ETH/IP to downloaded a program? But in same problem also happen when I downloaded a program using USB cable to PLC. Should I remove Non-Volatile memory, before download program or….Because I program also controllogix without non volatile memory…I can do everythings like change parameters values / download modification program / edit online etc. Can you help me to solve this problems, please?

    • teddyhariyanto,

      Thank you again for your kind words about my blog :-)

      On to your question, I don’t think the Non-Volatile memory and the download issues are related. Most of my clients do not use the non-volatile memory, but that is changing now that an SD card comes with the newer processors. I personally use the SD cards in all my new Logix controllers but have not had an issue.

      If you attempt a download via Ethernet and it fails half-way I believe that is very likely either a network issue or PC issue. To troubleshoot, I would attempt the download on an isolated Ethernet network – test with only your laptop and PLC plugged into the switch.

      Also, I’ve personally never had a download via the USB port interrupted. This is a dedicated one to one connection so it’s hard to see how that could happen. I suggest shutting down all the other programs on your PC to see if maybe one of them is the culprit.

      Can’t think of any other advice at the moment except to check Rockwell’s knowbase or upgrade your CPX firmware to the latest minor rev.

      Hope this helps,

      Shawn Tierney

      If you've found my response helpful, please consider buying me a cup of coffee to say thanks! Click HERE to learn more

      PS – You could also try closing the RSWho window inside of RSLinx – that should never cause an issue, but then again…

  2. Dear Mr.Shawn Tierney,
    Thanks for your feedback. To complete information about this problem, I inform you that I found error code 806-80042535 of message “Can’t communicate with RSLinx”.Alright, I want to ask you also, can I copy modification program to Non-Volatile with other way (I plug in Non-Volatile Memory to My Laptop then I copy L5k file to there)? So, I mean If this way is success, I don’t need download program directly to controller more. just copy new program to non volatile memory via my laptop..Is it possible Shawn?

    • Good morning teddyhariyanto,

      What you are asking is a very common request. However, there is currently no way to use a PC to create the “non-volatile” image used by the processor. I other words, you do have to use a processor to create the non-volatile image on the card.

      Note that when you’re online with the processor and choose to “Store” the program to non-volatile memory, the processor writes both the program and firmware to the non-volatile memory. While many have requested Rockwell make a utility to do the same thing on a PC, nothing like this has been released.

      PS – When I consult OEM’s who ship their machines to distant locations, I typically make two recommendations:

      1 – I recommend that after they “store” their program to non-volatile memory using the processor, that they put the non-volatile memory card back in their PC and back-up the files that the “store” process created.

      2 – I recommend they use the empty space on the memory card to save other files like the PLC and HMI programs, as well as manuals and documentation (to make them available to future service techs)

      Hope this helps!

      Shawn Tierney

      If you've found my response helpful, please consider buying me a cup of coffee to say thanks! Click HERE to learn more

  3. teddyhariyanto

    Dear Mr.Shawn Tierney,
    Thanks for your suggestions. I am satisfied with each your feed back.I think your blog is good recommendation for peoples that working with AB.

    Regards,

    Teddy Hariyanto

  1. Pingback: How To Test The Loading Of Non-Volatile Memory In Logix

Leave a Reply