Objective. Students will convert values among binary, octal, hexadecimal, and decimal number systems and map PLC memory types (input image, output image, internal bits, integers, floating point) to their functional roles.
This lesson, its worked examples and its practice questions has not yet been verified by a licensed engineer or certified journey-level tradesperson or by a certification or approval body. It is a study draft and may contain errors. Do not use it as instructions for work on a job site or on live equipment. Always follow your instructor, your supervising professional, and current official references and regulations.
VoTechWorks program approval and accreditation are still in progress. Credentials are issued only by the certifying bodies named in each program, after their own exams.
Programmable Logic Controllers store and process every piece of information—sensor states, timer values, motor speeds, analog signals—as groups of binary digits (bits). To read a tag database, trace a fault, or scale a 4–20 mA signal, you must move comfortably among four number systems: binary, octal, decimal, and hexadecimal. You also need to understand how PLC memory is organized so you know exactly where a value lives and what it means.
Decimal (base 10) is everyday counting: digits 0–9, each column worth ten times the column to its right.
Binary (base 2) uses only 0 and 1. Each bit position represents a power of 2 (1, 2, 4, 8, 16, 32, …). A single bit is the smallest unit of PLC data. Eight bits form a byte; sixteen bits form a word; thirty-two bits form a double word (DWORD).
Octal (base 8) uses digits 0–7. Each octal digit represents exactly three binary bits. Older Allen-Bradley PLCs (SLC 500, PLC-5) use octal addressing for I/O slots and bit numbers (e.g., I:1/05 means input file, slot 1, bit 5 in octal).
Hexadecimal (base 16) uses digits 0–9 and letters A–F. Each hex digit represents exactly four binary bits (a nibble). Hex is the standard shorthand for 16-bit and 32-bit values in modern tag-based PLCs, error codes, and Ethernet/IP data tables. You will see hex addresses prefixed with `0x` (e.g., `0x1A3F`).
BCD (Binary-Coded Decimal) encodes each decimal digit in its own four-bit group. Thumb-wheel switches and some legacy displays send data in BCD. Decimal 47 in BCD is `0100 0111` (4 = 0100, 7 = 0111).
Regardless of brand, PLC memory is divided into regions with distinct functions. Understanding these regions is the foundation for reading ladder logic and diagnosing faults.
At the start of every scan cycle, the CPU reads every physical input—pushbuttons, limit switches, proximity sensors—and copies their ON/OFF states into the input image table. Ladder logic examines this snapshot, not the live wire, during the solve phase. In SLC 500 style addressing the file is `I:`, followed by slot and bit: `I:2/07`. In tag-based systems (Studio 5000, TIA Portal), descriptive names like `LS_ConveyorHome` reference the same underlying bit.
After solving logic, the CPU writes results to the output image table. At the end of the scan, it copies these values to physical outputs—solenoids, contactors, indicator lights. Modifying an output tag in the tag database lets you force an output ON or OFF during commissioning (use caution; follow lockout/tagout before working near actuators).
Internal bits (`B3` file in SLC 500; boolean tags or memory bits in modern systems) hold intermediate logic states that are not tied to physical I/O—seal-in rungs, flags, interlock conditions. They consume no wiring but are critical to program flow.
Word-addressed PLCs use integer files (`N7`) for 16-bit signed values (–32,768 to +32,767). Counter (`C5`) and timer (`T4`) files store accumulated counts, preset values, and status bits in structured elements. In tag-based PLCs these become DINT (32-bit signed integer) or INT tags and structured timer/counter UDTs.
Analog process values—temperature in °C, flow in gpm, pressure in PSI—are usually stored as 32-bit IEEE 754 floating-point numbers (REAL type). Scaled 4–20 mA readings end up here after the analog input module converts raw counts.
When the instructor demonstrates live tag toggling, the trainer is energized. Never reach into the panel or touch terminals. Observe NFPA 70E shock boundaries: unqualified persons stay outside the limited approach boundary. Before connecting or disconnecting any wiring on a PLC trainer, apply OSHA 29 CFR 1910.147 lockout/tagout procedures—de-energize, lock, and verify zero energy. Forcing outputs in software while machinery is connected can cause unexpected motion; confirm the trainer's actuators are in a safe state before using the force function.
IEC 61131-3 defines PLC programming languages and a common variable model. Inputs are prefixed `%I`, outputs `%Q`, and memory variables `%M`. Understanding the memory map behind these prefixes lets you read programs written for any compliant PLC—Allen-Bradley, Siemens, Mitsubishi, or others—with the same foundation you build today.
Answer each question, then check it. Nothing is recorded; this is your own practice.
A free tech program — complimentary, as our commitment to get America working. Help us build VoTechWorks. Tell us what works, what doesn’t, and what you want to learn.