The mission of every controller is to, by God, get its job done and give its users the capability and flexibility to complete their tasks. As Yoda says, "There is no try."
For about 40 years, microprocessors and software have worked together in programmable controllers to perform the calculations needed to take in and analyze data from sensors and I/O points, and then formulate and send out appropriate responses and commands. Just as PLCs could digitally do the jobs of dozens or hundreds of relays and reduce wiring and maintenance, many functions in controller operating systems (OSs) have migrated from dedicated, hard-coded, inflexible firmware to simpler, purer software that's easier to manipulate and reprogram. In short, where users previously had to swap circuit boards and CPUs or type in complex coding changes to adjust programs on each controller, now they can point and click on a screen and automatically update software on dozens or hundreds of controllers.
However, despite these overall technical gains, there are still times when it's crucial to access and adjust programming at the level of the real-time operating system (RTOS), kernel and central processing unit (CPU) itself. This could be needed to prevent unauthorized software changes, protect intellectual property, ensure security or enable other high-priority functions.
Open Source Aids OS
S.E.A. Datentechnik manufactures test and measurement systems in Troisdorf, Germany. It recently needed to build an affordable, universal condition monitor for recurring applications in machine supervision and structural health, which would handle modular sensor inputs and signals types. As a result, the company developed its SEA 3200 rugged, sealed data acquisition and processing system, which can continuously monitor sensor and machine data and is based on a National Instruments CompactRIO module with a Linux RTOS, analog-to-digital converter modules and two modules for wireless networking and health monitoring.
"We've used Angstrom Linux for a long time in our products and have extensive prior expertise working with this type of OS, but the Linux-based RTOS on CompactRIO really changes the game," says Wolfram Koerver of SEA. "By leveraging the open Linux-based real-time OS on a commercial, off-the-shelf (COTS) controller, we could port our existing Linux software components in a very short time, which saved us at least three months of added development time."
Also Read: Open SystemsControllers to HMIs
Sanjay Challa, NI's embedded software product manager, adds that, "A lot of large, sophisticated builders with big teams that always have done custom designs want their operating systems to be just as flexible for special time synchronization or I/O requirements on high-performance machines or testing equipment, so they need to go beyond regular PLC functions to custom controller designs. Besides reducing costs, users are looking for open and flexible OSs, and they also want to reuse code."
RTOS Ins and Outs
"The RTOS is the controller's manager, and it works on top of the controller's CPU," says Jeff Payne, automation controls product manager at AutomationDirect, which sells Koyo and other PLCs. "Firmware is written and embedded in the hardware, the RTOS provides hooks into the firmware, and that's how they share data. Many CPUs chips are enclosed, so more field-programmable gate arrays (FPGAs) are used that allow developers to tailor functions to individual specifications, such as special math or motion tasks."
Dan Fenton, product marketing specialist for controllers and software at Phoenix Contact, adds that 95% of machine builders and other implementing controllers don't need to alter their OSs, but Phoenix Contact can help the 5% who do. "One user had to access their I/O much more directly, so we added software hooks into the backplane of the controller," Fenton explains. "Another wanted to swap out entire logic programs on the fly to go along with tooling changes for manufacturing different products. This was beyond simply changing recipes, but it also had to be done without reprogramming the whole line. So we work with customers with these challenges and decide whether a software change or a hardware change is needed."
Likewise, Paul Whitney, commercial program manager for Integrated Architecture at Rockwell Automation, says his company doesn't usually seek to reprogram OSs on PLCs. "But if a user in the converting or web-printing field needs to run servo drives at 200% of peak, then we'll undertake an engineering project, enter the firmware and develop servo drives able to operate at 250% of their former peak," Whitney says. "It's simpler and easier to adjust software that sits on a controller's OS by adding a configuration or runtime file about how to ramp up a drive." Also, our Studio 5000 design environment for writing code has added functions like consistent flow and naming, as well as modular code sets to help designers share information and tailor functions."