作为开放式LogicLab开发环境,可以与任何厂商的运动控制系统结合,LinuxCNC将通过共享内存访问LogicLab运行内核EtherCAT总线接口,在本文中,我们将以LinuxCNC为示例运动控制系统进行说明与操作,本章节使用设备如下:
- LogicLab运动控制开发套件 * 1
- 清能德创Cooldrive S7伺服与电机 * 2
- 瑞风信息科技EtherCAT IO模块 * 1
系统架构
在本系统中,LinuxCNC在HAL层通过LogicLab开放式共享内存接口访问EtherCAT伺服驱动器数据,并通过与LogicLab内核之间建立的共享内存接口访问实际物理输入以及输出。架构图如下:
EtherCAT总线配置
在实际进行LinuxCNC操作之前,需要在LogicLab中配置EtherCAT伺服驱动器与IO模块,并正常进入OP状态:
LinuxCNC信号关联
如果需要LinuxCNC操作EtherCAT IO,例如:回零、限位、急停等等信号,则需要将对应的EtherCAT IO信号进行配置,并通过共享内存变量,将数据传递至LinuxCNC,如下图配置回零信号所示:
映射完变量后需要在Fast任务(EtherCAT同步任务)的程序中,将其数据更新至LinuxCNC共享内存变量中,请参阅附件示例工程:
启动与测试LinuxCNC
成功编译下载后,确认无故障情况下则可以在设备端启动LinuxCNC,启动前请确认当前目录下是否包含配置对应mctoolkit.ini与mctoolkit.hal文件:
此时确认启动LinuxCNC,则可以正常进行使能、回零、点动以及运行G代码程序:
原文链接:https://www.nxtrol.com/h-nd-28.html