Overview of Memory Section

The memory refers to the section of the PLC where data and instructions are stored (either temporarily or semi-permanently). The PLC’s control program is stored in the memory.

There are many different types of memory organization and structure.

User Memory

The memory area where application software and many drivers execute.

This refers to all programs and libraries that the operating system uses to communicate with the kernel of the processor; input/output software and application software are some examples.

This type of memory is often installed in the RAM (random access memory). RAM memory is generally easily modified by the user.

Storage Memory

A type of memory that is usually externally located from the processor. This is usually located on discs or external drives.

Volatile Memory

A type of memory structure where information is lost whenever power is removed. This type of memory requires a battery backup to ensure memory is retained during power outages.

This type of memory is also generally contained in the RAM section of memory.

Non-volatile Memory

A type of memory structure that is designed to store memory and retain information when the power supply is turned off.

ROM or read only memory is considered non-volatile, meaning the memory is not lost during a power loss.

Types of Memory

There are many types of memory.

Random Access Memory (RAM):

This memory system permits random access to any storage location in order to store (write) or retrieve (read) information. These memory systems allow data to be retrieved and stored at speeds that are independent from the speeds of the storage locations they access. This is a form of volatile memory meaning it can be lost during a power loss.

Read-Only Memory (ROM):

This is a permanent memory system where data is placed by the program or user at a speed much slower than the speed at which it will be read. Information entered into these types of memory systems is usually not changeable once entered. This is a form of non-volatile memory meaning it is generally not lost during a power loss.

Programmable Read-Only Memory (PROM):

This is a retentive memory system that is used to store data. This type of memory can be programed once and cannot be altered afterwards.

Ultraviolet-Erasable Programmable Read-Only Memory (UVPROM-EPROM):

A type of memory system where stored information can be erased only by ultraviolet light and the circuit can be reprogrammed with new information that can be stored indefinitely.

Memory Size

The complexity of the programs determines the amount of memory that is required. Individual pieces of information are stored in elements called bits (binary digits). The memory size is specified in increments of 1000. This is expressed in “K” increments where K is equal to 1024 bytes of memory storage. A byte is equal to 8 bits.

  • 1 byte = 8 bits                      
  • 1 KB = 1024 bytes          – KB = Kilobyte    
  • 1 MB = 1024 KB             – MB = Megabyte          
  • 1 GB = 1024 MB             – GB = Gigabyte             
  • 1 TB = 1024 GB              – TB = Terabyte              
  • 1 PB = 1024 TB               – PB = Petabyte

Programs are stored as 1s and 0s (bits) which are organized into 16-bit words. Memory sizes are expressed in thousands of words.

For example, 2K is a memory size of 2,000 words. Memory size can vary from 1K to 32MB and higher for larger, more complex systems.

Memory size is what determines whether a particular processor will handle the requirements of a specific application.

Memory Structure

There are a few of different types of memory structures that are most commonly used with PLCs.

The two most common structures are

  • Rack/Slot Addressing and
  • Tag-Based.

Some PLCs (often older models) use a type of “fixed” addressing scheme that is addressed using physical hardware locations. This is called Rack/Slot Addressing. The I/O addressed are named using the rack number, the module slot number and the screw terminal number.

Most modern PLCs use a memory structure that uses variable names for input and output devise, internal bits and all other data types and structures. This is called a tag-based memory structure. The variables used in this structure are similar to the variable names used in computer languages such as C++ or Java. In regards to PLCs, these variables are called “tags”.

Read Next:

Related Articles


Your email address will not be published. Required fields are marked *