MPC07控制卡是基于PC机PCI总线的步进电机或数字式伺服电机的上位控制单元,它与PC机构成主从式控制结构,可插在PC机PCI扩展槽内。每块MPC07卡可控制4轴步进电机或数字式伺服电机,并支持多卡共用,以实现多于四个运动轴的控制,且每轴均可输出脉冲和方向信号,以控制电机的运转;同时,MPC07可外接原点、减速、限位等开关信号,以实现回原点、保护等功能,这些开关信号由MPC07卡自动检测并作出反应。MPC07卡还提供了功能强大的运动控制函数库,并可以充分利用PC机现有的资源来开发满足设计所要求的运动控制系统。
1 硬件系统结构
图1所示为运动控制系统结构图。本系统硬件采用MPC07控制卡作为开发运动控制系统的平台,其PC机主要负责人机交互界面的管理和控制系统的实时监控等方面的工作,主要包括运动参数的设置、系统状态的显示、控制指令的发送、外部信号的监控等;MPC07卡则通过PCI总线接收到PC机指令,再经内部智能芯片处理后将控制信号送入驱动器,然后驱动器把控制系统发出的脉冲信号转化为步进电机的角位移控制步进电机的运行,以此来实现对运动控制系统中小车运动的精确调速和定位。
1.1 MPC07的技术特性
MPC07控制卡具有开放式结构、使用简便、功能丰富、可靠性高等特性。在硬件方面MPC07采用PC机的PCI总线方式,因此适用范围广,且卡上无需进行任何跳线设置,所有资源均自动配置。另外,在Windows98、Windows2000及Windows XP操作系统中支持即插即用,使用非常方便;MPC07的接线方式采用DB37型插头,可使用屏蔽线缆,并且所有的输入、输出信号均用光电隔离,因此提高了控制卡的可靠性和抗干扰能力;在软件方面MPC07还提供了丰富的运动控制函数库,以满足不同的应用要求。用户只需根据控制系统的要求编制人机界面,并调用MPC07运动函数库中的指令函数,就可以开发出满足要求的多轴运动控制系统。MPC07的技术指标主要有:
◇4轴步进或数字式伺服控制;
◇脉冲输出速度可达4.0 Mpps;
◇梯形加减速;
◇运动中可变速;
◇多轴高速线性插补;
◇可输出脉冲/方向或双脉冲信号;
◇每轴带有原点、减速和限位开关等接口;
◇16个通用输入开关信号,24个通用输出开关信号;
◇WINDOWS环境下WDM、DLL库;
◇演示程序。
1.2 MPC07接口
MPC07控制卡采用DB37接口,外接线可采用屏蔽线缆,以提高控制卡的抗干扰能力。其中开关量信号(原点、减速、限位以及I/O信号等)采用12~24DCV开关电源;脉冲量信号(脉冲、方向等)采用5DCV开关电源。完整的MPC07运动控制器由三张板卡组成:MPC07主板,转接板和通用IO扩展板。其中MPC07主板完成运动控制功能,它有两个接口:DB37和40芯扁平电缆,其中DB37接口主要用于运动控制,它可通过转接板与驱动器等外部设备相连;而40芯扁平电缆则用于通用IO,可以通过通用IO扩展板与外部设备相连。实际上,转接板才是MPC07主板与电机驱动器的连接桥梁,可用来提供脉冲和方向差分输出。通用IO扩展板是通用IO信号与MPC07主板的连接桥梁,可以利用40扁平电缆将扩展板与MPC07主板相连。如果控制系统需要使用通用输入或输出信号,则必须使用通用IO扩展板,而不能将IO信号直接与MPC07主板的40芯电缆管脚相连,这样可能烧坏FPGA。
2 软件实现
该运动控制系统的程序是在Windows系统下,用VC++编写的面向对象的语言程序,MPC07软件中已经将常用的MPC07.dll中DLL函数封装成类CLoadDll,并提供该类的源代码,该类含有与运动指令库函数名及参数相同的成员函数。可在MPC07卡软件安装盘\Develop\VC文件夹下找到源代码,文件名为LoadDll.cpp和LoadDll.h,并将其添加进工程,在程序适当地方添加该类的对象,通过对应成员函数来调用DLL中的函数。其程序流程图如图2所示。