Intel-ECI之Codesys PLC + Ethercat 远端IO + Codesys IDE编程
目录
一、 准备工作
二、安装Codesys 软件 PLC
三、 使用Codesys IDE 编程测试
CODESYS* 是领先的独立于制造商的 IEC 61131-3 自动化软件,适用于工程控制系统。它用于 Intel® Edge Controls for Industrial(Intel® ECI 或 ECI),以提供软件可编程逻辑控制器 (PLC) 来执行实时控制应用程序。CODESYS* 运行时能够执行复杂任务,并与 PLCopen、OPC UA 传输层、Profinet 和 EtherCAT 等工业通信协议进行通信。
一、 准备工作
1)安装ECI 库及 IgH ethrtcat,参考以下文章。
Intel-ECI之Linux Intel LTS Xenomai Dovetail内核+IgH Ethercat-CSDN博客文章浏览阅读904次,点赞25次,收藏27次。基于intel ECI 软件库安装xenomai 实时内核,安装IgH ethercat 协议主站https://blog.csdn.net/zengshitang520/article/details/144412311
二、安装Codesys 软件 PLC
CODESYS* Linux* 运行时无需许可证即可免费使用,但会在两小时后自动停止执行。此外,OPC UA 客户端功能仅限于 30 分钟,超过此时间后,OPC UA 客户端将无法运行。如果您想在这些时间限制之外使用 CODESYS* Linux* 运行时,则需要购买许可证。
1)ECI 控制器执行以下命令安装Codesys PLC 组件
sudo apt install eci-softplc-codesys
2)重新启动 CODESYS Linux 运行时
CODESYS* Linux* 运行时将在没有许可证的情况下继续运行长达两个小时。此外,OPC UA 客户端功能仅限于 30 分钟,超过此时间后,OPC UA 客户端将无法运行。您可以通过重新启动 CODESYS* Linux* 运行时,在时间限制后恢复功能:
sudo systemctl restart codesyscontrol
3) 验证 CODESYS* Linux* 运行时是否处于活动状态
sudo systemctl status codesyscontrol
出现“ active (running)”
4)ECI 提供了许多有用的脚本,用于提高 CODESYS* Linux* 运行时的实时性能。执行以下操作以开始使用这些脚本:
sudo apt install codesys-benchmark-scripts
5)优化系统,停止非必要服务,并重新启动 CODESYS* Linux* 运行时
sudo /opt/benchmarking/codesys/utility/start_codesys_native.sh
6)开发电脑安装codesys IDE
CODESYS* 提供面向 Microsoft Windows* 的集成开发环境 (IDE)。使用 CODESYS* IDE,可以针对 CODESYS* Linux* 运行时开发、测试和编译控制应用程序。下图显示了一个典型的 IDE 项目环境。
下载 64 位版本的 CODESYS*
下载 “CODESYS Control for Linux SL 4.11.0.0.package”
下载 “CODESYS Edge Gateway for Linux 4.11.0.0.package”
CODESYS-软件下载链接
链接: https://pan.baidu.com/s/1kev4r0o0_yivV1lwGke_0Q提取码: 7q76
下载好软件后,3文件放同一目录,先安装“CODESYS 64 3.5.20.20.exe”,安装完成后再点击 “CODESYS Control for Linux SL 4.11.0.0.package”完成安装。
三、 使用Codesys IDE 编程测试
1) 使用EtherCAT 远程IO 测试Codesys PCL
由于ECI 控制器本身没有IO ,所以找来一台EtherCAT 接口的一体式远程IO 来做扩展IO 测试,以下是16个输出IO,16个输入IO NPN 型远程IO。
2) Codesys IDE新建项目,编译一个LED 定期闪烁的梯形图程序做演示
点击“文件”==》“新建工程”
点击“standard poject” ,输入项目名称及项目储存位置
设备选择“codesys Control for Linux SL (CODESYS)”,PLC_PRG 选择“提醒逻辑图(LD)”
3) IED 软件连接PLC 控制器,Codesys IDE 开发电脑需与Codesys PLC 同一网段
双击“device”出现下图,网关绿色点说明联网正常
点击“扫描网络”,出现下图 “eci[002D]”(名称跟ECI控制器一样) ,让后点击“确定”
输入ECI Codesys PCL控制器的用户名及密码,第一次登录需设置账号及密码,需记住。
出现下图“ECI(激活)”说明已经连接上Codesys PLC
4) 程序添加EtherCAT 总线
右键“Device” 选择“添加设备”
如下图,选择“EtherCAT Master” 然后点击“添加设备”,完成后点击“关闭”
如下图,双击“EtherCAT Master”==》“通用”==》“原地址(MAC)” 的 “选择”,弹出“选择网络适配器”,ECI 控制器PLC使用enp1s0 作为EtherCAT网口连接远程IO (根据实际使用网口MAC地址选择)
选择好网口后,勾选“自动重启从站”
如下图,右击“EtherCAT Master”==》“扫描设备”
如下图,PLC通过EtherCAT 扫描到远程IO(Codesys IDE需安装厂家的远程IO 配置文件,才能正确设备设备名称),如下图已经安装远程IO 配置文件,点击“复制到工程”即可
双击下图添加的EhereCAT远程IO,可以看到16位输出IO ,12位输出IO 地址。
5) 编写一个简单的LED定时100ms闪烁的程序
如下图,双击“PLC_PRG”,编写程序内容如下
将程序中定义的输入及输出IO 关联到EthereCAT 远程IO。
下图点击EthereCAT 远程IO所有输出IO 全部关联到程序定义LED1(实现全部输出IO一起亮灭操作)。
将EthereCAT 远程IO的输入IX0.0关联到程序的Start, IX0.1关联到程序的Stop
6) 登录PLC控制器 ,Codesys IDE 点击“在线”==》“登录”PLC控制器
7) 启动PLC 运行程序
Codesys IDE 点击“调试”==》“启动”
如下图所示 “EtherCAT_Master”及远程IO 设备前面变成绿色说明EtherCAT远程I运行正常,codesys IDE 下午显示“运行”说明PLC 运行正常。
当程序检查草远程IO 关联的Start 输入IO有输入时,程序开始控制所有输出IO 每隔100ms 闪烁,关联的Stop 输入IO有输入时, 程序停止控制所有输出IO。
远程IO 根据程序设定工作
到处ECI 控制器安装codesys PLC运行时,并且使用 codesys IED 编写程序验证EtherCAT 扩展远程IO 模块试验完成。
本文中提到的测试程序可以在以下网盘下载
codesys-LED
链接: https://pan.baidu.com/s/1leawKNn1IwqPQVIG4sQsLA提取码: u8gu