Register Basics
PLC registers are memory locations within a Programmable Logic Controller (PLC) that store
numerical data (16-bit) and I/O status. They are essential for storing variable data for math, data
manipulation, timers, and counters. Common types include input, output, and holding registers.
Register:
A register is simply a storage location in the PLC memory with a unique address. It has 16
bits, so it can hold a maximum value of “65535” (2^16=65536), provided all 16 bits are used. If one
bit is assigned as a “sign” bit, then the value that can be held will be from “–32767 to +32767”
(2^15=32767). Suppose the numbers that need to be used in the math operation are larger than the
above mentioned limits, what will happen? That instruction will generate an “overflow” bit, and that
bit will be set within PLC. For handling larger numbers, a greater number of registers are provided.
These are referred to as “Double Precision” math instructions.
Single-precision math instruction:
It uses one register for each… That is, operand 1, operand 2, and destination register. A total
of three registers are used for a single math instruction.
Double-precision math instructions:
It uses two registers for each… That is, operand 1, operand 2, and Destination register. A
total of six registers are used for a single math instruction. Nowadays, all PLCs make use of floating-
point math instructions as well. Floating-point math instructions simply use decimal points in
addition to “Double-precision Math” instructions. The floating or decimal value for operands can be
specified. Similarly, the obtained result will also be in decimal format. All larger PLC systems have
floating-point math instructions, since this is required in most formulae. Contrary to this, most
micro/mini PLC systems do not have floating-point math instructions.
Key Aspects of PLC Registers:
Data Storage: Registers hold 16 bits of data, which can represent numerical values (like 0-
65535) or the status of 16 individual I/O points.
Types of Registers:
o Input/Output Registers: Directly map to physical input/output modules, holding the
current state of sensors and actuators.
o Holding/Data Registers: Used to store intermediate data, temporary variables, and
constant values.
Functionality:
o Data Handling: They facilitate complex operations like Math, Move, FIFO, and bit-
level manipulation.
o Retentive Memory: Registers can often retain their data even after power is
removed.
Addressing: Each register has a specific address (e.g., N7:0, B3:0) used in the ladder logic
program to read or write data.