Intel-ECI之Codesys PLC + Ethercat 远端IO + Codesys IDE编程

目录

[一、 准备工作](#一、 准备工作)

[二、安装Codesys 软件 PLC](#二、安装Codesys 软件 PLC)

[三、 使用Codesys IDE 编程测试](#三、 使用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

相关推荐
linkingvision10 分钟前
H5S 视频监控AWS S3 对象存储
linux·运维·aws·视频监控s3对象存储
belldeep1 小时前
WSL 安装 Debian 12 后,Linux 如何安装 vim ?
linux·debian·vim
wqqqianqian1 小时前
国产linux系统(银河麒麟,统信uos)使用 PageOffice自定义Word模版中的数据区域
linux·word·自定义·pageoffice·数据区域
南棱笑笑生2 小时前
20250512给NanoPi NEO core开发板在Ubuntu core20.04系统更新boot.img
linux·运维·ubuntu
XMYX-02 小时前
Linux du 命令终极指南:从基础到精通
linux·服务器
DourPanda2 小时前
polarctf-web-[rce1]
linux·网络协议·网络安全
愚润求学2 小时前
【Linux】动静态库链接原理
linux·运维·服务器·开发语言·笔记
wingaso3 小时前
[经验总结]删除gitlab仓库分支报错:错误:无法推送一些引用到“http:”
linux·数据仓库·git
独行soc3 小时前
2025年渗透测试面试题总结-阿里云[实习]阿里云安全-安全工程师(题目+回答)
linux·经验分享·安全·阿里云·面试·职场和发展·云计算
勤不了一点4 小时前
小白上手RPM包制作
linux·运维·服务器·软件工程