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

Скачать
Страница из 86
Chapter 4
NI-DNET Programming Techniques
© National Instruments Corporation
4-13
easiest way to execute the Set Attribute Single service on a remote device 
is to use the NI-DNET 
ncSetDnetAttribute
 function.
For a given attribute of a DeviceNet device, you need the following 
information to use the 
ncGetDnetAttribute
 or 
ncSetDnetAttribute
 
function:
The class and instance identifiers for the object in which the attribute 
is located
The attribute identifier
The attribute’s DeviceNet data type
You can normally find this information from the object specifications 
contained in the DeviceNet Specification, but many DeviceNet device 
vendors also provide this information in the device’s documentation.
For the C programming language, the attribute’s DeviceNet data type 
determines the corresponding NI-DNET data type you use to declare a 
variable for the attribute’s value. For example, if the attribute’s DeviceNet 
data type is 
INT
 (16-bit signed integer), you should declare a C language 
variable of type 
NCTYPE_INT16
, then pass the address of that variable as 
the 
Attr
 parameter of the 
ncGetDnetAttribute
 or 
ncSetDnetAttribute
 function.
For LabVIEW, the attribute’s DeviceNet data type determines 
the corresponding LabVIEW data type to use with the 
ncConvertForDnetWrite
 or 
ncConvertFromDnetRead
 functions. The 
ncConvertFromDnetRead
 function converts a DeviceNet attribute read 
using 
ncGetDnetAttribute
 into an appropriate LabVIEW data type. The 
ncConvertForDnetWrite
 function converts a LabVIEW data type into an 
appropriate DeviceNet attribute to write using 
ncSetDnetAttribute
. For 
more information on these LabVIEW conversion functions, refer to the 
 section.
Other Explicit Messaging Services
To execute services other than Get Attribute Single and Set Attribute Single, 
use the following sequence of function calls: 
ncWriteDnetExplMsg
ncWaitForState
ncReadDnetExplMsg
. The
ncWriteDnetExplMsg
 
function sends an explicit message request to a remote DeviceNet device. 
The 
ncWaitForState
 function waits for the explicit message response, 
and the 
ncReadDnetExplMsg
 function reads that response.
Use 
ncWriteDnetExplMsg
 for such DeviceNet services as Reset, Save, 
Restore, Get Attributes All, and Set Attributes All. Although the DeviceNet