Справочник Пользователя для National Instruments NI-DNET

Скачать
Страница из 86
Chapter 3
Developing Your Application
© National Instruments Corporation
3-11
If you use two different applications on the same interface and open I/O 
connections to different devices, you must set 
PollMode
 to either 
Scanned
 or 
Individual
. You cannot use 
PollMode
 of 
Automatic
because that requires all I/O connections to be open prior to the first start 
of communication.
Checking Status in LabVIEW
For applications written in LabVIEW, status checking is handled 
automatically. For all NI-DNET functions, the lower left and right 
terminals provide status information using LabVIEW Error Clusters. 
LabVIEW Error Clusters are designed so that status information flows 
from one function to the next, and function execution stops when an error 
occurs. For more information, refer to the Error Handling section in the 
LabVIEW online reference.
Within your LabVIEW block diagram, you wire the 
Error in
 and 
Error out
 terminals of NI-DNET functions together in succession. 
When an error is detected in an NI-DNET function (
status
 field true), 
all NI-DNET functions wired together are skipped except for 
ncCloseObject
. The 
ncCloseObject
 function executes regardless 
of whether an error occurred, thus ensuring that all NI-DNET objects are 
closed properly when execution stops due to an error. Depending on how 
you want to handle errors, you can wire the 
Error in
 and 
Error out
 
terminals together per-object (group a single open/close pair), per-device 
(group together Explicit Messaging and I/O Objects for a given device), or 
per-network (group all functions for a given interface).
As with any other LabVIEW error cluster, you can view error descriptions 
using built-in LabVIEW features such as Explain Error in the Help menu, 
or the Simple Error Handler VI in your diagram.
Checking Status in C, C++, and Visual Basic
Each C language NI-DNET function returns a value that indicates the status 
of the function call. This status value is zero for success, greater than zero 
for a warning, and less than zero for an error.
After every call to an NI-DNET function, your program should check to see 
if the return status is nonzero. If so, call the 
ncStatusToString
 function 
to obtain an ASCII string which describes the error/warning. You can then 
use standard C function, such as 
printf
, to display this ASCII string.