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.
The motivation behind the CMC Driver Framework is to program for a device type once (i.e. DC Power Supply), and then never need to touch that code again when changing hardware or communication protocol. This greatly reduces total cost of ownership and speeds up time to completion. By taking advantage of simulation, development can even occur before hardware becomes available.
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:
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.
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, VISA USB, VISA LAN, TCP, GPIB 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.
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.
Event Logger (Coming Soon)
The Event Logger is a pre-built 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.
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.