⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 driver.h

📁 这是我编写的深圳地铁S335型司机控制器的检测程序
💻 H
📖 第 1 页 / 共 5 页
字号:
#define      BD_AD5056S     (AAC | 0xCA)     // ADAM 5056S Module
#define      BD_AD5056SO    (AAC | 0xCB)     // ADAM 5056SO Module
#define      BD_PCI1784     (AAC | 0XCC)     // PCI-1784


#define      BD_MICRODAC    (GRAYHILL | 0x1) // Grayhill MicroDAC Board ID
#define      BD_GIA10       (KGS | 0x01)     // KGS GIA-10 module Board ID

/*****************************************************************************
    Define Expansion Board ID.
*****************************************************************************/
#define AAC_EXP            (AAC | 0x00000100)   //Advantech expansion bits

//define Advantech expansion board ID.
#define      BD_PCLD780     0x00000000          // PCLD-780
#define      BD_PCLD789     (AAC_EXP | 0x0)     // PCLD-789
#define      BD_PCLD779     (AAC_EXP | 0x1)     // PCLD-779
#define      BD_PCLD787     (AAC_EXP | 0x2)     // PCLD-787
#define      BD_PCLD8115    (AAC_EXP | 0x3)     // PCLD-8115
#define      BD_PCLD770     (AAC_EXP | 0x4)     // PCLD-770
#define      BD_PCLD788     (AAC_EXP | 0x5)     // PCLD-788
#define      BD_PCLD8710    (AAC_EXP | 0x6)     // PCLD-8710
#define      BD_PCLD8712    (AAC_EXP | 0x7)     // PCLD-8712

/****************************************************************************
    Define subsection identifier
****************************************************************************/
#define     DAS_AISECTION       0x1         // A/D subsection
#define     DAS_AOSECTION       0x2         // D/A sbusection
#define     DAS_DISECTION       0x3         // Digital input subsection
#define     DAS_DOSECTION       0x4         // Digital output sbusection
#define     DAS_TEMPSECTION     0x5         // thermocouple section
#define     DAS_ECSECTION       0x6         // Event count subsection
#define     DAS_FMSECTION       0x7         // frequency measurement section
#define     DAS_POSECTION       0x8         // pulse output section
#define     DAS_ALSECTION       0x9         // alarm section
#define     MT_AISECTION        0x0a        // monitoring A/D subsection
#define     MT_DISECTION        0x0b        // monitoring D/I subsection

/***************************************************************************
    Define Transfer Mode
****************************************************************************/
#define     POLLED_MODE          0x0         // software transfer
#define     DMA_MODE             0x1         // DMA transfer
#define     INTERRUPT_MODE       0x2         // Interrupt transfer

/***************************************************************************
    Define Acquisition Mode
****************************************************************************/
#define     FREE_RUN             0
#define     PRE_TRIG             1
#define     POST_TRIG            2
#define     POSITION_TRIG        3

/***************************************************************************
    Define Comparator's Condition
****************************************************************************/
#define     NOCONDITION          0
#define     LESS                 1
#define     BETWEEN              2
#define     GREATER              3
#define     OUTSIDE              4

/***************************************************************************
    Define Channel
****************************************************************************/
#define      ADV_CHANNEL0      0x01
#define      ADV_CHANNEL1      0x02
#define      ADV_CHANNEL2      0x04
#define      ADV_CHANNEL3      0x08
#define      ADV_CHANNEL4      0x10
#define      ADV_CHANNEL5      0x20
#define      ADV_CHANNEL6      0x40
#define      ADV_CHANNEL7      0x80

/**************************************************************************
    Define Status Code
***************************************************************************/
#define SUCCESS                  0
#define DrvErrorCode             1
#define KeErrorCode              100
#define DnetErrorCode            200
#define GeniDrvErrorCode         300
#define OPCErrorCode             1000
#define MemoryAllocateFailed     (DrvErrorCode + 0)
#define ConfigDataLost           (DrvErrorCode + 1)
#define InvalidDeviceHandle      (DrvErrorCode + 2)
#define AIConversionFailed       (DrvErrorCode + 3)
#define AIScaleFailed            (DrvErrorCode + 4)
#define SectionNotSupported      (DrvErrorCode + 5)
#define InvalidChannel           (DrvErrorCode + 6)
#define InvalidGain              (DrvErrorCode + 7)
#define DataNotReady             (DrvErrorCode + 8)
#define InvalidInputParam        (DrvErrorCode + 9)
#define NoExpansionBoardConfig   (DrvErrorCode + 10)
#define InvalidAnalogOutValue    (DrvErrorCode + 11)
#define ConfigIoPortFailed       (DrvErrorCode + 12)
#define CommOpenFailed           (DrvErrorCode + 13)
#define CommTransmitFailed       (DrvErrorCode + 14)
#define CommReadFailed           (DrvErrorCode + 15)
#define CommReceiveFailed        (DrvErrorCode + 16)
#define CommConfigFailed         (DrvErrorCode + 17)
#define CommChecksumError        (DrvErrorCode + 18)
#define InitError                (DrvErrorCode + 19)
#define DMABufAllocFailed        (DrvErrorCode + 20)
#define IllegalSpeed             (DrvErrorCode + 21)
#define ChanConflict             (DrvErrorCode + 22)
#define BoardIDNotSupported      (DrvErrorCode + 23)
#define FreqMeasurementFailed    (DrvErrorCode + 24)
#define CreateFileFailed         (DrvErrorCode + 25)
#define FunctionNotSupported     (DrvErrorCode + 26)
#define LoadLibraryFailed        (DrvErrorCode + 27)
#define GetProcAddressFailed     (DrvErrorCode + 28)
#define InvalidDriverHandle      (DrvErrorCode + 29)
#define InvalidModuleType        (DrvErrorCode + 30)
#define InvalidInputRange        (DrvErrorCode + 31)
#define InvalidWindowsHandle     (DrvErrorCode + 32)
#define InvalidCountNumber       (DrvErrorCode + 33)
#define InvalidInterruptCount    (DrvErrorCode + 34)
#define InvalidEventCount        (DrvErrorCode + 35)
#define OpenEventFailed          (DrvErrorCode + 36)
#define InterruptProcessFailed   (DrvErrorCode + 37)
#define InvalidDOSetting         (DrvErrorCode + 38)
#define InvalidEventType         (DrvErrorCode + 39)
#define EventTimeOut             (DrvErrorCode + 40)
#define InvalidDmaChannel        (DrvErrorCode + 41)
#define IntDamChannelBusy        (DrvErrorCode + 42)
//
#define CheckRunTimeClassFailed  (DrvErrorCode + 43)
#define CreateDllLibFailed       (DrvErrorCode + 44)
#define ExceptionError           (DrvErrorCode + 45)
#define RemoveDeviceFailed       (DrvErrorCode + 46)
#define BuildDeviceListFailed    (DrvErrorCode + 47)
#define NoIOFunctionSupport      (DrvErrorCode + 48)

//\\\\\\\\\\\\\\\\\\\ V2.0B /////////////////////
#define ResourceConflict        (DrvErrorCode + 49)
///////////////////// V2.0B \\\\\\\\\\\\\\\\\\\\\/

//\\\\\\\\\\\\\\\\\\\ V2.1 //////////////////////
#define InvalidClockSource		 (DrvErrorCode + 50)
#define InvalidPacerRate		 (DrvErrorCode + 51)
#define InvalidTriggerMode     (DrvErrorCode + 52)
#define InvalidTriggerEdge     (DrvErrorCode + 53)
#define InvalidTriggerSource   (DrvErrorCode + 54)
#define InvalidTriggerVoltage  (DrvErrorCode + 55)
#define InvalidCyclicMode      (DrvErrorCode + 56)
#define InvalidDelayCount      (DrvErrorCode + 57)
#define InvalidBuffer          (DrvErrorCode + 58)
#define OverloadedPCIBus       (DrvErrorCode + 59)
#define OverloadedInterruptRequest (DrvErrorCode + 60)
///////////////////// V2.1 \\\\\\\\\\\\\\\\\\\\\\/

//\\\\\\\\\\\\\\\\\\\ V2.0C /////////////////////
#define ParamNameNotSupported      (DrvErrorCode + 61)
///////////////////// V2.0C /////////////////////

//\\\\\\\\\\\\\\\\\\\ V2.2B /////////////////////
#define CheckEventFailed           (DrvErrorCode + 62)
///////////////////// V2.2B /////////////////////

//\\\\\\\\\\\\\\\\\\\ V2.2C /////////////////////
#define InvalidPort                (DrvErrorCode + 63)
#define DaShiftBusy                (DrvErrorCode + 64)
///////////////////// V2.2C /////////////////////
#define ThermoCoupleDisconnect     (DrvErrorCode + 65)


/*#define NoSerialFunctionSupported   (DrvErrorCode + 49)
#define NoAiFunctionSupported      (DrvErrorCode + 50
#define NoAoFunctionSupported      (DrvErrorCode + 51)
#define NoDiFunctionSupported      (DrvErrorCode + 52)
#define NoDoFunctionSupported      (DrvErrorCode + 53)
#define NoAlarmFunctionSupported    (DrvErrorCode + 54)
#define NoCounterFunctionSupported  (DrvErrorCode + 55)
#define NoTempFunctionSupported      (DrvErrorCode + 56)
#define NoIOFunctionSupported      (DrvErrorCode + 57)*/
#define NoSerialFunctionSupported  (GeniDrvErrorCode + 5)
#define NoAiFunctionSupported      (GeniDrvErrorCode + 6)
#define NoAoFunctionSupported      (GeniDrvErrorCode + 7)
#define NoDiFunctionSupported      (GeniDrvErrorCode + 8)
#define NoDoFunctionSupported      (GeniDrvErrorCode + 9)
#define NoAlarmFunctionSupported   (GeniDrvErrorCode + 10)
#define NoCounterFunctionSupported (GeniDrvErrorCode + 11)
#define NoTempFunctionSupported    (GeniDrvErrorCode + 12)
#define NoIOFunctionSupported      (GeniDrvErrorCode + 13)

#define KeInvalidHandleValue     (KeErrorCode + 0)
#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 and PCI-1784
*****************************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -