Test & Measurement Automation

DMC's LabVIEW State Machine

Jody K.: The LabVIEW State Machine is actually something we developed internally here at DMC. It's something that we saw a need for so we built for ourselves, and then it's gone through several iterations. It actually started before I started at DMC, so probably six or seven years ago. 

A couple of engineers got together and developed a structure and a format that they liked, that they could standardize on for projects.

Darren Jones: Picture a car. A car states of being off, being on, being idol, being in drive, being in reverse. Each of those states has properties, essentially, and when it goes into and out of states there's certain things that it's capable of, the system is capable of. The system in this case being a car. So a State Machine is just a conceptual way of capturing that and applying rules to what should happen and when they should happen. 

Jesse Batsche: Basically, what the State Machine is, is a framework that allows us to break a system down into states, events and actions. It allows us to think about a system at a high level, kind of an abstract level in terms of what the system needs to do and almost more of a pseudocode or a plain English way of describing how the system would function under different conditions and then plan out how the system needs to operate and behave, in that context, before even having to sit down and actually write code. 

Jody K.: Yeah. The benefit to DMC's customers is huge on this one. Because we use the State Machine architecture, pretty much all of our projects follow a basic architecture. This lets any engineer jump into just about any project because they're familiar with the architecture, they can easily analyze it, you can easily go through it. And because of all of the logic is housed kind of outside of the code, it's easy to do a review on just the logic without understanding what every action and what every piece of code does. It's easy to get that high level, you know, thirty thousand feet sort of view. It's kind of the way you think naturally anyways. When you move that into a programming architecture, it allows a real natural flow from the way you think to the way you program. 

Jesse Batsche: DMC. 

Jody K.: Smart people. 

Darren Jones: Expert solutions.