background image

多类型运动控制卡编程方法

运动控制卡发展越来越讯速,不同类型的控制卡亦多种多样,使软件项目经理具备越来越
灵活的方案选择。而对于软件开人员,对不同的类型卡的性能测试工作无疑也越来越麻烦,
通常各类型的控制卡其驱动库函数各不一样,都需要用户自己进行整理封装。本文的目的就
是通过

C++方式编程,探讨一下实现多类型卡编程方式,以供开发人员参考。 

一、利用

C++虚拟函数机制 

除了手动去单个修改替换以前卡的驱动函数之外,此方法最易被

C++程序员所想起,其方

法是,首先需要建立一个通用的基类(父),然后不同卡封装的类通过重写基类的虚拟函
数来实现,代码看上去大致如下:

 

class CDviece//用户根据自己的设置建立的基类 

public: 
virtual int InitBoard(); //在此仅以初始化函数为例 
… (略) 
}; 

class CDmc1000Card: public CDviece // 设该卡为雷赛的 DMC1000 卡 

public: 
virtual int InitBoard() 

return dmc1000_init_board(); 
}//改进基类的 InitBoard 函数 
…(其它改写略去) 

class COMS: public CDviece //设该卡为美国的 OMS 卡 

public: 
virtual int InitBoard() 


…(其它改写略去) 

在程序中,若想设备使用

DMC1000 控制卡,可定义如下: