CMC Driver Framework

The CMC Driver Framework is an advanced framework for developing and implementing hardware abstraction layers in LabVIEW. It consists of the Driver Framework Core and any number of hardware or protocol plugins that provide additional APIs for working with a wide range of devices and instruments.

CMC Driver Framework Core

The CMC Driver Framework Core is a free product and provides the backbone for all of the device-type APIs and protocol plugins that can be used with the Driver Framework. It's primary components are:

  1. CMC Configuration Manager 
    The CMC Configuration Manager provides a graphical user interface to generate device and communication protocol configurations. These configurations can then be used and re-used across different applications to set up, configure, and use the associated device or communication protocol. 

  2. Instrument Control API
    The CMC Driver Framework abstracts both hardware and the communication protocol used to communicate with the specified hardware. As such, by programming with the Instrument Control API you can switch between Serial, USB, VISA TCP, TCP, and other communication protocols without changing any code. You just specify a different configuration created with the CMC Configuration Manager. All CMC Device-Type APIs and associated drivers make use of the Instrument Control API.

  3. Console
    The console enables you to monitor all communication between your program and the device while your program is running. It provides timing and directional (to or from device) information, as well as the ability to insert commands into the data stream during program execution. 

  4. Event Logger
    The Event Logger is a pre-made logging tool that informs you of any errors or other events that occur in the CMC Driver Framework code. You can use the Event Logger API to integrate it into the rest of your code, enabling you to automatically log errors or simply mark events of interest during program execution for debugging purposes. The Event Logger UI can be used to review all logged events, search for specific event text, and filter by event type.

Device-Type APIs

 The CMC Driver Framework driver family is constantly growing, and we continue to add new product and device-type support. Every device type (i.e. DC Power Supplies, Digital Multimeters, etc.) that we support has a unique API that is used to program that device type. Therefore, regardless of the instrument you have selected, you program for a device-type and never for a specific instrument. This enables you to switch instruments at any time without changing code. It simply requires changing which configuration you have selected.

All instrument drivers that CMC creates make use of the Driver Framework's Device-Type APIs.