Hi Graphical Programming Stretches Engineering Design Frontiers!.
No matter what the technical specialty, the education of most engineers includes at least a taste of a popular textual programming language, such as Java, C, C++ or Visual Basic, just to name a few.
Increasingly, though, unless an engineer wants to specialize in writing code for a living, he or she will likely work with a graphical programming language such as National Instruments’ LabVIEW or MathWorks’ Simulink.
Many engineers find these so-called data flow languages easier to learn than traditional textual programming. Instead of writing what can be tedious lines of code, engineers get a visual representation of their project by plugging in block diagrams that represent components and functions for applications such as test protocols, data acquisition and motion control. Moreover, users can avoid reinventing the wheel by tapping into libraries of similar applications that others have completed.
In short, these graphical programming languages are designed not so much for programming gurus but for engineers and scientists who “need to get stuff done” under tight deadlines.
Darren Nattinger, principal engineer in LabVIEW R&D, says “LabVIEW reflects how engineers naturally think. The logical elements you’re constructing involve a flow of data, and the programming environment helps you understanding how that data relates to the entire application.” He calls it an effective tool for quickly developing functional code.
Jason Ghidella, a Ph.D. aeronautical engineer and Simulink product manager, says “Simulink is a tool for modeling and simulating multidomain dynamic systems that include software, the physical components of a system, such as sensors and actuators, and even the environment in which the system operates.” With the tool, an engineering is able to see how all these pieces fit together and also may build algorithms, say, for motor control or signal processing.
Graphical programming also lets engineers validate whether a system will work before they build costly prototypes, says Ghidella. He says that it is often easier to model an electric motor in Simulink as opposed to a programming language like C. “You simply drop in a block diagram that represents the motor.”
This is not to say that traditional textual programming doesn't still play a major role in engineering projects, note both Nattinger and Ghildella. They say this is especially true when it comes to applications that require complex mathematical calculations.
Solving Real-world Problems:
With these advantages, it’s not surprising that graphical programming has spread within the engineering and scientific communities. LabVIEW’s user community has generated more than 800,000 posts on its online forum, where users can exchange files and assist one another in solving project challenges. Both LabVIEW and Simulink have spawned a growing cadre of third-party companies that offer add-on functions that engineers can purchase to supplement functional options that are packaged with the software. Functions include data acquisition, signal generation, mathematics, signal conditioning and more.
The kinds of applications that engineers are tackling with graphical programming grow almost daily. While instrument control, test protocols and industrial automation remain application stalwarts, engineers are embracing this software to solve complex challenges in fields that include automotive, aerospace, medicine, telecoms and energy management. Among examples of recent Simulink applications:
• Israel-based Nano-Retina used Simulink to model the function of an artificial retina it is developing, including the device’s photo diodes and the digital processing subsystem that generates signals used to stimulate neural activity. The Simulink environment also enabled the company’s engineers to combine the model with nonelectrical subsystems, such as the human eye and environmental conditions.
• An engineering team at Airnamics in Slovenia used Simulink to find 95% of control system bugs for a drone designed for cinematography. The team opted for Simulink after struggling unsuccessfully with handwritten code that made debugging and quality assurance activities difficult. And in a much different aerospace setting, astronauts inside the International Space Station have used Simulink to deploy bowling ball-sized satellites to test instructions for spacecraft performing autonomous rendezvous and docking maneuvers.
• Stem, a California startup aimed at reducing peak-demand electric power costs, designed its PowerStore energy system in 13 months using Simulink to model a control system that included components such as relays, inductors, DC-link capacitors and pulse width modulators. The modeling software reduced the number of required prototype boards, which typically cost $15,000 or more each and consume weeks of engineering time.
“Simulink fits especially well into dynamic applications, such as control design and signal processing, where time and frequency are key considerations,” says product manager Ghidella, who points to such emerging areas as development of active safety devices for cars and systems to manage the energy grid. “Not only are devices getting smarter, but they are being combined in complex, interrelated systems that demand very sophisticated control systems.”
Engineers who have adopted LabVIEW for programming also are pushing the envelope in new applications.
To cite some recent examples:
• To test its new wireless area networks (WLANs), Qualcomm Atheros engineers are using National Instruments’ PXI vector signal transceiver coupled with the LabVIEW field programmable gate array (FPGA) module achieves a 200-time reduction in test time. Qualcomm engineers say that compared to previous methods this results in lower test costs and better device characterization.
• The LabVIEW FPGA module is part of a system on module (SOM) that Airbus engineers are using to design and prototype “factory of the future” smart tools that simplify the drilling, tightening and measuring steps in airplane assembly. A typical airplane subassembly has about 400,000 points that need to be tightened, requiring more than 1,100 basic tools in the current production process. Airbus engineers estimate that delivery times for developing prototype control platforms for smart tools using the LabVIEW module and SOM is 1/10th of what was required with other approaches.
What distinguishes National Instruments’ offerings in graphical programming from that of other firms is that NI also sells companion hardware. An example is CompactRIO, a reconfigurable embedded control and acquisition system now found in all sorts of applications. For example, LocalGrid, a Canadian firm, is designing lower-cost, small-scale electric microgrids that combine conventional power sources with alternative wind and solar resources. In these systems, LocalGrid uses CompactRio to collect and process data from remote devices on the feeder network. The company also used LabVIEW to design the LocalGrid DataFabric software that deploys and controls its microgrids.
Productivity Push:
While graphic programming appears to be proving its worth in a raft of applications, developers of such products as LabVIEW and Simulink are feeling some heat from customers to make their software easier to use and more productive.
Simulink includes smart editing cues that select the programming blocks needed after a few key strokes. Source: MathWorks.
The 2014 Simulink releases, for example, include a feature that lets users create real-time applications from Simulink models and run them on dedicated computer hardware connected to a physical system. Potential applications include rapid control prototyping, DSP and vision system prototyping and hardware-in-the-loop simulation. Lockheed’s famed Skunkworks recently used this feature to design, simulate and test its X-56A research aircraft that is testing technologies aimed at making planes lighter and more energy-efficient.
Other new Simulink tools include smart editing cues that automatically select the programming blocks needed after a few key strokes, rather than having a user drag and drop blocks from a pallet. The latest release also lets engineers run multiple simulations faster and provides a new simulation data inspector to enhance model validation.
LabVIEW’s Nattinger says he pays close attention to user suggestions posted at the company’s Idea Exchange in developing new features that increase productivity and efficiency.
“The fundamental approach of LabVIEW is to construct logic on a block diagram,” he says. “You’ve got functions between which data flows, and the programmer connects those function nodes by drawing wires.” He says one of his favorite features in the company’s most recent release is the ability to wire multiple objects together with one key stroke.
With every LabVIEW release comes companion hardware supported by the graphical programming software. Among notable additions this year is VirtualBench, a compact instrument that can be programmed from PCs and tablets and that incorporates the functionality of five instruments in one: mixed-signal oscilloscope, digital multimeter, function generator, programmable DC power Supply and digital I/O.
As engineers tackle increasingly complex applications, the growth of graphical programming depends on more such innovations. Says Nattinger: “LabVIEW’s future will certainly include large, distributed, interconnected intelligent systems, such as power grids and smart factories. Our software must continue to keep pace.”