Understanding Software PLC Features and Requirements

Soft PLC Features and Requirements

Software PLC is a software technology designed to turn an embedded computer into a fully functional and programmable logic controller, also known as a PLC. It combines PLCs’ discrete, PID and analog I/O control with high performing computer networking, data handling, and computational capabilities. As such, software PLCs offer dependable operation, exceptionally fast and deterministic program scan durations, gereat instructions set, clear data table memory, unlimited user programs, and above all, an open architecture platform that allows users to connect to a wide range of I/O systems and networks among other devices.

Important software PLC features include:

Application programming

Software PLCs support loadable functions developed by users and developers in Java, C, or C++ languages. They also support online run mode program alterations, different program documentation modes, and I/O forcing. Software PLCs are programmed with at least 6 different types of coding languages to ensure that they provide a wide range of online troubleshooting, development and documentation features as well as run converted or imported programs.


Software PLC systems have the capacity to regulate over 16K I/O which includes analog, digital and specialty I/O. You can mix up to 16 different I/O systems on a single software PLC regulator; it can hold up to 36 COM ports affiliated to serial devices for ASCII communications and 32 user-configurable data paths and networks as main communication channels that allow data access from different computer PLCs or applications. Additionally, software PLCs can hold huge application programs and 100 million data table elements.

Hardware and operations

A software PLC operates as an embedded 32-bit multi-tasking kernel that performs its duties in real-time on different CPUs, including the x86 compatible CPU platforms. It is independent of hardware busses like ISA, VME, PC/104, and PCI. It operates under minimal hardware requirements, which ensures high reliability at low costs.


Software PLCs feature built-in communication ports that include different protocols. However, most of the included protocols are vendor-specific while the PLCs have the capacity to communicate over a reliable network to other systems, like computers operating under SCADA system or regular web browsers. On the other hand, PLCs used in large I/O systems operate under peer-to-peer (P2P) communication over different data processors. P2P communication allows different segments of an otherwise complex process to run individually while still allowing their sub-systems to coordinate over a single communication link.

Other special features and requirements

Software PLCs feature an embedded web server that offers numerous powerful functions meant for sharing data, manipulating data, monitoring and maintaining proper functionality remotely, among others. An embedded Java virtual machine gives the software PLC the ability to run different Java language functions and programs, automated back-ups, built-in FTP and more. An embedded firewall ensures secure Internet connections and Ethernet compatibility.

For a software PLC to run effectively, it must be implemented under the right system requirements. Its minimum software and hardware requirements include an Ethernet port, USB or parallel port or user specified port, 32 MB RAM, 386 or better compatible CPU, 64 MB disk, I/O ports or interface cards as well as other communication ports like the COM ports.

Daron Underwood has more than two decades of experience and expertise in embedded technology and real-time systems – from machine control to Human-Machine Interface development. He headed the embedded product and services group for Ardence, a Citrix Company prior to the formation of IntervalZero in 2008. During his career at VenturCom/Ardence and as a customer before he joined the company, Daron was instrumental in the development and advancement of the company’s market-leading RTX real-time software. He provided technical knowledge and guidance that helped shape the earliest version of the product.