RT-201: PLCs vs. Real-Time Systems

RT-201: PLCs vs. Real-Time Systems

In RT-101: Real-Time Operating Systems (RTOS), I provided readers with a brief description of the many benefits that systems running an RTOS can provide in harsh and demanding environments. The bigger question is: in an industry saturated by PLCs (Programmable Logic Controllers), PACs (Programmable Automation Controllers), Field Point controllers, Microcontrollers and many others, why should an engineer choose an RTOS PAC (Programmable Automation Controller) platform above all the rest? To address this issue we will take a look at a comparison between two distinct camps Programmable Logic Controllers and RTOS Programmable Automation Controllers.

PLC History

Traditional PLC platforms are based on a reliable and easy to use scanning architecture. PLC software has historically been confined to a sequence of scanning inputs, running control code, updating outputs, and performing housekeeping functions. Automation programmers only develop the control code because the other functions (input cycles, output cycles, and housekeeping cycles) are all concealed. This rigid architecture allows engineers to quickly and efficiently design and program basic control systems. However, the PLC’s greatest strength, a robust and rigid scanning architecture, can become its most obvious weakness, inflexibility when custom applications require advanced operations.

PAC Advances

  • Incorporate extremely high speed measurements (hundreds of thousands or millions of samples per second)
  • Vision acquisition and processing
  • Software defined hardware (by incorporating FPGA, field programmable gate arrays)

Most important, a Real-Time PAC platform can incorporate vision, high speed measurements and other data acquisition with logic and motion control and eliminate the need for engineers to integrate multiple dissimilar hardware and software platforms. Instead, all these functions are designed and programmed within a single software environment. This makes RTOS PAC software adaptable and appropriate for complex applications that require advanced structures, programming techniques, or hardware level control, but more difficult for basic applications.


The “80/20 rule” can be used to simplify this dilemma. In general, 80 percent of industrial automation tasks can be efficiently completed using a basic PLC to provide digital I/O, a small number of analog I/O points, and generic programming techniques (i.e. ladder logic). The other 20 percent of applications, however, require advanced programming algorithms, extremely high loop rates, deterministic execution, and access to low level hardware drivers for customization. Programmable Automation Controllers running Real-Time operating system are designed for the “20 percenters” who need more freedom and functionality to solve complex control problems.

RT-301: Capabilities of Distributed LabVIEW Real-Time

Learn more about DMC's LabVIEW programming for Real-Time and FPGA.


Electrical Engineering is a very broad degree that doesn't lreictdy relate to automation. They design anything electronic, from the circuits in children's toys to cell phone towers all the way up to power plants.If you are interested in automation, you will probably need an engineering degree, but it can generally be Electrical or Mechanical and in some cases I have seen Computer Science majors as well (though real engineers tend to get hired much easier than a CS would). What is more important is that you need to take classes in Mechatronics (this may be called something else outside of the US). You will need to learn how to program in Ladder Logic, Structured Text, and ANCI C or their equivalents.I work for a company that does automation for machine builders (EOMs). For a typical project, I work with the EOM to get a detailed Specification together first, so I know how the machine is supposed to work and how it should react to different situations. That can take anywhere from a few days to weeks, depending on if the EOM knows what they want or just has a general idea (in many cases they haven't finished designing the mechanics of the machine). Then I write the program at my office, using smaller motors to test what I can before going on site; this can take a week or 6 months, depending on the complexity. While I'm doing that, someone (sometimes me) wires up a panel which connects all the electronics together and will go in the machine's electrical cabinet. The motors and panel are normally installed and wired up by the EOM and I spend a week or so on site testing and revising the program.Most of my time is spent thinking of ways for a machine operator to screw everything up or hurt themselves, then thinking of how to prevent them from being able to do that. I typically program in Structured Text, though some OEMs will insist on Ladder because it was the standard for so long and a few will request ANSI C for various reasons. I also end up going out to fix other people's programs which could be written in any IEC standard language.
# jack
thank you, Eric.
i am looking forword to your detail and kindly answer.
And please give me your answer ASAP.
best regards
Eric Nielsen
# Eric Nielsen
Thanks for your questions. I will contact you personally to discuss more options but the simple answer to most of your questions is that it depends. There is such a wide range of both PLC and PAC systems available on the market today that the details of performance, functionality, and capabilities varies dramatically depending on the specific products being compared.
# jack
hi Eric,
These days, i'm worried about changing PLC system to PAC system.
My senior want to it.
BUT, I want to know that before change.
1. what is uncomfortable to use PLC system (If you are expert in PLC).
2. (If you chang system PLC to PAC or you want to learn PAC) i want to know WHY? the reason.
3. (If you are thinking chang system PLC to PAC) What are you worring?
4. PLC good thing and bad thing.
5. PAC good thing and bad thing.
6. PLC can do it but PAC can not do it. what is~?
7. PAC can do it but PLC can not do it. what is~?

Please answer the questions, i need to say it to my supervisor!!

PLC is all of PLC,
PAC is National Instruments cRIO.

thank you, Eric
Ken Brey
To further Eric's point about programming the FPGA, such custom programming is performed in the LabVIEW environment with few exceptions compared standard application development in LabVIEW. This LabVIEW program gets compiled into VHDL transparently to the developer (except for the extended compile time). So knowledge of VHDL is not necessary to implement a customer FPGA program.
Eric Nielsen
# Eric Nielsen
Jason- The simple answer would be no, you do not need to be a VHDL programmer to create a control application using a PAC. You will find that most of the PAC platforms on the market incorporate a real-time operating system and then allow integration with FPGA. For example National Instruments has a product called the CRIO (compact reconfigurable I/O) which can run LabVIEW Real-Time applications and also has an FPGA. The integrated FPGA can run custom VHDL or it can be configured to run a scan engine (provided with the software) which provides single point reads and writes to the terminals connected. So, the detailed answer is it depends on what your application is and what execution speed you require.
Jason Livermore
# Jason Livermore

If you are designing for a PAC, do you need to be an FPGA designer? Or does the software figure out how to drop in the functions you need? Does the vendor provide pre-made functional blocks that you can use?


Post a comment

Name (required)

Email (required)

Enter the code shown above:

Related Blog Posts