在回答这个问题之前,首先要清楚伺服电机的用途,相对于普通的电机来说,伺服电机主要用于精确定位,因此大家通常所说的控制伺服,其实就是对伺服电机的位置控制。其实,伺服电机还用另外两种工作模式,那就是速度控制和转矩控制,不过应用比较少而已。
速度控制一般都是有变频器实现,用伺服电机做速度控制,一般是用于快速加减速或是速度精准控制的场合,因为相对于变频器,伺服电机可以在几毫米内达到几千转,由于伺服都是闭环的,速度非常稳定。转矩控制主要是 控制伺服电机的输出转矩,同样是因为伺服电机的响应快。应用以上两种控制,可以把伺服驱动器当成变频器,一般都是用模拟量控制。
伺服电机最主要的应用还是定位控制,位置控制有两个物理量需要控制,那就是速度和位置,确切的说,就是控制伺服电机以多快的速度到达什么地方,并准确的停下。
伺服驱动器通过接收的脉冲频率和数量来控制伺服电机运行的距离和速度。比如,我们约定伺服电机每10000个脉冲转一圈。如果PLC在一分钟内发送10000个脉冲,那么伺服电机就以1r/min的速度走完一圈,如果在一秒钟内发送10000个脉冲,那么伺服电机就以60r/min的速度走完一圈。
所以,PLC是通过控制发送的脉冲来控制伺服电机的,用物理方式发送脉冲,也就是使用PLC的晶体管输出是最常用的方式,一般是低端PLC采用这种方式。而中高端PLC是通过通讯的方式把脉冲的个数和频率传递给伺服驱动器。
比如:
Profibus-DP CANopen、MECHATROLINK-II、EtherCAT等等。
这两种方式只是实现的渠道不一样,实质是一样的,对我们编程来说,也是一样的。这也就是我想跟大家说的,要学习原理,触类旁通,而不是为了学习而学习。
对于程序编写,这个差别很大,日系PLC是采用指令的方式,而欧系PLC是采用功能块的形式。但实质是一样的,比如要控制伺服走一个绝对定位,我们就需要控制PLC的输出通道,脉冲数,脉冲频率,加减速时间,以及需要知道伺服驱动器什么时候定位完成,是否碰到限位等等。无论哪种PLC,无非就是对这几个物理量的控制和运动参数的读取,只是不同PLC实现方法不一样。