![background image](http://html1.mh-extra.com/html/national-instruments/ni-can/ni-can_user-manual_3506864020.webp)
Chapter 1
Introduction
©
National Instruments Corporation
1-9
CAN network interface object attributes section in the
NI-CAN
Programmer Reference Manual
for details on how to use this attribute.
NI-CAN Software Overview
Independent Design
The NI-CAN Application Programming Interface (API), like most
National Instruments APIs, is largely independent of operating system and
programming language. You can use NI-CAN in a wide variety of
programming environments, including LabVIEW and C programming
environments such as LabWindows/CVI. Applications written for NI-CAN
are also portable across different operating systems, such as
Windows 98/95 and Windows NT.
In addition to being independent of operating system and programming
language, NI-CAN is designed to be largely independent of a specific
device network protocol. Device network independence means that where
possible, terminology specific to CAN alone is avoided so that the API can
be expanded later to support higher level protocols based on CAN.
Examples of such protocols include DeviceNet, Smart Distributed System
(SDS), and CANopen. Device network independence largely applies to
terminology such as function names, and in no way limits access to the
CAN network. For example, the function provided to read data from a CAN
frame is called
ncRead
, as opposed to a name specific to CAN, such as
ncReadCanFrame
.
Object-Oriented Design
NI-CAN often uses object-oriented terminology and concepts.
Object-oriented terminology provides an excellent model for describing
device networks in terms that are easy to understand.
In object-oriented terminology, the term
class
describes a classification of
an object, and the term
instance
refers to a specific instance of that object.
The term
object
is generally used as a synonym for instance. For example,
NI-CAN defines a class called the CAN Network Interface Object, which
encapsulates any network interface port on a National Instruments CAN
hardware product. Specific instances of the CAN Network Interface Object
are referenced with names like
CAN0
and
CAN1
. Each instance of a
particular class has
attributes
that define its externally visible qualities, as
well as
methods
that are used to perform actions. For example, each
instance of the CAN Network Interface Object has an attribute for the baud