
Custom Device Developer’s Guide © 2010 National Instruments 16 of 85
Non-trivial devices will require more advanced architecture. A requisite for custom device
development is thorough knowledge of LabVIEW programming and application architectures.
This knowledge represents NI Certified LabVIEW Developer (CLD) level expertise, and is
typically obtained through NI's Training and Certification program by completing the LabVIEW
Core 1, Core 2, and Core 3 courses.
It should be mentioned that NI VeriStand custom devices are typically not large LabVIEW
applications. Custom devices are designed to be modular, self-contained plug-ins that add a
specific functionality to NI VeriStand. While custom devices are typically developed by a single
programmer, large application development best-practices may still apply. See LabVIEW 2010
Help: Best Practices for Large Application Development for more information.
LabVIEW Real-Time Application Development
Custom devices are typically designed to execute on real-time systems. This allows the
operator to perform deterministic HIL and RT test procedures. Programming for a real-time
system requires knowledge of real-time operating systems (RTOS) and specialized LabVIEW
development techniques. This knowledge is typically obtained through NI's Training and
Certification program by completing the Real-Time Application Development course, and it is
refined by working on several LabVIEW Real-Time applications.
NI VeriStand Background
Familiarity with the NI VeriStand Engine is crucial to successful custom device development.
The correct type of custom device cannot be selected in the Custom Device Template Tool
without understanding the implications of each. This knowledge is typically obtained by reading
the NI VeriStand 2010 Help, with an emphasis on Understanding the VeriStand Engine.
Experience with NI VeriStand from an operator's perspective is highly desired. This experience
enables you to build operator-friendly interfaces that conform to the standard look and feel of
other NI VeriStand components. Familiarity with NI VeriStand allows the developer to build-up a
complex system definition, which allows thorough and realistic testing and benchmarking.
Hardware Driver Development
Custom device must call a hardware or instrument driver to support 3
rd
-party hardware. All
National Instruments hardware comes with a LabVIEW Application Program Interface (API) that
can be used in the custom device. However, just because a LabVIEW API exists does not
guarantee the custom device can be easily implemented. Consider the following points when
evaluating the feasibility of a custom device for 3
rd
-party hardware.
Does an Instrument Driver exist? See NI Developer Zone » Instrument Driver Network to
search for instrument drivers.
Is a hardware driver available?
Is the driver well documented?
If necessary, is the driver compatible with LabVIEW Real-Time? See KnowledgeBase
3BMI76L1: How Can I Verify that My DLL is Executable in LabVIEW Real-Time for
instructions on checking compatibility.
NI VeriStand uses channels to pass data between different parts of the system, including to and
from custom devices. All NI VeriStand channels are LabVIEW double data type (DBL). See
LabVIEW 2010 Help » Fundamentals » Building the Block Diagram » How-To » Floating Point
Numbers for more information on LabVIEW data types.