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

📄 drivce.h

📁 研华板卡通过visual c++多线程进行控制
💻 H
📖 第 1 页 / 共 5 页
字号:
    DWORD      Milliseconds;
} PT_CheckEvent, FAR * LPT_CheckEvent;

typedef struct tagPT_EnableCANEvent
{
    USHORT      EventType;
    USHORT      Enabled;
    CHAR        APEventName[15];
} PT_EnableCANEvent, FAR * LPT_EnableCANEvent;

typedef struct tagPT_GetCANEventData
{
    USHORT far *EventType;
    USHORT far *PortNum;
    USHORT far *MacID;
    CHAR       Data[8];
} PT_GetCANEventData, FAR * LPT_GetCANEventData;

typedef struct tagPT_AllocateDMABuffer
{
    USHORT      CyclicMode;
    ULONG       RequestBufSize;
    ULONG far * ActualBufSize;
    LONG  far * buffer;
} PT_AllocateDMABuffer, FAR * LPT_AllocateDMABuffer;

typedef struct tagPT_TimerCountSetting
{
	USHORT		counter;
	ULONG		Count;
} PT_TimerCountSetting, FAR * LPT_TimerCountSetting;

typedef struct tagPT_DIFilter
{
    USHORT       usEventType;
	USHORT       usEventEnable;
	USHORT       usCount;
    USHORT       usEnable;    // Filter enable data
	USHORT far * usHiValue;     // Filter value array pointer    
	USHORT far * usLowValue;
} PT_DIFilter, FAR * LPT_DIFilter;

typedef struct tagPT_DIPattern
{
    USHORT       usEventType;
	USHORT       usEventEnable;
	USHORT       usCount;
    USHORT       usEnable;    // Pattern Match enable data
	USHORT       usValue;     // Pattern Match pre_setting value;
} PT_DIPattern, FAR * LPT_DIPattern;

typedef struct tagPT_DICounter
{
    USHORT       usEventType;
	USHORT       usEventEnable;
	USHORT       usCount;
    USHORT       usEnable;    // Counter enable data
	USHORT       usTrigEdge;  // Counter Trigger edge 0: Rising edge  1:Falling edge
    USHORT far * usPreset;    // counter pre_setting value
	USHORT       usMatchEnable;// counter match enable data
	USHORT far * usValue;     // counter match value
	USHORT       usOverflow;  // counter overflow data
	USHORT       usDirection; // up/down counter direction

} PT_DICounter, FAR * LPT_DICounter;

typedef struct tagPT_Status
{
    USHORT       usEventType;
	USHORT       usEventEnable;
	USHORT       usCount;
    USHORT       usEnable;     // status change enable data
	USHORT       usRisingedge; // record Rising edge trigger type 
	USHORT       usFallingedge;// record Falling edge trigger type
} PT_DIStatus, FAR * LPT_DIStatus;

typedef union tagPT_EnableEventEx
{
    PT_DIFilter       Filter;
    PT_DIPattern      Pattern;
    PT_DICounter      Counter;
    PT_DIStatus       Status;
} PT_EnableEventEx, FAR * LPT_EnableEventEx;

//typedef struct tagPT_EnableEventEx
//{
//    USHORT        usEventType;
//	USHORT        usEventEnable;
//	USHORT        usCount;
//	PT_EventST    EventST;    
//
//} PT_EnableEventEx, FAR * LPT_EnableEventEx;

typedef struct tagPT_CounterPWMSetting
{
    USHORT      Port;  //counter port
    FLOAT       Period;   //ms 
    FLOAT       HiPeriod;  //UpCycle period ms
	ULONG       OutCount;    //Stop count
    USHORT      GateMode;
} PT_CounterPWMSetting, FAR * LPT_CounterPWMSetting;

typedef struct tagPT_DioTimerSetting
{
    USHORT       Port;
	USHORT       TimeronEnable;
	USHORT       TimeroffEnable;
	USHORT far * OnDuration;  //Timer on duration
	USHORT far * OffDuration; //Timer off duration
} PT_DioTimerSetting, FAR * LPT_DioTimerSetting;

typedef struct tagPT_FDITransfer
{
    USHORT       usEventType;
    ULONG far *  ulRetData;
} PT_FDITransfer, FAR * LPT_FDITransfer;

typedef struct tagPT_AOCurrentOut
{
    USHORT      chan;
    FLOAT       OutputValue;
} PT_AOCurrentOut, FAR * LPT_AOCurrentOut;

typedef struct tagPT_ADAMCounterSetHWConfig
{
	USHORT		usCounterMode;
	USHORT		usDataFormat;	// Only for adam5080
	USHORT		usGateTime;		// Only for adam4080,4080D
} PT_ADAMCounterSetHWConfig, FAR * LPT_ADAMCounterSetHWConfig;

typedef struct tagPT_ADAMCounterGetHWConfig
{
	USHORT	far *usCounterMode;
	USHORT	far	*usDataFormat;  // Only for adam5080
	USHORT	far *usGateTime;	// Only for adam4080,4080D
} PT_ADAMCounterGetHWConfig, FAR * LPT_ADAMCounterGetHWConfig;

typedef struct tagPT_ADAMAISetHWConfig
{
	USHORT		usInputRange;
	USHORT		usDataFormat;
	USHORT		usIntegrationTime;
} PT_ADAMAISetHWConfig, FAR * LPT_ADAMAISetHWConfig;

typedef struct tagPT_ADAMAIGetHWConfig
{
	USHORT	far *usInputRange;
	USHORT	far	*usDataFormat;
	USHORT	far *usIntegrationTime;
} PT_ADAMAIGetHWConfig, FAR * LPT_ADAMAIGetHWConfig;

typedef struct tagPT_ADAMAOSetHWConfig
{
	USHORT		usChan;
	USHORT		usOutputRange;
	USHORT		usDataFormat;
	USHORT		usSlewRate;
} PT_ADAMAOSetHWConfig, FAR * LPT_ADAMAOSetHWConfig;

typedef struct tagPT_ADAMAOGetHWConfig
{
	USHORT	usChan;
	USHORT	far *usOutputRange;
	USHORT	far	*usDataFormat;
	USHORT	far *usSlewRate;
} PT_ADAMAOGetHWConfig, FAR * LPT_ADAMAOGetHWConfig;

typedef struct tagPT_PWMStartRead
{
	USHORT usChan;
	FLOAT  far *flHiperiod;
	FLOAT  far *flLowperiod;
}PT_PWMStartRead, FAR * LPT_PWMStartRead;

typedef struct tagPT_FAIDmaExStart
{
	USHORT		TrigSrc;		//Trigger source : internal,external
	USHORT		TrigMode;		//Trigger Mode : Pacer, Post, Delay, About
	USHORT		ClockSrc;		//Clock source : internel, external
	USHORT		TrigEdge;		//Trigger Edge : Rise 0 Fall 1
	USHORT		SRCType;		//Source type  : Digtal 0, Analog
	FLOAT		TrigVol;		//Analog Trigger type Trigger voltage
	USHORT		CyclicMode;		//Cyclic, noncyclic
	USHORT		NumChans;		//Scan number of channel
	USHORT		StartChan;		//Start channel
	ULONG		ulDelayCnt;		//Delay count
	ULONG		count;			//Number of sample
	ULONG		SampleRate;		//Sampling rate
    USHORT		*GainList;		//Gain code list
    USHORT		*CondList;		//Trigger condition
    TRIGLEVEL	*LevelList;		//Trigger level
	USHORT		*buffer0;		//Buffer pointer
	USHORT		*buffer1;		//Buffer pointer
	USHORT		*Pt1;			//Reserve parameter
	USHORT		*Pt2;			//Reserve Parameter
	USHORT		*Pt3;			//Reserve Parameter
}PT_FAIDmaExStart, *LPT_FAIDmaExStart;


typedef struct tagPT_FAOWaveFormStart
{
    	USHORT			TrigSrc;
    	DWORD			SampleRate;
	ULONG			WaveCount;
	ULONG			Count;
	USHORT far *		Buffer;
	USHORT			EnabledChannel;

} PT_FAOWaveFormStart, FAR * LPT_FAOWaveFormStart;


/**************************************************************************
    Function Declaration
***************************************************************************/

#if !defined(_WIN31)
    #define FEXPORT __declspec (dllexport)
    #define FTYPE  CALLBACK
#else
    #define FEXPORT extern
    #define FTYPE  FAR PASCAL
#endif


/**************************************************************************
    Function Declaration
***************************************************************************/

FEXPORT LRESULT FTYPE DeviceConfig(ULONG DeviceNum,DWORD BoardID,HWND owner);
FEXPORT LRESULT FTYPE DeviceOpen(ULONG DeviceNum, LONG far * DeviceHandle);
FEXPORT LRESULT FTYPE DeviceClose(LONG far * DeviceHandle);
FEXPORT LRESULT FTYPE DeviceGetFeatures(LONG DeviceHandle,
                     DEVFEATURES far * buffer, USHORT size);
FEXPORT LRESULT FTYPE AIConfig(LONG DeviceHandle,USHORT DasChan,
                     USHORT DasGain);
FEXPORT LRESULT FTYPE AIGetConfig(LONG DeviceHandle,LPDEVCONFIG_AI buffer,
                     USHORT size);
FEXPORT LRESULT FTYPE AIBinaryIn(LONG DeviceHandle,USHORT chan,
                     USHORT TrigMode,USHORT far * reading);
FEXPORT LRESULT FTYPE AIScale(USHORT reading,FLOAT MaxVolt,USHORT MaxCount,
                     USHORT offset,FLOAT far * voltage);
FEXPORT LRESULT FTYPE AIVoltageIn(LONG DeviceHandle,USHORT chan,
                     USHORT gain,USHORT TrigMode,FLOAT far * voltage);
FEXPORT LRESULT FTYPE AIVoltageInExp(LONG DeviceHandle,USHORT DasChan,
                     USHORT DasGain,USHORT ExpChan,FLOAT far * voltage);
FEXPORT LRESULT FTYPE MAIConfig(LONG DeviceHandle,USHORT NumChan,
                     USHORT StartChan,USHORT far * GainArray);
FEXPORT LRESULT FTYPE MAIBinaryIn(LONG DeviceHandle,USHORT NumChan,
                     USHORT StartChan,USHORT TrigMode,USHORT far * ReadingArray);
FEXPORT LRESULT FTYPE MAIVoltageIn(LONG DeviceHandle,USHORT NumChan,
                     USHORT StartChan,USHORT far * GainArray,
                     USHORT TrigMode,FLOAT far * VoltageArray);
FEXPORT LRESULT FTYPE MAIVoltageInExp(LONG DeviceHandle,USHORT NumChan,
                     USHORT far * DasChanArray,USHORT far * DasGainArray,
                     USHORT far * ExpChanArray,FLOAT far * VoltageArray);
FEXPORT LRESULT FTYPE TCMuxRead(LONG DeviceHandle,USHORT DasChan,
                     USHORT DasGain,USHORT ExpChan,USHORT TCType,
                     USHORT TempScale,FLOAT far * temp);
FEXPORT LRESULT FTYPE AOConfig(LONG DeviceHandle,USHORT chan,USHORT RefSrc,
                     FLOAT MaxValue,FLOAT MinValue);
FEXPORT LRESULT FTYPE AOBinaryOut(LONG DeviceHandle,USHORT chan,USHORT BinData);
FEXPORT LRESULT FTYPE AOVoltageOut(LONG DeviceHandle,USHORT chan,FLOAT OutputValue);
FEXPORT LRESULT FTYPE AOScale(LONG DeviceHandle,USHORT chan,FLOAT OutputValue,
                     USHORT far * BinData);
FEXPORT LRESULT FTYPE DioSetPortMode(LONG DeviceHandle,USHORT port,
                     USHORT dir);
FEXPORT LRESULT FTYPE DioGetConfig(LONG DeviceHandle,SHORT far * PortArray,
                     USHORT NumOfPorts);
FEXPORT LRESULT FTYPE DioReadPortByte(LONG DeviceHandle,USHORT port,
                     USHORT far * value);
FEXPORT LRESULT FTYPE DioWritePortByte(LONG DeviceHandle,USHORT port,
                     USHORT mask,USHORT state);
FEXPORT LRESULT FTYPE DioReadBit(LONG DeviceHandle,USHORT port,USHORT bit,
                     USHORT far * state);
FEXPORT LRESULT FTYPE DioWriteBit(LONG DeviceHandle,USHORT port,USHORT bit,
                     USHORT state);
FEXPORT LRESULT FTYPE DioGetCurrentDOByte(LONG DeviceHandle,USHORT port,
                     USHORT far * value);
FEXPORT LRESULT FTYPE DioGetCurrentDOBit(LONG DeviceHandle,USHORT port,
                     USHORT bit,USHORT far * state);
FEXPORT LRESULT FTYPE WritePortByte(LONG DeviceHandle,USHORT port,
                     USHORT ByteData);
FEXPORT LRESULT FTYPE WritePortWord(LONG DeviceHandle,USHORT port,
                     USHORT WordData);
FEXPORT LRESULT FTYPE ReadPortByte(LONG DeviceHandle,USHORT port,
                     USHORT far * ByteData);
FEXPORT LRESULT FTYPE ReadPortWord(LONG DeviceHandle,USHORT port,
                     USHORT far * WordData);
FEXPORT LRESULT FTYPE CounterEventStart(LONG DeviceHandle,USHORT counter,
                     USHORT GateMode);
FEXPORT LRESULT FTYPE CounterEventRead(LONG DeviceHandle,USHORT counter,
                     USHORT far * overflow,ULONG far * count);
FEXPORT LRESULT FTYPE CounterFreqStart(LONG DeviceHandle,USHORT counter,
                     USHORT GatePeriod,USHORT GateMode);
FEXPORT LRESULT FTYPE CounterFreqRead(LONG DeviceHandle,USHORT counter,
                     FLOAT far * freq);
FEXPORT LRESULT FTYPE CounterPulseStart(LONG DeviceHandle,USHORT counter,
					 FLOAT period,FLOAT UpCycle,USHORT GateMode);
FEXPORT LRESULT FTYPE CounterReset(LONG DeviceHandle,USHORT counter);
FEXPORT LRESULT FTYPE QCounterConfig(LONG DeviceHandle,USHORT counter,
                     USHORT LatchSrc,USHORT LatchOverflow,USHORT ResetOnLatch,
                     USHORT ResetValue);
FEXPORT LRESULT FTYPE QCounterConfigSys(LONG DeviceHandle,USHORT SysClock,
                     USHORT TimeBase, USHORT TimeDivider,USHORT CascadeMode);
FEXPORT LRESULT FTYPE QCounterStart(LONG DeviceHandle,USHORT counter,
                     USHORT InputMode);
FEXPORT LRESULT FTYPE QCounterRead(LONG DeviceHandle,USHORT counter,
                     USHORT far * overflow,ULONG far * LoCount,
                     ULONG far * HiCount);
FEXPORT LRESULT FTYPE AlarmConfig(LONG DeviceHandle,USHORT chan,
                     FLOAT LoLimit,FLOAT HiLimit);
FEXPORT LRESULT FTYPE AlarmEnable(LONG DeviceHandle,USHORT chan,
                     USHORT LatchMode,USHORT enabled);
FEXPORT LRESULT FTYPE AlarmCheck(LONG DeviceHandle,USHORT chan,
                     USHORT far * LoState,USHORT far * HiState);
FEXPORT LRESULT FTYPE AlarmReset(LONG DeviceHandle,USHORT chan);
FEXPORT LRESULT FTYPE COMOpen(USHORT PortNum, LONG far * ComHandle,
                     LONG far * DeviceHandle);
FEXPORT LRESULT FTYPE COMClose(LONG far * DeviceHandle);
FEXPORT LRESULT FTYPE COMGetConfig(ULONG DeviceNum, LPDEVCONFIG_COM buffer);
FEXPORT LRESULT FTYPE COMSetConfig(LONG DeviceHandle, LPDEVCONFIG_COM buffer);
FEXPORT LRESULT FTYPE COMRead(LONG DeviceHandle, LPSTR buffer,
                     USHORT BufferSize, USHORT TimeOut, CHAR FinalChar,
                     USHORT far * ReadCount);
FEXPORT LRESULT FTYPE COMReadEx(LONG DeviceHandle, LPSTR buffer,
                     USHORT BufferSize, USHORT TimeOut, CHAR FinalChar,
                     USHORT far * ReadCount);                 

⌨️ 快捷键说明

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