How do I set up a PLC to boot its program from an SD card?
Storing your program to the controller's memory card lets a replacement controller reload itself automatically on power up, one of the simplest ways to cut recovery time on critical equipment.
One of the most useful and least used features on current Allen-Bradley controllers is the ability to store a program to a removable memory card and have the controller load that program automatically when it powers up. Set up correctly, this makes a controller swap nearly hands off. Install a new processor with the card in it, apply power, and the machine's logic, configuration, and firmware come back on their own. For critical equipment where downtime is expensive, it is one of the highest value habits you can build
It helps to know what kind of card your controller uses. CompactLogix 5370 and older families typically use a SD card, while newer 5069 CompactLogix and 5580 ControlLogix controllers use the industrial rated SD card supplied by the manufacturer. Standard consumer SD cards are not recommended, because they can drop data or fail in the temperature and vibration found on a plant floor. Use the industrial card rated for your controller, and keep the card seated and its access door closed during normal operation
To store the program, go online with the controller in Program or Remote Program mode, open the Controller Properties, and select the Nonvolatile Memory tab. From there you choose Store, which writes the current program, and depending on your selections the firmware, to the card. This is also where you set the Load Image behavior, the setting that determines when, if ever, the controller pulls the program back off the card. Storing does not interrupt a running program when done correctly, but it is cleanest to store when the machine is not in production so there is no question about which version you captured
The Load Image setting is the heart of the feature, and it is worth understanding the options. On Power Up tells the controller to load the program from the card every time it powers on. This is the setting that makes automatic recovery work, because a fresh replacement controller will pull the image the moment it boots. On Corrupt Memory loads from the card only if the controller detects that its internal program is damaged, which protects against corruption without overwriting good online edits on every restart. User Initiated loads only when someone manually requests it. For spare controllers staged for fast replacement, On Power Up is usually the right choice. For a controller in daily service where technicians make frequent online edits, On Corrupt Memory is often safer, so a routine power cycle does not wipe out recent changes
That trade-off is the one thing to be careful about. If a controller is set to load On Power Up and someone makes online edits without also re-storing them to the card, the next power cycle will quietly replace those edits with the older image on the card. The way to prevent this is simple. Whenever you change the running program, store the updated image to the card as part of the same task, so the card and the controller never disagree. Treat the card image as another backup that has to be kept current, just like your saved project file
Used well, boot from card is a strong complement to a good backup routine rather than a replacement for it. Your off machine project files remain your authoritative backup and your source of documentation and history. The memory card is what gets a replacement controller running in minutes instead of hours. If you would like help selecting the correct industrial memory cards for your installed base or configuring nonvolatile memory on your critical controllers, our technical team can walk you through it.