PCs Power Programming Tools
Graphics capability coupled with Microsoft Windows tools gives controls programmers powerful productivity tools.
Gary A. Mintchell, CONTROL ENGINEERING -- Control Engineering, 12/1/1998
|
In the past, programmable logic controllers (PLCs) were programmed with proprietary software in relay ladder logic. Screen navigation was with function keys. Almost no way existed to reuse the program from one machine to the next. For some issues from a user's viewpoint see the sidebar from General Motors Power Train.
Programming software looks and acts much different today. Most engineers and technicians are at least familiar with, if not trained in, Microsoft Windows. 32-bit tools such as "drag-and-drop," "cut-copy-paste," dialog boxes, and wizards are commonly known. Visual Basic, Microsoft Visual Basic for Applications, and even C and Visual C++ are also well known.
Open systems demandedUsers are becoming more demanding—wanting the ability to choose the best product for the current application. If another product is a better fit on the next application, then users want to be able to switch without the penalty of extensive retraining. Also desired is the ability of programming software to work on more than one hardware platform. Open systems allow users to make these decisions rather than default to one supplier. (For example, see related articles in Control Engineering September 1998, pp. 156-163, and October 1998, pp. 92-100.)
One way to make open strategies work is to have product standards—such as data types and structures, interfaces, platforms, etc. An example of such a standard is IEC 61131. This international standard consists of five parts, the third of which covers programming languages. (IEC added the "6'' to the nomenclature this year; vendors still commonly use "1131-3.") While not a standard, the Windows interface with DLLs, APIs, and common dialog boxes is widely used and known to most controls engineers worldwide.
The programming language standard—IEC 61131-3—includes two parts: common elements and programming languages. Common elements include data typing, variables, configuration, resources, tasks, program organization units, and sequential function charts. Although user-defined types are allowed, defining common elements provides for common organization of programs reducing the chance of errors. A sequential function chart is often thought of as one of the five standard "languages" but in reality is a method of logically organizing a program. It is organized in actions and transitions with an action processed until the transition becomes true, at which time that action is turned off and the next is activated.
The other four languages of the standard are defined under the programming languages section. Two of the languages are text-based, and two are graphical. The text languages are instruction list, which is similar to assembler, and structured text, which is similar to Pascal. The graphical languages are ladder diagram, certainly the most widely used in the United States, and function block diagram. The standard allows for user-defined function blocks which can contain custom routines written in C, ladder diagrams, structured text, or instruction list. These blocks can be saved and reused in other programs, obviously a very powerful tool.
There is a "sixth" language which is not part of the standard—flowchart. Several companies are promoting this language as an addition to IEC 61131-3. Since there are different varieties of flowcharting in the market, the benefits of standardization would also apply to this language.
More information regarding the standard and its benefits may be obtained by contacting PLCopen (Bloomingdale, Ill., USA; Zaltbommel, The Netherlands; Tokyo, Japan), an organization promoting the standard internationally.
Programming distributed systemsA problem with the IEC 61131-3 standard according to James Christensen, Rockwell Automation senior principal engineer, IEC 61131 editor, and project leader of IEC 61499, is that it only addresses what happens within one PLC or PC. Control systems even in discrete manufacturing are leaning toward distributed control models. IEC 61499 is a group working with the ISA fieldbus model on distributed control, a concept necessary for today's agile manufacturing. The definition of a function block is different than in 61131 although both groups are part of the same technical committee. Work is now progressing toward broader definitions to provide improved methods for programmers. The standards are still evolving.
Adoption of standardized programming tools is further along in Europe. Klopper & Wiege Software GmbH (Lemgo, Germany) provides all five languages in a Windows environment. According to Bernd Pelzer, "Today, the IEC-61131 standard is internationally accepted as the programming interface for soft logic PLC systems. It eases the software task and reduces development cycles. Such 32-bit environments include productive features like wizards for very fast application development or automatically updated cross references during editing and online debug. Current 32-bit technologies like DCOM and ActiveX give both openness and integration."
Manfred Werner of 3S (Kempten, Germany) thinks work should focus on standards for I/O drivers, data exchange, and common databases. He adds, "I see two main benefits to the standard. There is now a software market for programming tools. Tools are made by professional software companies. Training people is simpler. Once IEC programming is understood, a person can easily switch tools."
Achim Liebl, R&D manager of Softing GmbH (Munich, Germany) points out several new software technologies useful in programming packages: dynamic "tool tips" activated with the cursor provide helpful hints, standard OPC (OLE for Process Control) drivers provide interface to HMI and I/O systems, function blocks that load HMI information are Web browser enabled, and Softing's software accepts Java code as well as other standard languages.
The ability to implement diagnostics is an important attribute in programming tools according to Mark Knebusch, Interbus group director at Phoenix Contact (Harrisburg, Pa.). Phoenix Contact's programming software takes advantage of the diagnostic ability of Interbus networks to pinpoint fault location saving maintenance time.
"Hardware-independent programming is one of the biggest benefits of standard tools," says Robert Lyons, executive vice president and managing director of TranSys (Gilbert, Ariz.), a sister company of CJ International (Seyssins, France). "A change in the program is not required when changing hardware platforms. Only the I/O configuration must be modified." Flowchart has been added as a sixth language to the IsaGraf package showing the increasing popularity of that tool, especially in the United States.
Lucian Fogoros, applications engineer at ASAP (Chagrin Falls, O.) notes that the C/C++ function block editor adds programming flexibility. "Communication to the I/O modules of at least 20 manufacturers from one programming environment plus the ability to talk directly to HMI further increases flexibility."
Portability and scalabilityBruce Buscher, business development manager for Intellution (Norwood, Mass.), notes, "The number of companies that have joined PLCopen both in the U.S. and Europe testify to the growing strength of IEC 61131-3. Another factor is the number of software companies and PLC manufacturers supporting this standard today." Adds Bill Medved, Intellution softlogic & embedded controls director, "The scalability of our 61131-3 product is an important benefit of standards. The software can run on Windows NT with real-time kernel; Windows NT; and Windows CE running on Intel, Hitachi SH3, and MIPS chips. The C language is also a good tool for portability and scalability of platforms."
Schneider Automation (North Andover, Mass.) also supports IEC 61131-3 languages. Programmers can build a library of user-defined function blocks for reuse in other programs. Unlocated variables allocate memory like the RAM in a commercial PC, eliminating the requirement for a browser to know register numbers to find data.
To Scott Kiser, Wonderware (Irvine, Calif.) product marketing manager, the key is flexibility. ActiveX components, which can be incorporated into Wonderware's IEC-compliant programming languages, open the world with software objects. Customers have written ActiveX controls for such things as sortation, PID, and interface with vision, drives, and I/O devices. C, Visual Basic, or Java can be used to program objects giving needed flexibility to the programmer. It is even possible to download ActiveX components from the Web."
Siemens Energy & Automation (Alpharetta, Ga.) also supports some of the IEC languages with configuration software to make I/O point assignments easier than current ladder diagrams.
A colorblind engineer pointed out the need for conventions beyond just color differentiation in programming tools. VMIC (Huntsville, Ala.) designed in a way for colorblind engineers to work through the logic. A useful tool emphasized by sales & marketing assistant vice president Wayne McGee is the ease of use for setting breakpoints and stepping through the program during debug. OPC and DDE are standard communication tools used.
Rockwell Software (Mayfield Heights, O.) supports three of the five IEC languages: ladder diagram, structured text, and sequential function chart in its programming tools. Rockwell has an installed base of PLCs with non-IEC software, but the new Logix strategy (see this month's Technology Update) includes the adoption of standards into programming software.
Jeff Wilson, Manager, GE Fanuc Automation (Charlottesville, Va.) points out other benefits from combining standard IEC-compliant languages. "Ladder diagram, structured text, and sequential function chart editors exploit Windows technology for easy program creation and maintenance. The integration of structured text into sequential function chart provides a useful way to combine sequential control with continuous control. Multiple SFC programs within one application provides program flow and execution flexibility."
Mitsubishi Electric Automation (Vernon Hills, Ill.) offers three choices of control programming. Monty Fox, senior product marketing engineer, says that most current customers still like the traditional ladder diagrams with the Mitsubishi instruction set. OEMs shipping to Europe prefer the IEC-compliant version. "The flowchart program," he adds, "makes it easier to troubleshoot when time has elapsed after installation since each element in the program is labelled. It is easier to trace logic enabling operators to do basic troubleshooting. Applications are divided into individual processes instead of one big piece of code. This modular approach allows for machine expansion over time."
Flowcharts offer advantagesAs Tim Wallaert, vice president product management of Nematron (Ann Arbor, Mich.), observes, "Almost every electrical engineer or programmer graduating from college these days has learned how to do a flowchart." Flowcharts are almost self documenting and easy to follow when troubleshooting. Mr. Wallaert adds, "Each block is a subprogram. In a complex project with programmers geographically dispersed it is easy to assign tasks among the programmers with greater assurance that the program will work when assembled." Nematron's package uses IEC-compliant data types and variables.
Jeffrey Fisher, director of product marketing at Steeplechase Software (Ann Arbor, Mich.), notes, "Flowcharts consist of squares (action elements) that do things and diamonds (decision elements) that check if things are done or moved. Adding a few basic tools reduces debugging. Flowcharting has two major advantages. First is diagnostics—every decision becomes a possible placeholder for automatic diagnostics. The other major benefit is modular, reusable, generic subroutines developed as libraries and samples."
Cutler-Hammer Automation (Westerville, O.) adds a Windows Explorer-like interface to its flowchart programming package for easier navigation and troubleshooting. A library of configurations make it easy to program many routines.
"Flowcharts are extensible," says Gary Marchuk, sales and marketing manager for Think & Do Software (Ann Arbor, Mich.). "Flowcharts allow for 'action' blocks within the program. Using extensibility adds functions such as PID loop control, serial communications, motion control, and string handling. A programmer can interact with control devices within a common programming environment with a common database."
Opto 22's (Temecula, Calif.) flowchart tools include real-time multitasking where each chart is a task and up to 31 charts can run at one time. Bob Sheffres, vice president of sales, adds, "Logic can flow any way the user requires without strict adherence to a numbering structure. Flowcharts can execute on a PC or in a variety of hardened controllers. There is direct connectivity to Microsoft SQL Server and Access from the control database for information handling. Support for intelligent I/O devices allows programming for actions executed at the I/O level, including PID, high-speed counting, event reactions, etc."
Pick a tool, any toolEvolution of Microsoft Windows as a widely used industrial platform has spawned a number of independent software developers who are finding ways to enhance the power of programming software. This competition has spurred others to innovate. The result is software that is more powerful and easier to use than ever before.
| For more information... | ||
| For more information, visit www.controleng.com/info
: |
||
| 3S | ASAP | Cutler-Hammer Automation |
| GE Fanuc Automation | Intellution | Klopper & Wiege |
| Microsoft | Mitsubishi Electric | Nematron |
| Opto 22 | Phoenix Contact | PLCopen |
| Rockwell Software | Schneider Automation | Siemens Energy & Automation |
| Softing | Steeplechase Software | Think & Do Software |
| TranSys | VMIC | Wonderware |
|



















View All Blogs



