Backing Up Your Logix 5000 Program to an SD Card
September 4, 2020
Three (3) Steps to Ensure Your PLC Program is Safe Against Power Loss
Older programmable logic controllers (PLC’s) used a battery-backed or electrically erasable programmable read-only memory-based (EEPROM-based) program retention method, both of which have disadvantages. Batteries constantly fail and you can almost guarantee that your replacement battery has been sitting in storage until it is no longer strong enough to work. Some EEPROM’s are even susceptible to being erased by exposure to UV or sunlight!
Fortunately, newer ControlLogix and CompactLogix have non-volatile memory which do not require the use of a battery, and ship with a 1GB Secure Digital (SD) card that can be used to back up programs, firmware, and log data. In the event of the PLC losing its program through incidences such as power outages, the backup program on the SD card can be loaded and the PLC can be set to automatically run. This is not default behavior and must be implemented by the programmer or user when the PLC is not in run mode.
I can’t tell you how many times I’ve come to a customer site where the customer has lost their PLC program and do not have a copy saved on the SD card…oftentimes, they have no copy of the program at all. Logix PLC’s are shipped with an SD card; it is highly recommended that you save a copy of the program, set to load when the PLC detects a corrupt program or no program loaded. Doing this simple task can save hours or days of downtime!
The instructions below assume you will have a computer with Studio 5000 (or RSLogix 5000) installed, that the version numbers of Studio 5000 and the firmware in the controller match, and that your computer is on the same network (IP address range) as your controller.
1. Go Online with the Controller
In Studio 5000, go online with the controller. If you need help going online using USB or Ethernet, see the blog posts linked here; if you are using a serial port controller, see the blog post here. Once online, make sure you are in “Remote Program” mode, as the program cannot be copied when running. Please note that switching from “Remote Run” to “Remote Program” will stop whatever the PLC is controlling. Make sure to do this safely.

2. Open the Controller Properties
In the Controller Organizer on the left-hand side of the screen, double click on the name of the controller. The name of the controller is the name of the PLC program loaded in the controller; in this case, it’s “CompactLogix_L3Y”:

The Controller Properties window will open up. Select the “Nonvolatile Memory” tab at the top:

On the left side of the window, you’ll notice that the controller in this case has a program image already stored, and it is set to load only when the user initiates it. It also provides information on what firmware version the program is for (in this case, version 32), what mode the controller should be in after loading (here, Remote Program), and when the image was stored to the SD Card.
In the case where there is no saved image, there will be no information.
3. Set Load Options and Store the Program
Click the “Load/Store” button. If this button is greyed out, or you are unable to click, make sure that the SD card is fully inserted into the SD card slot and that the PLC is in “Program” or “Remote Program” mode.
Here is the Load/Store screen:

Since we have an image on the card, we have the option to load this image into the PLC’s program memory. In this case, we are going to save the program in the PLC to the SD card.
For most end users, the “Load Image” mode should be set to “On Uninitialized Memory”:

This means that when the PLC has detected an error with its loaded program, it will drop the program from memory. When the PLC detects it does not have a program loaded, it will load the image you have stored on the SD card.
In the “Load Mode” dropdown, you have 2 choices: “Program (Remote Only)” or “Run (Remote Only)”. This selects what runtime mode you want the PLC to enter once it has loaded the program. Note that Program Mode will require user intervention to make the controller run by switching the controller to Run mode either remotely through software (remote run), or by cycling the mode keyswitch on the PLC to “Run”. Be aware that setting this mode to “Run (Remote Only)” will cause the PLC to start running its program, which may cause unexpected motion and pose a safety risk if the system is not properly designed.
You can enter a note in the “Image Note” field. It is highly recommended to do so if you have made changes to the program and you are storing a new version to the SD Card.
For most users, leave “Automatic Firmware Update” set to Disabled.
Once you have configured these settings, click the “Store” button. This will store the PLC’s internally loaded program to the SD card. It will take a few moments to store the program. Once it is finished, you can exit out of the Load/Store and Controller Properties windows. When it is safe to do so, put the controller back into “Remote Run” mode.
If the controller now suffers a loss of program, it will automatically load the stored version on the SD card, and put itself into program or run mode.
Parameter | Store And Load |
How much time does a store or load operation take? | Less than three (3) minutes |
What controller mode do I use to store or load a project? | Program mode |
Can I go online with the controller during a store or load? | No |
What is the state of the I/O during a store or load? | I/O remains in its configured state for Program mode |
Controllers with Memory Card Options
These Logix 5000 controllers support a memory card for project storage.
Controller Type | Catalog Number | Firmware Revision | Supports A 1784-SD1 Or 1784-SD2 Secure Digital (SD) Card |
CompactLogix 5370 | 1769-L16ER-BB1B | 20.x or later | Yes |
1769-L18ER-BB1B | |||
1769-L18ERM-BB1B | |||
1769-L24ER-QB1B | 21.x or later | ||
1769-L24ER-QBFC18 | |||
1769-L26ER-BB1B | |||
1769-L27ERM-QBFC1B | |||
1769-L30ER | 20.x or later | ||
1769-L30ER-NSE | |||
1769-L30ERM | |||
1769-L33ER | |||
1769-L36ERM | |||
Compact GuardLogix 5370 | 1769-L30ERMS | 28.x or later | Yes |
1769-L33ERMS | |||
1769-L36ERMS | |||
1769-L37ERMOS | 30.x or later | ||
CompactLogix 5380 | 5069-L306ER | 29.x or later | Yes |
5069-L306ERM | |||
5069-L3100ERM | |||
5069-L310ER | |||
5069-L310ERM | |||
5069-L310ER-NSE | |||
5069-L320ER | |||
5069-L320ERM | |||
5069-L330ER | |||
5069-L330ERM | |||
5069-L340ER | |||
5069-L340ERM | |||
5069-L350ERM | |||
5069-L380ERM | |||
Compact GuardLogix 5380 | 5069-L306ERMS2 | 31.x or later | Yes |
5069-L306ERS2 | |||
5069-L3100ERMS2 | |||
5069-L3100ERS2 | |||
5069-L310ERMS2 | |||
5069-L310ERS2 | |||
5069-L320ERMS2 | |||
5069-L320ERS2 | |||
5069-L330ERMS2 | |||
5069-L330ERS2 | |||
5069-L340ERMS2 | |||
5069-L340ERS2 | |||
5069-L350ERMS2 | |||
5069-L350ERS2 | |||
5069-L380ERMS2 | |||
5069-L380ERS2 | |||
CompactLogix 5480 | 5069-L45ERMW | 31.x or later | Yes |
ControlLogix 5570 | 1756-L72 | 19.x or later | Yes |
1756-L73 | |||
1756-L74 | |||
1756-L75 | |||
1756-L71 | 20.x or later | ||
GuardLogix 5570 | 1756-L71S | 31.x or later | Yes |
1756-L72S | |||
1756-L73S | |||
ControlLogix 5580 | 1756-L81E | 29.x or later | Yes |
1756-L82E | |||
1756-L83E | |||
1756-L84E | |||
1756-L85E | |||
GuardLogix 5580 | 1756-L81ES | 31.x or later | Yes |
1756-L82ES | |||
1756-L83ES | |||
1756-L84ES |