引言:在2010年的时候,在北京的一个数控公司工作。产品采用的是通过运动控制卡发脉冲的方式,控制机床的X、Y、Z轴进行加工。 机床在加工产品的时候,一直存在着精度的问题,例如DMG的机床可以达到0.01的加工精度,但是我们的就不行。 当时作为一个小底层员工,猜测可能有两点造成的这个问题。一点是我们的控制系统是基于微软的WINDOWS XP开发的。 微软的系统不是实时操作系统,在操作系统的任务切换上有些力不从心,然后公司的女同事写的代码还巨臃肿(对操作系统的任务切换和内存分配机制都不了解就可以写代码,领导还真放心),运行效率看着我都担心CPU会不会过载累死 虽然公司的领导层屏蔽并精简了很多系统上用不到的功能,降低系统负荷,但是微软的系统在面对实时控制上依然力不从心,是不争的事实。 在风河系统一统实时系统的时代,这么大的公司还在用XP,有点说不通啊~当然换平台也是大工程,没个果敢的勇气还真下不了决心。 第二点是我们的伺服控制器是通过发脉冲的方式控制的,这种方式很容易有干扰,并且给上位机造成的工作压力也不小。当时就觉得领导层为什么不狠心把这种方式改掉,改成CAN通信也好啊。 后来一次偶然的机会,从单位仓库里搞了一套西班牙法格的数控系统,将我们机床的机械部分接到法格上,控制机床加工,当加工产品出来后,精度比我们自己的系统好很多(关键那套系统还是法格几年前的产品),这回问题明显了:同样是发脉冲,别人的脉冲比我们的好多了,尤其在三轴脉冲的同步控制上比我们的产品好多了。如果操作系统换不了,那么想提高精度,唯一的办法就是换成总线通信了,估计能对加工精度提高不少。但是很遗憾的是12年就离职了
,我的猜测也没法验证了~~
随着IT产业的蓬勃发展,工厂内设备的自动化也全面进入了要以网络来联机的时代,这也使得"PC Based"的控制器在工厂设备中被运用的比例也愈来愈高,在图一中所展现的是一个开放式架构 (Open Architecture) 工厂自动化 (Factory Automation) 的网络结构,包含了硬件及各式的通讯协议。
在硬件方面可以看出走向串行式是一个共通的趋势,因为串行式通讯本身就有「维修容易」、「简省成本」、「远程控制」等的特点。但其不方便的地方就是在于很难找出一种通用于所有组件及设备之间的通讯协议。举例来说,串行式影像的标准通讯协议:Camera Link 和串行式运动控制的标准通讯协议:SERCOS就是完全不同的语言。彼此并不能共享一条线而彼此沟通。
本文将着重在探讨串行式运动控制的技术。在近年来,由于半导体制造设备等相关的电子制造设备市场大幅成长,而使得机器设备上的运动控制系统出现了以下数点的技术需求:
1. 多轴运动控制
机器设备因自动化程度提高而使得单一机器上所需要的轴数增多,一台设备上十几轴是