# Universal Library example programs sorted by program name

The table below lists Universal Library example programs sorted by the program name. It includes the featured function calls, notes, and other functions included in the example program. All example programs include the cbDeclareRevision() and cbErrHandling() functions.

Note: The CWIN sample program directory contains programs A101, A102 and A103 only.

Example UL program | Featured function | Notes | Other functions included
CInScan01 | cbCInScan() | Scans a range of counter input channels, and writes the data to an array. Board 0 must support counter scans. | cbWinBuffAlloc32() cbWinBufToArray32() cbWinBufFree()
CInScan02 | cbCInScan() cbCConfigScan() | Scans a counter input channel in decrement mode, and writes the data to an array. Board 0 must support counter scans. | cbWinBuffAlloc32() cbWinBufToArray32() cbWinBufFree()
CInScan03 | cbCInScan() cbCConfigScan() | Scans a counter input in encoder mode, and writes the sample data to an array. This example displays counts from encoder as phase A, phase B, and totalizes the index on Z. Board 0 must support counter scans in encoder mode. | cbWinBuffAlloc32() cbWinBufToArray32() cbWinBufFree()
DaqInScan01 | cbDaqInScan() | Synchronously scans analog input channels, digital input ports, and counter input channels in the foreground. Board 0 must support synchronous input. | cbDConfigPort()
DaqInScan02 | cbDaqInScan() | Synchronously scans analog input channels, digital input ports, and counter input channels in the background. Board 0 must support synchronous input. | cbDConfigPort() cbStopBackground() cbGetStatus()
DaqInScan03 | cbDaqInScan() cbGetTCValues() | Synchronously scans analog input channels, digital input ports, and thermocouple input channels in the foreground. Board 0 must support synchronous input. | cbDConfigPort()
DaqDevDiscovery01 | cbGetDaqDeviceInventory() | Discovers DAQ devices and assigns board numbers to the detected devices. | cbCreateDaqDevice() cbReleaseDaqDevice()
DaqDevDiscovery02 | cbGetNetDeviceDescriptor() | Discovers network DAQ devices and assigns board numbers to the detected devices. | cbCreateDaqDevice() cbReleaseDaqDevice()
DaqOutScan01 | cbDaqOutScan() | Synchronously writes to an analog output channel and a digital output port in the background. Board 0 must support synchronous output. | cbDConfigPort()
DaqSetSetpoint01 | cbDaqSetSetpoints() | Configures setpoints, adds the setpoint status to the scan list, and performs asynchronous reads of the setpoint status. Board 0 must support cbDaqInScan(). | cbDaqInScan() cbDConfigPort() cbGetStatus() cbStopBackground()
DaqSetTrigger01 | cbDaqSetTrigger() | Configures start and stop triggers. These triggers are used to initiate and terminate A/D conversion using cbDaqInScan() with the EXTTRIGGER option selected. Board 0 must support synchronous output. | cbDConfigPort() cbStopBackground() cbGetStatus()
PulseOutStart01 | cbPulseOutStart() cbPulseOutStop() | Sends a frequency output to an output timer channel. Board 0 must have a timer output. You enter a frequency and a duty cycle within the timer range. |
TimerOutStart01 | cbTimerOutStart() cbTimerOutStop() | Sends a frequency output to an output timer channel. Board 0 must have a timer output. You enter a frequency within the timer range. |
ULAI01 | cbAIn() cbAIn32() |  | cbToEngUnits() cbToEngUnits32()
ULAI02 | cbAInScan() | FOREGROUND mode | cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc()64
ULAI03 | cbAInScan() | BACKGROUND mode | cbGetStatus() cbStopBackground() cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc()64
ULAI04 | cbAConvertData() |  | cbAInScan() cbGetStatus() cbStopBackground() cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc()64
ULAI05 | cbAInScan() | with manual data conversion | cbGetStatus() cbStopBackground() cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc()64
ULAI06 | cbAInScan() | CONTINUOUS, BACKGROUND mode | cbAConvertData() cbGetStatus() cbStopBackground() cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc()64
ULAI07 | cbATrig() |  | cbFromEngUnits()
ULAI08 | cbAPretrig() |  | cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc()64
ULAI09 | cbAConvertPretrigData() | BACKGROUND mode | cbAPretrig() cbGetStatus() cbStopBackground() cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc()64
ULAI10 | cbALoadQueue() |  | cbAInScan() cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc()64
ULAI11 | cbToEngUnits() cbToEngUnits32() |  | cbAIn()
ULAI12 | cbAInScan() | EXTCLOCK mode | cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc()64
ULAI13 | cbAInScan() | Various sampling mode options | cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc()64
ULAI14 | cbSetTrigger() | EXTTRIGGER mode | cbAInScan() cbFromEngUnits() cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc()64
ULAI15 | cbAInScan() | SCALEDATA mode Scans a range of A/D input channels, and stores the scaled data in an array. | cbScaledWinBufAlloc() cbScaledWinBufToArray() cbWinBufFree()
ULAIO01 | cbAInScan() cbAOutScan() | concurrent analog input and output scans | cbGetStatus() cbStopBackground() cbWinArrayToBuf() cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc()64
ULAO01 | cbAOut() |  | cbFromEngUnits()
ULAO02 | cbAOutScan() |  | cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc()64
ULAO03 | cbAOut() cbSetConfig() | Demonstrates the difference between the BIDACUPDATEMODE settings UPDATEIMMEDIATE and UPDATEONCOMMAND. Board 0 must support BIDACUPDATEMODE settings. | cbFromEngUnits()
ULAO04 | cbAOutScan() | SCALEDATA mode Synchronously writes to analog channels in the background. |
ULCT01 | cbC8254Config() |  | cbCLoad() cbCLoad32() cbCLoad64() cbCIn() cbCIn32() cbCIn64()
ULCT02 | cbC9513Init() cbC9513Config() |  | cbCLoad() cbCLoad32() cbCLoad64() cbCIn() cbCIn32() cbCIn64()
ULCT03 | cbCStoreOnInt() |  | cbC9513Init() cbC9513Config() cbCLoad() cbCLoad32() cbCLoad64() cbCIn() cbCIn32() cbCIn64()
ULCT04 | cbCFreqIn() |  | cbC9513Init()
ULCT05 | cbC8536Init() cbC8536Config() |  | cbCLoad() cbCLoad32() cbCLoad64() cbCIn() cbCIn32() cbCIn64()
ULCT06 | cbC7266Config() |  | cbCLoad32() cbCLoad64() cbCIn32() cbCIn64() cbCStatus()
ULCT07 | cbCLoad32() cbCLoad64() cbCIn32() cbCIn64() | Board 0 must have an event counter. |
ULDI01 | cbDIn() |  | cbDConfigPort()
ULDI02 | cbDBitIn() |  | cbDConfigPort()
ULDI03 | cbDInScan() |  | cbDConfigPort() cbGetStatus() cbStopBackground() cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc64()
ULDI04 | cbDIn() | using the AUXPORT |
ULDI05 | cbDBitIn() | using the AUXPORT |
ULDI06 | cbDConfigBit() |  | cbDBitIn()
ULDO01 | cbDOut() |  | cbDConfigPort()
ULDO02 | cbDBitOut() |  | cbDOut() cbDConfigPort()
ULDO04 | cbDOut() | using the AUXPORT |
ULDO05 | cbDBitOut() | using the AUXPORT | cbDOut()
ULEV01* | cbEnableEvent() cbDisableEvent() | using ON_EXTERNAL_INTERRUPT | cbDConfigPort() cbDIn()
ULEV02* | cbEnableEvent() cbDisableEvent() | using ON_DATA_AVAILABLE and ON_END_OF_INPUT_SCAN | cbAInScan() cbStopBackground() cbToEngUnits() cbToEngUnits32() cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc64()
ULEV03* | cbEnableEvent() cbDisableEvent() | using ON_PRETRIG and ON_END_OF_INPUT_SCAN | cbAPretrig() cbAConvertPretrigData() cbDConfigPort() cbDOut() cbStopBackground() cbToEngUnits() cbToEngUnits32() cbWinBufToArray() cbWinBufToArray32() cbWinBufFree() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc64()
ULEV04* | cbEnableEvent() cbDisableEvent() | using ON_END_OF_OUTPUT_SCAN | cbAOutScan() cbDConfigPort() cbDOut() cbFromEngUnits() cbStopBackground() cbWinArrayToBuf() cbWinBufAlloc() cbWinBufAlloc32() cbWinBufAlloc64() cbWinBufFree()
ULFI01 | cbFileAInScan() |  | cbFileGetInfo()
ULFI02 | cbFileRead() |  | cbFileAInScan() cbFileGetInfo()
ULFI03 | cbFilePretrig() |  | cbFileGetInfo() cbFileRead()
ULFL01 | cbFlashLED() | Board 0 must have an external LED. |
ULGT01 | cbGetErrMsg() |  | cbAIn() cbAIn32()
ULGT03 | cbGetConfig() |  | cbGetBoardName()
ULGT04 | cbGetBoardName() |  | cbGetConfig()
ULLOG01 | cbLogGetFileName() | Retrieves the name of a binary log file. |
ULLOG02 | cbLogGetFileInfo() cbLogGetSampleInfo() cbLogGetAIChannelCount() cbLogGetCJCInfo() cbLogGetDIOInfo() | Retrieves information about the analog data, CJC data, and digital port data contained in a binary log file. | cbLogGetFileName()
ULLOG03 | cbLogReadAIChannels() cbLogReadCJCChannels() cbLogReadDIOChannels() cbLogReadTimeTags() | Retrieves the analog input data, CJC temperature data, digital I/O port data, date values, and time values logged in a binary file, and writes the data to separate arrays. | cbLogGetFileName() cbLogGetSampleInfo() cbLogGetAIChannelCount() cbLogGetCJCInfo() cbLogGetDIOInfo() cbLogSetPreferences()
ULLOG04 | cbLogConvertFile() | Converts a binary log file to a comma-separated values (.csv) text file or another text file format that you specify. | cbLogGetSampleInfo()
ULMBDI01 | cbDIn() | Reads a digital input port on a MetraBus card. |
ULMBDI02 | cbDBitIn() | Reads the status of single digital input bit from a MetraBus card. |
ULMBDO01 | cbDOut() | Writes a byte to digital output ports on a MetraBus card. |
ULMBDO02 | cbDBitOut() | Sets the state of a single digital output bit on a MetraBus card. |
ULMM01 | cbMemReadPretrig() |  | cbAPretrig()
ULMM02 | cbMemRead() cbMemWrite() |  |
ULMM03 | cbAInScan() | with EXTMEMORY option | cbMemReset() cbMemRead()
ULTI01 | cbTIn() |  | cbGetConfig()
ULTI02 | cbTInScan() |  | cbGetConfig()
VIn01 | cbVIn() | Reads an A/D input channel. |
VOut01 | cbVOut() | Writes to a D/A output channel. |
* Example programs ULEV01, ULEV02, ULEV03 and ULEV04 are not available for the C Console.