You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.3 KiB
C++
75 lines
2.3 KiB
C++
/*******************************************************************
|
|
*文件说明: 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 //防止重复包含
|