在TwinCAT系统的61个任务中,有且只有两个任务是分配给运动控制器TwinCAT NC使用的,一个叫SAF,一个叫SVB。
SAF是运动控制周期,是轨迹规划和Controller运算的周期,是TwinCAT NC与伺服驱动器交换过程数据的周期:目标位置、当前位置、控制字、状态字都以这个频率更新。SAF任务周期默认值2ms,项目要求较高时可以改为1ms,但不能低于伺服驱动器的位置环周期。比如对于倍福的AX5000伺服驱动器,位置环周期为125us,最低可以把NC SAF任务周期设置为250us。
SVB可以理解为状态更新周期,是NC与PLC交换数据的周期,比如NC轴状态、当前位置、使能信号等等,都是以这个周期刷新的。SVB任务周期默认值10ms,与PLC程序中默认的任务周期一致。
(1) 开环、闭环、半闭环
TwinCAT NC支持开环、闭环、半闭环的控制方式。
(2) 虚轴、实轴和编码器轴
TwinCAT NC支持实轴、虚轴和半虚半实即编码器轴。
·实轴
实轴,就是对应伺服或者步进驱动器的NC轴。NC轴一定要关联到物理轴,才能控制电机动作。所以1电机对应1个实轴。实轴必须包括驱动部分(drive)和反馈部分(enc)。
·虚轴
虚轴,就是不对应任何硬件的NC轴。在TwinCAT NC中新建一个轴,不做任何设置,默认就是虚轴。由于PLC中的运动控制程序并不区分虚轴和实轴,所以虚轴可以用来脱离电机调试PLC程序。
另外,与几何学中的辅助线类似,运动控制中也可以使用虚轴做为“辅助轴”,以简化控制算法。比如两个实轴需要耦合运动时,可以令二者都耦合到一个虚轴,运动更加平稳。还有的时候一个实轴要实现复杂的运动,就可以使用多个虚轴的简单运动迭加成一个复杂的实轴运动。
·编码器轴
编码器轴(Encoder Axis)只有位置反馈装置而没有驱动装置。TwinCAT NC不能控制编码器轴的动作。设置好脉冲当量等参数后,TwinCAT NC会自动换算并累加成用户单位的位置并送到PLC。
编码器轴可以作为主轴,其它NC轴作为凸轮或者齿轮从轴耦合到编码器轴运动。