1、序言
随着自动化技术的不断发展,伺服电机的精度高,稳定性好,可控性强等优势受到了越来越多的青睐,当前,多轴控制已成为主流,传统的控制模式(脉冲或模拟量)已逐渐跟不上自动化程度更新的脚步,总线控制以超强的灵活性和高性价比逐渐代替传统控制模式,成为运动控制主流。
Codesys的softmotion可以实现运动控制,支持Ethercat,canopen等主流的总线,可以实现单轴运动控制,也能通过电子凸轮,CNC等功能实现复杂的多轴同步控制。本文主要介绍通过Codesys实现简单的单轴控制,理解和学习绝对定位和相对定位的控制方法。
2、Softmotion简介
CODESYS将运动控制与逻辑控制合二为一,集成在IEC61131-3标准的CODESYS编程系统和CODESYS实时运行系统中,形成了CODESYS Softmotion(CNC)工具包。从单轴运动到复杂CNC控制和机器人应用,都可以使用CODESYS Softmotion(CNC)来编程实现。
CODESYS Softmotion(CNC)的功能包括:
(1)使用PLCopen认证的POU库,可实现单轴和多轴横向协同运动;
(2)电子凸轮传动;
(3)CNC控制;
(4)轻松开发多轴运动控制器;
(5)支持 PLCopen Part4 标准功能块;
(6)可通过集成凸轮编辑器对凸轮功能进行图形化规划。
本文主要介绍单轴控制逻辑,绝对定位与相对定位的区别,通过虚轴成可视化仿真验证其动作差异。
2.1、运动控制指令
指令使用方法可以通过帮助文档查看,本文用到的指令有MC_Power,伺服使能,MC_Stop,伺服停止,MC_MoveVelcocity,绝对定位,MC_MoveRelative,相对定位。具体使用方法看下方程序。
3、程序编写
3.1、软件设置
a、创建工程,设备选择Softmotion Win3;
b、添加两个虚轴,X轴与Y轴;
c、创建两个POU,一个用梯形图编译,用于编写动作程序,一个用ST编译,用于编写数学运算;
d、创建全局变量表,两个POU都可使用
3.2、创建变量表
a、全局变量,创建全局变量,梯形图的POU和ST的POU都可以使用,无需在pou中再定义。
b、梯形图变量,主要是开关控制的bool变量,功能块让其自动生成就好。
3.33.4、梯形图程序
a、轴使能,直接使能,用True;
b、绝对定位,设置好定位位置,定位速度,加减速,方向以及衔接模式;
d、停止指令
e、伺服位置读取,添加伺服位置读取功能,方便可视化显示和查看
3.4、ST程序
主要是数据运算和转换,本例模拟仿真运算比较简单,只需要和可视化图中的位置匹配就好了,主要是codesys可视化中,图形移动需要用整数,因此用到了TO_DINT转换。
在实际应用中,轴的位置数据需要根据机械结构进行转换,比如说通过减速比,丝杆行程等数据将伺服的位置数据与实际的长度对应起来。
4、可视化组态
通过创建可视化视图,在视图中建立坐标及运行点,以原点的绿色点作为轴控制的点来仿真,用文本框创建需要输入的数据,按钮对应相应的运动控制开关,并连接各自的变量,如下图所示:
5、仿真运行结果
Codesys单轴运动控制,绝对定位与相对定位的可视化仿真
6、综述
本文主要介绍codesys使用softmotion实现轴控制程序的编写方法,并对其进行可视化仿真,通过仿真可以了解到相对定位与绝对定位的区别。
当然在实际应用中,轴的控制还注意:比如实际距离与轴位置的数据关系转换,轴的左右或上下限位,轴的零点及回零方式,故障报警等功能,本文并未做介绍,但在项目中这些都是必不可少的。
本文所使用的codesys版本为3.5.14.10,所涉及的程序可以在以下地址下载:
https://download.csdn.net/download/qq_19979629/85410502