By Jim Montague, Executive Editor
If a picture is worth 1,000 words, then it also must be worth some lines of programming code. That's the logic—no pun intended—behind graphical or object-oriented programming as it's evolved and picked up new names in recent years.
Graphical programming's basic premise is that images can be used and reused to represent functions that previously employed only text-based code. However, since these image-enabled programming methods gained acceptance and went mainstream, many users are deploying them in increasingly varied ways.
Some industrial machine automation and controls systems even seem poised to adopt graphical programming apps in the same way that Apple's iPhones and iTouches do it.
"Graphical programming continues the natural paradigm of engineers using representations of their thought processes to approach and solve problems," says Jeff Phillips, National Instruments' (www.ni.com) LabView product marketing manager. "In the past, this meant boxes and arrows on a flowchart, and this has evolved into better representations on-screen. Graphical programming lines up better with how engineers' minds work. In the past five years, we've seen the emergence of parallelism, in which multi-core and multi-threading increase processing power."
Phillips says graphical programming also has been aided by better memory handling, which improves how compilers read graphical programs. "These improved data flows also improve graphical programming's ability to represent state-based modeling applications," he says.
In the future, Phillips predicts that the formerly separate buckets of graphical programming and CAD/CAM for HMIs will flow together. One effort already underway is called "hardware in the loop (HIL)," and it reportedly lets designers take their physical designs and use PC-based hardware to, for example, graphically simulate and test an engine's entire dynamics in software.
"Not only is there much less typing with graphical and flowchart programming, but everyone from regular guys to Ph.Ds can grasp it and use its condition and action blocks with a few minutes of training," adds Ben Orchard, applications engineer at Opto 22 (www.opto22.com). "Lately, many more powerful commands are available, such as our PAC Control 8.5's Communications Handle, which users can program visually in a flowchart and then order their controllers to go out, pull down Web pages in devices and sift them for the parameters those controllers need to run."
Dan DeYoung, marketing manager for Rockwell Automation's (www.rockwellautomation.com) controller software division, says users want to decompose computer logic and break it into modular pieces for different applications, so they can interact with other functions and equipment. "Our RS Logix 5000 software decomposes logic via tasks, programs and routines that are linked to different phases of their machines and can monitor those phases," he says. "We also see the evolution of off-the-shelf library functions such as RS Logix Architect, which can house the objects, functions and instructions that users employ, so they can create functional instructions without moving code."
Besides software libraries, DeYoung reports that users can post and share sample programs and applications on Rockwell Automation's website. These include simple applications that enable instruments to handle daylight-savings-time changes in their controllers or enable an HMI to access objects in a controller.
"One of our customers was building nine high-speed packaging machines and had separate teams each doing their own homing routines for their servos," explains DeYoung. "They each had different tasks in different places, and so their code was inconsistent. We helped encapsulate their code in one library object. This let them drag it to their applications and tweak it as needed." The result, says DeYoung, was more consistent with less effort.
"In the future, instead of having graphical programs that can be dragged from a library to machines, we'll have software that's more system-to-system and automatically can populate all the projects in an application at once," predicts DeYoung.