Programmable Logic Controllers (PLCs)

This topic was published by and viewed 1569 times since "". The last page revision was "".

Viewing 1 post (of 1 total)
  • Author

  • DevynCJohnson
    • Topics - 437
    • @devyncjohnson

    Programmable Logic Controllers (PLCs) is a digital computer (or microprocessor) typically used in industrial settings for automation. In addition, PLCs process logic based on the inputs and then send the proper outputs. PLCs are used rather than PCs (personal computers) because PLCs are able to withstand harsher environments than PCs. Like PCs, PLCs are programmable. PLCs are real-time systems, and they are more durable and easily programmable than relays (electrically operated electromagnet switches). PLCs may be simple and inexpensive, or they can be expensive and complex devices (depending on the needs).

    PLCs can be programmed using ladder logic (which is similar to relay logic), programming languages (like C/C++, assembly, etc.), state logic (state transition diagram), function block diagrams (FBD), or other methods. PLCs can be programmed using a PC that is connected via Ethernet or other means such as RS-232. The code is then stored on EEPRO or EPROM chips.

    There are some PLC-specific programming languages such as Instruction List (similar to Assembly) and Structured Text (similar to Pascal).

    PLCs may use one of two memory organizations - the rack-based system or the tag-based system. In the rack-based system, one portion of memory is for program files and the other is for data files. The data files are then further sub-divided by file-type. As for the tag-based system, all data is given a named memory address called a variable. For instance, the SLC 500 uses the rack-based system while the Logix series uses the tag-based system. As another example, the PLC 5 uses the rack-based addressing format. This means when specifying an input on the second group of the third rack, the address would be I:2/1. The first rack or group is zero and the second is designated as "1".

    IEC 61131 is a set of standards for PLCs. IEC 61131-3 (IEC 61131 part 3) specifically sets standards for the programming languages of PLCs. For instance, this standard specifies that booleans are one bit. Other data types and their values, description, and/or sizes are listed below. The IEC 61131-3 standard specifies that PLCs use the dollar sign ($) as the escape character in strings. All float-points follow the IEEE 754 standards for float-points.

    • BOOL - 1 bit
    • BYTE - 8 bits (1 byte)
    • WORD - 16 bits (2 bytes)
    • DWORD (double word) - 32 bits (4 bytes)
    • LWORD (long word) - 64 bits (8 bytes)
    • INTEGER - whole numbers
    • SINT - signed short integer (1 byte)
    • INT - signed integer (2 bytes)
    • DINT - double integer (4 bytes)
    • LINT - long integer (8 bytes)
    • USINT - unsigned short integer (1 byte)
    • UINT - unsigned integer (2 bytes)
    • UDINT - unsigned double integer (4 bytes)
    • ULINT - unsigned long integer (8 bytes)
    • REAL - float-point numbers (4 bytes)
    • LREAL - long float-points (8 bytes)
    • TIME - timers, counters, duration, etc.
    • DATE - calendar date
    • TIME_OF_DAY - clock time
    • DATE_AND_TIME - time and date
    • STRING - character strings enclosed in single-quotes
    • WSTRING - wide-string (multi-byte strings)
    • ARRAYS - multiple values in one variable
    • TYPE - single type
    • STRUCT - a data-type made of multiple types
    • ANY - a type that represents the above types.


    PLCs and PCs have some features in common. For instance, PLCs are capable of having an operating system, such as VxWorks or OS-9. Also, PLCs are susceptible to viruses such as the Stuxnet virus. As for physical similarities, PCs and PLCs contain a motherboard, processor, memory, and expansion slots.

    Further Reading

Viewing 1 post (of 1 total)