GX5055, File.
Sets the channel output data format.
DioSetupOutputDataFormat (nHandle, nChannelListMode, nCountOrFirstChannel, panChannelList, nLastChannel, nDataFormat, pnStatus)
Name |
Type |
Comments |
nHandle |
SHORT |
DIO Master handle, Slave handle or File board handle. |
nChannelListMode |
SHORT |
Channel list mode dictates how nCountOrFirstChannel and panChannelList parameters are used. Channel list mode options are as follows:0 DIO_CH_LIST_MODE_ARRAY_OF_CHANNELS: The user specifies an array of channels where nCountOrFirstChannel is the number of elements in the list array and panChannelList is an array contains the channels numbers. In this mode nLastChannel is ignored.1 DIO_CH_LIST_MODE_ALL_BOARD_CHANNELS: Apply the settings to all the board’s channels associated with this board handle. In this mode nCountOrFirstChannel, panChannelList and nLastChannel variavles are ignored.2 DIO_CH_LIST_MODE_ALL_DOMAIN_CHANNELS: Apply the settings to all the channels in the domain, e.g. if there are two boards in the domain (Master and a Slave), then all 64 channels will be set. In this mode nCountOrFirstChannel, panChannelList and nLastChannel variavles are ignored.3 DIO_CH_LIST_MODE_RANGE_OF_CHANNELS: Apply settings to a range of channels where nCountOrFirstChannel is the first channel number and nLastChannel is the last channel number. In this mode panChannelList variavle is ignored. |
nCountOrFirstChannel |
SHORT |
If nChannelListMode parameter is set to DIO_CH_LIST_MODE_ARRAY_OF_CHANNELS, then it is specifying the number of elements in the panChannelList array parameter.If nChannelListMode parameter is set to DIO_CH_LIST_MODE_RANGE_OF_CHANNELS, then it is specifying the first channel number to apply the settings to,otherwise it is ignored and should set to zero.Channel number in the DIO domain, each DIO board adds 32 I/O channels. I/O channels number range is 0-991 (1 master and 30 slaves).Gx5295: Each DIO board adds 4 Auxiliary channels, Auxiliary channels number range is 0-123 (1 master and 30 slaves). |
panChannelList |
PSHORT |
Array of channels numbers. Channels numbers can be from 0 to the last channel in the domain. E.g., if the domain has two boards then the last channel is 63.This parameter is only used if nChannelListMode parameter is set to DIO_CH_LIST_MODE_ARRAY_OF_CHANNELS, otherwise is should be passed as NULL. |
nLastChannel |
SHORT |
If nChannelListMode parameter is set to DIO_CH_LIST_MODE_RANGE_OF_CHANNELS, then it is specifying the last channel number to apply the settings to,otherwise it is ignored and should set to zero.Channel number in the DIO domain, each DIO board adds 32 I/O channels. I/O channels number range is 0-991 (1 master and 30 slaves).Gx5295: Each DIO board adds 4 Auxiliary channels, Auxiliary channels number range is 0-123 (1 master and 30 slaves). |
nDataFormat |
SHORT |
Output data format can be as follows:0. DIO_OUTPUT_DATA_FORMAT_NR: No Return1. DIO_OUTPUT_DATA_FORMAT_R0: Return to Zero2. DIO_OUTPUT_DATA_FORMAT_R1: Return to One3. DIO_OUTPUT_DATA_FORMAT_RZ: Return to Hi-Z4. DIO_OUTPUT_DATA_FORMAT_RC: Return to Complement |
pnStatus |
PSHORT |
Returned status: 0 on success, negative number on failure. |
DIO_OUTPUT_DATA_FORMAT_NR: No Return, the output logic level stay either high or low for the duration of the clock period.
DIO_OUTPUT_DATA_FORMAT_R0: Return to Zero. The signal returns to zero between consecutive data clocks at 50% of the specified output frequency clock duty cycle. This takes place even if a number of consecutive 0's or 1's occur in the signal. The signal is self clocking and does not require any additional settings.
DIO_OUTPUT_DATA_FORMAT_R1: Return to One. The signal returns to one between consecutive data clocks at 50% of the specified output frequency clock duty cycle. This takes place even if a number of consecutive 0's or 1's occur in the signal. The signal is self clocking and does not require any additional settings.
DIO_OUTPUT_DATA_FORMAT_RZ: Return to Hi-Z .The signal returns to hi-z between consecutive data clocks at 50% of the specified output frequency clock duty cycle. This takes place even if a number of consecutive 0's or 1's occur in the signal. The signal is self clocking and does not require any additional settings.
DIO_OUTPUT_DATA_FORMAT_RC: Return to Complement (RC). In Return to Complement (also called Manchester code) each transmitted data bit has at least one transition at 50% of the specified output frequency clock duty cycle. It is, therefore, self-clocking, which means that a clock signal can be recovered from the encoded data. Return to Complement ensures frequent line voltage transitions, directly proportional to the clock rate, this helps clock recovery. Logic low is expressed by a low-to-high transition. Logic high is expressed by high-to-low transition. The transitions which signify logic high or low occur at the midpoint of a period, the direction of the mid-bit transition indicates the data.
Note: the channel data format will be applied to all the channels’ steps.
Channels output data format can be read back and set dynamically at any time even while the DIO is running mode.
The following example uses an array of channels list sets their input data format to No Return:
SHORT anChannelList[]={0, 2, 5, 7, 9, 13, 14, 27};
DioSetupOutputDataFormat(nHandle, DIO_CH_LIST_MODE_ARRAY_OF_CHANNELS, 8, anChannelList, 0, DIO_OUTPUT_DATA_FORMAT_NR, &nStatus);
The following example sets all the board’s channels input data format to No Return:
DioSetupOutputDataFormat(nHandle, DIO_CH_LIST_MODE_ALL_BOARD_CHANNELS, 0, NULL , 0, DIO_OUTPUT_DATA_FORMAT_NR, &nStatus);
The following example sets all the boards channels input data format to No Return:
DioSetupOutputDataFormat(nHandle, DIO_CH_LIST_MODE_ALL_DOMAIN_CHANNELS, 0, NULL , 0, DIO_OUTPUT_DATA_FORMAT_NR, &nStatus);
The following example sets channels 5 to 10 input data format to No Return:
DioSetupOutputDataFormat(nHandle, DIO_CH_LIST_MODE_RANGE_OF_CHANNELS, 5, NULL, 10, DIO_OUTPUT_DATA_FORMAT_NR, &nStatus);
DioSetupInputLoadResistance, DioSetupInputThresholdVoltages, DioGetErrorString