Out of the Rat’s Nest: Why we Designed a Software-Defined I/O Simulator

20160824_084704
Dash Test System

As an embedded developer of machine controls, the ultimate test for your software is to run on the target machine. Whether it’s an agricultural implement, a wood chipper, or a concrete paving machine, there comes a point where the software needs to meet the motors, solenoids and sensors.  The problem that we all face, though, is that program managers almost always want to have the software ready to run the prototype as soon as the machine is assembled.

That means we need to test machine control code without a machine. Here at DISTek, we are experts at designing, building and deploying model-in-the-loop (MIL) and hardware-in-the-loop (HIL) simulation systems that cover full-system functionality.  This allows the software on the controller to interact with a simulated version of the machine before the prototype is available.  This is state of the art, and it’s a sophisticated solution for sophisticated machines. Unfortunately, the cost and complexity of these systems can be overkill for simpler machines.

Less-complex approaches to filling this need are a wire harness test jig, the “dog house” that is covered in switches, knobs and LEDs that has wires poking out of every opening, or the dreaded “cardboard-in-the-loop” switch and LED rig.  Every controls developer has been in the situation where they patch in a few switches and hook up an LED or two to check the basic functionality of the software running on their controller.  Unfortunately, a single mistake in the test jig can cost additional hours of development time.  For example, working code can appear to have problems, when there’s actually an intermittent solder connection.

cardboard pic
Cardboard-in-the-loop.

DISTek’s Integrated Projects Engineering team provides turn-key embedded controls solutions for our clients’ products. To that end, we are constantly developing for different hardware platforms and software environments, and we’ve finally gotten to the point where we are sick and tired of soldering specialized wire harnesses together that serve the needs of only one application, on only one embedded hardware target.

We’ve also discovered that some clients support as many as 15 different applications with a single controller platform. For them, one of the most time consuming parts of switching between projects, which they seem to do all the time, is reviewing what inputs and outputs map to each switch on their test jig.  For one machine, pin 3 could be the emergency stop, for another it could be a pressure switch.  Trying to test these two similar applications on the same controller, with the same test jig, is time-consuming, error-prone and frustrating.

That’s when we started developing the Dash Test System, a ‘code-free’, easy to use, and re-configurable IO simulator. The Dash Test System replaces the functionality of a test harness and focuses on speed, customization, and usability for the engineer testing the code.  Instead of a poorly-labeled steel panel with a row of switches on it, the engineer can organize, color-code, scale and label the IO on their laptop screen with just a few clicks.

software-simulation
Software defined I/O simulation on a laptop

Now I can send the machine profile from my office in Milwaukee to my colleague at the Fargo office, so we have the same dashboard to test our code. If the system engineer adds a new sensor to the machine, it takes a few seconds to add it to our profile, and I can commit the changes to our code repository.  Our team couldn’t be happier to throw out the old wire harnesses.  Goodbye, rat’s nest!

The Dash Test System is available now, and can be adapted to your embedded controller. Contact DISTek to improve the way you test your machine controls!

Share this post with your friends.........
Facebooktwitterredditpinterestlinkedinmail

Follow DISTek......
Facebooktwitterlinkedinyoutube