How Development Environments Simplify PLC Programming

Integrated development environments let controls engineers more easily create and re-use code when designing multiple automation configurations on-the-fly.

Being nimble and quick isn’t about fun and games for Jack Piper. It’s serious business for the engineering manager at Ridgeline Pipe Manufacturing in Eugene, Ore., because it’s his job to squeeze profits from the company’s extrusion lines. He must always be on the lookout for ways to boost the flexibility and speed at which the lines turn 100,000 pounds a day of polyvinyl chloride (PVC) into pipes, elbows, sweeps and fittings.

This is why, when it came time to automate four extrusion lines, Piper sought the benefits of the advanced programming tools that some automation suppliers have recently added to their integrated development environments (IDEs). Like many of his counterparts at other manufacturing companies, he wanted to take advantage of the ways in which these new programming tools can shorten development time, improve engineering and reduce errors.

>>IDE Defined: What is an integrated development environment? Click here for more information.

Driving Piper’s interest in the new programming tools were the rush orders Ridgeline would typically receive on short notice from distributors when electrical and other building contractors needed to replenish dwindling supplies at their construction sites. When these last-minute orders come in, production speed of Ridgeline’s four automated extruders matters less than the ability to shift production quickly.

“We need to be able to approve a customer’s order and begin production within minutes, rather than the one or two days it typically takes our larger competitors,” Piper explains.

Complicating matters is the fact that Ridgeline’s 125 products come in various lengths, diameters, colors and other variations. “We do a minimum of three product changeovers each day, and every product has its own unique set of parameters,” Piper notes. “We need each line to collect, store and automatically download data that operators can fine-tune as needed.

“The more we can automate production and monitoring of pipe thickness, the more we can track quality and deliver consistent product to our customers.  This translates into increased revenue because we avoid wasting material.” It also gives production the ability to troubleshoot problems and inconsistencies that exist among the lines.

To create a flexible automation platform for his four extruders to handle these quick changeovers, Piper and his team worked with engineers at Rockwell Automation Inc. (www.rockwellautomation.com) and Industrial Automation Group (automationgroup.com), a system integrator based in Modesto, Calif. Using Rockwell’s Integrated Architecture, the equipment in each 160-foot extrusion line is coordinated using an Allen-Bradley ControlLogix L61 programmable automation controller (PAC). Operators monitor the machinery and make product changeovers with the vendor’s PanelView Plus 1000 human-machine interfaces (HMIs).

Borrow from a library
The biggest challenge in automating the extrusion lines was writing the unique code that would offer the necessary level of control. “A program is only as good as the knowledge base behind it,” Piper observes. For this reason, he relied on the expertise of engineers at the Automation Group, who developed the code using samples for temperature control from the Rockwell Automation Sample Code Library.

Besides drawing from code libraries compiled by automation vendors such as Rockwell Automation, integrators and end users can also create their own custom libraries. Take a pump, for example. Once a programmer defines it, decides how to control it, and writes the necessary code, the resulting control object is available for reuse anywhere in the IDE. Later, if someone improves the object, the revision is easy to perpetuate throughout the system.

“By using the sample code, we were able to save time and headaches in the design stage,” Piper recalls. Because of these efficiencies, Ridgeline Pipe was producing PVC pipe within two hours of startup. “Our team had never seen that done in less than 48 hours in any similar production environment.” He also estimates that the lines now require 25 percent less operator time for changeovers, troubleshooting and predictive maintenance.

What permits using code libraries in this way has been an evolution of industry standards for defining data types and the methods for sharing them. Because these data definitions allow sharing objects and the parameters associated with them among different software packages, the code libraries have essentially promoted a collaborative approach among developers of specialty engineering software. So, rather than trying to build as much engineering functionality into a design environment as possible, these developers have been concentrating on getting their specialized design software to work together.

“Our approach is to synchronize automation design to a mechanical design environment,” says Mike Burrows, director of market development for Integrated Architecture at Rockwell Automation. In this approach, a mechanical engineer working on a robot, for example, can size the robot and its workspace, as well as simulate its motion in a mechanical package like SolidWorks. The torque profiles, electrical draws, and other parameters associated with the motion are then available in an automation design environment for sizing the motors and servos and determining the logic for executing the move profiles.

Burrows reports that large manufacturers as diverse as Proctor and Gamble and General Motors are using these kinds of software tools to simulate production lines in their design environments before building any equipment. “Not only do these companies now have fewer steps in the design process, but they also can do some simulation and modeling in advance of production,” he says. “So the prototyping process goes much faster.”

In addition to the standardization of data definitions, Burrows identifies two more developments in IDEs from automation software suppliers. The first is a tag-based operating system, which permits more functionality with fewer utilities. Once defined, a tag is available throughout the architecture—in the operator interface, drive and I/O. As a result, separate utilities for each device are no longer required.

“The goal is to reduce the number of times that you must provide lookup tables, rewrite tags, and synchronize control parameters,” Burrows says. In the past, engineers had to retype and synchronize tag definitions in as many as 30 configuration utilities.

The other development is the integration of design time with runtime such that control functions are shared across the system. Having servo drives, distributed I/O devices and network devices share a common runtime engine with the controller unburdens the design time process. “Programmers no longer need to establish what a device is and how it talks within a system,” Burrows says. “The controllers and servo drives already recognize each other and how they operate.

“An integrated runtime environment allows you to worry only about programming the machine. It will figure out how to best configure the automation devices.”

64-bits, abstraction and IEC 61131-3
The advanced programming tools available for today’s IDEs go beyond code libraries and the underlying technologies that make them possible. Many vendors are also developing tools based on the continuing evolution of PC-based technologies.

“The biggest recent advance is the ongoing shift of PC-based software from 32 bit to 64 bit—an immediate doubling of power,” observes Bob Trask, P.E., TwinCAT3 specialist at Minneapolis-based Beckhoff Automation LLC (www.beckhoff.com). “Even though most computer hardware has been at 64 bits for a few years, the software has largely been running on only half of that power.”

He notes that the trend toward 64 bits has gathered a head of steam lately with the continual rise in computing power on PCs and the growing ability to import software components from multiple sources. “Along with the speed and power of hardware comes faster-running software and advanced graphics,” he continues.

In fact, Trask credits abstraction for many of the recent advances being made in software. For software development, the term “abstract” does not refer to an idea or task as not being concrete. Instead, it means the separation of concerns and tasks made possible by object-oriented programming. “In other words, if a programmer takes care of something on one level, he or she is completely removed—or abstracted—from dealing with it on another level,” Trask explains.

>> New in Integrated Logic and Motion Control: Automation vendors explain how they’re providing truly integrated design environments and more. Visit http://bit.ly/zlfcyw

Using object-oriented programming and PCs for automation, as well as the third edition of IEC 61131-3, helps users across the entire spectrum, from the developer to the end user. “If approached correctly, these new technologies provide a more capable, feature-laden environment for the developer,” Trask says. “The ability to have multiple programmers working on the same reusable code and the potential to add functionality without sacrificing existing features increases efficiency and reduces errors.” For the end user, the benefits include more-intuitive user interfaces on equipment, as well as better performance, maintainability, and access to performance metrics.

>> Click here to read how .Net promotes modularity.

To reduce errors and enhance safety, automation vendors and software developers are also moving away from scripting, or interpreted, languages like Visual Basic Scripting Edition (VBScript), Visual Basic for Applications (VBA) and proprietary editors. They are replacing these interpreted languages with compiled languages like C# and Visual Basic .Net (VB.Net), which permit some testing in the design phase, according to Marcos Taccolini, CEO of Tatsoft LLC, a Houston-based provider of software and cloud services for industrial automation.

“With interpreted languages, you can’t do a complete code validation during the development stages,” he explains. In these cases, identifying such errors as using variables without initialization and inconsistent parameters is possible only during execution. Consequently, final verifications must occur as the project is running, not during the engineering configuration.

Another trend toward increasing safety in the development of advanced programming tools for IDEs has been the adoption of the computational environments, such as the .Net Framework from Microsoft Corp. (www.microsoft.com) of Redmond, Wash. and Java from Oracle Corp. (www.oracle.com) of Redwood City, Calif. These tools permit the native isolation of the processes from the operating system. “This allows better use of computers with multiprocessor cores and ensuring greater operational stability, even in the face of potential driver and hardware errors, or failures on individual modules,”  Taccolini says.

More in Control