当前位置: 首页 > article >正文

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


http://www.kler.cn/a/447155.html

相关文章:

  • 时间管理系统|Java|SSM|JSP|
  • 【自动化】Python SeleniumUtil 工具 开启开发者模式 自动安装油猴用户脚本等
  • ExcelVBA编程输出ColorIndex与对应颜色色谱
  • MobaXterm 连接不上VMware 的Ubuntu 虚拟机
  • @PostConstruct注解解释!!!!
  • 使用Python实现量子通信模拟:探索安全通信的未来
  • Spring Cloud Sleuth 分布式链路追踪
  • 基于单片机的太阳能数据采集系统(论文+源码)
  • 深入探讨C++标准输入输出流:iostream
  • IDEA中使用Git
  • JWT令牌与微服务
  • 微服务核心概念介绍
  • 《网络对抗技术》Exp9 Web安全基础
  • 全面解析 Golang Gin 框架
  • 【自动化】Python SeleniumUtil 工具 开启开发者模式 自动安装油猴用户脚本等
  • VSCode:Markdown插件安装使用 -- 最简洁的VSCode中Markdown插件安装使用
  • PCB生产设备日志采集
  • 学习Cookie 基础
  • 24届FPGA秋招经验分享
  • 【批量生成WORD和PDF文件】根据表格内容和模板文件批量创建word文件,一次性生成多个word文档和批量创建PDF文件
  • Mybatis中使用MySql触发器报错:You have an error in your SQL syntax; ‘DELIMITER $$
  • 【DevOps工具篇】PM(Project Management)之Redmine
  • linux zip unzip 命令的使用
  • LeetCode 844. 比较含退格的字符串 (C++实现)
  • 在 Spark 上实现 Graph Embedding
  • Java编程基础与高级应用:从入门到实践