System design: Agile programming streamlines software development

Agile programming helps identify and prioritize programming tasks in need of attention and address them one at a time. This involves some research, coding, and especially testing, and aims to streamline the code development lifecycle to enhance future machine designs.

07/11/2013


Figure 1: TwinCAT Simulation Manager: With the recent release of TwinCAT 3, Matlab/Simulink can be used as a simulation system that’s integrated into the main automation software platform. Courtesy: Beckhoff AutomationIn the lifecycle of a machine from inception through implementation, code can be effectively developed and tested through simulation. The right programming tools are essential to simplify design, especially as functionalities are integrated. Virtual reality machine design and modeling environment described below may be available in the future.

Future of machine design

After arriving at work, you position your chair and put on your virtual reality glasses and gloves. You start designing by asking for material such as “A10,” then stretching it to the desired size, continuing with other virtual parts until the whole machine is designed. The machine looks good as it rotates in front of you, but now comes the fun part. By selecting machine pieces and describing how they move, you can simulate how the machine will operate on the plant floor. Once satisfied, a verbal command will yield assembly/detail drawings and code for the machine controller. The end product is also a model, not just a machine design. It can be used to predict operations when using different product elasticity or weight, for instance.

Figure 2: Matlab/Simulink simulation of a temperature controller viewed from TwinCAT 3: The following figure shows a simulation of a pallet transfer system developed in TwinCAT. Pallets are grouped as they travel through the process. Simulation resolves the challenge of how to move an incoming pallet, have it catch up with the other pallets before the process starts positioning, and avoid bumping the other pallets. Courtesy: Beckhoff Automation

When virtual reality machine design and modeling is possible, you might feel like you’re in an aerobics class rather than an engineering office, but for now, we still use software products that are a little less sci-fi to accomplish our design goals. Development, simulation, and modeling software tools are generally implemented in separate packages. The package count increases because the engineering disciplines, such as mechanical, electrical, and control, frequently have their own dedicated software.

Goal: Easier programming

As a programmer, my primary goal is to make innovative machines that offer outstanding performance, and for this I use every trick in the book. One trick is to start with a framework that already has time-saving features such as error handling and recipe management. This frees up my time to concentrate on the machine-specific issues, and for those I use agile programming. The term “agile programming” means identifying and prioritizing programming tasks that are in need of attention and addressing them one at a time. This involves some research, coding, and especially testing.

Figure 3: Simulation of a pallet transfer system, a rotating wheel with a tool. Products enter at random intervals so the tool must re-synchronize for each product and the position of the re-synchronization must be shifted down with the incoming product.

Users can simplify research, coding, and testing with Beckhoff’s TwinCAT software, to develop automation system code and test it by simulating how it will work on production machinery. This results in proven code that’s ready to automate the machine as soon as it’s assembled.

After all, machine start-up should be a commissioning effort by adjusting sensors and timers, rather than a software debug effort with major code rewrites. The software also can assist in “rapid control prototyping,” which consists of several steps:

  • Creation of a model of the system to be automated
  • Design of the controller
  • Simulation of the entire system
  • Implementation of the controller design on the target platform
  • Test of the implementation by coupling the target platform to the system model, “software in the loop” (SIL) 
  • Test of the real system with the real controller.

Figure 4: Simulation of a rotating wheel with a tool illustrates how code can be effectively developed and tested through simulation. Courtesy: Beckhoff AutomationTools can assist in simulation. The TwinCAT Simulation Manager simplifies configuration of a simulation environment, which integrates into the TwinCAT system environment. This tool supports the creation of a “virtual machine,” which corresponds to a real one in its runtime performance. In the lifecycle of a machine from inception through implementation, the right programming tools are essential.

- Gary Kirckof is application engineer manager at Beckhoff Automation. Edited by Mark T. Hoske, content manager, CFE Media, Control Engineering, mhoske(at)cfemedia.com.

ONLINE

www.beckhoffautomation.com/TwinCAT3 



No comments
The Engineers' Choice Awards highlight some of the best new control, instrumentation and automation products as chosen by...
Each year, a panel of Control Engineering editors and industry expert judges select the System Integrator of the Year Award winners.
Control Engineering Leaders Under 40 identifies and gives recognition to young engineers who...
Learn more about methods used to ensure that the integration between the safety system and the process control...
Adding industrial toughness and reliability to Ethernet eGuide
Technological advances like multiple-in-multiple-out (MIMO) transmitting and receiving
Virtualization advice: 4 ways splitting servers can help manufacturing; Efficient motion controls; Fill the brain drain; Learn from the HART Plant of the Year
Two sides to process safety: Combining human and technical factors in your program; Preparing HMI graphics for migrations; Mechatronics and safety; Engineers' Choice Awards
Detecting security breaches: Forensic invenstigations depend on knowing your networks inside and out; Wireless workers; Opening robotic control; Product exclusive: Robust encoders
The Ask Control Engineering blog covers all aspects of automation, including motors, drives, sensors, motion control, machine control, and embedded systems.
Join this ongoing discussion of machine guarding topics, including solutions assessments, regulatory compliance, gap analysis...
News and comments from Control Engineering process industries editor, Peter Welander.
IMS Research, recently acquired by IHS Inc., is a leading independent supplier of market research and consultancy to the global electronics industry.
This is a blog from the trenches – written by engineers who are implementing and upgrading control systems every day across every industry.
Anthony Baker is a fictitious aggregation of experts from Callisto Integration, providing manufacturing consulting and systems integration.
Integrator Guide

Integrator Guide

Search the online Automation Integrator Guide
 

Create New Listing

Visit the System Integrators page to view past winners of Control Engineering's System Integrator of the Year Award and learn how to enter the competition. You will also find more information on system integrators and Control System Integrators Association.

Case Study Database

Case Study Database

Get more exposure for your case study by uploading it to the Control Engineering case study database, where end-users can identify relevant solutions and explore what the experts are doing to effectively implement a variety of technology and productivity related projects.

These case studies provide examples of how knowledgeable solution providers have used technology, processes and people to create effective and successful implementations in real-world situations. Case studies can be completed by filling out a simple online form where you can outline the project title, abstract, and full story in 1500 words or less; upload photos, videos and a logo.

Click here to visit the Case Study Database and upload your case study.