欢迎大家积极投稿“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圈,工件的移动距离。
线性:
例:齿轮转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),驱动器使能并且开始正转。
|