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
相关文章:
Intel-ECI之Codesys PLC + Ethercat 远端IO + Codesys IDE编程
目录 一、 准备工作 二、安装Codesys 软件 PLC 三、 使用Codesys IDE 编程测试 CODESYS* 是领先的独立于制造商的 IEC 61131-3 自动化软件,适用于工程控制系统。它用于 Intel Edge Controls for Industrial(Intel ECI 或 ECI),…...
互联网医院系统,互联网医院系统源码可供
互联网医院系统开发,其功能特点和优势在于实现了线上医疗服务与信息技术的深度融合。此系统旨在构建一个更为高效、便捷的医疗服务平台,提升患者的就医体验和医疗服务的效率。 一、功能特点 1、预约挂号与在线咨询 患者可通过系统进行预约挂号…...
Marin说PCB之POC电路layout设计仿真案例---06
我们书接上回啊,对于上面的出现原因我这个美女同事安娜说会不会你把POC电感下面的相邻两层的CUT_OUT的尺寸再去加大一些会不会变得更好呢?这个难道说是真的有用吗?小编我先自己算一卦看下结果。 本期文章我们就接着验证通过改善我们的单板POC…...
windwos defender实现白名单效果(除了指定应用或端口其它一律禁止)禁止服务器上网
一、应用场景说明 当我们的一台windows服务器中毒,变成别人肉鸡,不断向外请示非法网站或攻击其它服务器。 要彻底清除相关木马或病毒往往需要的时间比较长,比较有效的方法是禁止服务器主动向外发包除了网站端口和远程程序除外。 其实这就是一…...
Fiddler勾选https后google浏览器网页访问不可用
一、说明 最近电脑重新安装系统后,之前的所有工具都需要重新安装和配置,有个项目需要抓包https包查看一下请求的内容,通过Fiddler工具,但是开启后,发现https的无法抓取,同时google浏览器也不无法访问互联网…...
机器视觉检测相机基础知识 | 颜色 | 光源 | 镜头 | 分辨率 / 精度 / 公差
注:本文为 “keyence 视觉沙龙中机器视觉检测基础知识” 文章合辑。 机器视觉检测基础知识(一)颜色篇 视觉检测硬件构成的基本部分包括:处理器、相机、镜头、光源。 其中,和光源相关的最重要的两个参数就是光源颜色和…...
解决pytorch安装中的三个错误
查明已安装python版本为3.12.7后,创建虚拟环境。 报错内容:ArgumentError: one of the arguments -n/–name -p/–prefix is required 解决方式: 输入 conda create -n pytorch python3.8即可安装成功。 参考文章:https://blo…...
用Python开发高级游戏:实现3D迷宫游戏
Python虽然被认为是一门简单易学的语言,但它在游戏开发领域同样具有强大的潜力,尤其是结合诸如Pygame、Panda3D、PyOpenGL等框架,可以开发出复杂的游戏。 在本文中,我们将通过一个示例,介绍如何使用Python开发一个高级3D迷宫游戏。本文使用的框架是 Panda3D,一个专为3D游…...
基于 uniapp 开发 android 播放 webrtc 流
一、播放rtsp协议流 如果 webrtc 流以 rtsp 协议返回,流地址如:rtsp://127.0.0.1:5115/session.mpg,uniapp的 <video> 编译到android上直接就能播放,但通常会有2-3秒的延迟。 二、播放webrtc协议流 如果 webrtc 流以 webrt…...
Unity引擎学习总结------动画控件
左侧窗格可以在参数视图和图层视图之间切换。参数视图允许您创建、查看和编辑动画控制器参数。这些是您定义的变量,用作状态机的输入。要添加参数,请单击加号图标并从弹出菜单中选择参数类型。要删除参数,请在列表中选择该参数并按删除键&…...
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
Pytorch | 从零构建GoogleNet对CIFAR10进行分类 CIFAR10数据集GoogleNet网络结构特点网络整体架构应用与影响Inceptionv1到Inceptionv2 GoogleNet结构代码详解结构代码代码详解Inception 类初始化方法前向传播 forward GoogleNet 类初始化方法前向传播 forward 训练过程和测试结…...
基于SIFT的目标识别算法
基于SIFT(Scale-Invariant Feature Transform)的目标识别算法是一种经典的计算机视觉算法,用于在图像中寻找和匹配具有尺度不变性的特征点,从而实现目标的快速而准确的识别。 SIFT算法的主要步骤包括以下几个阶段: 尺…...
计算机组成原理的学习笔记(4)--数据的表示与运算·其三 补码的乘法以及原码补码的除法
学习笔记 前言 本文主要是对于b站尚硅谷的计算机组成原理的学习笔记,仅用于学习交流。 1.补码乘法 基本操作 与正常原码乘法差不多,逐位乘,随后相加,而与符号位有关的一项也叫校正项 Booth算法 从乘数的最低位开始,…...
压缩glb模型文件
使用?gltf-pipeline进行压缩: GitHub地址[这里是图片001]https://github.com/CesiumGS/gltf-pipeline 1. 安装gltf-pipeline npm install -g gltf-pipeline2. 在glb文件目录打开cmd进行命令行压缩: // cmd: gltf-pipeline -i glb.glb -d -s以下是 -…...
vertx idea快速使用
目录 1.官网下载项目 2.修改代码 2.1拷贝代码方式 为了能够快速使用,我另外创建一个新的maven项目,将下载项目的src文件和pom文件拷贝到新建的maven项目。 2.2删除.mvn方式 3.更新配置 4.配置application 5.idea启动项目 1.官网下载项目 从vert…...
如何创建属于自己的大语言模型:从零开始的指南
如何创建属于自己的大语言模型:从零开始的指南 为什么要创建自己的大语言模型? 随着人工智能的快速发展,大语言模型(LLM)在各种场景中表现出了卓越的能力,例如文本生成、对话交互和内容总结等。虽然市场上…...
debian linux 连网自动调整时间 (报错 Unit systemd-timesyncd.service could not be found.)
debian linux 连网自动调整时间 如果有报错 Unit systemd-timesyncd.service could not be found. 就用 apt 装一下 systemd-timesyncd 吧 参考: https://github.com/MichaIng/DietPi/issues/5472 sudo apt-get install systemd-timesyncd... ┌──(kali㉿kali)-[~] └─$ t…...
监控易在汽车制造行业信息化运维中的应用案例
引言 随着汽车制造行业的数字化转型不断深入,信息化类IT软硬件设备的运行状态监控、故障告警、报表报告以及网络运行状态监控等成为了企业运维管理的关键环节。监控易作为一款全面、高效的信息化运维管理工具,在汽车制造行业中发挥着重要作用。本文将结合…...
es使用knn向量检索中numCandidates和k应该如何配比更合适
在Elasticsearch(ES)中,KNN(k-最近邻)向量检索是一种高效的向量相似性搜索方法,广泛应用于推荐系统、图像搜索、自然语言处理等领域。在KNN检索中,k 和 numCandidates 是两个关键参数࿰…...
推挽输出和开漏输出
推挽输出:能真正的输出高低电平 开漏输出:无法正真的输出高电平(会分压),高电平时没有驱动能力,需要借助外部上拉电阻完成对外驱动...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...
