/******************************************************************* *文件说明: IO以及AD类接口 *作者: logos *日期: 2013/11/11 *修改日志: 2013/11/11 TOD2214 创建 2015/12/25 CW0793 重构 ***********************************************************************/ #pragma once #ifndef _DLL_INCLUDE_IIO_H #define _DLL_INCLUDE_IIO_H #include "dtype.h" class IIO {//IO类接口 public: virtual int getID() = 0; //获取ID virtual int getCID() = 0; //获取卡ID virtual int getIndex() = 0; //获取在卡中的索引 virtual int getSence() = 0; //是否取反 0取反 1不取反 virtual int getType() = 0; //参考 EIOType 通用输入/输出 限位/原点等 virtual int read() = 0; //获取当前值 1 or 0 virtual int write(int val) = 0; //写入一个值 1 or 0 virtual const char* getName() = 0; }; //导出接口 EXPORT_C int WINAPI IIO_getID(IIO* p); EXPORT_C int WINAPI IIO_getCID(IIO* p); EXPORT_C int WINAPI IIO_getIndex(IIO* p); EXPORT_C int WINAPI IIO_getSence(IIO* p); EXPORT_C int WINAPI IIO_getType(IIO* p); EXPORT_C int WINAPI IIO_read(IIO* p); EXPORT_C int WINAPI IIO_write(IIO* p, int val); class IAD {//AD类接口 public: virtual int getID() = 0; //获取ID virtual int getCID() = 0; //获取卡ID virtual int getIndex() = 0; //获取在卡中的索引 virtual double getRatio() = 0; //比例尺 virtual double getOffset() = 0;//补偿量 virtual int read(double* pval) = 0; //获取当前值 double virtual int write(double val) = 0; //写入一个值 double virtual const char* getName() = 0; }; //导出接口 EXPORT_C int WINAPI IAD_getID(IAD* p); EXPORT_C int WINAPI IAD_getCID(IAD* p); EXPORT_C int WINAPI IAD_getIndex(IAD* p); EXPORT_C double WINAPI IAD_getRatio(IAD* p); EXPORT_C double WINAPI IAD_getOffset(IAD* p); EXPORT_C int WINAPI IAD_read(IAD* p, double* pval); EXPORT_C int WINAPI IAD_write(IAD* p, double val); /********************************************* *Function: 获取IO对象 *Intput: pid IO-ID *Output: NULL *Return: 成功返回对象接口类,失败返回NULL *********************************************/ EXPORT_C IIO* WINAPI get_iio(int pid); /********************************************* *Function: 获取AD对象 *Intput: pid AD-ID *Output: NULL *Return: 成功返回对象接口类,失败返回NULL *********************************************/ EXPORT_C IAD* WINAPI get_iad(int pid); #endif //防止重复包含