运动控制技术的发展是制造自动化前进的旋律,是推动新的产业革命的关键技术。运动控制器已经从以单片机或微处理器为核心的运动控制器和以专业芯片(ASIC)作为核心处理器的运动控制器,发展到了基于PC总线的以DSP和FPGA作为核心处理器的开放式运动控制器。
当今,随着计算机技术的高速发展,运动控制技术正在发生根本性的变革,由专用型封闭式开环控制模式向通用型开放式实时动态全闭环控制模式发展。开放式体系结构使运动控制系统有更好的通用性、柔性、适用性、扩展性。
一、开放式运动控制系统
按照IEEE定义,一个开放式运动控制系统应提供这样的能力来自不同卖主的种种平台上运行的应用都能够在系统上完全实现,并能和其他系统应用互操作,且具有一致性的用户界面。
开放式运动控制系统的研究始于1987年,是由美国发起的。目前,通用运动控制器从结构上主要分为如下三大类:
1.基于计算机标准总线的运动控制器
这种运动控制器大都采用DSP或微机芯片作为CPU,可完成运动规划、高速实时插补、伺服滤波控制和伺服驱动,外部IO之间的标准化通用接口功能,它开放的函数库可提供用户根据不同的需要,在DOS或Windows等平台下开发应用软件,组成各种控制系统。目前这种运动控制器得到了广泛的应用。
2.Soft型开放式运动控制器
它提供给用户最大的灵活性,它的运动控制软件全部装在计算机中,而硬件部分仅仅是计算机与伺服驱动和外部IO之间的标准化通用接口。用户可以在 WINDOWS平台和其他操作系统的支持下,利用开放的运动控制内核,开发所需要的控制功能,构成各种类型的高性能运动控制系统,从而提供给用户更多的选择和灵活性。Soft型开放式运动控制的特点是开发,制造成本相对较低,能给予开发人员更加个性化的开发平台。
3.嵌入式结构的运动控制器
这种运动控制器是把计算机嵌入到计算机控制器中的一种产品,它能够独立运行。运动控制器与计算机之间的通讯依靠计算机总线,实质上是基于总线结构的运动控制器的一种变种。对于标准总线的计算机模块,这种类型的控制器采用了更加可靠的总线连接方式(采用针式连接器),更加适合工业应用。在使用中,采用如工业以太网、RS485、SERCOS、PROFIBUS等现场网络通讯接口连接上级计算机或控制面板。嵌入式的运动控制器也可配置软盘和硬盘驱动器,甚至可以通过Internet进行远程诊断。
二、PC+运动控制卡的控制方案
采用PC+运动控制卡作为上位控制可充分利用计算机资源,用于运动过程、运动轨迹都比较复杂,且柔性比较强的机器和设备。从用户使用的角度来看,基于PC机的运动控制卡主要是硬件接口(输入输出信号的种类、性能)和软件接口(运动控制函数库的功能函数)的差异。
运动控制卡是基于PC机各种总线的步进电机或数字式伺服电机的上位控制单元,总线形式也是多种多样。由于计算机主板的更新换代,ISA插槽都越来越少了,PCI总线的运动控制卡应该是目前的主流。卡上专用CPU与PC机CPU构成主从式双CPU控制模式。PC机CPU可以专注于人机界面、实时监控和发送指令等系统管理工作;卡上专用CPU来处理所有运动控制的细节升降速计算、行程控制、多轴插补等,无需占用PC机资源。同时随卡还提供功能强大的运动控制软件库C语言运动库、WindowsDLL动态链接库等,让用户更快、更有效地解决复杂的运动控制问题。
运动控制卡采用了开放式结构,使用简便,功能丰富,可靠性高。若采用PC机的PCI总线方式,卡上无需进行任何跳线设置,所有资源自动配置,并且所有的输入、输出信号均用光电隔离,提高了控制卡的可靠性和抗干扰能力;在软件方面提供了丰富的运动控制函数库,以满足不同的应用要求。用户只需根据控制系统的要求编制人机界面,并调用控制卡运动函数库中的指令函数,就可以开发出既满足要求又成本低廉的多轴运动控制系统。
运动函数库为单轴及多轴的步进或伺服控制提供了许多运动函数,如单轴运动、多轴独立运动、多轴插补运动等等。另外,为了配合运动控制系统的开发,还提供了一些辅助函数,如中断处理、编码器反馈、间隙补偿,运动中变速等。
正是由于运动控制卡的开放式结构,强大而丰富的软件功能,对于使用者来说进行二次开发的设计周期缩短了,开发手段增多了,针对不同的数控设备,其柔性化、模块化、高性能的优势得以被充分利用。
三、开放式多轴运动控制系统硬件结构
整个系统以基于“PC机+运动控制卡”为核心,采用ADT850运动控制卡加松下数字交流伺服驱动器构成一个开放式硬件结构。同时配备内容丰富、功能强大的运动函数库,采用VC++面向对象的编程技术,实现PC机、运动控制卡和伺服驱动器之间的通讯,其结构如图1所示。
图1二轴运动系统结构框图
PC机负责人机交互界面的管理和控制系统的实时监控等方面的工作,例如键盘和鼠标的管理、系统状态的显示、控制指令的发送、外部信号I0的监控等等。其中,脉冲信号控制电机所走的步数,方向信号控制电机正反转,以实现二轴的位置控制。X轴和Y轴原点、限位检测是通过一组机械开关来实现,原点检测开关用来生成用户二维运动系统坐标系原点,限位检测开关确保每轴工作行程极限。这些状态信号经逻辑电平整形电路、光电隔离电路后送入运动控制卡状态寄存器中,由CPU随时读出,达到对IO状态信号的检测。在硬件上,由于采用了光电隔离措施,这样,既隔离了外设对内部数字系统的干扰,又能有效地防止过电压、过电流等外界突发事件对计算机系统的损坏,大大提高了系统的控制精度和可靠性。
本系统充分发挥了PC机软件资源丰富和计算速度快的优点,吸收CADCAM的特点,在利用造型软件生成零件图后,再利用数控系统转化为加工G代码,将指令G代码与机床实际位置进行分析比较产生瞬时速度,然后由板卡将其解释为运动轨迹控制函数,最后通过调用运动函数库内的插补程序段,输出脉冲和方向信号,控制半闭环位置伺服系统带动工作台运转,实现所希望的空间轨迹路径动态特性和稳态精度。
四、基于VisualC++多轴运动控制系统的软件开发
VisualC++是一个在Windows环境下的程序开发工具,它是可视化的、面向对象的,采用事件驱动的。它屏蔽了Windows环境下程序设计的复杂性,使Windows应用程序设计变得简单、方便、快捷。利用ADT850运动控制卡的动态链接库DLL可以很快开发出Windows平台下的运动控制系统。ADT850运动控制卡动态链接库是标准的Windows32位动态链接库,选用的开发工具应支持Windows标准的32位DLL调用。
基于PC+运动控制卡多轴运动控制系统的软件开发需由ADT850运动控制卡配套光盘提供开发库中的三个文件,一个是静态库 ADT850.LIB,一个是头文件ADT850.H,一个是WindowsNT2000使用的文件winio.sys,动态库中的函数已在头文件 ADT850.H中有声明,用户可以直接调用其中的函数。ADT850函数库中提供常用的单轴运动,多轴独立运动控制,多轴插补运动控制,中断、等功能。
每块ADT850卡最多可以控制四轴的运动,当需要控制多个轴时,可以在PC机上插入几块卡,而在编程时,把它们当成一个整体对待,各卡之间的轴与同一块卡上的轴也同样能够进行联动或插补,这样就能实现多于四轴的运动控制。一台计算机上可同时使用的ADT850卡的数目取决于PCI扩展槽的数目。
五、结语
以基于“PC机+运动控制卡”为核心的开放式多轴运动控制系统的已经成功的应用到了南京工业大学研发的二维交流伺服系统的高精度X-Y坐标绘图仪上,取得了很好的控制性能。利用VisualC++在Windows平台上,对ADT850运动函数库二次开发,可以很快的开发出用户界面和自己的控制系统,大大节省了开发周期和开发费用。