Glossary

NI-CAN

Glossary

Prefix Meaning Value
n- nano- 10 -9
m- milli- 10 -3
k- kilo- 10 3
M- mega- 10 6

A

actionSee method.
actuatorA device that uses electrical, mechanical, or other signals to change the value of an external, real-world variable. In the context of device networks, actuators are devices that receive their primary data value from over the network; examples include valves and motor starters. Also known as final control element.
Application Programming Interface (API)A collection of functions used by a user application to access hardware. Within NI-CAN, you use API functions to make calls into the NI-CAN driver. NI-CAN provides two different APIs: the Frame API and Channel API.
arbitration IDAn 11- or 29-bit ID transmitted as the first field of a CAN frame. The arbitration ID determines the priority of the frame, and is normally used to identify the data transmitted in the frame.
attributeThe Frame API provides attributes to access configuration settings or other information. In the Channel API, the term property is used for similar settings.

B

bBits.
Behavior After Final OutputProperty in the Channel API that specifies the behavior to perform after the final periodic output sample is transmitted. For more information, refer to CAN Set Property.vi for LabVIEW, or nctSetProperty for C.
bus offA CAN node goes into the bus off state when its transmit error counter increments above 255. The node does not participate in network traffic, because it assumes that a defect exists that must be corrected.

C

CANController Area Network.
CAN/LSSee Low-speed CAN.
CAN ChannelsSee channel.
CAN controllerCommunications ship used to transmit and receive frames on a CAN network. The majority of the CAN specification is implemented within the CAN controller. Examples of CAN controllers include the Intel 82527 (used by Series 1 NI CAN hardware), and the Philips SJA1000 (used by Series 2 NI CAN hardware).
CANdbCAN database format defined by Vector Informatik. CANdb files use the .dbc file extension.
CAN databaseDatabase file that describes channels and associated messages for a collection of CAN nodes. NI-CAN supports two CAN database formats: CANdb, and the NI-CAN database.
CAN data frameFrame used to transmit the actual data of a CAN Object. The RTR bit is clear, and the data length indicates the number of data bytes in the frame.
CAN frameIn addition to fields used for error detection/correction, a CAN frame consists of an arbitration ID, the RTR bit, a four-bit data length, and zero to eight bytes of data.
CAN Network Interface ObjectWithin the NI-CAN Frame API, an object that encapsulates a CAN interface on the host computer.
CAN ObjectWithin the NI-CAN Frame API, an object that encapsulates a specific CAN arbitration ID along with its raw data bytes.
CAN remote frameFrame used to request data for a CAN Object from a remote node; the RTR bit is set, and the data length indicates the amount of data desired (but no data bytes are included).
channelFloating-point value in physical units (such as Volts, rpm, km/h, °C, and so on) that is converted to/from a raw value in measurement hardware.

The Read and Write functions of the NI-CAN Channel API provide access to CAN channels. When a CAN message is received, NI-CAN converts raw fields in the message into physical units, which you then obtain using the Channel API Read function. When you call a Channel API Write function, you provide floating-point values in physical units, which NI-CAN converts into raw fields and transmits as a CAN message.

For an example usage of the channel concept, refer to the Channel API section in Introduction.
Channel APINI-CAN API that you use to read and write channels.
channel listInput parameter of the CAN Init Start function. The channel list specifies the list of channels to read or write. For more information, refer to CAN Init Start.vi for LabVIEW, or nctInitStart for C.
ChannelListSee channel list.
classA set of objects that share a common structure and a common behavior.
clock driftWhen two or more hardware products are used to measure a common system, you typically need to compare data from the hardware products simultaneously. Since each hardware product contains its own local oscillator to perform measurements, and all oscillators differ slightly in speed and tolerances, measurements on different hardware products can drift relative to one another. For example, if you measure the same sine wave on two different analog-input products, the measured sine waves typically drift out of phase after a few minutes.

National Instruments products use RTSI to share timebases among different hardware products. Since the products share the same oscillator, clock drift is eliminated.
connectionWith respect to networking, this term refers to an association between two or more nodes on a network that describes when and how data is transferred.

With respect to RTSI, this term refers to a connection between two or more terminals.
controllerWith respect to CAN, this term often refers to a CAN controller.

With respect to real-time systems, this term refers to a device that receives input data and sends output data in order to hold one or more external, real-world variables at a certain level or condition. A thermostat is a simple example of a controller.

D

Default ValueProperty in the Channel API that specifies the default value for a channel. For more information, refer to CAN Get Property.vi for LabVIEW, or nctSetProperty for C.
deviceSee node.
device networkMulti-drop digital communication network for sensors, actuators, and controllers.
DLLDynamic link library.
DMADirect memory access.

E

error activeA CAN node is in error active state when both the receive and transmit error counters are below 128.
error countersEvery CAN node keeps a count of how many receive and transmit errors have occurred. The rules for how these counters are incremented and decremented are defined by the CAN protocol specification.
error passiveA CAN node is in error passive state when one or both of its error counters increment above 127. This state is a warning that a communication problem exists, but the node is still participating in network traffic.
extended arbitration IDA 29-bit arbitration ID. Frames that use extended IDs are often referred to as CAN 2.0 Part B (the specification that defines them).

F

FCCFederal Communications Commission.
filepathComplete path to a filename using Windows conventions, such as: C:\Program Files\National Instruments\NI-CAN\MyDatabase.ncd
frameA unit of information transferred across a network from one node to another. From an OSI perspective, NI-CAN's usage of the term frame refers to a Data Link Layer unit, because individual fields are not specified.
Frame APINI-CAN API that you use to read and write frames.

H

hexHexadecimal.
HzHertz; cycles per second.

I

instanceAn abstraction of a specific real-world thing; for example, John is an instance of the class Human. Also known as object.
Interface Baud RateProperty in the Channel API that specifies the baud rate of the interface. For more information, refer to CAN Set Property.vi for LabVIEW, or nctSetProperty for C.
interfaceReference to a specific CAN port in the NI-CAN software. NI-CAN interface names are assigned within MAX, and can range from CAN0 to CAN63.

In the Channel API, the interface is specified during initialization of the task. For more information, refer to CAN Init Start.vi for LabVIEW, or nctInitStart for C.

In the Frame API, the interface is specified during configuration of the CAN Network Interface Object. For more information, refer to ncConfigCANNet.vi for LabVIEW, or ncConfig for C.
InterfaceSee interface.
Interface Receive Error CounterEvery CAN node keeps a count of how many receive errors have occurred. The rules for how this counter is incremented and decremented are defined by the CAN protocol specification. This property in the Channel API returns the receive error counter. For more information, refer to CAN Get Property.vi for LabVIEW or nctGetProperty for C.
Interface Single Shot TransmitProperty in the Channel API that determines whether to retry failed frame transmissions or transmit as a single-shot. For more information, refer to CAN Set Property.vi for LabVIEW, or nctSetProperty for C.
Interface Transmit Error CounterEvery CAN node keeps a count of how many transmit errors have occurred. The rules for how this counter is incremented and decremented are defined by the CAN protocol specification. This property in the Channel API returns the transmit error counter. For more information, refer to CAN Get Property.vi for LabVIEW, or nctGetProperty for C.
ISOInternational Standards Organization.

K

KBKilobytes of memory.

L

LabVIEWLaboratory Virtual Instrument Engineering Workbench.
localWithin NI-CAN, anything that exists on the same host (personal computer) as the NI-CAN driver.
local wakeupWakeup of the CAN transceiver from sleep mode caused by the call to an NI-CAN function, such as setting Transceiver Mode to Normal.
Low-speed CANFault-tolerant CAN transceiver specification as defined in ISO 11898.

M

MAXMeasurement & Automation Explorer provides a centralized location for configuration of National Instruments hardware products. MAX also provides many useful tools for interaction with hardware.
MBMegabytes of memory.
messageCAN data frame for which the individual fields are described. From an OSI perspective, NI-CAN usage of the term frame refers to a User Layer unit, because the Application Layer is assumed (simple peer-to-peer protocol), and the channel configurations specify User Layer meaning.
methodAn action performed on an instance to affect its behavior; the externally visible code of an object. Within NI-CAN, you use NI-CAN functions to execute methods for objects. Also known as service, operation, and action.
minimum intervalFor a given connection, the minimum amount of time between subsequent attempts to transmit frames on the connection. Some protocols use minimum intervals to guarantee a certain level of overall network performance.
modeInput parameter of the CAN Init Start function. The mode specifies the direction of data transfer (input or output), and the type of information provided (input or timestamped input). For more information, refer to CAN Init Start.vi for LabVIEW, or nctInitStart for C.
ModeSee mode.
multi-dropA physical connection in which multiple devices communicate with one another along a single cable.

N

network interfaceA physical connection of a node onto a network.
NI-CAN databaseCAN database format defined by National Instruments. NI-CAN database files use the .ncd file extension.
NI-CAN driverDevice driver and/or firmware that implement all the specifics of a CAN network interface. Within NI-CAN, this software implements the CAN Network Interface Object as well as all objects above it in the object hierarchy.
nodeA physical assembly, linked to a communication line (cable), capable of communicating across the network according to a protocol specification. Also known as device.
notificationWithin NI-CAN, an operating system mechanism that the NI-CAN driver uses to communicate events to the application. You can think of a notification of as an API function, but in the opposite direction.

O

objectSee instance.
object-orientedA software design methodology in which classes, instances, attributes, and methods are used to hide all of the details of a software entity that do not contribute to its essential characteristics.
OSIOpen Systems Interconnection (OSI) is a collection of ISO standards for communication protocols. Most people reference OSI in the context of the layers that it specifies for all communication protocols. The Physical Layer refers to physical connectors, cabling, and signal characteristics. The Data Link Layer refers to the fundamental frame format. The Application Layer refers to connection establishment and other higher-level transactions between nodes. The User Layer is an informal term that refer to the definition of specific fields in Application Layer messages that define how an application uses the protocol.

P

peer-to-peerNetwork connection in which data is transmitted from the source to its destination(s) without need for an explicit request. Although data transfer is generally unidirectional, the protocol often uses low level acknowledgments and error detection to ensure successful delivery.
periodicConnections that transfer data on the network at a specific rate.
polledRequest/response connection in which a request for data is sent to a device, and the device sends back a response with the desired value.
poly VILabVIEW VI that accepts different data types for a single input or output terminal. In some cases, the data type can be selected based on the value that you wire to the poly input or output. To select a specific poly VI type, right-click the VI, go to Select Type, and select the desired type. For more information, refer to the LabVIEW documentation.

Like many other National Instruments APIs, the NI-CAN Channel API implements Read and Write as poly VIs in order to support a variety of data types.
polymorphic VISee poly VI.
portThe physical CAN connector on the NI-CAN hardware product. You assign an interface name to each port using MAX.
propertyThe Channel API provides properties to access configuration settings or other information. LabVIEW also uses the term property for settings of front panel controls and indicators. In the Frame API, the term attribute is used for similar settings.
property nodesIn LabVIEW, you can use property nodes to change the appearance or behavior of front panel controls and indicators. For example, you can change the label, minimum value, and maximum value of an indicator. For more information, refer to the LabVIEW documentation.
protocolA formal set of conventions or rules for the exchange of information among nodes of a given network.

R

RAMRandom-access memory.
remoteWithin NI-CAN, anything that exists in another node of the device network (not on the same host as the NI-CAN driver).
Remote Transmission Request (RTR) bitThis bit follows the arbitration ID in a frame, and indicates whether the frame is the actual data of the CAN Object (CAN data frame), or whether the frame is a request for the data (CAN remote frame).
remote wakeupWakeup of the CAN transceiver from sleep mode caused from an event on the network.

A remote wakeup occurs when a remote node transmits a CAN frame (referred to as the wakeup frame). The wakeup frame wakes up the transceiver and CAN controller chip of the NI CAN interface. The wakeup frame is not received or acknowledged by the CAN controller chip. When the wakeup frame ends, the NI CAN interface enters Normal mode, and again receives and transmits CAN frames. If the node that transmitted the wakeup frame did not detect an acknowledgement (such as if other nodes were also waking), it will retry the transmission, and the retry will be received by the NI CAN interface.

For a remote wakeup to occur for Single Wire transceivers, the node that transmits the wakeup frame must first place the network into the Single Wire Wakeup Transmission mode by asserting a higher voltage (typically 12 V).

request/responseNetwork connection in which a request is transmitted to one or more destination nodes, and those nodes send a response back to the requesting node. In industrial applications, the responding (slave) device is usually a sensor or actuator, and the requesting (master) device is usually a controller. Also known as master/slave.
resourceHardware settings used by National Instruments CAN hardware, including an interrupt request level (IRQ) and an 8 KB physical memory range (such as D0000 to D1FFF hex).
RTSIReal Time System Integration bus. National Instruments technology that can be used to synchronize multiple hardware products. For PCI products, this refers to the ribbon cable that is used to route signals between cards. For PXI products, the RTSI signals are provided on the backplane. For PCMCIA products, RTSI signals can be connected between the sync cable of a CAN card and the terminal block of a DAQ card.

S

sSeconds.
sampleA floating-point value that represents physical units. In the NI-CAN Channel API, you Read and Write samples using channels.
sample rateInput parameter of the CAN Init Start function. The sample rate specifies whether to transfer data in a periodic or event-driven manner. For periodic behavior, the rate specifies the number of read/write samples to perform per second. For more information, refer to CAN Init Start.vi for LabVIEW, or nctInitStart for C.
SampleRateSee sample rate.
sensorA device that measures electrical, mechanical, or other signals from an external, real-world variable; in the context of device networks, sensors are devices that send their primary data value onto the network; examples include temperature sensors and presence sensors. Also known as transmitter.
Series 1 National Instruments hardware for CAN that shipped prior to NI-CAN 2.0. NI-CAN supports this hardware series, but some new features require Series 2 hardware.
Series 2 National Instruments hardware for CAN that shipped after NI-CAN 2.0. Improvements relative to Series 1 include a superior CAN controller (Philips SJA1000), and improved RTSI features.
signalTerm used by other vendors of CAN products to refer to a CAN channel.

For National Instruments products, this term usually refers to a physical voltage that represents a predefined behavior. For example, RTSI connections are used to exchange signals.
standard arbitration IDAn 11-bit arbitration ID. Frames that use standard IDs are often referred to as CAN 2.0 Part A; standard IDs are by far the most commonly used.
start triggerWhen two or more hardware products are used to measure a common system, you typically need to compare data from the hardware products simultaneously. Since each hardware product starts its measurement independently, measurements on different hardware products can often be skewed in time relative to one another. For example, if you measure the same sine wave on two different analog-input products, the measured sine waves start off out of phase.

National Instruments products use RTSI to share start triggers among different hardware products. Since the products share the same start trigger, measurements begin at the same time.
synchronize Connection of two or more hardware products in order to measure a common system. For National Instruments products, RTSI connections are used to synchronize.

Although there are a variety of ways to synchronize National Instruments products, a common technique is to share a timebase and start trigger over RTSI in order to eliminate clock drift and startup skew.

T

taskA collection of channels that you can read or write. The task is returned as an output parameter of the CAN Init Start function, and is used for all subsequent Channel API calls such as Read or Write. For more information, refer to CAN Init Start.vi for LabVIEW, or nctInitStart for C.
terminalA physical pin on a hardware component. RTSI signals are one type of terminal. Internal connections within hardware products are another type of terminal.
timebaseThe fundamental clock used to perform measurement. National Instruments synchronization features allow the timebase of one product to be shared with another in order to eliminate clock drift.
TimeoutProperty in the Channel API that specifies the behavior the timeout in milliseconds for Read and Write functions. For more information, refer to CAN Set Property.vi for LabVIEW, or nctSetProperty for C.

U

unsolicitedConnections that transmit data on the network sporadically based on an external event. Also known as nonperiodic, sporadic, and event driven.

V

VIVirtual Instrument.

W

watchdog timeoutA timeout associated with a connection that expects to receive network data at a specific rate. If data is not received before the watchdog timeout expires, the connection is normally stopped. You can use watchdog timeouts to verify that the remote node is still operational.
waveform data typeLabVIEW data type that represents a sequential list of samples in time. The data type includes the array of samples (each a DBL), a start time that specifies when the first sample was measured, and a delay time that specifies the time between samples (sample rate) or more information, refer to the LabVIEW documentation.

The Read and Write functions of the Channel API support the LabVIEW waveform data type.