📄 driver.h
字号:
#define KeFileNotFound (KeErrorCode + 1)
#define KeInvalidHandle (KeErrorCode + 2)
#define KeTooManyCmds (KeErrorCode + 3)
#define KeInvalidParameter (KeErrorCode + 4)
#define KeNoAccess (KeErrorCode + 5)
#define KeUnsuccessful (KeErrorCode + 6)
#define KeConInterruptFailure (KeErrorCode + 7)
#define KeCreateNoteFailure (KeErrorCode + 8)
#define KeInsufficientResources (KeErrorCode + 9)
#define KeHalGetAdapterFailure (KeErrorCode +10)
#define KeOpenEventFailure (KeErrorCode +11)
#define KeAllocCommBufFailure (KeErrorCode +12)
#define KeAllocMdlFailure (KeErrorCode +13)
#define KeBufferSizeTooSmall (KeErrorCode +14)
#define DNInitFailed (DnetErrorCode + 1)
#define DNSendMsgFailed (DnetErrorCode + 2)
#define DNRunOutOfMsgID (DnetErrorCode + 3)
#define DNInvalidInputParam (DnetErrorCode + 4)
#define DNErrorResponse (DnetErrorCode + 5)
#define DNNoResponse (DnetErrorCode + 6)
#define DNBusyOnNetwork (DnetErrorCode + 7)
#define DNUnknownResponse (DnetErrorCode + 8)
#define DNNotEnoughBuffer (DnetErrorCode + 9)
#define DNFragResponseError (DnetErrorCode + 10)
#define DNTooMuchDataAck (DnetErrorCode + 11)
#define DNFragRequestError (DnetErrorCode + 12)
#define DNEnableEventError (DnetErrorCode + 13)
#define DNCreateOrOpenEventError (DnetErrorCode + 14)
#define DNIORequestError (DnetErrorCode + 15)
#define DNGetEventNameError (DnetErrorCode + 16)
#define DNTimeOutError (DnetErrorCode + 17)
#define DNOpenFailed (DnetErrorCode + 18)
#define DNCloseFailed (DnetErrorCode + 19)
#define DNResetFailed (DnetErrorCode + 20)
#define WM_ATODNOTIFY (WM_USER+200)
#define WM_DTOANOTIFY (WM_USER+201)
#define WM_DIGINNOTIFY (WM_USER+202)
#define WM_DIGOUTNOTIFY (WM_USER+203)
#define WM_MTNOTIFY (WM_USER+204)
#define WM_CANTRANSMITCOMPLETE (WM_USER+205)
#define WM_CANMESSAGE (WM_USER+206)
#define WM_CANERROR (WM_USER+207)
// define the wParam in user window message
#define AD_NONE 0 //AD Section
#define AD_TERMINATE 1
#define AD_INT 2
#define AD_BUFFERCHANGE 3
#define AD_OVERRUN 4
#define AD_WATCHDOGACT 5
#define AD_TIMEOUT 6
#define DA_TERMINATE 0 // DA Section
#define DA_DMATC 1
#define DA_INT 2
#define DA_BUFFERCHANGE 3
#define DA_OVERRUN 4
#define DI_TERMINATE 0 // DI Section
#define DI_DMATC 1
#define DI_INT 2
#define DI_BUFFERCHANGE 3
#define DI_OVERRUN 4
#define DI_WATCHDOGACT 5
#define DO_TERMINATE 0 // DO Section
#define DO_DMATC 1
#define DO_INT 2
#define DO_BUFFERCHANGE 3
#define DO_OVERRUN 4
#define MT_ATOD 0 // MT Section
#define MT_DIGIN 1
#define CAN_TRANSFER 0 // CAN Section
#define CAN_RECEIVE 1
#define CAN_ERROR 2
/****************************************************************************
define thermocopule type J, K, S, T, B, R, E
*****************************************************************************/
#define BTC 4
#define ETC 6
#define JTC 0
#define KTC 1
#define RTC 5
#define STC 2
#define TTC 3
/****************************************************************************
define temperature scale
*****************************************************************************/
#define C 0 //Celsius
#define F 1 //Fahrenheit
#define R 2 // Rankine
#define K 3 // Kelvin
/****************************************************************************
define service type for COMEscape()
*****************************************************************************/
#define EscapeFlushInput 1
#define EscapeFlushOutput 2
#define EscapeSetBreak 3
#define EscapeClearBreak 4
/****************************************************************************
define gate mode
*****************************************************************************/
#define GATE_DISABLED 0 // no gating
#define GATE_HIGHLEVEL 1 // active high level
#define GATE_LOWLEVEL 2 // active low level
#define GATE_HIGHEDGE 3 // active high edge
#define GATE_LOWEDGE 4 // active low edge
/****************************************************************************
define input mode for PCL-833
*****************************************************************************/
#define DISABLE 0 // disable mode
#define ABPHASEX1 1 // Quadrature input X1
#define ABPHASEX2 2 // Quadrature input X2
#define ABPHASEX4 3 // Quadrature input X4
#define TWOPULSEIN 4 // 2 pulse input
#define ONEPULSEIN 5 // 1 pulse input
/****************************************************************************
define latch source for PCL-833
*****************************************************************************/
#define SWLATCH 0 // S/W read latch data
#define INDEXINLATCH 1 // Index-in latch data
#define DI0LATCH 2 // DI0 latch data
#define DI1LATCH 3 // DI1 latch data
#define TIMERLATCH 4 // Timer latch data
/****************************************************************************
define timer base mode for PCL-833
*****************************************************************************/
#define TPOINT1MS 0 // 0.1 ms timer base
#define T1MS 1 // 1 ms timer base
#define T10MS 2 // 10 ms timer base
#define T100MS 3 // 100 ms timer base
#define T1000MS 4 // 1000 ms timer base
/****************************************************************************
define clock source for PCL-833
*****************************************************************************/
#define SYS8MHZ 0 // 8 MHZ system clock
#define SYS4MHZ 1 // 4 MHZ system clock
#define SYS2MHZ 2 // 2 MHZ system clock
/****************************************************************************
define cascade mode for PCL-833
*****************************************************************************/
#define NOCASCADE 0 // 24-bit(no cascade)
#define CASCADE 1 // 48-bit(CH1, CH2 cascade)
/****************************************************************************
define event type for interrupt and DMA transfer
*****************************************************************************/
#define ADS_EVT_INTERRUPT 0x1 // interrupt
#define ADS_EVT_BUFCHANGE 0x2 // buffer change
#define ADS_EVT_TERMINATED 0x4 // termination
#define ADS_EVT_OVERRUN 0x8 // overrun
#define ADS_EVT_WATCHDOG 0x10 // watchdog actived
#define ADS_EVT_CHGSTATE 0x20 // change state event
#define ADS_EVT_ALARM 0x40 // alarm event
#define ADS_EVT_PORT0 0x80 // port 0 event
#define ADS_EVT_PORT1 0x100 // port 1 event
#define ADS_EVT_PATTERNMATCH 0x200 // Pattern Match for DI
#define ADS_EVT_COUNTER 0x201 // Persudo event for COUNTERMATCH and COUNTEROVERFLOW
#define ADS_EVT_COUNTERMATCH 0x202 // Counter Match setting NO. for DI
#define ADS_EVT_COUNTEROVERFLOW 0x203 // Counter Overflow for DI
#define ADS_EVT_STATUSCHANGE 0x204 // Status Change for DI
#define ADS_EVT_FILTER 0x205 // Filter Event
/****************************************************************************
define event name by device number
*****************************************************************************/
#define ADS_EVT_INTERRUPT_NAME "ADS_EVT_INTERRUPT"
#define ADS_EVT_PORT0_NAME "ADS_EVT_PORT0"
#define ADS_EVT_PORT1_NAME "ADS_EVT_PORT1"
#define ADS_EVT_BUFCHANGE_NAME "ADS_EVT_BUFCHANGE"
#define ADS_EVT_TERMINATED_NAME "ADS_EVT_TERMINATED"
#define ADS_EVT_OVERRUN_NAME "ADS_EVT_OVERRUN"
#define ADS_EVT_WATCHDOG_NAME "ADS_EVT_WATCHDOG"
#define ADS_EVT_CHGSTATE_NAME "ADS_EVT_CHGSTATE"
#define ADS_EVT_ALARM_NAME "ADS_EVT_ALARM"
#define ADS_EVT_PATTERNMATCH_NAME "ADS_EVT_PATTERNMATCH"
#define ADS_EVT_COUNTERMATCH_NAME "ADS_EVT_COUNTERMATCH"
#define ADS_EVT_COUNTEROVERFLOW_NAME "ADS_EVT_COUNTEROVERFLOW"
#define ADS_EVT_STATUSCHANGE_NAME "ADS_EVT_STATUSCHANGE"
/****************************************************************************
define FIFO size
*****************************************************************************/
#define FIFO_SIZE 512 // 1K FIFO size (512* 2byte/each data)
#define FIFO_SIZE4 2048 // 4K FIFO size (2048* 2byte/each data)
/****************************************************************************
Function ID Definition
*****************************************************************************/
#define FID_DeviceOpen 0
#define FID_DeviceClose 1
#define FID_DeviceGetFeatures 2
#define FID_AIConfig 3
#define FID_AIGetConfig 4
#define FID_AIBinaryIn 5
#define FID_AIScale 6
#define FID_AIVoltageIn 7
#define FID_AIVoltageInExp 8
#define FID_MAIConfig 9
#define FID_MAIBinaryIn 10
#define FID_MAIVoltageIn 11
#define FID_MAIVoltageInExp 12
#define FID_TCMuxRead 13
#define FID_AOConfig 14
#define FID_AOBinaryOut 15
#define FID_AOVoltageOut 16
#define FID_AOScale 17
#define FID_DioSetPortMode 18
#define FID_DioGetConfig 19
#define FID_DioReadPortByte 20
#define FID_DioWritePortByte 21
#define FID_DioReadBit 22
#define FID_DioWriteBit 23
#define FID_DioGetCurrentDOByte 24
#define FID_DioGetCurrentDOBit 25
#define FID_WritePortByte 26
#define FID_WritePortWord 27
#define FID_ReadPortByte 28
#define FID_ReadPortWord 29
#define FID_CounterEventStart 30
#define FID_CounterEventRead 31
#define FID_CounterFreqStart 32
#define FID_CounterFreqRead 33
#define FID_CounterPulseStart 34
#define FID_CounterReset 35
#define FID_QCounterConfig 36
#define FID_QCounterConfigSys 37
#define FID_QCounterStart 38
#define FID_QCounterRead 39
#define FID_AlarmConfig 40
#define FID_AlarmEnable 41
#define FID_AlarmCheck 42
#define FID_AlarmReset 43
#define FID_COMOpen 44
#define FID_COMConfig 45
#define FID_COMClose 46
#define FID_COMRead 47
#define FID_COMWrite232 48
#define FID_COMWrite485 49
#define FID_COMWrite85 50
#define FID_COMInit 51
#define FID_COMLock 52
#define FID_COMUnlock 53
#define FID_WDTEnable 54
#define FID_WDTRefresh 55
#define FID_WDTReset 56
#define FID_FAIIntStart 57
#define FID_FAIIntScanStart 58
#define FID_FAIDmaStart 59
#define FID_FAIDmaScanStart 60
#define FID_FAIDualDmaStart 61
#define FID_FAIDualDmaScanStart 62
#define FID_FAICheck 63
#define FID_FAITransfer 64
#define FID_FAIStop 65
#define FID_FAIWatchdogConfig 66
#define FID_FAIIntWatchdogStart 67
#define FID_FAIDmaWatchdogStart 68
#define FID_FAIWatchdogCheck 69
#define FID_FAOIntStart 70
#define FID_FAODmaStart 71
#define FID_FAOScale 72
#define FID_FAOLoad 73
#define FID_FAOCheck 74
#define FID_FAOStop 75
#define FID_ClearOverrun 76
#define FID_EnableEvent 77
#define FID_CheckEvent 78
#define FID_AllocateDMABuffer 79
#define FID_FreeDMABuffer 80
#define FID_EnableCANEvent 81
#define FID_GetCANEventData 82
#define FID_TimerCountSetting 83
#define FID_CounterPWMSetting 84
#define FID_CounterPWMEnable 85
#define FID_DioTimerSetting 86
#define FID_EnableEventEx 87
#define FID_DICounterReset 88
#define FID_FDITransfer 89
#define FID_EnableSyncAO 90
#define FID_WriteSyncAO 91
#define FID_AOCurrentOut 92
#define FID_ADAMCounterSetHWConfig 93
#define FID_ADAMCounterGetHWConfig 94
#define FID_ADAMAISetHWConfig 95
#define FID_ADAMAIGetHWConfig 96
#define FID_ADAMAOSetHWConfig 97
#define FID_ADAMAOGetHWConfig 98
#define FID_GetFIFOSize 99
#define FID_PWMStartRead 100
#define FID_FAIDmaExStart 101
/*************************************************************************
define gain listing
*************************************************************************/
typedef struct tagGAINLIST
{
USHORT usGainCde;
FLOAT fMaxGainVal;
FLOAT fMinGainVal;
CHAR szGainStr[16];
} GAINLIST;
/*************************************************************************
Define hardware board(device) features.
Note: definition for dwPermutaion member
Bit 0: Software AI
Bit 1: DMA AI
Bit 2: Interrupt AI
Bit 3: Condition AI
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -