前面讲了SoftMotion如何控制单个轴,这一节就来看看多轴控制是如何配置的。
本节目标:实现电子凸轮主从控制,这一次使用PLCopen
IEC61131-3规定下的另一种编程语言,连续功能图(CFC,Continuous Function Chart)。主轴的范围是:0-10度表换,从轴是
编写过程
选择PLG_PRG语言为:连续功能图
添加两个轴,一个是主动轴,另一个是从动轴,注意把名字更改一下:
在Application中添加一个Cam表对象:
Cam表是分析主轴位置和从轴位置、速度、加速度以及加加速度的四个表格。下面是默认生成的Cam表:
Cam表用于设置主轴和从轴的一些属性,如一些关键位置和运动范围:
点击Cam对象页中的cam表属性添加一些关键位置:
其中X表示主轴位置,Y表示对应的从轴位置,上图已经设置了一些关键位置(如主轴位置为4度时,从轴位置是200度)。切换至PLC_PRG进行程序的编写,无论是主动轴还是从动轴,我们首先应该利用使能模块进行使能,在右侧找到顺序块拖到空白区域:
双击问号,点击...
进入向导,找到MC_Power:
这个块其实就是函数的输入和输出,输入有Axis、Enable、bRegulatorOn和bDriverStart三个,输出则有:State、bRegulatorRealState、bDriveStartRealState、Busy、Error和ErrorID六个。轴我们选择我们创建的名字为Slave和Master,具体含义得查查手册= =。再添加一个让主轴旋转的功能块MC_MoveVelocity
凸轮表选择MC_CamTableSelect
、MC_CamIn
:
为了观察效果,向Apllication中添加一个视图,再MC_Basic
中找到RotDrive
,添加两个,并绑定我们的实际对象:
下载到我们的树莓派:
点击MC_MoveVelocity
上的执行按钮,可以看到我们的主动轴正在以2m/s速度运动,选择CamIn后可以到从动轴按照预计运动规律运动也在一起。