unit DASK; interface Const (*-------- ADLink PCI Card Type -----------*) PCI_6208V = 1; PCI_6208A = 2; PCI_6308V = 3; PCI_6308A = 4; PCI_7200 = 5; PCI_7230 = 6; PCI_7233 = 7; PCI_7234 = 8; PCI_7248 = 9; PCI_7249 = 10; PCI_7250 = 11; PCI_7252 = 12; PCI_7296 = 13; PCI_7300A_RevA = 14; PCI_7300A_RevB = 15; PCI_7432 = 16; PCI_7433 = 17; PCI_7434 = 18; PCI_8554 = 19; PCI_9111DG = 20; PCI_9111HR = 21; PCI_9112 = 22; PCI_9113 = 23; PCI_9114DG = 24; PCI_9114HG = 25; PCI_9118DG = 26; PCI_9118HG = 27; PCI_9118HR = 28; PCI_9810 = 29; PCI_9812 = 30; PCI_7396 = 31; PCI_9116 = 32; PCI_7256 = 33; PCI_7258 = 34; PCI_7260 = 35; PCI_7452 = 36; PCI_7442 = 37; PCI_7443 = 38; PCI_7444 = 39; PCI_9221 = 40; PCI_9524 = 41; PCI_6202 = 42; PCI_9222 = 43; PCI_9223 = 44; PCI_7433C = 45; PCI_7434C = 46; PCI_922A = 47; PCI_7350 = 48; MAX_CARD = 32; (*-------- Error Number -----------*) NoError = 0; ErrorUnknownCardType = -1; ErrorInvalidCardNumber = -2; ErrorTooManyCardRegistered = -3; ErrorCardNotRegistered = -4; ErrorFuncNotSupport = -5; ErrorInvalidIoChannel = -6; ErrorInvalidAdRange = -7; ErrorContIoNotAllowed = -8; ErrorDiffRangeNotSupport = -9; ErrorLastChannelNotZero = -10; ErrorChannelNotDescending = -11; ErrorChannelNotAscending = -12; ErrorOpenDriverFailed = -13; ErrorOpenEventFailed = -14; ErrorTransferCountTooLarge = -15; ErrorNotDoubleBufferMode = -16; ErrorInvalidSampleRate = -17; ErrorInvalidCounterMode = -18; ErrorInvalidCounter = -19; ErrorInvalidCounterState = -20; ErrorInvalidBinBcdParam = -21; ErrorBadCardType = -22; ErrorInvalidDaRefVoltage = -23; ErrorAdTimeOut = -24; ErrorNoAsyncAI = -25; ErrorNoAsyncAO = -26; ErrorNoAsyncDI = -27; ErrorNoAsyncDO = -28; ErrorNotInputPort = -29; ErrorNotOutputPort = -30; ErrorInvalidDioPort = -31; ErrorInvalidDioLine = -32; ErrorContIoActive = -33; ErrorDblBufModeNotAllowed = -34; ErrorConfigFailed = -35; ErrorInvalidPortDirection = -36; ErrorBeginThreadError = -37; ErrorInvalidPortWidth = -38; ErrorInvalidCtrSource = -39; ErrorOpenFile = -40; ErrorAllocateMemory = -41; ErrorDaVoltageOutOfRange = -42; ErrorDaExtRefNotAllowed = -43; ErrorDIODataWidthError = -44; ErrorTaskCodeError = -45; ErrortriggercountError = -46; ErrorInvalidTriggerMode = -47; ErrorInvalidTriggerType = -48; ErrorInvalidCounterValue = -50; ErrorInvalidEventHandle = -60; ErrorNoMessageAvailable = -61; ErrorEventMessgaeNotAdded = -62; ErrorCalibrationTimeOut = -63; ErrorUndefinedParameter = -64; ErrorInvalidBufferID = -65; ErrorInvalidSampledClock = -66; ErrorInvalisOperationMode = -67; ErrorConfigIoctl = -201; ErrorAsyncSetIoctl = -202; ErrorDBSetIoctl = -203; ErrorDBHalfReadyIoctl = -204; ErrorContOPIoctl = -205; ErrorContStatusIoctl = -206; ErrorPIOIoctl = -207; ErrorDIntSetIoctl = -208; ErrorWaitEvtIoctl = -209; ErrorOpenEvtIoctl = -210; ErrorCOSIntSetIoctl = -211; ErrorMemMapIoctl = -212; ErrorMemUMapSetIoctl = -213; ErrorCTRIoctl = -214; ErrorGetResIoctl = -215; ErrorCalIoctl = -216; ErrorPMIntSetIoctl = -217; (*-------- AD Range -----------*) AD_B_10_V = 1; AD_B_5_V = 2; AD_B_2_5_V = 3; AD_B_1_25_V = 4; AD_B_0_625_V = 5; AD_B_0_3125_V = 6; AD_B_0_5_V = 7; AD_B_0_05_V = 8; AD_B_0_005_V = 9; AD_B_1_V = 10; AD_B_0_1_V = 11; AD_B_0_01_V = 12; AD_B_0_001_V = 13; AD_U_20_V = 14; AD_U_10_V = 15; AD_U_5_V = 16; AD_U_2_5_V = 17; AD_U_1_25_V = 18; AD_U_1_V = 19; AD_U_0_1_V = 20; AD_U_0_01_V = 21; AD_U_0_001_V = 22; AD_B_2_V = 23; AD_B_0_25_V = 24; AD_B_0_2_V = 25; AD_U_4_V = 26; AD_U_2_V = 27; AD_U_0_5_V = 28; AD_U_0_4_V = 29; (*-------- AO Terminate Mode -----------*) DA_TerminateImmediate = 0; (*-------- Trigger Mode -----------*) TRIG_SOFTWARE = 0; TRIG_INT_PACER = 1; TRIG_EXT_STROBE = 2; TRIG_HANDSHAKE = 3; TRIG_CLK_10MHZ = 4; (* PCI-7300A *) TRIG_CLK_20MHZ = 5; (* PCI-7300A *) TRIG_DO_CLK_TIMER_ACK = 6; (* PCI-7300A Rev. B *) TRIG_DO_CLK_10M_ACK = 7; (* PCI-7300A Rev. B *) TRIG_DO_CLK_20M_ACK = 8; (* PCI-7300A Rev. B *) (*-- Virtual Sampling Rate for using external clock as the clock source --*) CLKSRC_EXT_SampRate = 10000; (*-------- Constants for PCI-6208A -----------*) (*-- Output Mode --*) P6208_CURRENT_0_20MA = 0; P6208_CURRENT_5_25MA = 1; P6208_CURRENT_4_20MA = 3; (*-------- Constants for PCI-6308A/PCI-6308V -----------*) (*-- Output Mode --*) P6308_CURRENT_0_20MA = 0; P6308_CURRENT_5_25MA = 1; P6308_CURRENT_4_20MA = 3; (*-- AO Setting --*) P6308V_AO_CH0_3 = 0; P6308V_AO_CH4_7 = 1; P6308V_AO_UNIPOLAR = 0; P6308V_AO_BIPOLAR = 1; (*-------- Constants for PCI-7200 ------------*) (*-- InputMode --*) DI_WAITING = $02; DI_NOWAITING = $00; DI_TRIG_RISING = $04; DI_TRIG_FALLING = $00; IREQ_RISING = $08; IREQ_FALLING = $00; (*------- Output Mode ---------------------- *) OREQ_ENABLE = $10; OREQ_DISABLE = $00; OTRIG_HIGH = $20; OTRIG_LOW = $00; (*--------- Constants for PCI-7248/7296/7442 ----------*) (*--- DIO Port Direction ---*) INPUT_PORT = 1; OUTPUT_PORT = 2; (*--- DIO Line Direction ---*) INPUT_LINE = 1; OUTPUT_LINE = 2; (*--- Channel&Port ---*) Channel_P1A = 0; Channel_P1B = 1; Channel_P1C = 2; Channel_P1CL = 3; Channel_P1CH = 4; Channel_P1AE = 10; Channel_P1BE = 11; Channel_P1CE = 12; Channel_P2A = 5; Channel_P2B = 6; Channel_P2C = 7; Channel_P2CL = 8; Channel_P2CH = 9; Channel_P2AE = 15; Channel_P2BE = 16; Channel_P2CE = 17; Channel_P3A = 10; Channel_P3B = 11; Channel_P3C = 12; Channel_P3CL = 13; Channel_P3CH = 14; Channel_P4A = 15; Channel_P4B = 16; Channel_P4C = 17; Channel_P4CL = 18; Channel_P4CH = 19; Channel_P5A = 20; Channel_P5B = 21; Channel_P5C = 22; Channel_P5CL = 23; Channel_P5CH = 24; Channel_P6A = 25; Channel_P6B = 26; Channel_P6C = 27; Channel_P6CL = 28; Channel_P6CH = 29; Channel_P1 = 30; Channel_P2 = 31; Channel_P3 = 32; Channel_P4 = 33; Channel_P1E = 34; Channel_P2E = 35; Channel_P3E = 36; Channel_P4E = 37; P7442_CH0 = 0; P7442_CH1 = 1; P7442_TTL0 = 2; P7442_TTL1 = 3; P7443_CH0 = 0; P7443_CH1 = 1; P7443_CH2 = 2; P7443_CH3 = 3; P7443_TTL0 = 4; P7443_TTL1 = 5; P7444_CH0 = 0; P7444_CH1 = 1; P7444_CH2 = 2; P7444_CH3 = 3; P7444_TTL0 = 4; P7444_TTL1 = 5; (*-------- Constants for PCI-7300A -------------------*) (*--- Wait Status ---*) P7300_WAIT_NO = 0; P7300_WAIT_TRG = 1; P7300_WAIT_FIFO = 2; P7300_WAIT_BOTH = 3; (*--- Terminator control ---*) P7300_TERM_OFF = 0; P7300_TERM_ON = 1; (*--- DI control signals polarity for PCI-7300A Rev. B ---*) P7300_DIREQ_POS = $00; P7300_DIREQ_NEG = $01; P7300_DIACK_POS = $00; P7300_DIACK_NEG = $02; P7300_DITRIG_POS = $00; P7300_DITRIG_NEG = $04; (*--- DO control signals polarity for PCI-7300A Rev. B ---*) P7300_DOREQ_POS = $00; P7300_DOREQ_NEG = $08; P7300_DOACK_POS = $00; P7300_DOACK_NEG = $10; P7300_DOTRIG_POS = $00; P7300_DOTRIG_NEG = $20; (*--- DO Disable mode in DO_AsyncClear ---*) P7300_DODisableDOEnabled = 0; P7300_DONotDisableDOEnabled = 1; (*-------- Constants for PCI-7432/7433/7434/7433C/7434C ---------------*) PORT_DI_LOW = 0; PORT_DI_HIGH = 1; PORT_DO_LOW = 0; PORT_DO_HIGH = 1; P7432R_DO_LED = 1; P7433R_DO_LED = 0; P7434R_DO_LED = 2; P7432R_DI_SLOT = 1; P7433R_DI_SLOT = 2; P7434R_DI_SLOT = 0; (*-- Dual-Interrupt Source control for PCI-7248/29/96 & 7432/33 & 7230/7233 & 8554 & 7396 & 7256/58/60 & 7433C --*) INT1_NC = -2; (* INT1 Unchanged *) INT1_DISABLE = -1; (* INT1 Disabled *) INT1_COS = 0; (* INT1 COS : only available for PCI-7396, PCI-7256/58/60 *) INT1_FP1C0 = 1; (* INT1 by Falling edge of P1C0 : only available for PCI7248/96/7396 *) INT1_RP1C0_FP1C3 = 2; (* INT1 by P1C0 Rising or P1C3 Falling : only available for PCI7248/96/7396 *) INT1_EVENT_COUNTER = 3; (* INT1 by Event Counter down to zero : only available for PCI7248/96/7396 *) INT1_EXT_SIGNAL = 1; (* INT1 by external signal: only available for PCI7432/33 *) INT1_COUT12 = 1; (* INT1 COUT12 : only available for PCI8554 *) INT1_CH0 = 1; (* INT1 CH0 : only available for PCI7256/58/60 *) INT1_COS0 = 1; (* INT1 COS0 : only available for PCI-7452/7442/7443 *) INT1_COS1 = 2; (* INT1 COS1 : only available for PCI-7452/7442/7443 *) INT1_COS2 = 4; (* INT1 COS2 : only available for PCI-7452/7443 *) INT1_COS3 = 8; (* INT1 COS3 : only available for PCI-7452/7443 *) INT2_NC = -2; (* INT2 Unchanged *) INT2_DISABLE = -1; (* INT2 Disabled *) INT2_COS = 0; (* INT2 COS : only available for PCI-7396 *) INT2_FP2C0 = 1; (* INT2 by Falling edge of P2C0 : only available for PCI7248/96/7396 *) INT2_RP2C0_FP2C3 = 2; (* INT2 by P2C0 Rising or P2C3 Falling : only available for PCI7248/96/7396 *) INT2_TIMER_COUNTER = 3; (* INT2 by Timer Counter down to zero : only available for PCI7248/96/7396 *) INT2_EXT_SIGNAL = 1; (* INT2 by external signal: only available for PCI7432/33 *) INT2_CH1 = 2; (* INT2 CH1 : only available for PCI7256/58/60 *) INT2_WDT = 4; (* INT2 by WDT *) WDT_OVRFLOW_SAFETYOUT = $8000; (* enable safteyout while WDT overflow *) (*-------- Constants for PCI-8554 -----------*) (*-- Clock Source of Cunter N --*) ECKN = 0; COUTN_1 = 1; CK1 = 2; COUT10 = 3; (*-- Clock Source of CK1 --*) CK1_C8M = 0; CK1_COUT11 = 1; (*-- Debounce Clock --*) DBCLK_COUT11 = 0; DBCLK_2MHZ = 1; (*-------- Constants for PCI-9111 ------------*) (*-- Dual Interrupt Mode --*) P9111_INT1_EOC = 0; (* Ending of AD conversion *) P9111_INT1_FIFO_HF = 1; (* FIFO Half Full *) P9111_INT2_PACER = 0; (* Every Timer tick *) P9111_INT2_EXT_TRG = 1; (* ExtTrig High->Low *) (*-- Channel Count --*) P9111_CHANNEL_DO = 0; P9111_CHANNEL_EDO = 1; P9111_CHANNEL_DI = 0; P9111_CHANNEL_EDI = 1; (*-- EDO function --*) P9111_EDO_INPUT = 1; (* EDO port set as Input port *) P9111_EDO_OUT_EDO = 2; (* EDO port set as Output port *) P9111_EDO_OUT_CHN = 3; (* EDO port set as channel number ouput port *) (*-- Trigger Mode --*) P9111_TRGMOD_SOFT = 0; (* Software Trigger Mode *) P9111_TRGMOD_PRE = 1; (* Pre-Trigger Mode *) P9111_TRGMOD_POST = 2; (* Post Trigger Mode *) (*-- AO Setting --*) P9111_AO_UNIPOLAR = 0; P9111_AO_BIPOLAR = 1; (*-------- Constants for PCI-9116 ------------*) P9116_AI_LocalGND = $00; P9116_AI_UserCMMD = $01; P9116_AI_SingEnded = $00; P9116_AI_Differential = $02; P9116_AI_BiPolar = $00; P9116_AI_UniPolar = $04; P9116_TRGMOD_SOFT = $00; (* Software Trigger Mode *) P9116_TRGMOD_POST = $10; (* Post Trigger Mode *) P9116_TRGMOD_DELAY = $20; (* Delay Trigger Mode *) P9116_TRGMOD_PRE = $30; (* Pre-Trigger Mode *) P9116_TRGMOD_MIDL = $40; (* Middle Trigger Mode *) P9116_AI_TrgPositive = $00; P9116_AI_TrgNegative = $80; P9116_AI_IntTimeBase = $00; P9116_AI_ExtTimeBase = $100; P9116_AI_DlyInSamples = $200; P9116_AI_DlyInTimebase = $000; P9116_AI_ReTrigEn = $400; P9116_AI_MCounterEn = $800; P9116_AI_SoftPolling = $0000; P9116_AI_INT = $1000; P9116_AI_DMA = $2000; (*-------- Constants for PCI-9118 ------------*) P9118_AI_BiPolar = $00; P9118_AI_UniPolar = $01; P9118_AI_SingEnded = $00; P9118_AI_Differential = $02; P9118_AI_ExtG = $04; P9118_AI_ExtTrig = $08; P9118_AI_DtrgNegative = $00; P9118_AI_DtrgPositive = $10; P9118_AI_EtrgNegative = $00; P9118_AI_EtrgPositive = $20; P9118_AI_BurstModeEn = $40; P9118_AI_SampleHold = $80; P9118_AI_PostTrgEn = $100; P9118_AI_AboutTrgEn = $200; (*-------- Constants for PCI-9812 ------------*) (*-- Channel Count --*) P9812_CHANNEL_CNT1 = 1; (* Channel 0 is enabled *) P9812_CHANNEL_CNT2 = 2; (* Channel 0 and 1 is enabled *) P9812_CHANNEL_CNT4 = 4; (* All channels are enabled *) (*-- Trigger Mode --*) P9812_TRGMOD_SOFT = $00; (* Software Trigger Mode *) P9812_TRGMOD_POST = $01; (* Post Trigger Mode *) P9812_TRGMOD_PRE = $02; (* Pre-Trigger Mode *) P9812_TRGMOD_DELAY = $03; (* Delay Trigger Mode *) P9812_TRGMOD_MIDL = $04; (* Middle Trigger Mode *) P9812_AIEvent_Manual = $80; (* AI event manual reset *) (*-- Trigger Source --*) P9812_TRGSRC_CH0 = $00; (* trigger source --CH0 *) P9812_TRGSRC_CH1 = $08; (* trigger source --CH1 *) P9812_TRGSRC_CH2 = $10; (* trigger source --CH2 *) P9812_TRGSRC_CH3 = $18; (* trigger source --CH3 *) P9812_TRGSRC_EXT_DIG = $20; (* External Digital Trigger *) (*-- Trigger Polarity --*) P9812_TRGSLP_POS = $00; (* Positive slope trigger *) P9812_TRGSLP_NEG = $40; (* Negative slope trigger *) (*-- Frequency Selection --*) P9812_AD2_GT_PCI = $80; (* Freq. of A/D clock > PCI clock freq. *) P9812_AD2_LT_PCI = $00; (* Freq. of A/D clock < PCI clock freq. *) (*-- Clock Source --*) P9812_CLKSRC_INT = $000; (* Internal clock *) P9812_CLKSRC_EXT_SIN = $100; (* External SIN wave clock *) P9812_CLKSRC_EXT_DIG = $200; (* External Square wave clock *) (*-------- Constants for PCI-9221 -------*) (*-- Input Type --*) P9221_AI_SingEnded = $00; P9221_AI_NonRef_SingEnded = $01; P9221_AI_Differential = $02; (*-- Trigger Mode --*) P9221_TRGMOD_SOFT = $00; P9221_TRGMOD_ExtD = $08; (*-- Trigger Source --*) P9221_TRGSRC_GPI0 = $00; P9221_TRGSRC_GPI1 = $01; P9221_TRGSRC_GPI2 = $02; P9221_TRGSRC_GPI3 = $03; P9221_TRGSRC_GPI4 = $04; P9221_TRGSRC_GPI5 = $05; P9221_TRGSRC_GPI6 = $06; P9221_TRGSRC_GPI7 = $07; (*-- Trigger Polarity --*) P9221_AI_TrgPositive = $00; P9221_AI_TrgNegative = $10; (*-- TimeBase Mode --*) P9221_AI_IntTimeBase = $00; P9221_AI_ExtTimeBase = $80; (*-- TimeBase Source --*) P9221_TimeBaseSRC_GPI0 = $00; P9221_TimeBaseSRC_GPI1 = $10; P9221_TimeBaseSRC_GPI2 = $20; P9221_TimeBaseSRC_GPI3 = $30; P9221_TimeBaseSRC_GPI4 = $40; P9221_TimeBaseSRC_GPI5 = $50; P9221_TimeBaseSRC_GPI6 = $60; P9221_TimeBaseSRC_GPI7 = $70; (*-- DAQ Event type for the event message --*) AIEnd = 0; AOEnd = 0; DIEnd = 0; DOEnd = 0; DBEvent = 1; TrigEvent = 2; (*-- EMG shdn ctrl code --*) EMGSHDN_OFF = 0; EMGSHDN_ON = 1; EMGSHDN_RECOVERY = 2; (*-- Hot Reset Hold ctrl code --*) HRH_OFF = 0; HRH_ON = 1; (*-- COS Counter OP --*) COS_COUNTER_RESET = 0; COS_COUNTER_SETUP = 1; COS_COUNTER_START = 2; COS_COUNTER_STOP = 3; COS_COUNTER_READ = 4; (*-------- Timer/Counter -----------------------------*) (*-- Counter Mode (8254) --*) TOGGLE_OUTPUT = 0; (* Toggle output from low to high on terminal count *) PROG_ONE_SHOT = 1; (* Programmable one-shot *) RATE_GENERATOR = 2; (* Rate generator *) SQ_WAVE_RATE_GENERATOR = 3; (* Square wave rate generator *) SOFT_TRIG = 4; (* Software-triggered strobe *) HARD_TRIG = 5; (* Hardware-triggered strobe *) (* General Purpose Timer/Counter *) (* -- Counter Mode -- *) General_Counter = $00; (* general counter *) Pulse_Generation = $01; (* pulse generation *) (* -- GPTC clock source --*) GPTC_CLKSRC_EXT = $08; GPTC_CLKSRC_INT = $00; GPTC_GATESRC_EXT = $10; GPTC_GATESRC_INT = $00; GPTC_UPDOWN_SELECT_EXT = $20; GPTC_UPDOWN_SELECT_SOFT = $00; GPTC_UP_CTR = $40; GPTC_DOWN_CTR = $00; GPTC_ENABLE = $80; GPTC_DISABLE = $00; (*-- General Purpose Timer/Counter for 9221 --*) (*-- Counter Mode --*) SimpleGatedEventCNT = $01; SinglePeriodMSR = $02; SinglePulseWidthMSR = $03; SingleGatedPulseGen = $04; SingleTrigPulseGen = $05; RetrigSinglePulseGen = $06; SingleTrigContPulseGen = $07; ContGatedPulseGen = $08; EdgeSeparationMSR = $09; SingleTrigContPulseGenPWM = $0a; ContGatedPulseGenPWM = $0b; CW_CCW_Encoder = $0c; x1_AB_Phase_Encoder = $0d; x2_AB_Phase_Encoder = $0e; x4_AB_Phase_Encoder = $0f; Phase_Z = $10; (*-- GPTC clock source --*) GPTC_CLK_SRC_Ext = $01; GPTC_CLK_SRC_Int = $00; GPTC_GATE_SRC_Ext = $02; GPTC_GATE_SRC_Int = $00; GPTC_UPDOWN_Ext = $04; GPTC_UPDOWN_Int = $00; (*-- GPTC clock polarity --*) GPTC_CLKSRC_LACTIVE = $01; GPTC_CLKSRC_HACTIVE = $00; GPTC_GATE_LACTIVE = $02; GPTC_GATE_HACTIVE = $00; GPTC_UPDOWN_LACTIVE = $04; GPTC_UPDOWN_HACTIVE = $00; GPTC_OUTPUT_LACTIVE = $08; GPTC_OUTPUT_HACTIVE = $00; IntGate = $00; IntUpDnCTR = $01; IntENABLE = $02; GPTC_EZ0_ClearPhase0 = $00; GPTC_EZ0_ClearPhase1 = $01; GPTC_EZ0_ClearPhase2 = $02; GPTC_EZ0_ClearPhase3 = $03; GPTC_EZ0_ClearMode0 = $00; GPTC_EZ0_ClearMode1 = $01; GPTC_EZ0_ClearMode2 = $02; GPTC_EZ0_ClearMode3 = $03; (*-- Watchdog Timer --*) (*-- Counter action --*) WDT_DISARM = 0; WDT_ARM = 1; WDT_RESTART = 2; (*-- Pattern ID --*) INIT_PTN = 0; EMGSHDN_PTN = 1; (*-- Pattern ID for 7442/7444 --*) INIT_PTN_CH0 = 0; INIT_PTN_CH1 = 1; INIT_PTN_CH2 = 2; (* Only for 7444 *) INIT_PTN_CH3 = 3; (* Only for 7444 *) SAFTOUT_PTN_CH0 = 4; SAFTOUT_PTN_CH1 = 5; SAFTOUT_PTN_CH2 = 6; (* Only for 7444 *) SAFTOUT_PTN_CH3 = 7; (* Only for 7444 *) (*-------- 16-bit binary or 4-decade BCD counter------------------*) BIN = 0; BCD = 1; (*-- EEPROM --*) EEPROM_DEFAULT_BANK = 0; EEPROM_USER_BANK1 = 1; (*------------------------------------*) (* Constants for PCI-9524 *) (*------------------------------------*) (*AI Interrupt*) P9524_INT_LC_EOC = $02; P9524_INT_GP_EOC = $03; (*DSP Constants*) P9524_SPIKE_REJ_DISABLE = $00; P9524_SPIKE_REJ_ENABLE = $01; (*Transfer Mode*) P9524_AI_XFER_POLL = $00; P9524_AI_XFER_DMA = $01; (*Poll All Channels*) P9524_AI_POLL_ALLCHANNELS = 8; P9524_AI_POLLSCANS_CH0_CH3 = 8; P9524_AI_POLLSCANS_CH0_CH2 = 9; P9524_AI_POLLSCANS_CH0_CH1 = 10; (*ADC Sampling Rate*) P9524_ADC_30K_SPS = 0; P9524_ADC_15K_SPS = 1; P9524_ADC_7K5_SPS = 2; P9524_ADC_3K75_SPS = 3; P9524_ADC_2K_SPS = 4; P9524_ADC_1K_SPS = 5; P9524_ADC_500_SPS = 6; P9524_ADC_100_SPS = 7; P9524_ADC_60_SPS = 8; P9524_ADC_50_SPS = 9; P9524_ADC_30_SPS = 10; P9524_ADC_25_SPS = 11; P9524_ADC_15_SPS = 12; P9524_ADC_10_SPS = 13; P9524_ADC_5_SPS = 14; P9524_ADC_2R5_SPS = 15; (*ConfigCtrl Constants*) P9524_VEX_Range_2R5V = $00; P9524_VEX_Range_10V = $01; P9524_VEX_Sence_Local = $00; P9524_VEX_Sence_Remote = $02; P9524_AI_AZMode = $04; P9524_AI_BufAutoReset = $08; P9524_AI_EnEOCInt = $10; (*Trigger Constants*) P9524_TRGMOD_POST = $00; P9524_TRGSRC_SOFT = $00; P9524_TRGSRC_ExtD = $01; P9524_TRGSRC_SSI = $02; P9524_TRGSRC_QD0 = $03; P9524_TRGSRC_PG0 = $04; P9524_AI_TrgPositive = $00; P9524_AI_TrgNegative = $08; (*Group*) P9524_AI_LC_Group = 0; P9524_AI_GP_Group = 1; (*Channel*) P9524_AI_LC_CH0 = 0; P9524_AI_LC_CH1 = 1; P9524_AI_LC_CH2 = 2; P9524_AI_LC_CH3 = 3; P9524_AI_GP_CH0 = 4; P9524_AI_GP_CH1 = 5; P9524_AI_GP_CH2 = 6; P9524_AI_GP_CH3 = 7; (*Pulse Generation and Quadrature Decoder*) P9524_CTR_PG0 = 0; P9524_CTR_PG1 = 1; P9524_CTR_PG2 = 2; P9524_CTR_QD0 = 3; P9524_CTR_QD1 = 4; P9524_CTR_QD2 = 5; P9524_CTR_INTCOUNTER = 6; (*Counter Mode*) P9524_PulseGen_OUTDIR_N = 0; P9524_PulseGen_OUTDIR_R = 1; P9524_PulseGen_CW = 0; P9524_PulseGen_CCW = 2; P9524_x4_AB_Phase_Decoder = 3; P9524_Timer = 4; (*Counter Op*) P9524_CTR_Enable = 0; (*Event Mode*) P9524_Event_Timer = 0; (*AO*) P9524_AO_CH0_1 = 0; (*------------------------------------*) (* Constants for PCI-6202 *) (*------------------------------------*) P6202_ISO0 = 0; P6202_TTL0 = 1; P6202_GPTC0 = $00; P6202_GPTC1 = $01; P6202_ENCODER0 = $02; P6202_ENCODER1 = $03; P6202_ENCODER2 = $04; (*DA control constant*) P6202_DA_WRSRC_Int = $00; P6202_DA_WRSRC_AFI0 = $01; P6202_DA_WRSRC_SSI = $02; P6202_DA_WRSRC_AFI1 = $03; (*DA trigger constant*) P6202_DA_TRGSRC_SOFT = $00; P6202_DA_TRGSRC_AFI0 = $01; P6202_DA_TRGSRC_SSI = $02; P6202_DA_TRGSRC_AFI1 = $03; P6202_DA_TRGMOD_POST = $00; P6202_DA_TRGMOD_DELAY = $04; P6202_DA_ReTrigEn = $20; P6202_DA_DLY2En = $100; (*SSI signal code*) P6202_SSI_DA_CONV = $04; P6202_SSI_DA_TRIG = $40; (*Encoder constant*) P6202_EVT_TYPE_EPT0 = $00; P6202_EVT_TYPE_EPT1 = $01; P6202_EVT_TYPE_EPT2 = $02; P6202_EVT_TYPE_EZC0 = $03; P6202_EVT_TYPE_EZC1 = $04; P6202_EVT_TYPE_EZC2 = $05; P6202_EVT_MOD_EPT = $00; P6202_EPT_PULWIDTH_200us = $00; P6202_EPT_PULWIDTH_2ms = $01; P6202_EPT_PULWIDTH_20ms = $02; P6202_EPT_PULWIDTH_200ms = $03; P6202_EPT_TRGOUT_CALLBACK = $04; P6202_EPT_TRGOUT_AFI = $08; P6202_ENCODER0_LDATA = $05; P6202_ENCODER1_LDATA = $06; P6202_ENCODER2_LDATA = $07; (*------------------------------------*) (* Constants for PCI-922x *) (*------------------------------------*) (*------------------*) (* AI Constants *) (*------------------*) (*Input Type*) P922x_AI_SingEnded = $00; P922x_AI_NonRef_SingEnded = $01; P922x_AI_Differential = $02; (*Conversion Source*) P922x_AI_CONVSRC_INT = $00; P922x_AI_CONVSRC_GPI0 = $10; P922x_AI_CONVSRC_GPI1 = $20; P922x_AI_CONVSRC_GPI2 = $30; P922x_AI_CONVSRC_GPI3 = $40; P922x_AI_CONVSRC_GPI4 = $50; P922x_AI_CONVSRC_GPI5 = $60; P922x_AI_CONVSRC_GPI6 = $70; P922x_AI_CONVSRC_GPI7 = $80; P922x_AI_CONVSRC_SSI1 = $90; P922x_AI_CONVSRC_SSI = $90; (*Trigger Mode*) P922x_AI_TRGMOD_POST = $00; P922x_AI_TRGMOD_GATED = $01; (*Trigger Source*) P922x_AI_TRGSRC_SOFT = $00; P922x_AI_TRGSRC_GPI0 = $10; P922x_AI_TRGSRC_GPI1 = $20; P922x_AI_TRGSRC_GPI2 = $30; P922x_AI_TRGSRC_GPI3 = $40; P922x_AI_TRGSRC_GPI4 = $50; P922x_AI_TRGSRC_GPI5 = $60; P922x_AI_TRGSRC_GPI6 = $70; P922x_AI_TRGSRC_GPI7 = $80; P922x_AI_TRGSRC_SSI5 = $90; P922x_AI_TRGSRC_SSI = $90; (*Trigger Polarity*) P922x_AI_TrgPositive = $000; P922x_AI_TrgNegative = $100; (*ReTrigger*) P922x_AI_EnReTigger = $200; (*------------------*) (* AO Constants *) (*------------------*) (*Conversion Source*) P922x_AO_CONVSRC_INT = $00; P922x_AO_CONVSRC_GPI0 = $01; P922x_AO_CONVSRC_GPI1 = $02; P922x_AO_CONVSRC_GPI2 = $03; P922x_AO_CONVSRC_GPI3 = $04; P922x_AO_CONVSRC_GPI4 = $05; P922x_AO_CONVSRC_GPI5 = $06; P922x_AO_CONVSRC_GPI6 = $07; P922x_AO_CONVSRC_GPI7 = $08; P922x_AO_CONVSRC_SSI2 = $09; P922x_AO_CONVSRC_SSI = $09; (*Trigger Mode*) P922x_AO_TRGMOD_POST = $00; P922x_AO_TRGMOD_DELAY = $01; (*Trigger Source*) P922x_AO_TRGSRC_SOFT = $00; P922x_AO_TRGSRC_GPI0 = $10; P922x_AO_TRGSRC_GPI1 = $20; P922x_AO_TRGSRC_GPI2 = $30; P922x_AO_TRGSRC_GPI3 = $40; P922x_AO_TRGSRC_GPI4 = $50; P922x_AO_TRGSRC_GPI5 = $60; P922x_AO_TRGSRC_GPI6 = $70; P922x_AO_TRGSRC_GPI7 = $80; P922x_AO_TRGSRC_SSI6 = $90; P922x_AO_TRGSRC_SSI = $90; (*Trigger Polarity*) P922x_AO_TrgPositive = $000; P922x_AO_TrgNegative = $100; (*Retrigger*) P922x_AO_EnReTigger = $200; (*Delay 2*) P922x_AO_EnDelay2 = $400; (*------------------*) (* DI Constants *) (*------------------*) (*Conversion Source*) P922x_DI_CONVSRC_INT = $00; P922x_DI_CONVSRC_GPI0 = $01; P922x_DI_CONVSRC_GPI1 = $02; P922x_DI_CONVSRC_GPI2 = $03; P922x_DI_CONVSRC_GPI3 = $04; P922x_DI_CONVSRC_GPI4 = $05; P922x_DI_CONVSRC_GPI5 = $06; P922x_DI_CONVSRC_GPI6 = $07; P922x_DI_CONVSRC_GPI7 = $08; P922x_DI_CONVSRC_ADCONV = $09; P922x_DI_CONVSRC_DACONV = $0A; (*Trigger Mode*) P922x_DI_TRGMOD_POST = $00; (*Trigger Source*) P922x_DI_TRGSRC_SOFT = $00; P922x_DI_TRGSRC_GPI0 = $10; P922x_DI_TRGSRC_GPI1 = $20; P922x_DI_TRGSRC_GPI2 = $30; P922x_DI_TRGSRC_GPI3 = $40; P922x_DI_TRGSRC_GPI4 = $50; P922x_DI_TRGSRC_GPI5 = $60; P922x_DI_TRGSRC_GPI6 = $70; P922x_DI_TRGSRC_GPI7 = $80; (*Trigger Polarity*) P922x_DI_TrgPositive = $000; P922x_DI_TrgNegative = $100; (*ReTrigger*) P922x_DI_EnReTigger = $200; (*------------------*) (* DO Constants *) (*------------------*) (*Conversion Source*) P922x_DO_CONVSRC_INT = $00; P922x_DO_CONVSRC_GPI0 = $01; P922x_DO_CONVSRC_GPI1 = $02; P922x_DO_CONVSRC_GPI2 = $03; P922x_DO_CONVSRC_GPI3 = $04; P922x_DO_CONVSRC_GPI4 = $05; P922x_DO_CONVSRC_GPI5 = $06; P922x_DO_CONVSRC_GPI6 = $07; P922x_DO_CONVSRC_GPI7 = $08; P922x_DO_CONVSRC_ADCONV = $09; P922x_DO_CONVSRC_DACONV = $0A; (*Trigger Mode*) P922x_DO_TRGMOD_POST = $00; P922x_DO_TRGMOD_DELAY = $01; (*Trigger Source*) P922x_DO_TRGSRC_SOFT = $00; P922x_DO_TRGSRC_GPI0 = $10; P922x_DO_TRGSRC_GPI1 = $20; P922x_DO_TRGSRC_GPI2 = $30; P922x_DO_TRGSRC_GPI3 = $40; P922x_DO_TRGSRC_GPI4 = $50; P922x_DO_TRGSRC_GPI5 = $60; P922x_DO_TRGSRC_GPI6 = $70; P922x_DO_TRGSRC_GPI7 = $80; (*Trigger Polarity*) P922x_DO_TrgPositive = $000; P922x_DO_TrgNegative = $100; (*Retrigger*) P922x_DO_EnReTigger = $200; (*--------------------------*) (* Encoder/GPTC Constants *) (*--------------------------*) P922x_GPTC0 = $00; P922x_GPTC1 = $01; P922x_GPTC2 = $02; P922x_GPTC3 = $03; P922x_ENCODER0 = $04; P922x_ENCODER1 = $05; (*Encoder Setting Event Mode*) P922x_EVT_MOD_EPT = $00; (*Encoder Setting Event Control*) P922x_EPT_PULWIDTH_200us = $00; P922x_EPT_PULWIDTH_2ms = $01; P922x_EPT_PULWIDTH_20ms = $02; P922x_EPT_PULWIDTH_200ms = $03; P922x_EPT_TRGOUT_GPO = $04; P922x_EPT_TRGOUT_CALLBACK = $08; (*Event Type*) P922x_EVT_TYPE_EPT0 = $00; P922x_EVT_TYPE_EPT1 = $01; (*SSI signal code*) P922x_SSI_AI_CONV = $02; P922x_SSI_AI_TRIG = $20; P922x_SSI_AO_CONV = $04; P922x_SSI_AO_TRIG = $40; (*------------------------------------*) (* Constants for PCIe-7350 *) (*------------------------------------*) P7350_PortDIO = 0; P7350_PortAFI = 1; (*DIO Port*) P7350_DIO_A = 0; P7350_DIO_B = 1; P7350_DIO_C = 2; P7350_DIO_D = 3; (*AFI Port*) P7350_AFI_0 = 0; P7350_AFI_1 = 1; P7350_AFI_2 = 2; P7350_AFI_3 = 3; P7350_AFI_4 = 4; P7350_AFI_5 = 5; P7350_AFI_6 = 6; P7350_AFI_7 = 7; (*AFI Mode*) P7350_AFI_DIStartTrig = 0; P7350_AFI_DOStartTrig = 1; P7350_AFI_DIPauseTrig = 2; P7350_AFI_DOPauseTrig = 3; P7350_AFI_DISWTrigOut = 4; P7350_AFI_DOSWTrigOut = 5; P7350_AFI_COSTrigOut = 6; P7350_AFI_PMTrigOut = 7; P7350_AFI_HSDIREQ = 8; P7350_AFI_HSDIACK = 9; P7350_AFI_HSDITRIG = 10; P7350_AFI_HSDOREQ = 11; P7350_AFI_HSDOACK = 12; P7350_AFI_HSDOTRIG = 13; P7350_AFI_SPI = 14; P7350_AFI_I2C = 15; P7350_POLL_DI = 16; P7350_POLL_DO = 17; (*Operation Mode*) P7350_FreeRun = 0; P7350_HandShake = 1; P7350_BurstHandShake = 2; (*Trigger Status*) P7350_WAIT_NO = 0; P7350_WAIT_EXTTRG = 1; P7350_WAIT_SOFTTRG = 2; (*Sampled Clock*) P7350_IntSampledCLK = 0x00; P7350_ExtSampledCLK = 0x01; (*Sampled Clock Edge*) P7350_SampledCLK_R = 0x00; P7350_SampledCLK_F = 0x02; (*Enable Export Sample Clock*) P7350_EnExpSampledCLK = 0x04; (*Trigger Configuration*) P7350_EnPauseTrig = 0x01; P7350_EnSoftTrigOut = 0x02; (*HandShake & Trigger Polarity*) P7350_DIREQ_POS = 0x00; P7350_DIREQ_NEG = 0x01; P7350_DIACK_POS = 0x00; P7350_DIACK_NEG = 0x02; P7350_DITRIG_POS = 0x00; P7350_DITRIG_NEG = 0x04; P7350_DIStartTrig_POS = 0x00; P7350_DIStartTrig_NEG = 0x08; P7350_DIPauseTrig_POS = 0x00; P7350_DIPauseTrig_NEG = 0x10; P7350_DOREQ_POS = 0x00; P7350_DOREQ_NEG = 0x01; P7350_DOACK_POS = 0x00; P7350_DOACK_NEG = 0x02; P7350_DOTRIG_POS = 0x00; P7350_DOTRIG_NEG = 0x04; P7350_DOStartTrig_POS = 0x00; P7350_DOStartTrig_NEG = 0x08; P7350_DOPauseTrig_POS = 0x00; P7350_DOPauseTrig_NEG = 0x10; (*External Sampled Clock Source*) P7350_ECLK_IN = 8; (*Export Sampled Clock*) P7350_ECLK_OUT = 8; (*Enable Dynamic Delay Adjust*) P7350_DisDDA = 0x0; P7350_EnDDA = 0x1; (*Dynamic Delay Adjust Mode*) P7350_DDA_Lag = 0x0; P7350_DDA_Lead = 0x2; (*Dynamic Delay Adjust Step*) P7350_DDA_130PS = 0; P7350_DDA_260PS = 1; P7350_DDA_390PS = 2; P7350_DDA_520PS = 3; P7350_DDA_650PS = 4; P7350_DDA_780PS = 5; P7350_DDA_910PS = 6; P7350_DDA_1R04NS = 7; (*Enable Dynamic Phase Adjust*) P7350_DisDPA = 0x0; P7350_EnDPA = 0x1; (*Dynamic Delay Adjust Degree*) P7350_DPA_0DG = 0; P7350_DPA_22R5DG = 1; P7350_DPA_45DG = 2; P7350_DPA_67R5DG = 3; P7350_DPA_90DG = 4; P7350_DPA_112R5DG = 5; P7350_DPA_135DG = 6; P7350_DPA_157R5DG = 7; P7350_DPA_180DG = 8; P7350_DPA_202R5DG = 9; P7350_DPA_225DG = 10; P7350_DPA_247R5DG = 11; P7350_DPA_270DG = 12; P7350_DPA_292R5DG = 13; P7350_DPA_315DG = 14; P7350_DPA_337R5DG = 15; (*DIO & AFI Voltage Level*) VoltLevel_3R3 = 0; VoltLevel_2R5 = 1; VoltLevel_1R8 = 2; (*------------------------------------*) (* Constants for I Squared C (I2C) *) (*------------------------------------*) (*I2C Port*) I2C_Port_A = 0; (*I2C Control Operation*) I2C_ENABLE = 0; I2C_STOP = 1; (*-------------------------------------------*) (* Constants for Serial Peripheral Interface *) (*-------------------------------------------*) (*SPI Port*) SPI_Port_A = 0; (*SPI Clock Mode*) SPI_CLK_L = $00; SPI_CLK_H = $01; (*SPI TX Polarity*) SPI_TX_POS = $00; SPI_TX_NEG = $02; (*SPI RX Polarity*) SPI_RX_POS = $00; SPI_RX_NEG = $04; (*SPI Transferred Order*) SPI_MSB = $00; SPI_LSB = $08; (*SPI Control Operation*) SPI_ENABLE = 0; (*------------------------------------*) (* Constants for Access EEPROM *) (*------------------------------------*) (*Pattern Match Channel Mode*) PATMATCH_CHNDisable = 0; PATMATCH_CHNEnable = 1; (*Pattern Match Channel Type*) PATMATCH_Level_L = 0; PATMATCH_Level_H = 1; PATMATCH_Edge_R = 2; PATMATCH_Edge_F = 3; (*Pattern Match Operation*) PATMATCH_STOP = 0; PATMATCH_START = 1; PATMATCH_RESTART = 2; (*------------------------------------*) (* Constants for Pattern Match *) (*------------------------------------*) (*for PCI-7230/PCMe-7230*) P7230_EEP_BLK_0 = 0; P7230_EEP_BLK_1 = 1; type TCallbackFunc = function : Integer; (****************************************************************************) (* PCIS-DASK Functions Declarations *) (****************************************************************************) function Register_Card (CardType:Word; card_num:Word):Smallint;stdcall; function Release_Card (CardNumber:Word):Smallint;stdcall; function GetActualRate (CardNumber:word; SampleRate:Double; var ActualRate:Double):Smallint;stdcall; function GetActualRate_9524 (CardNumber:word; Group:word; SampleRate:Double; var ActualRate:Double):Smallint;stdcall; function GetCardType (CardNumber:word; var cardType:Word):Smallint;stdcall; function GetBaseAddr (CardNumber:word; var BaseAddr:Cardinal; var BaseAddr2:Cardinal):Smallint;stdcall; function GetLCRAddr (CardNumber:word; LcrAddr:Cardinal):Smallint;stdcall; function GetCardIndexFromID (CardNumber:word; var cardType:Word; var cardIndex:Word):Smallint;stdcall; function EMGShutDownControl (CardNumber:word; ctrl:Byte):Smallint;stdcall; function EMGShutDownStatus (CardNumber:word; var status:Byte):Smallint;stdcall; function HotResetHoldControl (CardNumber:word; enable:Byte):Smallint;stdcall; function HotResetHoldStatus (CardNumber:word; var sts:Byte):Smallint;stdcall; function GetInitPattern (CardNumber:word; patID:Byte; var pattern:Cardinal):Smallint;stdcall; function SetInitPattern (CardNumber:word; patID:Byte; pattern:Cardinal):Smallint;stdcall; function IdentifyLED_Control (CardNumber:word; ctrl:Byte):Smallint;stdcall; function PCI_EEPROM_LoadData (CardNumber:word; block:word; var data:word):Smallint;stdcall; function PCI_EEPROM_SaveData (CardNumber:word; block:word; data:word):Smallint;stdcall; (*---------------------------------------------------------------------------*) function AI_9111_Config (CardNumber:Word; TrigSource:Word; TrgMode:Word; TraceCnt:Word):Smallint;stdcall; function AI_9112_Config (CardNumber:Word; TrigSource:Word):Smallint;stdcall; function AI_9113_Config (CardNumber:Word; TrigSource:Word):Smallint;stdcall; function AI_9114_Config (CardNumber:Word; TrigSource:Word):Smallint;stdcall; function AI_9114_PreTrigConfig (CardNumber:Word; PreTrgEn:Word; TraceCnt:Word):Smallint;stdcall; function AI_9116_Config (CardNumber:Word; ConfigCtrl:Word; TrigCtrl:Word; PostCnt:Word; MCnt:Word; ReTrgCnt:Word):Smallint;stdcall; function AI_9118_Config (CardNumber:Word; ModeCtrl:Word; FunCtrl:Word; BurstCnt:Word; PostCnt:Word):Smallint;stdcall; function AI_9221_Config (CardNumber:Word; ConfigCtrl:Word; TrigCtrl:Word; AutoResetBuf:Byte):Smallint;stdcall; function AI_9812_Config (CardNumber:Word; TrgMode:Word; TrgSrc:Word; TrgPol:Word; ClkSel:Word; TrgLevel:Word; PostCnt:Word):Smallint;stdcall; function AI_9812_SetDiv (CardNumber:Word; pacerVal:Cardinal):Smallint;stdcall; function AI_9116_CounterInterval (CardNumber:Word; ScanIntrv:Cardinal; SampIntrv:Cardinal):Smallint;stdcall; function AI_9221_CounterInterval (CardNumber:Word; ScanIntrv:Cardinal; SampIntrv:Cardinal):Smallint;stdcall; function AI_9524_Config (CardNumber:Word; Group:Word; XMode:Word; ConfigCtrl:Word; TrigCtrl:Word; TrigValue:Cardinal):Smallint;stdcall; function AI_9524_PollConfig (CardNumber:Word; Group:Word; PollChannel:Word; PollRange:Word; PollSpeed:Word):Smallint;stdcall; function AI_9524_SetDSP (CardNumber:Word; Channel:Word; Mode:Word; DFStage:Word; SPKRejThreshold:Cardinal):Smallint;stdcall; function AI_9524_GetEOCEvent (CardNumber:Word; Group:Word; var hEvent:Cardinal):Smallint;stdcall; function AI_9222_Config (CardNumber:Word; ConfigCtrl:Word; TrigCtrl:Word; ReTriggerCnt:Cardinal; AutoResetBuf:Byte):Smallint;stdcall; function AI_9222_CounterInterval (CardNumber:Word; ScanIntrv:Cardinal; SampIntrv:Cardinal):Smallint;stdcall; function AI_9223_Config (CardNumber:Word; ConfigCtrl:Word; TrigCtrl:Word; ReTriggerCnt:Cardinal; AutoResetBuf:Byte):Smallint;stdcall; function AI_9223_CounterInterval (CardNumber:Word; ScanIntrv:Cardinal; SampIntrv:Cardinal):Smallint;stdcall; function AI_922A_Config (CardNumber:Word; ConfigCtrl:Word; TrigCtrl:Word; ReTriggerCnt:Cardinal; AutoResetBuf:Byte):Smallint;stdcall; function AI_922A_CounterInterval (CardNumber:Word; ScanIntrv:Cardinal; SampIntrv:Cardinal):Smallint;stdcall; function AI_InitialMemoryAllocated (CardNumber:Word; var MemSize:Cardinal):Smallint;stdcall; function AI_ReadChannel (CardNumber:Word; Channel:Word; AdRange:Word; var Value:Word):Smallint;stdcall; function AI_ReadChannel32 (CardNumber:Word; Channel:Word; AdRange:Word; var Value:Cardinal):Smallint;stdcall; function AI_VReadChannel (CardNumber:Word; Channel:Word; AdRange:Word; var voltage:Double):Smallint;stdcall; function AI_ScanReadChannels (CardNumber:Word; Channel:Word; AdRange:Word; var Buffer:Word):Smallint;stdcall; function AI_ScanReadChannels32 (CardNumber:Word; Channel:Word; AdRange:Word; var Buffer:Cardinal):Smallint;stdcall; function AI_ReadMultiChannels (CardNumber:Word; NumChans:Word; var Chans:Word; var AdRanges:Word; var Buffer:Word):Smallint;stdcall; function AI_VoltScale (CardNumber:Word; AdRange:Word; reading:Smallint; var voltage:Double):Smallint;stdcall; function AI_VoltScale32 (CardNumber:Word; AdRange:Word; reading:Longint; var voltage:Double):Smallint;stdcall; function AI_ContReadChannel (CardNumber:Word; Channel:Word; AdRange:Word; var Buffer:Word; ReadCount:Cardinal; SampleRate:Double; SyncMode:Word):Smallint;stdcall; function AI_ContReadMultiChannels (CardNumber:Word; NumChans:Word; var Chans:Word; var AdRanges:Word; var Buffer:Word; ReadCount:Cardinal; SampleRate:Double; SyncMode:Word):Smallint;stdcall; function AI_ContScanChannels (CardNumber:Word; Channel:Word; AdRange:Word; var Buffer:Word; ReadCount:Cardinal; SampleRate:Double; SyncMode:Word):Smallint;stdcall; function AI_ContReadChannelToFile (CardNumber:Word; Channel:Word; AdRange:Word; var FileName:Char; ReadCount:Cardinal; SampleRate:Double; SyncMode:Word):Smallint;stdcall; function AI_ContReadMultiChannelsToFile (CardNumber:Word; NumChans:Word; var Chans:Word; var AdRanges:Word; var FileName:Char; ReadCount:Cardinal; SampleRate:Double; SyncMode:Word):Smallint;stdcall; function AI_ContScanChannelsToFile (CardNumber:Word; Channel:Word; AdRange:Word; var FileName:Char; ReadCount:Cardinal; SampleRate:Double; SyncMode:Word):Smallint;stdcall; function AI_ContVScale (CardNumber:Word; AdRange:Word; var readingArray:Word; var voltageArray:Double; count:Longint):Smallint;stdcall; function AI_ContStatus (CardNumber:Word; var Status:Word):Smallint;stdcall; function AI_AsyncCheck (CardNumber:Word; var Stopped:Byte; var AccessCnt:Cardinal):Smallint;stdcall; function AI_AsyncClear (CardNumber:Word; var AccessCnt:Cardinal):Smallint;stdcall; function AI_AsyncDblBufferHalfReady (CardNumber:Word; var HalfReady:Byte; var StopFlag:Byte):Smallint;stdcall; function AI_AsyncDblBufferMode (CardNumber:Word; Enable:Byte):Smallint;stdcall; function AI_AsyncDblBufferTransfer (CardNumber:Word; var Buffer:Word):Smallint;stdcall; function AI_AsyncDblBufferOverrun (CardNumber:Word; op:Word; var overrunFlag:Word):Smallint;stdcall; function AI_AsyncDblBufferHandled (CardNumber:Word):Smallint;stdcall; function AI_AsyncDblBufferToFile (CardNumber:Word):Smallint;stdcall; function AI_EventCallBack (CardNumber:Word; mode:Smallint; EventType:Smallint; callbackAddr:Cardinal):Smallint;stdcall; function AI_SetTimeOut (CardNumber:Word; TimeOut:Cardinal):Smallint;stdcall; function AI_ContBufferSetup (CardNumber:Word; var Buffer:Word; ReadCount:Cardinal; var BufferId:Word):Smallint;stdcall; function AI_ContBufferReset (CardNumber:Word):Smallint;stdcall; function AI_AsyncReTrigNextReady (CardNumber:Word; var Ready:Byte; var StopFlag:Byte; var RdyTrigCnt:Word):Smallint;stdcall; (*---------------------------------------------------------------------------*) function AO_6202_Config (CardNumber:Word; ConfigCtrl:Word; TrigCtrl:Word; ReTrgCnt:Cardinal; DLY1Cnt:Cardinal; DLY2Cnt:Cardinal; AutoResetBuf:Byte):Smallint;stdcall; function AO_6208A_Config (CardNumber:Word; V2AMode:Word):Smallint;stdcall; function AO_6308A_Config (CardNumber:Word; V2AMode:Word):Smallint;stdcall; function AO_6308V_Config (CardNumber:Word; Channel:Word; OutputPolarity:Word; refVoltage:Double):Smallint;stdcall; function AO_9111_Config (CardNumber:Word; OutputPolarity:Word):Smallint;stdcall; function AO_9112_Config (CardNumber:Word; Channel:Word; refVoltage:Double):Smallint;stdcall; function AO_AsyncCheck (CardNumber:Word; var Stopped:Byte; var AccessCnt:Cardinal):Smallint;stdcall; function AO_9222_Config (CardNumber:Word; ConfigCtrl:Word; TrigCtrl:Word; ReTrgCnt:Cardinal; DLY1Cnt:Cardinal; DLY2Cnt:Cardinal; AutoResetBuf:Byte):Smallint;stdcall; function AO_9223_Config (CardNumber:Word; ConfigCtrl:Word; TrigCtrl:Word; ReTrgCnt:Cardinal; DLY1Cnt:Cardinal; DLY2Cnt:Cardinal; AutoResetBuf:Byte):Smallint;stdcall; function AO_InitialMemoryAllocated (CardNumber:Word; var MemSize:Cardinal):Smallint;stdcall; function AO_AsyncClear (CardNumber:Word; var AccessCnt:Cardinal; stop_mode:Word):Smallint;stdcall; function AO_AsyncDblBufferHalfReady (CardNumber:Word; var HalfReady:Byte):Smallint;stdcall; function AO_AsyncDblBufferMode (CardNumber:Word; Enable:Byte):Smallint;stdcall; function AO_ContBufferCompose (CardNumber:Word; TotalChnCount:Word; ChnNum:Word; UpdateCount:Cardinal; var ConBuffer:Cardinal; var Buffer:Cardinal):Smallint;stdcall; function AO_ContBufferReset (CardNumber:Word):Smallint;stdcall; function AO_ContBufferSetup (CardNumber:Word; var Buffer:Cardinal; WriteCount:Cardinal; var BufferId:Word):Smallint;stdcall; function AO_ContStatus (CardNumber:Word; var Status:Word):Smallint;stdcall; function AO_ContWriteChannel (CardNumber:Word; Channel:Word; BufId:Word; WriteCount:Cardinal; Iterations:Cardinal; CHUI:Cardinal; definite:Word; SyncMode:Word):Smallint;stdcall; function AO_ContWriteMultiChannels (CardNumber:Word; NumChans:Word; var Chans:Word; BufId:Word; WriteCount:Cardinal; Iterations:Cardinal; CHUI:Cardinal; definite:Word; SyncMode:Word):Smallint;stdcall; function AO_EventCallBack (CardNumber:Word; mode:Smallint; EventType:Smallint; callbackAddr:Cardinal):Smallint;stdcall; function AO_SetTimeOut (CardNumber:Word; TimeOut:Cardinal):Smallint;stdcall; function AO_WriteChannel (CardNumber:Word; Channel:Word; Value:Word):Smallint;stdcall; function AO_VWriteChannel (CardNumber:Word; Channel:Word; Voltage:Double):Smallint;stdcall; function AO_VoltScale (CardNumber:Word; Channel:Word; Voltage:Double; var binValue:Smallint):Smallint;stdcall; function AO_SimuWriteChannel (CardNumber:Word; Group:Word; var valueArray:Word):Smallint;stdcall; function AO_SimuVWriteChannel (CardNumber:Word; Group:Word; var voltageArray:Double):Smallint;stdcall; (*---------------------------------------------------------------------------*) function DI_7200_Config (CardNumber:Word; TrigSource:Word; ExtTrigEn:Word; TrigPol:Word; I_REQ_Pol:Word):Smallint;stdcall; function DI_7233_ForceLogic (CardNumber:Word; ConfigCtrl:Word):Smallint;stdcall; function DI_7300A_Config (CardNumber:Word; PortWidth:Word; TrigSource:Word; WaitStatus:Word; Terminator:Word; I_REQ_Pol:Word; clear_fifo:Byte; disable_di:Byte):Smallint;stdcall; function DI_7300B_Config (CardNumber:Word; PortWidth:Word; TrigSource:Word; WaitStatus:Word; Terminator:Word; I_Cntrl_Pol:Word; clear_fifo:Byte; disable_di:Byte):Smallint;stdcall; function DI_9222_Config (CardNumber:Word; ConfigCtrl:Word; TrigCtrl:Word; ReTriggerCnt:Cardinal; AutoResetBuf:Byte):Smallint;stdcall; function DI_9223_Config (CardNumber:Word; ConfigCtrl:Word; TrigCtrl:Word; ReTriggerCnt:Cardinal; AutoResetBuf:Byte):Smallint;stdcall; function DI_InitialMemoryAllocated (CardNumber:Word; var DmaSize:Cardinal):Smallint;stdcall; function DI_ReadLine (CardNumber:Word; Port:Word; Line:Word; var State:Word):Smallint;stdcall; function DI_ReadPort (CardNumber:Word; Port:Word; var Value:Cardinal):Smallint;stdcall; function DI_ContReadPort (CardNumber:Word; Port:Word; var Buffer:Cardinal; ReadCount:Cardinal; SampleRate:Double; SyncMode:Word):Smallint;stdcall; function DI_ContReadPortToFile (CardNumber:Word; Port:Word; var FileName:Byte; ReadCount:Cardinal; SampleRate:Double; SyncMode:Word):Smallint;stdcall; function DI_ContStatus (CardNumber:Word; var Status:Word):smallint;stdcall; function DI_AsyncCheck (CardNumber:Word; var Stopped:Byte; var AccessCnt:Cardinal):Smallint;stdcall; function DI_AsyncClear (CardNumber:Word; var AccessCnt:Cardinal):Smallint;stdcall; function DI_AsyncDblBufferHalfReady (CardNumber:Word; var HalfReady:Byte):Smallint;stdcall; function DI_AsyncDblBufferMode (CardNumber:Word; Enable:Byte):Smallint;stdcall; function DI_AsyncDblBufferTransfer (CardNumber:Word; var Buffer:Cardinal):Smallint;stdcall; function DI_ContMultiBufferSetup (CardNumber:Word; var Buffer:Cardinal; ReadCount:Cardinal; var BufferId:Word):Smallint;stdcall; function DI_ContMultiBufferStart (CardNumber:Word; Port:Word; SampleRate:Double):Smallint;stdcall; function DI_AsyncMultiBufferNextReady (CardNumber:Word; var NextReady:Byte; var BufferId:Word):Smallint;stdcall; function DI_AsyncDblBufferOverrun (CardNumber:Word; op:Word; var overrunFlag:Word):Smallint;stdcall; function DI_EventCallBack (CardNumber:Word; mode:Smallint; EventType:Smallint; callbackAddr:Cardinal):Smallint;stdcall; function DI_AsyncDblBufferHandled (CardNumber:Word):Smallint;stdcall; function DI_AsyncDblBufferToFile (CardNumber:Word):Smallint;stdcall; function DI_SetTimeOut (CardNumber:Word; TimeOut:Cardinal):Smallint;stdcall; function DI_ContBufferSetup (CardNumber:Word; var Buffer:Cardinal; ReadCount:Cardinal; var BufferId:Word):Smallint;stdcall; function DI_ContBufferReset (CardNumber:Word):Smallint;stdcall; function DI_AsyncReTrigNextReady (CardNumber:Word; var Ready:Byte; var StopFlag:Byte; var RdyTrigCnt:Word):Smallint;stdcall; function DI_7350_Config (CardNumber:Word; DIPortWidth:Word; DIMode:Word; DIWaitStatus:Word; DIClkConfig:Word):Smallint;stdcall; function DI_7350_ExportSampCLKConfig (CardNumber:Word; CLK_Src:Word; CLK_DPAMode:Word; CLK_DPAVlaue:Word):Smallint;stdcall; function DI_7350_ExtSampCLKConfig (CardNumber:Word; CLK_Src:Word; CLK_DDAMode:Word; CLK_DPAMode:Word; CLK_DDAVlaue:Word; CLK_DPAVlaue:Word):Smallint;stdcall; function DI_7350_SoftTriggerGen (CardNumber:Word):Smallint;stdcall; function DI_7350_TrigHSConfig (CardNumber:Word; TrigConfig:Word; DI_IPOL:Word; DI_REQSrc:Word; DI_ACKSrc:Word; DI_TRIGSrc:Word; StartTrigSrc:Word; PauseTrigSrc:Word; SoftTrigOutSrc:Word; SoftTrigOutLength:Cardinal; TrigCount:Cardinal):Smallint;stdcall; function DI_7350_BurstHandShakeDelay (CardNumber:Word; Delay:Byte):Smallint;stdcall; (*---------------------------------------------------------------------------*) function DO_7200_Config (CardNumber:Word; TrigSource:Word; OutReqEn:Word; OutTrigSig:Word):Smallint;stdcall; function DO_7300A_Config (CardNumber:Word; PortWidth:Word; TrigSource:Word; WaitStatus:Word; Terminator:Word; O_REQ_Pol:Word):Smallint;stdcall; function DO_7300B_Config (CardNumber:Word; PortWidth:Word; TrigSource:Word; WaitStatus:Word; Terminator:Word; O_Cntrl_Pol:Word; FifoThreshold:Cardinal):Smallint;stdcall; function DO_7300B_SetDODisableMode (CardNumber:Word; Mode:Word):Smallint;stdcall; function DO_9222_Config (CardNumber:Word; ConfigCtrl:Word; TrigCtrl:Word; ReTrgCnt:Cardinal; DLY1Cnt:Cardinal; DLY2Cnt:Cardinal; AutoResetBuf:Byte):Smallint;stdcall; function DO_9223_Config (CardNumber:Word; ConfigCtrl:Word; TrigCtrl:Word; ReTrgCnt:Cardinal; DLY1Cnt:Cardinal; DLY2Cnt:Cardinal; AutoResetBuf:Byte):Smallint;stdcall; function DO_InitialMemoryAllocated (CardNumber:Word; var MemSize:Cardinal):Smallint;stdcall; function DO_WriteLine (CardNumber:Word; Port:Word; Line:Word; Value:Word):Smallint;stdcall; function DO_WritePort (CardNumber:Word; Port:Word; Value:Cardinal):Smallint;stdcall; function DO_SimuWritePort (CardNumber:Word; NumChans:Word; var dwBuffer:Cardinal):Smallint;stdcall; function DO_ReadLine (CardNumber:Word; Port:Word; Line:Word; var Value:Word):Smallint;stdcall; function DO_ReadPort (CardNumber:Word; Port:Word; var Value:Cardinal):Smallint;stdcall; function DO_ContWritePort (CardNumber:Word; Port:Word; var Buffer:Cardinal; WriteCount:Cardinal; Iterations:Word; SampleRate:Double; SyncMode:Word):Smallint;stdcall; function DO_PGStart (CardNumber:Word; var Buffer:Cardinal; WriteCount:Cardinal; SampleRate:Double):Smallint;stdcall; function DO_PGStop (CardNumber:Word):Smallint;stdcall; function DO_ContStatus (CardNumber:Word; var Status:Word):Smallint;stdcall; function DO_AsyncCheck (CardNumber:Word; var Stopped:Byte; var AccessCnt:Cardinal):Smallint;stdcall; function DO_AsyncClear (CardNumber:Word; var AccessCnt:Cardinal):Smallint;stdcall; function EDO_9111_Config (CardNumber:Word; EDO_Fun:Word):Smallint;stdcall; function DO_WriteExtTrigLine (CardNumber:Word; Value:Word):Smallint;stdcall; function DO_ContMultiBufferSetup (CardNumber:Word; var Buffer:Cardinal; WriteCount:Cardinal; var BufferId:Word):Smallint;stdcall; function DO_ContMultiBufferStart (CardNumber:Word; Port:Word; SampleRate:Double):Smallint;stdcall; function DO_AsyncMultiBufferNextReady (CardNumber:Word; var NextReady:Byte; var BufferId:Word):Smallint;stdcall; function DO_EventCallBack (CardNumber:Word; mode:Smallint; EventType:Smallint; callbackAddr:Cardinal):Smallint;stdcall; function DO_SetTimeOut (CardNumber:Word; TimeOut:Cardinal):Smallint;stdcall; function DO_ContBufferSetup (CardNumber:Word; var Buffer:Cardinal; WriteCount:Cardinal; var BufferId:Word):Smallint;stdcall; function DO_ContBufferReset (CardNumber:Word):Smallint;stdcall; function DO_7350_Config (CardNumber:Word; DOPortWidth:Word; DOMode:Word; DOWaitStatus:Word; DOClkConfig:Word):Smallint;stdcall; function DO_7350_TrigHSConfig (CardNumber:Word; TrigConfig:Word; DO_IPOL:Word; DO_REQSrc:Word; DO_ACKSrc:Word; DO_TRIGSrc:Word; StartTrigSrc:Word; PauseTrigSrc:Word; SoftTrigOutSrc:Word; SoftTrigOutLength:Cardinal; TrigCount:Cardinal):Smallint;stdcall; function DO_7350_ExtSampCLKConfig (CardNumber:Word; CLK_Src:Word; CLK_DDAMode:Word; CLK_DPAMode:Word; CLK_DDAVlaue:Word; CLK_DPAVlaue:Word):Smallint;stdcall; function DO_7350_ExportSampCLKConfig (CardNumber:Word; CLK_Src:Word; CLK_DPAMode:Word; CLK_DPAVlaue:Word):Smallint;stdcall; function DO_7350_SoftTriggerGen (CardNumber:Word):Smallint;stdcall; function DO_ContWritePortEx (CardNumber:Word; Port:Word; var Buffer:Cardinal; WriteCount:Cardinal; Iterations:Word; SampleRate:Double; SyncMode:Word):Smallint;stdcall; function DO_7350_BurstHandShakeDelay (CardNumber:Word; Delay:Byte):Smallint;stdcall; (*---------------------------------------------------------------------------*) function DIO_PortConfig (CardNumber:Word; Port:Word; Direction:Word):Smallint;stdcall; function DIO_LinesConfig (CardNumber:Word; Port:Word; Linesdirmap:Word):Smallint;stdcall; function DIO_LineConfig (CardNumber:Word; Port:Word; Line:Word; Direction:Word):Smallint;stdcall; function DIO_SetDualInterrupt (CardNumber:Word; Int1Mode:Smallint; Int2Mode:Smallint; var hEvent:Cardinal):Smallint;stdcall; function DIO_SetCOSInterrupt (CardNumber:Word; Port:Word; ctlA:Word; ctlB:Word; ctlC:Word):Smallint;stdcall; function DIO_GetCOSLatchData (CardNumber:Word; var CosLData:Word):Smallint;stdcall; function DIO_SetCOSInterrupt32(CardNumber:Word; Port:Byte; ctl:Cardinal; var hEvent:Cardinal; ManualReset:Byte):Smallint;stdcall; function DIO_GetCOSLatchData32 (CardNumber:Word; Port:Byte; var CosLData:Cardinal):Smallint;stdcall; function DIO_GetCOSLatchDataInt32 (CardNumber:Word; Port:Byte; var CosLData:Cardinal):Smallint;stdcall; function DIO_INT1_EventMessage (CardNumber:Word; Int1Mode:Smallint; windowHandle:Cardinal; message:Cardinal; callbackAddr:TCallbackFunc):Smallint;stdcall; function DIO_INT2_EventMessage (CardNumber:Word; Int2Mode:Smallint; windowHandle:Cardinal; message:Cardinal; callbackAddr:TCallbackFunc):Smallint;stdcall; function DIO_INT_EventMessage (CardNumber:Word; mode:Smallint; evt:Cardinal; windowHandle:Cardinal; message:Cardinal; callbackAddr:Cardinal):Smallint;stdcall; function DIO_7300SetInterrupt (CardNumber:Word; AuxDIEn:Smallint; T2En:Smallint; var hEvent:Cardinal):Smallint;stdcall; function DIO_AUXDI_EventMessage (CardNumber:Word; AuxDIEn:Smallint; windowHandle:Cardinal; message:Cardinal; callbackAddr:TCallbackFunc):Smallint;stdcall; function DIO_T2_EventMessage (CardNumber:Word; T2En:Smallint; windowHandle:Cardinal; message:Cardinal; callbackAddr:TCallbackFunc):Smallint;stdcall; function DIO_COSInterruptCounter (CardNumber:Word; Counter_Num:Word; Counter_Mode:Word; DI_Port:Word; DI_Line:Word; var Counter_Value:Cardinal):Smallint;stdcall; function DIO_VoltLevelConfig (CardNumber:Word; PortType:Word; VoltLevel:Word):Smallint;stdcall; function DIO_7350_AFIConfig (CardNumber:Word; AFI_Port:Word; AFI_Enable:Word; AFI_Mode:Word; AFI_TrigOutLen:Cardinal):Smallint;stdcall; function DIO_PMConfig (CardNumber:Word; Channel:Word; PM_ChnEn:Word; PM_ChnType:Word):Smallint;stdcall; function DIO_PMControl (CardNumber:Word; Port:Word; PM_Enable:Word; var hEvent:Cardinal; ManualReset:Byte):Smallint;stdcall; function DIO_SetPMInterrupt32 (CardNumber:Word; Port:Word; Ctrl:Cardinal; Pattern1:Cardinal; Pattern2:Cardinal; var hEvent:Cardinal; ManualReset:Byte):Smallint;stdcall; function DIO_GetPMLatchData32 (U16 CardNumber:Word; U16 Port:Word; var PMLData:Cardinal):Smallint;stdcall; (*---------------------------------------------------------------------------*) function CTR_Setup (CardNumber:Word; Ctr:Word; Mode:Word; Count:Cardinal; BinBcd:Word):Smallint;stdcall; function CTR_Setup_All (CardNumber:Word; CtrCnt:Word; var Ctr:Word; var Mode:Word; var Count:Cardinal; var BinBcd:Word):Smallint;stdcall; function CTR_Clear (CardNumber:Word; Ctr:Word; State:Word):Smallint;stdcall; function CTR_Read (CardNumber:Word; Ctr:Word; var Value:Cardinal):Smallint;stdcall; function CTR_Read_All (CardNumber:Word; CtrCnt:Word; var Ctr:Word; var Value:Cardinal):Smallint;stdcall; function CTR_Status (CardNumber:Word; Ctr:Word; var Value:Cardinal):Smallint;stdcall; function CTR_Update (CardNumber:Word; Ctr:Word; Count:Cardinal):Smallint;stdcall; function CTR_8554_ClkSrc_Config (CardNumber:Word; Ctr:Word; ClockSource:Word):Smallint;stdcall; function CTR_8554_CK1_Config (CardNumber:Word; ClockSource:Word):Smallint;stdcall; function CTR_8554_Debounce_Config (CardNumber:Word; DebounceClock:Word):Smallint;stdcall; function GCTR_Setup (CardNumber:Word; GCtr:Word; GCtrCtrl:Word; Count:Cardinal):Smallint;stdcall; function GCTR_Clear (CardNumber:Word; GCtr:Word):Smallint;stdcall; function GCTR_Read (CardNumber:Word; GCtr:Word; var Value:Cardinal):Smallint;stdcall; function GPTC_Clear (CardNumber:Word; GCtr:Word):Smallint;stdcall; function GPTC_Control (CardNumber:Word; GCtr:Word; ParamID:Word; Value:Word):Smallint;stdcall; function GPTC_Read (CardNumber:Word; GCtr:Word; var Value:Cardinal):Smallint;stdcall; function GPTC_Setup (CardNumber:Word; GCtr:Word; Mode:Word; SrcCtrl:Word; PolCtrl:Word; LReg1_Val:Cardinal; LReg2_Val:Cardinal):Smallint;stdcall; function GPTC_Status (CardNumber:Word; GCtr:Word; var Value:Word):Smallint;stdcall; function GPTC_EventCallBack (CardNumber:Word; Enabled:Smallint; EventType:Smallint; callbackAddr:Cardinal):Smallint;stdcall; function GPTC_EventSetup (CardNumber:Word; GCtr:Word; Mode:Word; Ctrl:Word; LVal_1:Cardinal; LVal_2:Cardinal):Smallint;stdcall; function GPTC_9524_PG_Config (CardNumber:Word; GCtr:Word; PulseGenNum:Cardinal):Smallint;stdcall; function GPTC_9524_GetTimerEvent (CardNumber:Word; GCtr:Word; var hEvent:Cardinal):Smallint;stdcall; function WDT_Setup (CardNumber:Word; Ctr:Word; ovflowSec:Single; var actualSec:Single; var hEvent:Cardinal):Smallint;stdcall; function WDT_Control (CardNumber:Word; Ctr:Word; action:Word):Smallint;stdcall; function WDT_Status (CardNumber:Word; Ctr:Word; var Value:Cardinal):Smallint;stdcall; function WDT_Reload (CardNumber:Word; ovflowSec:Single; var actualSec:Single):Smallint;stdcall; (*---------------------------------------------------------------------------*) function AI_GetView (CardNumber:word; View:Pointer):Smallint;stdcall; function DI_GetView (CardNumber:word; View:Pointer):Smallint;stdcall; function DO_GetView (CardNumber:word; View:Pointer):Smallint;stdcall; function AI_GetEvent (CardNumber:Word; var hEvent:Cardinal):Smallint;stdcall; function AO_GetEvent (CardNumber:Word; var hEvent:Cardinal):Smallint;stdcall; function DI_GetEvent (CardNumber:Word; var hEvent:Cardinal):Smallint;stdcall; function DO_GetEvent (CardNumber:Word; var hEvent:Cardinal):Smallint;stdcall; (*------------------------------------------------------------------------------*) function PCI_DB_Auto_Calibration_ALL (CardNumber:Word):Smallint;stdcall; function PCI_Load_CAL_Data (CardNumber:Word; bank:Word):Smallint;stdcall; function PCI_EEPROM_CAL_Constant_Update (CardNumber:Word; bank:Word):Smallint;stdcall; function PCI9524_Acquire_AD_CalConst (CardNumber:Word; Group:Word; ADC_Range:Word; ADC_Speed:Word; var CalDate:Cardinal; var CalTemp:Single; var ADC_offset:Cardinal; var ADC_gain:Cardinal; var Residual_offset:Double; var Residual_scaling:Double):Smallint;stdcall; function PCI9524_Acquire_DA_CalConst (CardNumber:Word; Channel:Word; var CalDate:Cardinal; var CalTemp:Single; var DAC_offset:Byte; var DAC_linearity:Byte; var Gain_factor:Single):Smallint;stdcall; function PCI9524_Read_EEProm (CardNumber:Word; ReadAddr:Word; var ReadData:Byte):Smallint;stdcall; function PCI9524_Read_RemoteSPI (CardNumber:Word; Addr:Word; var RdData:Byte):Smallint;stdcall; function PCI9524_Write_EEProm (CardNumber:Word; WriteAddr:Word; var WriteData:Byte):Smallint;stdcall; function PCI9524_Write_RemoteSPI (CardNumber:Word; Addr:Word; WrtData:Byte):Smallint;stdcall; (*------------------------------------------------------------------------------*) function SSI_SourceConn (CardNumber:Word; sigCode:Word):Smallint;stdcall; function SSI_SourceDisConn (CardNumber:Word; sigCode:Word):Smallint;stdcall; function SSI_SourceClear (CardNumber:Word):Smallint;stdcall; (*-----------------------------------------------------------------------------*) function PWM_Output (CardNumber:Word; Channel:Word; high_interval:Cardinal; low_interval:Cardinal):Smallint;stdcall; function PWM_Stop (CardNumber:Word; Channel:Word):Smallint;stdcall; (*-----------------------------------------------------------------------------*) function I2C_Setup (CardNumber:Word; I2C_Port:Word; I2C_Config:Word; I2C_SetupValue1:Cardinal; I2C_SetupValue2:Cardinal):Smallint;stdcall; function I2C_Control (CardNumber:Word; I2C_Port:Word; I2C_CtrlParam:Word; I2C_CtrlValue:Cardinal):Smallint;stdcall; function I2C_Status (CardNumber:Word; I2C_Port:Word; var I2C_Status:Cardinal):Smallint;stdcall; function I2C_Read (CardNumber:Word; I2C_Port:Word; I2C_SlaveAddr:Word; I2C_CmdAddrBytes:Word; I2C_DataBytes:Word; I2C_CmdAddr:Cardinal; var I2C_Data:Cardinal):Smallint;stdcall; function I2C_Write (CardNumber:Word; I2C_Port:Word; I2C_SlaveAddr:Word; I2C_CmdAddrBytes:Word; I2C_DataBytes:Word; I2C_CmdAddr:Cardinal; I2C_Data:Cardinal):Smallint;stdcall; (*-----------------------------------------------------------------------------*) function SPI_Setup (CardNumber:Word; SPI_Port:Word; SPI_Config:Word; SPI_SetupValue1:Cardinal; SPI_SetupValue2:Cardinal):Smallint;stdcall; function SPI_Control (CardNumber:Word; SPI_Port:Word; SPI_CtrlParam:Word; SPI_CtrlValue:Cardinal):Smallint;stdcall; function SPI_Status (CardNumber:Word; SPI_Port:Word; var SPI_Status:Cardinal):Smallint;stdcall; function SPI_Read (CardNumber:Word; SPI_Port:Word; SPI_SlaveAddr:Word; SPI_CmdAddrBits:Word; SPI_DataBits:Word; SPI_FrontDummyBits:Word; SPI_CmdAddr:Cardinal; var SPI_Data:Cardinal):Smallint;stdcall; function SPI_Write (CardNumber:Word; SPI_Port:Word; SPI_SlaveAddr:Word; SPI_CmdAddrBits:Word; SPI_DataBits:Word; SPI_FrontDummyBits:Word; SPI_TailDummyBits:Word; SPI_CmdAddr:Cardinal; SPI_Data:Cardinal):Smallint;stdcall; (*-----------------------------------------------------------------------------*) implementation function Register_Card; external 'Pci-Dask.dll'; function Release_Card; external 'Pci-Dask.dll'; function GetActualRate; external 'Pci-Dask.dll'; function GetActualRate_9524; external 'Pci-Dask.dll'; function GetCardType; external 'Pci-Dask.dll'; function GetBaseAddr; external 'Pci-Dask.dll'; function GetLCRAddr; external 'Pci-Dask.dll'; function GetCardIndexFromID; external 'Pci-Dask.dll'; function EMGShutDownControl; external 'Pci-Dask.dll'; function EMGShutDownStatus; external 'Pci-Dask.dll'; function HotResetHoldControl; external 'Pci-Dask.dll'; function HotResetHoldStatus; external 'Pci-Dask.dll'; function SetInitPattern; external 'Pci-Dask.dll'; function GetInitPattern; external 'Pci-Dask.dll'; function IdentifyLED_Control; external 'Pci-Dask.dll'; (*---------------------------------------------------------------------------*) function AI_9111_Config; external 'Pci-Dask.dll'; function AI_9112_Config; external 'Pci-Dask.dll'; function AI_9113_Config; external 'Pci-Dask.dll'; function AI_9114_Config; external 'Pci-Dask.dll'; function AI_9114_PreTrigConfig; external 'Pci-Dask.dll'; function AI_9116_Config; external 'Pci-Dask.dll'; function AI_9118_Config; external 'Pci-Dask.dll'; function AI_9221_Config; external 'Pci-Dask.dll'; function AI_9812_Config; external 'Pci-Dask.dll'; function AI_9812_SetDiv; external 'Pci-Dask.dll'; function AI_9116_CounterInterval; external 'Pci-Dask.dll'; function AI_9221_CounterInterval; external 'Pci-Dask.dll'; function AI_9524_Config; external 'Pci-Dask.dll'; function AI_9524_PollConfig; external 'Pci-Dask.dll'; function AI_9524_SetDSP; external 'Pci-Dask.dll'; function AI_9524_GetEOCEvent; external 'Pci-Dask.dll'; function AI_9222_Config; external 'Pci-Dask.dll'; function AI_9222_CounterInterval; external 'Pci-Dask.dll'; function AI_9223_Config; external 'Pci-Dask.dll'; function AI_9223_CounterInterval; external 'Pci-Dask.dll'; function AI_922A_Config; external 'Pci-Dask.dll'; function AI_922A_CounterInterval; external 'Pci-Dask.dll'; function AI_AsyncReTrigNextReady; external 'Pci-Dask.dll'; function AI_InitialMemoryAllocated; external 'Pci-Dask.dll'; function AI_ReadChannel; external 'Pci-Dask.dll'; function AI_ReadChannel32; external 'Pci-Dask.dll'; function AI_VReadChannel; external 'Pci-Dask.dll'; function AI_ScanReadChannels; external 'Pci-Dask.dll'; function AI_ScanReadChannels32; external 'Pci-Dask.dll'; function AI_ReadMultiChannels; external 'Pci-Dask.dll'; function AI_VoltScale; external 'Pci-Dask.dll'; function AI_VoltScale32; external 'Pci-Dask.dll'; function AI_ContReadChannel; external 'Pci-Dask.dll'; function AI_ContReadMultiChannels; external 'Pci-Dask.dll'; function AI_ContScanChannels; external 'Pci-Dask.dll'; function AI_ContReadChannelToFile; external 'Pci-Dask.dll'; function AI_ContReadMultiChannelsToFile; external 'Pci-Dask.dll'; function AI_ContScanChannelsToFile; external 'Pci-Dask.dll'; function AI_ContVScale; external 'Pci-Dask.dll'; function AI_ContStatus; external 'Pci-Dask.dll'; function AI_AsyncCheck; external 'Pci-Dask.dll'; function AI_AsyncClear; external 'Pci-Dask.dll'; function AI_AsyncDblBufferHalfReady; external 'Pci-Dask.dll'; function AI_AsyncDblBufferMode; external 'Pci-Dask.dll'; function AI_AsyncDblBufferTransfer; external 'Pci-Dask.dll'; function AI_AsyncDblBufferOverrun; external 'Pci-Dask.dll'; function AI_AsyncDblBufferHandled; external 'Pci-Dask.dll'; function AI_AsyncDblBufferToFile; external 'Pci-Dask.dll'; function AI_EventCallBack; external 'Pci-Dask.dll'; function AI_SetTimeOut; external 'Pci-Dask.dll'; function AI_ContBufferSetup; external 'Pci-Dask.dll'; function AI_ContBufferReset; external 'Pci-Dask.dll'; (*---------------------------------------------------------------------------*) function AO_6202_Config; external 'Pci-Dask.dll'; function AO_6208A_Config; external 'Pci-Dask.dll'; function AO_6308A_Config; external 'Pci-Dask.dll'; function AO_6308V_Config; external 'Pci-Dask.dll'; function AO_9111_Config; external 'Pci-Dask.dll'; function AO_9112_Config; external 'Pci-Dask.dll'; function AO_9222_Config; external 'Pci-Dask.dll'; function AO_9223_Config; external 'Pci-Dask.dll'; function AO_InitialMemoryAllocated; external 'Pci-Dask.dll'; function AO_AsyncCheck; external 'Pci-Dask.dll'; function AO_AsyncClear; external 'Pci-Dask.dll'; function AO_AsyncDblBufferHalfReady; external 'Pci-Dask.dll'; function AO_AsyncDblBufferMode; external 'Pci-Dask.dll'; function AO_ContBufferCompose; external 'Pci-Dask.dll'; function AO_ContBufferReset; external 'Pci-Dask.dll'; function AO_ContBufferSetup; external 'Pci-Dask.dll'; function AO_ContStatus; external 'Pci-Dask.dll'; function AO_ContWriteChannel; external 'Pci-Dask.dll'; function AO_ContWriteMultiChannels; external 'Pci-Dask.dll'; function AO_EventCallBack; external 'Pci-Dask.dll'; function AO_SetTimeOut; external 'Pci-Dask.dll'; function AO_WriteChannel; external 'Pci-Dask.dll'; function AO_VWriteChannel; external 'Pci-Dask.dll'; function AO_VoltScale; external 'Pci-Dask.dll'; function AO_SimuWriteChannel; external 'Pci-Dask.dll'; function AO_SimuVWriteChannel; external 'Pci-Dask.dll'; (*---------------------------------------------------------------------------*) function DI_7200_Config; external 'Pci-Dask.dll'; function DI_7233_ForceLogic; external 'Pci-Dask.dll'; function DI_7300A_Config; external 'Pci-Dask.dll'; function DI_7300B_Config; external 'Pci-Dask.dll'; function DI_InitialMemoryAllocated; external 'Pci-Dask.dll'; function DI_ReadLine; external 'Pci-Dask.dll'; function DI_ReadPort; external 'Pci-Dask.dll'; function DI_ContReadPort; external 'Pci-Dask.dll'; function DI_ContReadPortToFile; external 'Pci-Dask.dll'; function DI_ContStatus; external 'Pci-Dask.dll'; function DI_AsyncCheck; external 'Pci-Dask.dll'; function DI_AsyncClear; external 'Pci-Dask.dll'; function DI_AsyncDblBufferHalfReady; external 'Pci-Dask.dll'; function DI_AsyncDblBufferMode; external 'Pci-Dask.dll'; function DI_AsyncDblBufferTransfer; external 'Pci-Dask.dll'; function DI_ContMultiBufferSetup; external 'Pci-Dask.dll'; function DI_ContMultiBufferStart; external 'Pci-Dask.dll'; function DI_AsyncMultiBufferNextReady; external 'Pci-Dask.dll'; function DI_AsyncDblBufferOverrun; external 'Pci-Dask.dll'; function DI_EventCallBack; external 'Pci-Dask.dll'; function DI_9222_Config; external 'Pci-Dask.dll'; function DI_9223_Config; external 'Pci-Dask.dll'; function DI_AsyncDblBufferHandled; external 'Pci-Dask.dll'; function DI_AsyncDblBufferToFile; external 'Pci-Dask.dll'; function DI_SetTimeOut; external 'Pci-Dask.dll'; function DI_ContBufferSetup; external 'Pci-Dask.dll'; function DI_ContBufferReset; external 'Pci-Dask.dll'; function DI_AsyncReTrigNextReady; external 'Pci-Dask.dll'; function DI_7350_Config; external 'Pci-Dask.dll'; function DI_7350_TrigHSConfig; external 'Pci-Dask.dll'; function DI_7350_ExtSampCLKConfig; external 'Pci-Dask.dll'; function DI_7350_ExportSampCLKConfig; external 'Pci-Dask.dll'; function DI_7350_SoftTriggerGen; external 'Pci-Dask.dll'; function DI_7350_BurstHandShakeDelay; external 'Pci-Dask.dll'; (*---------------------------------------------------------------------------*) function DO_7200_Config; external 'Pci-Dask.dll'; function DO_7300A_Config; external 'Pci-Dask.dll'; function DO_7300B_Config; external 'Pci-Dask.dll'; function DO_7300B_SetDODisableMode; external 'Pci-Dask.dll'; function DO_InitialMemoryAllocated; external 'Pci-Dask.dll'; function DO_WriteLine; external 'Pci-Dask.dll'; function DO_WritePort; external 'Pci-Dask.dll'; function DO_SimuWritePort; external 'Pci-Dask.dll'; function DO_ReadLine; external 'Pci-Dask.dll'; function DO_ReadPort; external 'Pci-Dask.dll'; function DO_ContWritePort; external 'Pci-Dask.dll'; function DO_PGStart; external 'Pci-Dask.dll'; function DO_PGStop; external 'Pci-Dask.dll'; function DO_ContStatus; external 'Pci-Dask.dll'; function DO_AsyncCheck; external 'Pci-Dask.dll'; function DO_AsyncClear; external 'Pci-Dask.dll'; function EDO_9111_Config; external 'Pci-Dask.dll'; function DO_WriteExtTrigLine; external 'Pci-Dask.dll'; function DO_ContMultiBufferSetup; external 'Pci-Dask.dll'; function DO_ContMultiBufferStart; external 'Pci-Dask.dll'; function DO_AsyncMultiBufferNextReady; external 'Pci-Dask.dll'; function DO_EventCallBack; external 'Pci-Dask.dll'; function DO_9222_Config; external 'Pci-Dask.dll'; function DO_9223_Config; external 'Pci-Dask.dll'; function DO_SetTimeOut; external 'Pci-Dask.dll'; function DO_ContBufferSetup; external 'Pci-Dask.dll'; function DO_ContBufferReset; external 'Pci-Dask.dll'; function DO_7350_Config; external 'Pci-Dask.dll'; function DO_7350_TrigHSConfig; external 'Pci-Dask.dll'; function DO_7350_ExtSampCLKConfig; external 'Pci-Dask.dll'; function DO_7350_ExportSampCLKConfig; external 'Pci-Dask.dll'; function DO_7350_SoftTriggerGen; external 'Pci-Dask.dll'; function DO_ContWritePortEx; external 'Pci-Dask.dll'; function DO_7350_BurstHandShakeDelay; external 'Pci-Dask.dll'; (*---------------------------------------------------------------------------*) function DIO_PortConfig; external 'Pci-Dask.dll'; function DIO_LinesConfig; external 'Pci-Dask.dll'; function DIO_LineConfig; external 'Pci-Dask.dll'; function DIO_SetDualInterrupt; external 'Pci-Dask.dll'; function DIO_SetCOSInterrupt; external 'Pci-Dask.dll'; function DIO_GetCOSLatchData; external 'Pci-Dask.dll'; function DIO_SetCOSInterrupt32; external 'Pci-Dask.dll'; function DIO_GetCOSLatchData32; external 'Pci-Dask.dll'; function DIO_GetCOSLatchDataInt32; external 'Pci-Dask.dll'; function DIO_INT1_EventMessage; external 'Pci-Dask.dll'; function DIO_INT2_EventMessage; external 'Pci-Dask.dll'; function DIO_INT_EventMessage; external 'Pci-Dask.dll'; function DIO_7300SetInterrupt; external 'Pci-Dask.dll'; function DIO_AUXDI_EventMessage; external 'Pci-Dask.dll'; function DIO_T2_EventMessage; external 'Pci-Dask.dll'; function DIO_COSInterruptCounter; external 'Pci-Dask.dll'; function DIO_VoltLevelConfig; external 'Pci-Dask.dll'; function DIO_7350_AFIConfig; external 'Pci-Dask.dll'; function DIO_PMConfig; external 'Pci-Dask.dll'; function DIO_PMControl; external 'Pci-Dask.dll'; function DIO_SetPMInterrupt32; external 'Pci-Dask.dll'; function DIO_GetPMLatchData32; external 'Pci-Dask.dll'; (*---------------------------------------------------------------------------*) function CTR_Setup; external 'Pci-Dask.dll'; function CTR_Setup_All; external 'Pci-Dask.dll'; function CTR_Clear; external 'Pci-Dask.dll'; function CTR_Read; external 'Pci-Dask.dll'; function CTR_Read_All; external 'Pci-Dask.dll'; function CTR_Status; external 'Pci-Dask.dll'; function CTR_Update; external 'Pci-Dask.dll'; function CTR_8554_ClkSrc_Config; external 'Pci-Dask.dll'; function CTR_8554_CK1_Config; external 'Pci-Dask.dll'; function CTR_8554_Debounce_Config; external 'Pci-Dask.dll'; function GCTR_Setup; external 'Pci-Dask.dll'; function GCTR_Clear; external 'Pci-Dask.dll'; function GCTR_Read; external 'Pci-Dask.dll'; function GPTC_Clear; external 'Pci-Dask.dll'; function GPTC_Control; external 'Pci-Dask.dll'; function GPTC_Read; external 'Pci-Dask.dll'; function GPTC_Setup; external 'Pci-Dask.dll'; function GPTC_Status; external 'Pci-Dask.dll'; function GPTC_EventCallBack; external 'Pci-Dask.dll'; function GPTC_EventSetup; external 'Pci-Dask.dll'; function GPTC_9524_PG_Config; external 'Pci-Dask.dll'; function GPTC_9524_GetTimerEvent; external 'Pci-Dask.dll'; function WDT_Setup; external 'Pci-Dask.dll'; function WDT_Control; external 'Pci-Dask.dll'; function WDT_Status; external 'Pci-Dask.dll'; function WDT_Reload; external 'Pci-Dask.dll'; (*---------------------------------------------------------------------------*) function AI_GetEvent; external 'Pci-Dask.dll'; function AO_GetEvent; external 'Pci-Dask.dll'; function DI_GetEvent; external 'Pci-Dask.dll'; function DO_GetEvent; external 'Pci-Dask.dll'; (*---------------------------------------------------------------------------*) function AI_GetView; external 'Pci-Dask.dll'; function DI_GetView; external 'Pci-Dask.dll'; function DO_GetView; external 'Pci-Dask.dll'; (*---------------------------------------------------------------------------*) function PCI_DB_Auto_Calibration_ALL; external 'Pci-Dask.dll'; function PCI_Load_CAL_Data; external 'Pci-Dask.dll'; function PCI_EEPROM_CAL_Constant_Update; external 'Pci-Dask.dll'; function PCI9524_Acquire_AD_CalConst; external 'Pci-Dask.dll'; function PCI9524_Acquire_DA_CalConst; external 'Pci-Dask.dll'; function PCI9524_Read_EEProm; external 'Pci-Dask.dll'; function PCI9524_Read_RemoteSPI; external 'Pci-Dask.dll'; function PCI9524_Write_EEProm; external 'Pci-Dask.dll'; function PCI9524_Write_RemoteSPI; external 'Pci-Dask.dll'; (*---------------------------------------------------------------------------*) function SSI_SourceConn; external 'Pci-Dask.dll'; function SSI_SourceDisConn; external 'Pci-Dask.dll'; function SSI_SourceClear; external 'Pci-Dask.dll'; (*----------------------------------------------------------------------------*) function PWM_Output; external 'Pci-Dask.dll'; function PWM_Stop; external 'Pci-Dask.dll'; (*----------------------------------------------------------------------------*) function I2C_Setup; external 'Pci-Dask.dll'; function I2C_Control; external 'Pci-Dask.dll'; function I2C_Status; external 'Pci-Dask.dll'; function I2C_Read; external 'Pci-Dask.dll'; function I2C_Write; external 'Pci-Dask.dll'; (*----------------------------------------------------------------------------*) function SPI_Setup; external 'Pci-Dask.dll'; function SPI_Control; external 'Pci-Dask.dll'; function SPI_Status; external 'Pci-Dask.dll'; function SPI_Read; external 'Pci-Dask.dll'; function SPI_Write; external 'Pci-Dask.dll'; (*----------------------------------------------------------------------------*) end.