- By Steve Mustard, CAP, Pascal Girerd
- Automation Basics
For those who have not looked at SoftPLC solutions in the past few years, they are worth revisiting.
There are misconceptions about what SoftPLCs can and can’t do.
A SoftPLC is a software-based version of a programmable logic controller (PLC). The term SoftPLC has been used for many years, and like many technical terms, it means different things to different people.
IEC 61131-3 standard
For many years, the control systems market saw the proliferation of a variety of programming languages and development environments—different for each manufacturer. IEC 61131, the international standard for programmable controllers, was first published in 1992 (as IEC 1131). IEC 61131 standardizes programmable controller technology and covers equipment requirements, programming languages, user guidelines, communications, and functional safety.
The third part of IEC 61131 (IEC 61131-3) deals with the programming languages used in programmable controllers. The standard originally defined five programming languages:
- Ladder Diagram, based on the most common form of PLC programming language.
- Structured Text, similar to high-level information technology (IT) programming languages such as C or Pascal.
- Function Block Diagram, a graphical language where users connect blocks of functionality together to create a program.
- Sequential Function Diagram, another graphical language that allows finite state machine execution.
- Instruction List, another text-based language similar in style to assembly language. This is now deprecated in the standard.
The IEC 61131-3 standard defines a series of functions and data types that must be supported by all compliant programmable controllers. The functions are the basic building blocks of all programs and include arithmetic operations (e.g., addition, subtraction), Boolean logic (e.g., AND, OR, NOT), and programming structures such as loops, comparisons, and decisions.
One of the outcomes of IEC 61131 adoption was the recognition that the software and hardware elements of programmable controllers could be considered separately. This in turn created the SoftPLC concept.
A SoftPLC combines the functions of conventional PLCs with those of data loggers, communications gateways, and other elements such as human-machine interfaces (HMIs) and web servers. In the early days of SoftPLCs, it was common to use industrial PC hardware as the platform. This approach is one reason there are many misconceptions about what SoftPLCs can and cannot do, including:
- Nondeterministic operation: Early industrial PC hardware tended to run the Microsoft Windows operating systems. Because these are nondeterministic, many people decided a SoftPLC could never be used in place of a conventional PLC.
- Reliability and ruggedness: The experience of Windows operating system reliability, combined with the potential lesser environmental specification of the PC hardware, led many to discount this solution for industrial applications.
- Security: Once industrial control system security became an issue, the maintenance of obsolete operating systems, such as Windows NT on SoftPLC hardware, was a potentially limiting factor.
However, there are many flavors of PC hardware and operating systems that can be a SoftPLC platform. Real-time operating systems such as RTLinux, QNX, RTAI, Intime, FreeRTOS, and VXWorks provide the fault-tolerant, deterministic behavior expected in a conventional PLC.
Many PLCs that users believe to be conventional are in fact built on SoftPLC technology. The principal business model for SoftPLCs is based on original equipment manufacturers (OEMs) porting the SoftPLC run time to their platforms and seamlessly integrating it into their wider configuration and monitoring ecosystems.
Reasons to use SoftPLCs
Although there are some misconceptions, there are many more potential benefits of SoftPLC technology—some that relate to the OEM and some to the end user:
- Time to market: OEMs can develop their applications and select or design their hardware systems in parallel, and finally port the SoftPLC run time quickly and easily.
- Versatility: The same SoftPLC application can be ported to different hardware and operating system combinations. This means users can potentially develop and maintain a common application (or at least a library of common functions) that can run in different environments if needed. This allows end users to choose specific hardware solutions as needed, saving money on input/output (I/O) and interfaces.
- Upgradability: The abstraction of software and hardware makes it easier for the OEM to update the hardware and operating system while maintaining backward compatibility on software and applications.
- Standardization: Following IEC 61131-3 simplifies user training and supports greater consistency in application development, which in turn helps reduce ongoing maintenance costs. Even if a user changes a SoftPLC solution, using IEC 61131-3–compliant application code can greatly reduce the cost of migration. This also applies to communications protocols (such as IEC 61850, DNP3), which are often integrated into SoftPLC solutions.
- Product differentiation: Many SoftPLC solutions have functionality besides the IEC 61131-3 standard. Examples include support for industrial protocols, built-in redundancy, and distributed operation capabilities.
Security and safety concerns
Security and safety will always be major concerns with any automation system component. As already noted, the misconceptions regarding SoftPLC security and safety are mostly a result of early systems running on nondeterministic operating systems. It is possible to develop a resilient, secure, and safe solution using SoftPLC technology, and many OEMs have done just that. When the OEM has all the source code, everything is under its control.
An advantage of SoftPLC solutions is hardware and operating system choices can be made independently, based on security and safety requirements.
Some SoftPLC solutions have even developed run times that OEMs can integrate into systems targeted for IEC 61508 certification. They do this by reducing the feature set, removing functions that can create safety hazards, and developing the run time itself using approved methods.
For those who have not looked at SoftPLC solutions in the past few years, it is worth revisiting. Much has changed in the 30 years since the inception of IEC 61131-3, and many popular “conventional” PLCs are running on SoftPLC technology. As with any solution choice, the requirements should drive the answer, but SoftPLC-based approaches should be included in any consideration.
We want to hear from you! Please send us your comments and questions about this topic to InTechmagazine@isa.org.