Selecting a Framework: Classic vs. Express

VeriStand provides two frameworks you can use to create the LabVIEW project for a Custom Device, and both produce fully functional VeriStand Custom Devices. Regardless of which framework you choose, Custom Devices work the same way and the basic concepts remain the same — the framework only affects your starting point, not how the Custom Device ultimately operates.

The Classic framework is the original, long-established framework; it contains basic boilerplate code and provides greater flexibility over the Custom Device architecture.

The Express framework is the newer framework; its boilerplate code offers a better starting point by auto-generating some aspects of the Custom Device, at the cost of more constraints on how you design and architect it.

The two frameworks differ in how much you author versus how much the framework generates for you, and in the amount of architectural control you retain as a result. Use the details below to decide which framework best fits your project.

Classic framework

Select the Classic framework when you want more control over the overall architecture. Classic is the right choice when the following apply to your project.

  • You do not need auto-generated components. The scripting API, System Explorer UI, and LabVIEW cluster type definitions that represent your settings and channels are not generated for you — and you are comfortable authoring them yourself.

  • You want full control over the architecture. Classic gives you maximum flexibility in how the UI is created, how settings are set and retrieved, and how the Custom Device API is used within the engine. There are no framework-imposed constraints on where or how you access configuration data.

  • You do not need a standalone test bench. If you do not require the ability to test and debug the Custom Device engine code in standalone mode — outside of VeriStand — then the additional tooling Express provides offers no benefit for your workflow.

In short, Classic trades convenience for flexibility. You write more code up front, but you are free to structure the Custom Device however your requirements demand.

Express framework

Select the Express framework when you want a better boilerplate template as a starting point and are willing to work within the framework’s structure in exchange for the productivity it provides. Express is the right choice when the following apply to your project.

  • Your Custom Device fits a supported execution mode. Express supports only the Inline Hardware Interface and Inline-Async Hardware Interface execution modes. If your Custom Device requires any of the other execution modes — Asynchronous, Inline Model Interface, Inline Timing and Sync, or Asynchronous Timing and Sync — you must use the Classic framework.

  • You want standalone testing and debugging. Express includes a Test Bench (the Custom Device Test Bench library) that lets you test and debug your engine code in standalone mode, outside of VeriStand, using breakpoints, probes, and logs on your development PC without a full deployment.

  • You are able to plan the Custom Device up front. Express requires you to plan the Custom Device at the beginning — which sections, channels, and waveform types you need, how they are arranged in the System Explorer hierarchy, and how each setting is accessed in the engine. This plan is captured in the XML definition you provide to the wizard when creating the project, and the rest of the template is auto-generated from it. Since the template is generated from your initial plan, changing the Custom Device structure later means updating the definition and regenerating.

  • You want out-of-the-box components. Express provides a ready-made System Explorer UI, scripting APIs, and LabVIEW clusters that represent your settings and channel groupings — all generated for you from a single XML definition.

Summary

Consideration

Classic

Express

Supported execution modes

All modes

Inline Hardware Interface and Inline-Async Hardware Interface only

Auto-generated System Explorer UI

No — author manually

Yes

Auto-generated scripting API

No — author manually

Yes

Auto-generated LabVIEW clusters for settings and channel groups

No — author manually

Yes

Control over architecture, UI, and settings access

Maximum flexibility

Constrained by the framework

Standalone engine testing and debugging outside VeriStand

Not provided

Provided

Up-front planning required

Minimal

Plan sections, channels, waveforms, hierarchy, and engine access before generating