PLC Learning Series – Memory Backup

PLC memory is very similar to personal computer memory. There is the operating system and firmware of the processor and connected modules. PLC programs and data that are used by the program are also stored in the memory.
PLC Learning Series – Memory BackupWe will now look at the basic understanding of memory in the PLC. Looking at two examples of PLC specifications. We will see how the program is stored and how long data memory will remain when the PLC is not powered up. Let’s get started.

Previously in this PLC Learning Series:
PLC Training Series – Tutorial for EveryoneVideo
What are PLC Inputs?Video
What are PLC Outputs?Video

RAM and ROM Memory

There are basically two different types of memory. RAM means random access memory. This is the quickest form of memory and is used to run your PLC program. ROM means read-only memory.  This form of memory is used to store the PLC firmware and other data that must be present for the controller to operate.
All memory is a type of RAM or ROM memory.
The difference between RAM and ROM is further explained in this URL link.
Watch the video below.

PLC Volatile and Non-Volatile Memory

Volatile memory in the PLC means that when power is removed from the unit the information is erased. Non-Volatile memory does not lose its content when power is removed.
RAM (Random Access Memory) is a form of volatile memory. Since RAM memory is the quickest, your PLC program will run on RAM volatile memory.
BRX Do-More ControllerPLC platforms assign some parts of RAM to be “retentive” and other parts “non-retentive”. Refer to the specific manual on the PLC controller that you are programming.
ROM (Read Only Memory) is a form of non-volatile memory. The PLC operating system that reads and executes your program in the controller will be in ROM memory.

PLC Program Memory Storage and Loading

Every PLC manufacturer is different in how they store and use the PLC program and data that you write. Some use Flash or SD RAM cards to save the program without a battery. Others will use a battery, capacitor, or other rechargeable energy storage module to hold the PLC program and data.
When the PLC is powered on, usually the program is loaded from non-volatile RAM into the user memory RAM of the controller.
Watch the video below to see how the program is stored in the controller.

PLC Operating System – Firmware

The operating system itself in the PLC is held in non-volatile memory and is called firmware. To change the firmware on a PLC, you will need to flash (download) the program. This is usually done using the programming software for the controller. It is important to ensure that the flashing of a controller is not interrupted. Interruption of the flash can cause the PLC to stop functioning. (Bricking)
I/O, communication, and other modules will also have firmware that can be updated from the manufacturer’s website.

PLC Program and Data Memory

Program memory consists of all the instructions and program code that you write. This is what is sent to the PLC processor. When you send the PLC program to the controller, it is called downloading. Sending the program from the PLC processer to the computer is called uploading.
Data memory includes the input and output image tables, numerical and Boolean Data. Most memory used in the PLC program is internal and not directly related to inputs and outputs.
Watch the video below to see the location of the battery in the Click PLC memory example.

PLC Program and Data Memory Examples

We will now take a look at two different controllers and determine how our PLC program and data areas are stored.
Here are the specifications for the Click Plus PLC.
PLC Learning Series – Memory BackupAll CLICK PLUS PLC units have a non-volatile FLASH ROM to store the downloaded ladder program and project file. The FLASH ROM will retain the ladder program even with power removed from the PLC module.
The CLICK PLUS PLC units make use of data registers to store values and conditions that are used during program execution. This data is stored in the SRAM (Static Random Access Memory) memory. It is volatile memory but is backed up by a supercapacitor. The supercapacitor is a special type of capacitor that is designed to provide power to volatile memory like the SRAM when the power to the PLC is off. However, it will not back up the memory for an extended time. The CLICK PLUS PLC supercapacitor will back up the SRAM for a one (1) hour period after the power is shut off. Once the supercapacitor is discharged, all data in the SRAM is cleared when the CLICK PLUS PLC is powered up the next time. If a battery is installed in the CPU then the data in the SRAM will be retained for three (3) years.
Click PLUS Controller

Here are the specifications for the BRX Do-More PLC.
PLC Learning Series – Memory BackupThe BRX Do-More Program memory is stored in non-volatile FLASH ROM. This will be retained when no power is supplied to the controller. Data memory is stored with battery-backed RAM. The battery has an expected lifespan of three (3) years. The data memory in the BRX Do-More PLC is user-configurable via the programming software.
The manual will state the following:
Retentive memory is not saved automatically when a Do-more! The designer project is saved to disk. Use the Memory Image Manager to create and manage retentive memory data images. Detailed information can be found in Do-more! Designer software help topic DMD0282. It is good practice to make backups of your projects and memory images to recover from unexpected circumstances.
BRX Do-More ControllerWatch the video below about memory in the PLC.

PLC Beginner’s Guide to PLC Programming
There are many different PLC manufacturers with different hardware and software. All of the programmable logic controllers have similar basic features. Here is how I would approach learning about basic PLCs.
Once you are familiar with the basics of the PLC, you will then learn specifics for the controller you will be programming.
This is the easiest way to learn about PLC programming.

Watch on YouTube: PLC Learning Series – Memory Backup

If you have any questions or need further information, please contact me.
Thank you,

If you’re like most of my readers, you’re committed to learning about technology. Numbering systems used in PLCs are not difficult to learn and understand. We will walk through the numbering systems used in PLCs. This includes Bits, Decimals, Hexadecimal, ASCII, and Floating Points.

To get this free article, subscribe to my free email newsletter.

Use the information to inform other people how numbering systems work. Sign up now.

The ‘Robust Data Logging for Free’ eBook is also available as a free download. The link is included when you subscribe to ACC Automation.

Leave a Comment