CODESYS SoftMotion(三)多轴运动实例

前面讲了SoftMotion如何控制单个轴,这一节就来看看多轴控制是如何配置的。

本节目标:实现电子凸轮主从控制,这一次使用PLCopen
IEC61131-3
规定下的另一种编程语言,连续功能图(CFC,Continuous Function Chart)。主轴的范围是:0-10度表换,从轴是

编写过程

CODESYS SoftMotion(三)多轴运动实例_第1张图片
选择PLG_PRG语言为:连续功能图
CODESYS SoftMotion(三)多轴运动实例_第2张图片

添加两个轴,一个是主动轴,另一个是从动轴,注意把名字更改一下:
CODESYS SoftMotion(三)多轴运动实例_第3张图片
在Application中添加一个Cam表对象:
CODESYS SoftMotion(三)多轴运动实例_第4张图片
Cam表是分析主轴位置和从轴位置、速度、加速度以及加加速度的四个表格。下面是默认生成的Cam表:
CODESYS SoftMotion(三)多轴运动实例_第5张图片

Cam表用于设置主轴和从轴的一些属性,如一些关键位置和运动范围:
CODESYS SoftMotion(三)多轴运动实例_第6张图片
点击Cam对象页中的cam表属性添加一些关键位置:
CODESYS SoftMotion(三)多轴运动实例_第7张图片
其中X表示主轴位置,Y表示对应的从轴位置,上图已经设置了一些关键位置(如主轴位置为4度时,从轴位置是200度)。

切换至PLC_PRG进行程序的编写,无论是主动轴还是从动轴,我们首先应该利用使能模块进行使能,在右侧找到顺序块拖到空白区域:
CODESYS SoftMotion(三)多轴运动实例_第8张图片
双击问号,点击...进入向导,找到MC_Power:
CODESYS SoftMotion(三)多轴运动实例_第9张图片
这个块其实就是函数的输入和输出,输入有Axis、Enable、bRegulatorOn和bDriverStart三个,输出则有:State、bRegulatorRealState、bDriveStartRealState、Busy、Error和ErrorID六个。轴我们选择我们创建的名字为Slave和Master,具体含义得查查手册= =。

再添加一个让主轴旋转的功能块MC_MoveVelocity 凸轮表选择MC_CamTableSelectMC_CamIn
CODESYS SoftMotion(三)多轴运动实例_第10张图片
为了观察效果,向Apllication中添加一个视图,再MC_Basic中找到RotDrive,添加两个,并绑定我们的实际对象:
CODESYS SoftMotion(三)多轴运动实例_第11张图片
下载到我们的树莓派:
CODESYS SoftMotion(三)多轴运动实例_第12张图片

点击MC_MoveVelocity上的执行按钮,可以看到我们的主动轴正在以2m/s速度运动,选择CamIn后可以到从动轴按照预计运动规律运动也在一起。
CODESYS SoftMotion(三)多轴运动实例_第13张图片

你可能感兴趣的:(#,PLCopen,CODESYS,SoftMotion,电子凸轮)