Справочник Пользователя для National Instruments Welding System 321645c-01
Chapter 2
Function Reference — DIG_Block_Out
©
National Instruments Corporation
2-153
NI-DAQ FRM for PC Compatibles
If you use a DIO-32F or a DIO 6533 device, NI-DAQ writes all bytes in your buffer to the
group regardless of the group size. If the group size is one (which is supported only by the
DIO 6533),
group regardless of the group size. If the group size is one (which is supported only by the
DIO 6533),
DIG_Block_Out
writes the lower eight bits of buffer[0] to the group on the first
write and the upper eight bits of buffer[0] to the group on the second write. For example, if
buffer[0] = 0xABCD, NI-DAQ writes 0xCD to the group on the first write, and writes 0xAB
to the group on the second write. If group size is 2,
buffer[0] = 0xABCD, NI-DAQ writes 0xCD to the group on the first write, and writes 0xAB
to the group on the second write. If group size is 2,
DIG_Block_Out
writes data from the
lower eight bits of buffer [0] to the lower port (port 0 or port 2) and data from the upper eight
bits of buffer [0] to the higher port (port 1 or port 3). If group size is 4,
bits of buffer [0] to the higher port (port 1 or port 3). If group size is 4,
DIG_Block_Out
writes data from buffer[0] to ports 0 and 1 and data from buffer[1] to ports 2 and 3.
If you use any device but a DIO-32F or a 6533 device, NI-DAQ writes the lower byte
of each buffer element to the group in the order indicated in portList when you call
of each buffer element to the group in the order indicated in portList when you call
DIG_SCAN_Setup
. If the group size is two, on the first write
DIG_Block_Out
writes the
lower byte of buffer[0] to the first port on portList and the lower byte of buffer[1] to the last
port on portList. For example, if buffer[0] = 0xABCD and buffer[1] is 0x1234, NI-DAQ
writes 0xCD to the first port on portList, and writes 0x34 to the last port on portList.
port on portList. For example, if buffer[0] = 0xABCD and buffer[1] is 0x1234, NI-DAQ
writes 0xCD to the first port on portList, and writes 0x34 to the last port on portList.
If you have not configured the specified group as an output group, NI-DAQ does not perform
the operation and returns an error. If you have assigned no ports to the specified group,
NI-DAQ does not perform the operation and returns an error. You can call
the operation and returns an error. If you have assigned no ports to the specified group,
NI-DAQ does not perform the operation and returns an error. You can call
DIG_Block_Check
to monitor the status of a transfer initiated by
DIG_Block_Out
.
If you have previously enabled pattern generation on a DIO-32F or a 6533 device, the
generation takes effect upon the execution of
generation takes effect upon the execution of
DIG_Block_Out
. To avoid delays due to
DMA reprogramming on the AT-DIO-32F or AT-DIO-32HS, you can use dual DMA
(see the
(see the
Set_DAQ_Device_Info
function), or you can align your data using the
Align_DMA_Buffer
function (AT-DIO-32F only). See the Pattern Generation I/O with
the DIO-32F and DIO 6533 (DIO-32HS) section in Chapter 3, Software Overview, of the
NI-DAQ User Manual for PC Compatibles for important information about pattern
generation.
NI-DAQ User Manual for PC Compatibles for important information about pattern
generation.
Note
DIG_Block_Out
will not work with groups of size = 1, because of a DMA
limitation when using the AT-DIO-32F.
Note
If you are using an SCXI-1200 with remote SCXI, count is limited by the amount
of memory made available on the remote SCXI unit. For digital buffered output,
you are limited to 5,000 bytes of data. The upper bound for count depends on
the groupSize set in
of memory made available on the remote SCXI unit. For digital buffered output,
you are limited to 5,000 bytes of data. The upper bound for count depends on
the groupSize set in
DIG_SCAN_Setup
(for example, if groupSize = 2,
count
≤
2,500).