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.mzph.cn/diannao/64678.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL语句练习

阅读《SQL必知必会》(第五版)然后结合往常表做的练习记录 这里使用的数据库时sqlite3,使用的工具时navicat 表资源链接https://wenku.baidu.com/view/349fb3639b6648d7c1c74652.html 表录入后如上图所示。后面如果有多张表之间的操作,在引入…

【Python】【数据分析】深入探索 Python 数据可视化:Seaborn 可视化库详解

目录 引言一、Seaborn 简介二、安装 Seaborn三、Seaborn 的基本图形3.1 散点图(Scatter Plot)3.2 线图(Line Plot)3.3 条形图(Bar Plot)3.4 箱型图(Box Plot)3.5 小提琴图&#xff0…

input输入框的placeholder颜色修改(Shadow DOM)

placeholder颜色修改 使用参考说明 https://zh.javascript.info/shadow-dom 查看shadow tree的方法

uniApp使用腾讯地图提示未添加maps模块

uniApp使用腾讯地图,打包提示未添加maps模块解决方案 这是报错信息,在标准基座运行的时候是没问题的,但是打包后会提示未添加,可以通过在mainfest里面把地图插件上腾讯地图的key更换高德地图的key,定位服务可以继续用腾…

linux------vim命令

一、基本模式切换 普通模式(Normal Mode) 当你打开Vim时,默认进入普通模式。在这个模式下,可以使用各种命令来移动光标、删除文本、复制粘贴等操作。例如,使用h、j、k、l来移动光标。h是向左移动一个字符,j…

数据可视化-2. 条形图

目录 1. 条形图适用场景分析 1.1 比较不同类别的数据 1.2 展示数据分布 1.3 强调特定数据点 1.4 展示时间序列数据的对比 1.5 数据可视化教育 1.6 特定领域的应用 2. 条形图局限性 3. 条形图图代码实现 3.1 Python 源代码 3.2 条形图效果(网页显示&#…

2023年下半年软考信息安全工程师案例分析及答案解析

试题一(16分) 回答问题1至问题6,将解答填入答题纸对应的解答栏内。 问题1(4分) 已知DES算法S盒如下,请补全S盒空缺的数据(1)、(2)、(3)、(4)。 【参考答案】3、13、15、0 问题2(2分) 已知S盒的输入为110011,请计算经过S盒变换之后的二进制输出。 【参考…

模型部署学习笔记——模型部署关键知识点总结

模型部署学习笔记——模型部署关键知识点总结 模型部署学习笔记——模型部署关键知识点总结1. CUDA中Grid和Block的定义是什么?Shared Memory的定义?Bank Conflict的定义?Stream和Event的定义?2. TensorRT的工作流程?3…

Spring Cloud Gateway 源码

Spring Cloud Gateway 架构图 按照以上架构图,请求的处理流程: 1.客户端请求发送到网关 DispatcherHandler 2.网关通过 HandlerMapping 找到相应的 WebHandler 3.WebHandler生成FilterChain过滤器链执行所有的过滤器 4.返回Response结果 自动装配类Gat…

基于Spring Boot的店铺租赁平台的设计与实现

一、项目背景 随着互联网技术的飞速发展,线上交易已成为商业活动的重要趋势。店铺租赁作为商业地产的核心环节,其传统模式面临着信息不对称、交易效率低下等问题。因此,开发一个高效、便捷的线上店铺租赁平台显得尤为重要。本项目利用Java S…

基于卷积神经网络(CNN)和ResNet50的水果与蔬菜图像分类系统

前言 在现代智能生活中,计算机视觉技术已经成为不可或缺的工具,特别是在食物识别领域。想象一下,您只需拍摄一张水果或蔬菜的照片,系统就能自动识别其种类并为您提供丰富的食谱建议。这项技术不仅在日常生活中极具实用性&#xf…

Tomcat部署war包项目解决404问题

问题出在了Tomcat的版本上了,应该先去看这个项目使用的springboot版本,然后去仓库里找到对应Tomcat版本。 Maven Repository: org.springframework.boot spring-boot-starter-tomcat 因此我们应该选择Tomcat9版本。 当我把Tomcat11换成Tomcat9时&…

Redis篇--常见问题篇1--缓存穿透(缓存空值,布隆过滤器,接口限流)

1、概述 缓存穿透是指客户端请求的数据既不在Redis缓存中,也不在数据库中。换句话说,缓存和数据库中都不存在该数据,但客户端仍然发起了查询请求。这种情况下,缓存无法命中,请求会直接穿透到数据库,而数据…

前端使用 Konva 实现可视化设计器(20)- 性能优化、UI 美化

这一章主要分享一下使用 Konva 遇到的性能优化问题,并且介绍一下 UI 美化的思路。 至少有 2 位小伙伴积极反馈,发现本示例有明显的性能问题,一是内存溢出问题,二是卡顿的问题,在这里感谢大家的提醒。 请大家动动小手&a…

BlueLM:以2.6万亿token铸就7B参数超大规模语言模型

一、介绍 BlueLM 是由 vivo AI 全球研究院自主研发的大规模预训练语言模型,本次发布包含 7B 基础 (base) 模型和 7B 对话 (chat) 模型,同时我们开源了支持 32K 的长文本基础 (base) 模型和对话 (chat) 模型。 更大量的优质数据 :高质量语料…

C语言基础16(文件IO)

文章目录 构造类型枚举类型typedef 文件操作(文件IO)概述文件的操作文件的打开与关闭打开文件关闭文件文件打开与关闭案例 文件的顺序读写单字符读取多字符读取单字符写入多字符写入 综合案例:文件拷贝判别文件结束 数据块的读写(二进制)数据块的读取数据块的写入 文…

冯诺依曼架构与哈佛架构的对比与应用

冯诺依曼架构(Von Neumann Architecture),也称为 冯诺依曼模型,是由著名数学家和计算机科学家约翰冯诺依曼(John von Neumann)在1945年提出的。冯诺依曼架构为现代计算机奠定了基础,几乎所有现代…

3D造型软件solvespace在windows下的编译

3D造型软件solvespace在windows下的编译 在逛开源社区的时候发现了几款开源CAD建模软件,一直囿于没有合适的建模软件,虽然了解了很多的模拟分析软件,却不能使之成为整体的解决方案,从而无法产生价值。opencascad之流虽然可行&…

机器学习04-为什么Relu函数

机器学习0-为什么Relu函数 文章目录 机器学习0-为什么Relu函数 [toc]1-手搓神经网络步骤总结2-为什么要用Relu函数3-进行L1正则化修改后的代码解释 4-进行L2正则化解释注意事项 5-Relu激活函数多有夸张1-细数Relu函数的5宗罪2-Relu函数5宗罪详述 6-那为什么要用这个Relu函数7-文…

QScreen在Qt5.15与Qt6.8版本下的区别

简述 QScreen主要用于提供与屏幕相关的信息。它可以获取有关显示设备的分辨率、尺寸、DPI(每英寸点数)等信息。本文主要是介绍Qt5.15与Qt6环境下,QScreen的差异,以及如何判断高DPI设备。 属性说明 logicalDotsPerInch&#xff1…