欢迎大家积极投稿“EtherCAT总线生态拓展”,内容包括但不限于自动化技术与市场,欢迎大家来搞各个科技领域,另有自动化技术微信交流群欢迎大家加入,管理员微信1845635074
1.启动CODESYS,导入设备XML
单击标题栏的“工具→设备存储库”,弹出的界面单击“安装”,选择文件目录下的设备描述文件XML打开,载入设备存储库。



2.3新建工程,测试PC与CODESYS控制器链接状态
单击标题栏的“文件→新建工程”或者“基本操作下新建工程...”,然后设备选择“ASL1200 Motion Controller”,编程语言根据自身需要选择进行创建工程。




2.3.1添加设备:总线控制器(主站)
进入工程后,在左侧找到导航栏,右击“Device”,选择“添加设备”,弹出如下的界面,
选择“现场总线”→“Ethercat”→“主站”→“Ethercat Master Softmotion”,单击“添加设备”进行添加。


在左侧导航栏里可以看到多出了刚刚添加的设备

双击左侧导航栏中的“EtherCAT_Master_SoftMotion(EtherCAT_Master_SoftMotion)”,可以对主站进行相应的参数设置,如下图。

2.3.2添加设备:总线驱动器(EtherCAT从站)
主站添加完毕,接下来添加从站(前提是已经有伺服驱动器通过超五类网线和控制器正常连接)。
两种方式:
1、首先设备存储库安装从站厂家提供的设备描述XML文件,再右击左侧导航栏中的主站EtherCAT_Master_SoftMotion →“添加设备”选择需要从站。

2、双击“Device”,在右侧通讯设置里点击“扫描网络”,在弹出的窗口选择显视出的设备,确认连接,连接正常的情况如下图所示为激活状态。(前提PC和控制器配置为同一网段)


然后右击左侧导航栏中的主站EtherCAT_Master_SoftMotion →“扫描设备”(通过网关,添加在线设备,前提是电脑已连接上控制器)


在从站与控制器连接正确的情况下,在弹出的窗口中会显现从站设备名称,单击“复制设备到工程”中,完成添加从站。
在左侧导航栏里可以看到多出了刚刚添加的从站设备

给从站驱动器添加运动控制轴,如下图所示。

给刚刚添加的轴进行重命名,对于弹出的窗口,直接按确定就行:
SM_Drive_GenericDSP402(SM_Drive_GenericDSP402)修改为Axis_0
如下图所示:

2.3.3 配置主站MAC地址
上边步骤添加伺服设备后,通过在线菜单-登录,软件里主站报红色错误,需要进行主站MAC地址配置,并且软件底部显示红色错误。

双击选择EtherCAT_Master_SoftMotion或右键-编辑对象,打开如下

单击上图中“浏览...”弹出下图界面选择网络适配器gem0一行对应的本地连接,然后重新编译后,红色错误消失

选项展开,将“自动重启从站”勾选

2.3.4配置EtherCAT从站
双击TSV_HL伺服,在右边的界面下图中,勾选专家设置,并设置分布式时钟为DC for synchronization,取消检查供应商ID和检查产品ID。


检查驱动器的启动参数SDO

接下来还需要对电机的参数进行设置,双击导航栏中的“Axis_0”,导航栏右侧弹出参数设置界面
“softmotion驱动:基本的”相关参数参考如下界面:

No. |
名称 |
说明 |
默认 |
1 |
轴的类型与限制 |
虚拟模式: 如果本软件运动轴作为虚拟伺服轴使用的,则复选 |
无复选 |
模数:如果对控制对象没有限制(旋转体等),请选择 |
有限制 |
||
有限:如果对控制对象有限制(往复运动等),请选择 |
|||
2 |
软件限制 |
设置软件可动作的范围 |
无复选 |
3 |
模数设置 |
这是位置数据的上限值(单位u)。当超过该值时回0。可以将大于模数值的值指定为目标位置,但作为当前位置读出的数据,模数值为上限值。 |
360.0 |
4 |
软件错误反应 |
指定超出软件限制时的减速度。 |
有复选 |
5 |
动态限制 |
使用CNC功能时,指定用SMC_ControlAxisBy*命令给定的速度、加速度、减速度限制。 |
|
6 |
位置的滞后监视 |
指定位置偏差(滞后)监视 |
非激活 |
7 |
速度斜坡类型 |
指定速度加速的类型。 Trapezoid:梯形(固定加速率) Sin2:S字 Quadratic:二次曲线 Quadratic(smooth):二次曲线(平滑) |
Trapezoid:梯形 |
8 |
标识 |
ID:这是各轴固有的编号。用于通过PLC日志的错误信息对轴进行识别 |
0 |

No. |
名称 |
说明 |
1 |
电机类型 |
|
2 |
Invert direction |
复选本项目,电机与指定方向的相反方向旋转 |
3 |
Increments <=> motor turns 增量<=>电机转 |
指定电机每转1圈的编码脉冲数。 例:电机为17bit编码,则 Increments :16#20000、motor turns : 1 例:电机为20bit编码,则 Increments :16#100000、motor turns : 1 |
4 |
motor turns <=> gear output tums 电机转动<=>齿轮输出转 |
指定电机的齿轮减速比。 例:电机减速比为50,则 motor turns :50、 gear output tums:1 |
5 |
gear output turns <=> units in application 减速机输出转<=>应用的单元 |
旋转: 指定齿轮转1圈,对应360度。 gear output turns:1、 units in application:360 指定齿轮每转1圈,工件[u]的移动距离。 线性: 例:齿轮转1圈,工件移动1mm(对应丝杆导程),则 gear output turns:1、 units in application:1 |
6 |
Automatic mapping 自动映射 |
指定是否自动映射经软件运动处理的轴的变量。如果使用ADV,则复选。 |
2.3.5 编程示例
点击 POU程序,从右边工具栏拉出运算块到编程栏,输入 MC_Power 使能指令,确认后,弹出声明,可对名称、类型、对象进行编辑,具体看实际需要。

添加MC_Jog 功能块,设置两个功能块的参数

2.4 任务配置设置
CODESYS中的可以对任务的优先级进行设置,一共可以设 32 个级别(0 到 31 之间的一个数字,0 是最高优先级,31 是最低优先级)。当一个程序在执行时,优先级高的任务优先于优先级任务低的任务,高优先级任务0能中断同一资源中较低优先级的程序执行,使较低优先级程序执行被放缓。
任务优先级的分配原理:
EtherCAT_task : 优先级设为0 ,并且不要修改任务名称,切记,间隔时间不能低于1ms。
*优先级1为控制器操作系统使用,大家不要使用。
其他优先级可以设定为3或者以上,间隔时间为16ms以上,不要低于16ms,太低不利于电脑IEC,或者上位机的通讯。


2.5登录下载程序,并启动执行
点击在线-登录将程序下载到控制器

点击启动(F5)

当左侧目录栏主站、从站、轴都呈现绿色为登录成功

然后双击下图中的Axis_0(SM_Drive_GenericDSP402),显示如下,可以查看当前电机的在线位置、速度、加速度、扭矩。

MC_Power 功能块 Enable、bRegulatoron写入 TRUE,MC_Jog 的 JogForward 写入TRUE,点击调试菜单-写入值(Ctrl+F7),驱动器使能并且开始正转。


后台回复“口罩机”领取大量PLC与CODESYS程序案例与资料,一些是入门级的程序,一些是实际工程项目,程序内容在不断更新,总线控制器厂家火热寻找合作伙伴

