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

news2024/12/19 5:17:15

目录

一、 准备工作

二、安装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.coloradmin.cn/o/2261951.html

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

相关文章

[2015~2024]SmartMediaKit音视频直播技术演进之路

技术背景 2015年,因应急指挥项目需求,我们实现了RTMP推送音视频采集推送(采集摄像头和麦克风数据)模块,在我们做好了RTMP推送模块后,苦于没有一个满足我们毫秒级延迟诉求的RTMP播放器,于是第一…

Ubuntu24.04 安装 visual studio code

# 导入软件包密钥 wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg# 添加官方库 echo "deb [arch…

docker 搭建自动唤醒UpSnap工具

1、拉取阿里UpSnap镜像 docker pull crpi-k5k93ldwfc7o75ip.cn-hangzhou.personal.cr.aliyuncs.com/upsnap/upsnap:4 2、创建docker-compose.yml文件,进行配置: version: "3" services:upsnap:container_name: upsnapimage: crpi-k5k93ldwf…

已解决:elasticsearch创建索引失败

报错信息 具体报错: org.elasticsearch.ElasticsearchStatusException: Elasticsearch exception [typeillegal_argument_exception, reasonunknown setting [index.mappings.properties.category.analyzer] please check that any required plugins are installed…

PHPstudy中的数据库启动不了

法一 netstat -ano |findstr "3306" 查看占用该端口的进程号 taskkill /f /pid 6720 杀死进程 法二 sc delete mysql

计算机视觉中的特征提取算法

摘要: 本文聚焦于计算机视觉中的特征提取算法,深入探讨尺度不变特征变换(SIFT)算法。详细阐述 SIFT 算法的原理,包括尺度空间构建、关键点检测、方向分配与特征描述子生成等核心步骤。通过 C#、Python 和 C 三种编程语…

Linux USB开发整理和随笔

目录 1 概述 2 硬件原理基础 2.1 USB发展 2.2 USB的拓扑 2.3 硬件接口 2.4 USB总线协议 2.4.1 通信过程 2.4.2 概念关系 2.4.3 管道PIPE 2.4.4 传输 2.4.5 事务 2.4.6 包结构与类型 2.4.6.1 令牌包 2.4.6.2 数据包 2.4.6.3 握手包 2.5 描述符 2.5.1 设备描述符…

从0开始深入理解并发、线程与登台通知机制

1、从0开始深入理解并发、线程与等待通知机制 为什么开发中需要并发编程? 从阿里、美团的岗位JD其实就能看出来,并发编程和性能优化是密切相关的,使用并发编程可以做到: (1)加快响应用户的时间 比如我们经常用的迅雷下载,都喜欢…

简易记事本项目(基于Vue 3 + Element Plus + SSM 个人事件管理系统)

项目简介 点滴365是一个基于 Vue 3 Element Plus SSM 开发的个人事件管理系统,旨在帮助用户高效管理 个人日程 和 待办事项。系统支持日记撰写、待办事项管理、数据统计分析、图片上传、定时提醒、实时天气等功能,让用户可以更好地记录生活点滴、规划工作任务。 核心技术栈…

IIS服务器部署C# WebApi程序,客户端PUT,DELETE请求无法执行

这两天在自己Windows10电脑上搭建IIS服务器,把自己写的WebApi代码部署上做个本地服务器,结果客户端的PUT和DELETE请求无法执行,GET、POST这些都正常,研究后发现要删除IIS中的“模块”中的"webdavmodule"才能解决。

socket编程UDP-实现滑动窗口机制与累积确认GBN

在下面博客中,我介绍了利用UDP模拟TCP连接、按数据包发送文件的过程,并附上完整源码。 socket编程UDP-文件传输&模拟TCP建立连接脱离连接(进阶篇)_udp socket发送-CSDN博客 下面博客实现了停等机制。 socket编程UDP-实现停…

Android-Glide详解

目录 一,介绍 二,使用 三,源码分析思路 四,with源码分析 五,模拟Glide生命周期管理 一,介绍 Glide目前是安卓最主流的加载图片的框架,也是源码最为复杂的框架之一。 要想完完全全吃透Glide的源…

服务器Ubuntu22.04系统下 ollama的详细部署安装和搭配open_webui使用

服务器Ubuntu22.04系统下 ollama的详细部署安装和搭配open_webui使用 一、ubuntu和docker基本环境配置 1.更新包列表:2. 安装docker依赖3. 添加docker密钥4.添加阿里云docker软件源5.安装docker6.安装完成docker测试7. docker配置国内镜像源 二、安装英伟达显卡…

【视频生成模型】——Hunyuan-video 论文及代码讲解和实操

🔮混元文生视频官网 | 🌟Github代码仓库 | 🎬 Demo 体验 | 📝技术报告 | 😍Hugging Face 文章目录 论文详解基础介绍数据预处理 (Data Pre-processing)数据过滤 (Data Filtering)数据标注 (Data…

Node的学习以及学习通过Node书写接口并简单操作数据库

Node的学习 Node的基础上述是关于Node的一些基础,总结的还行; 利用Node书写接口并操作数据库 1. 初始化项目 创建新的项目文件夹,并初始化 package.json mkdir my-backend cd my-backend npm init -y2. 安装必要的依赖 安装Express.js&…

git diff 查看差异

一.查看工作区和暂存区之间文件的差异 git diff 命令,默认查看的就是 工作区 和 暂存区之间文件的差异 1.git diff : 查看工作区和暂存区之间所有的文件差异 2.git diff -- 文件名:查看具体某个文件 在工作区和暂存区之间的差异 3.git diff -- 文件名…

linux网络编程 | c | epoll实现IO多路转接服务器

epoll实现IO多路转接服务器 可通过以下视频学习 06-opell函数实现的多路IO转接_哔哩哔哩_bilibili 通过响应式–多路IO转接实现 文章目录 epoll实现IO多路转接服务器1.思路&功能核心思路 2.代码实现multi_epoll_sever.c运行图 1.思路&功能 **功能:**客…

Java全体系精华(上):从基础到框架,构建坚实开发技能

爱的故事.上集 1. Java 基础1.1 常用集合数据结构 Array List Map Set Tree1.1.1 常用集合在JDK中的结构1.1.2 List 底层是数组1.1.3 Map键值对结存储结构1.1.3.1 为什么HashMap的Key、Value都允许为 null1.1.3.2 为什么ConcurrentHashMap的Key、Value都不允许为null1.1.3.3 Ha…

基于Clinical BERT的医疗知识图谱自动化构建方法,双层对比框架

基于Clinical BERT的医疗知识图谱自动化构建方法,双层对比框架 论文大纲理解1. 确认目标2. 目标-手段分析3. 实现步骤4. 金手指分析 全流程核心模式核心模式提取压缩后的系统描述核心创新点 数据分析第一步:数据收集第二步:规律挖掘第三步&am…

ctfshow--web入门之爆破篇

知识点: 暴力破解原理 暴力破解实际就是疯狂的输入密码进行尝试登录,针对有的人喜欢用一些个人信息当做密码,有的人喜欢用一些很简单的低强度密码,我们就可以针对性的生成一个字典,用脚本或者工具挨个去尝试登录。 …