您现在的位置是:网站首页> PLC自动化
IPC(工控机)&CodeSYS与EtherCAT 的开放式实时架构
- PLC自动化
- 2026-08-02
- 2977人已阅读
IPC(工控机)&CodeSYS与EtherCAT 的开放式实时架构
***PLC的输入输出端口需要格外供电***
***继电器输出都只是通断,并不供电,需外部供电。晶体管(接直流)与晶闸管(接交流)有源输出带电***
晶体管输出带不动大功率设备时可使用-》中间继电器-》设备

借助AI咨询硬件相关问题如:PNP传感器信号线是输出正还是负
CODESYS是一种功能强大的PLC软件编程工具
CODESYS编程环境开发机写程序编译后下载到装有CODESYS RunTime的IPC(性能不是很高的PC),开发机和运行机分开
Runtime Version 分 Control RTE 和 Softmtion RTE,其中Softmtion RTE 功能最全
CODESYS更像PLC里的JAVA
用了一段时间Codesys的人,都知道一些关于它的优点和缺点。
它支持6种PLC的编程语言,用户可以在同一个项目中选择不同的语言去写程序,支持树莓派系统,也是一款不受制造商限制的自动化软件。
但是Codesys只能为具有Codesys Runtime的设备进行编程。
没有Codesys Runtime的设备,就不能用这个平台,比如三菱的PLC就没有办法安装Codesys Runtime。虽然像倍福、施耐德、汇川这种安装有Codesys Runtime的产品,你可以使用这个平台,但是你使用的仍然是厂商二次开发的软件。
说明并不是所有的PLC都支持Codesys这样的一个软件平台,因为有的PLC厂家没有和Codesys软件商合作。
个人觉得,西门子的博图软件用的要比Codesys软件用的舒服。况且像西门子、三菱这种工控行业的巨头产业,他会一直进步的。
Codesys可以通过你的PC来运行程序,通过总线来达到控制设备的目的,但是用总线就要有Codesys的授权,要拥有授权就要收费,费用还挺高。
没有授权的话,能免费用两个小时。
发展前景个人现在觉得一般,但是以后西门子、三菱不作改进的话,它也还是有一定优势的。
如果你有倍福PLC的客户群体,把倍福玩转了,这个平台也会的差不多了。
个人意见,不喜勿喷,谢谢。
CODESYS 程序完整运行全流程(分 3 种运行模式,结合 IPC / 硬件控制器讲透)
CODESYS 程序不能直接在 Windows 普通桌面环境跑,必须依赖 Runtime 运行时内核,整体分为:离线仿真运行、硬件控制器运行、IPC 软 PLC 运行。
一、模式 1:IDE 内置仿真运行(仅调试,不带真实硬件)
1. 使用场景
写完程序,还没有实物 PLC/IPC,先验证逻辑、SFC 流程、单轴 / 凸轮逻辑,纯电脑虚拟运行。
2. 操作步骤
CODESYS IDE 写完程序(ST/LD/SFC),编译无报错;
顶部菜单栏 → 启动仿真(Simulation);
软件自动加载虚拟 Runtime,生成虚拟 IO、虚拟 EtherCAT 总线、虚拟伺服轴;
在线监控变量,强制 IO、模拟传感器信号,测试设备动作逻辑。
3. 关键限制
无硬实时,周期抖动大;
无法驱动真实伺服、真实传感器;
关闭软件程序直接销毁,不保存。
二、模式 2:专用 CODESYS 硬件控制器运行(汇川 AC800、倍福 CX、万可 PFC、施耐德 LMC)
市面上预装 Runtime 的运动控制器,工业最常用方案
运行原理
控制器出厂固件内置 CODESYS Runtime,硬件自带实时调度芯片、EtherCAT 硬件接口。
完整步骤
1.PC 打开 CODESYS IDE,新建工程,导入对应设备 EDS 文件完成硬件组态;
2.编写控制逻辑、运动程序,编译;
3.网线连接电脑与控制器网口,设置同一网段,建立在线连接;
4.下载程序到控制器闪存(Flash);
5.切换控制器为在线运行模式;
6.设备本地 Runtime 独立循环执行程序,断开电脑网线也持续运行;
7.掉电重启后,控制器自动加载闪存内程序,自动运行。
特点
1.出厂硬实时,125μs~1ms 周期稳定;
2.独立硬件,不受电脑影响;
3.程序永久存储在控制器本地。
三、模式 3:IPC 工控机 + CODESYS Runtime(软 PLC,重点,你前面问的 IPC 搭配)
IPC 只是一台工业电脑,本身没有 PLC 功能,必须手动安装 Runtime 才能跑程序。
细分两种系统:Windows IPC / Linux IPC
1、Windows IPC 流程
1.IPC 安装 Windows 系统,安装 CODESYS RTE(实时运行环境),可选 INtime 实时内核降低抖动;
2.电脑 IDE 编写程序,组态 EtherCAT 伺服 / IO;
3.网线直连 IPC,下载程序到 IPC 本地;
4.IPC 上的 RTE 进程后台常驻,以硬实时周期执行控制程序;
5.IPC 断电重启,RTE 自动开机启动,自动加载上次下载的控制程序。
2、Linux IPC(Xenomai 实时补丁,高端多轴设备)
1.IPC 装 Ubuntu / 实时 Linux,部署 Linux 版 CODESYS Runtime;
2.无显示器也能无头运行(后台静默跑 PLC 程序);
3.性能优于 Windows,多轴同步、视觉联动首选。
IPC 软 PLC 核心特点
IPC 一机多用:一边跑 CODESYS 控制伺服,一边跑 Halcon 视觉、上位机数据采集、MES 通讯。
四、底层统一运行机制(所有模式通用原理)
1.编译:IDE 把 ST/LD 代码编译为 Runtime 可识别的中间二进制代码;
2.调度:Runtime 开启实时任务(周期任务,如 1ms),循环扫描用户程序;
3.IO / 总线交互
每周期开头:读取总线 IO、伺服编码器位置;
执行用户逻辑、运动算法(SoftMotion 凸轮 / 电子齿轮);
周期末尾:输出控制指令给伺服、电磁阀、执行机构;
4.内存分区
过程映像区:缓存 IO 信号;
保持区:断电保存配方、计数、故障记录;
程序区:固化在控制器 / IPC 本地存储。
五、关键区分:IDE 和 Runtime 分工(很多人混淆)
1.CODESYS IDE(电脑软件):只负责编写、下载、监控程序,不负责运行;
2.CODESYS Runtime(运行内核):唯一真正执行 PLC 逻辑的程序,部署在控制器 / IPC 上;
简单比喻:
IDE = 手机微信编辑器;Runtime = 手机系统,程序必须装到 “手机(Runtime 载体)” 才能运行。
六、常见实操问题补充
1.下载程序后拔掉电脑,设备还能跑吗?
仿真模式:不能;硬件控制器 / IPC 软 PLC:完全可以,Runtime 本地独立运行。
2.程序掉电丢失怎么办?
下载时勾选「持久化存储」,程序写入 Flash / 硬盘,重启自动加载。
3.IPC 不装 RTE 能跑 CODESYS 程序吗?
不能,普通 Windows 桌面没有实时调度内核,缺少 Runtime 无法解析 PLC 程序。
工控机跑 CODESYS 软 PLC(IPC 模拟 PLC)硬性 + 软性完整条件
分四大块:硬件配置、系统环境、CODESYS 运行环境、网络总线配套要求,同时区分普通小型 IO 控制 / 多轴 EtherCAT 运动设备两套标准。
一、硬件硬性条件
1. CPU(核心决定实时性)
1)小型单机(≤8 轴、仅 IO 逻辑)
最低:4 核 Intel Celeron / J4125 / ARM 4 核
主频≥2.0GHz,关闭节能降频
2)多轴设备(EtherCAT 16 轴以上、龙门、飞剪、视觉联动)
推荐:Intel i5/i7 6 代及以上、酷睿低功耗 U 系列
必须关闭 CPU 节能(C-State、SpeedStep、睿频波动),防止周期抖动
3)ARM 工控盒低成本方案
四核 A53/A55,主频 1.5G 以上,支持 Linux Xenomai 实时补丁
2. 内存
最低 2GB;多轴 + 视觉 + HMI 同时运行推荐 4GB~8GB
禁止使用虚拟内存(页面文件全部关闭),磁盘交换会破坏硬实时
3. 存储
必须 SSD 固态硬盘,绝对不能用机械硬盘 HDD
HDD 读写延迟极高,会导致总线丢轴、运动抖动;128G SSD 足够
优先工业宽温 SSD,7×24 小时稳定运行
4. 网口(重中之重,分开两张网卡)
强制双网口设计,两张独立网卡,不能共享:
1.网口 A:管理网口(下载程序、上位 HMI、MES、OPC UA),普通千兆网卡
2.网口 B:EtherCAT 实时总线专用网卡(连接伺服、远程 IO)
Intel I210/I211 工业网卡最优,自带硬时间戳,EtherCAT 抖动最低
瑞昱 Realtek 网卡不推荐,实时性差,多轴容易报错
禁止单网卡同时跑 EtherCAT + 下载通讯,网络抢占会破坏实时周期
5. 整机工业特性(车间长期运行必备)
1.宽温:-20~60℃无风扇最佳,避免机房高温死机
2.抗干扰:金属机箱、隔离电源,避免变频器、伺服强电磁干扰
3.看门狗硬件:死机自动重启,无人产线刚需
4.供电:DC24V 工业电源输入,适配控制柜供电
二、操作系统条件(Windows / Linux 两条路线)
方案 A:Windows 工控机(最常用,上手简单)
1.系统版本
Win10 IoT Enterprise / Win11 IoT(专业版家庭版不推荐,后台更新干扰实时)
2.必须配套实时扩展二选一:
CODESYS 官方 RTE(自带轻量实时,适合≤16 轴)
INtime 实时内核(高性能,32 轴以上、高精度凸轮飞剪必备)
3.系统优化强制设置:
1)关闭 Windows 自动更新、后台扫描、杀毒实时防护
2)关闭 CPU 节能、休眠、屏幕自动关闭
3)关闭页面虚拟内存
4)防火墙放行 CODESYS 端口(1208、1210、4840 等)
5)EtherCAT 网卡关闭节能、巨型帧关闭
方案 B:Linux 实时系统(高端多轴首选,抖动最低)
1.系统:Ubuntu 20.04/22.04
2.必须打 Xenomai 3 实时补丁,构建硬实时内核
3.禁用桌面图形界面,无头后台运行(不启动显示器,减少资源占用)
4.单独给 EtherCAT 网卡绑定实时驱动
三、CODESYS 运行环境必备组件
1.对应系统 Runtime
Windows:CODESYS RTE(Runtime Environment),与 IDE 版本号严格匹配(IDE V3.5 SP22,RTE 必须同版本)
Linux:CODESYS Linux Runtime 安装包
2.EtherCAT 专用网卡驱动
Windows 下安装 CODESYS 实时网卡驱动,普通网卡驱动无法作为 EtherCAT 主站
3.授权(关键)
仿真无授权限制
工控机实际带伺服 / IO 运行:需要购买 CODESYS Runtime 授权
按轴数分级:8 轴、16 轴、32 轴、无限轴授权;无授权只能仿真,无法驱动真实硬件
4.功能库授权(按需)
SoftMotion 运动库、OPC UA、MQTT、安全逻辑 Safe 等高级功能需要单独授权
四、网络与总线配套条件
1.EtherCAT 总线侧
独立工业千兆网卡,使用屏蔽网线,两端接地
总线周期:125μs/250μs/500μs/1ms,CPU 性能必须支撑设定周期不超限
2.普通通讯(Modbus TCP/MQTT/ 上位监控)
另一张网卡单独走普通以太网,不占用实时任务周期
五、软件运行逻辑硬性约束(不满足就会失控)
1.实时任务优先级最高
Runtime 进程优先级高于所有系统进程、视觉软件、上位程序
2.资源隔离
多轴场景建议 CPU 核心隔离:指定 1~2 个 CPU 核心专门跑 Runtime,其他核心跑视觉、HMI,避免抢占
3.磁盘读写禁止在实时周期内执行
配方存储、日志保存放到非实时后台任务,否则运动抖动
六、极简选型区分
1. 小型设备(8 轴以内,仅普通 IO、气缸)
最低配置:4 核 J4125 + 4G 内存 + 128G SSD + 双千兆网口 + Win10 IoT + CODESYS RTE 基础授权
2. 高端多轴设备(16 轴以上、龙门、飞剪、视觉抓取)
推荐:i5-10400U 无风扇工控机 + 8G 内存 + 256G 工业 SSD + Intel I210 独立总线网卡 + INtime/Xenomai 实时系统 + 多轴 Runtime 授权
七、常见踩坑点(不满足则无法正常模拟 PLC)
1.只用单网卡:EtherCAT 总线抖动巨大,频繁丢从站
2.机械硬盘:实时周期超限,伺服报警
3.未装实时扩展:普通 Windows 无硬实时,不能用于运动控制,仅能做简易 IO
4.Runtime 版本和 IDE 不一致:无法下载程序、连接断开
5.无官方 Runtime 授权:能连接但无法输出伺服脉冲 / IO 信号,仅仿真模式
6.开启 CPU 节能:凸轮同步抖动,定位精度变差
CODESYS 软 PLC(IPC 工控机)IO + 电机完整控制实现流程
核心逻辑:IPC+CODESYS Runtime 作为 EtherCAT 主站,IO 模块、伺服电机全部是 EtherCAT 从站,通过一根屏蔽网线串联;程序在 IPC 实时内核周期循环执行,每毫秒读写总线数据,完成 IO 开关、电机点位 / 同步运动。
一、硬件整体拓扑(标准方案)
IPC(双网口工控机)
1.网口 1:管理网 → 电脑 CODESYS IDE 下载、触摸屏、MES 上位
2.网口 2:独立 EtherCAT 工业网卡(Intel I210 最优)→ 屏蔽网线串联所有从站
从站链顺序示例:EtherCAT 远程 IO 模块 → 伺服驱动器 1 → 伺服驱动器 2 → 终端电阻
数字 IO 模块:采集光电、接近开关、急停;输出电磁阀、指示灯、继电器
伺服驱动器:支持 CiA402 标准 EtherCAT 伺服(汇川、禾川、倍福、松下 EtherCAT 款)
二、第一步:软件总线主站配置(必须先做)
1.新建 CODESYS 标准工程,设备树右键添加:EtherCAT Master (SoftMotion)
2.双击 EtherCAT 主站,【通用】标签绑定专用 EtherCAT 网卡(按 MAC / 网卡名选择,区分管理网卡)
3.设置总线循环周期:
普通 IO 单机:1ms
多轴同步 / 龙门 / 飞剪:125μs~500μs
4.扫描总线从站:网线接好硬件后,右键主站【扫描设备】,自动导入伺服 / IO 的 EDS 描述文件,设备树生成对应 IO 轴对象。
三、第二部分:数字 IO 控制实现(输入采集 + 输出驱动)
1. 自动生成 IO 变量(无需手动映射寄存器)
扫描完 EtherCAT IO 模块后,设备树下自动生成结构体变量:
输入:EK1100_1.DigitalInputs.Ch01 通道 1 光电信号
输出:EK1100_1.DigitalOutputs.Ch01 电磁阀输出
2. 两种编程方式控制 IO
方式 1:ST 结构化文本(主流)
st
// 输入采集:读取急停、光电
VAR
bEmergencyStop : BOOL := EK1100_1.DigitalInputs.Ch00; // 急停常闭
bPhotoSensor : BOOL := EK1100_1.DigitalInputs.Ch01; // 来料光电
bValveOut : BOOL; // 电磁阀输出中间变量
END_VAR
// 逻辑:光电有料且无急停,打开电磁阀
IF NOT bEmergencyStop AND bPhotoSensor THEN
bValveOut := TRUE;
ELSE
bValveOut := FALSE;
END_IF
// 赋值到总线输出通道
EK1100_1.DigitalOutputs.Ch00 := bValveOut;
方式 2:LD 梯形图
直接拖拽常开 / 常闭触点、线圈,绑定总线 IO 通道,适合电工逻辑。
3. IO 底层运行机制
1.每个 EtherCAT 总线周期开头:Runtime 读取所有从站输入信号,存入内存过程映像区
2.执行用户逻辑(判断、联锁、启停)
3.周期末尾:把计算好的输出值下发到 IO 模块,驱动电磁阀、指示灯
4.实时性:微秒级刷新,无普通串口 Modbus 延迟
四、第三部分:伺服电机运动控制(SoftMotion 标准库)
所有 EtherCAT 伺服遵循 CiA402 协议,CODESYS 内置统一运动功能块,不同品牌伺服代码完全通用。
1. 轴对象自动生成
扫描伺服驱动器后,设备树出现Axis1、Axis2轴结构体,内置:
状态字:Axis1.StatusWord(伺服就绪、故障、使能状态)
控制字:Axis1.ControlWord(软件使能、故障复位)
实际位置 / 速度:Axis1.ActualPosition
目标位置:Axis1.TargetPosition
2. 基础单轴运动流程(标准四步)
1.MC_Power:伺服上电使能(安全前提)
2.MC_Reset:伺服故障复位
3.MC_Home:机械回零
4.MC_MoveAbsolute / MC_MoveRelative:绝对 / 相对点位运动
完整 ST 示例代码
st
VAR
// 运动功能块
AxisPower : MC_Power;
AxisReset : MC_Reset;
AxisHome : MC_Home;
AxisMoveAbs: MC_MoveAbsolute;
bStartRun : BOOL; // 启动按钮(IO输入)
END_VAR
// 1. 伺服使能
AxisPower.Axis := Axis1;
AxisPower.Enable := TRUE;
AxisPower.QuickStop := TRUE;
// 2. 故障自动复位
AxisReset.Axis := Axis1;
AxisReset.Execute := Axis1.StatusWord.Bit3; // 故障位触发复位
// 3. 回零触发
AxisHome.Axis := Axis1;
AxisHome.Execute := NOT AxisHome.Done AND AxisPower.Status;
AxisHome.Position := 0;
// 4. 点位运动:启动后走到10000脉冲位置
AxisMoveAbs.Axis := Axis1;
AxisMoveAbs.Execute := bStartRun AND AxisHome.Done;
AxisMoveAbs.Position := 10000;
AxisMoveAbs.Velocity := 1000;
AxisMoveAbs.Acceleration := 5000;
AxisMoveAbs.Jerk := 10000;
3. 多轴同步高级控制(设备常用)
全部内置 SoftMotion 标准功能块,无需复杂运算:
1.电子齿轮 MC_GearIn:输送带跟随主轴
2.电子凸轮 MC_CamIn:飞剪、裁切、随动抓取
3.MC_CamTableSelect:加载自定义凸轮曲线
4.MC_CoupledAxis:龙门双驱同步,消除横梁偏差
4. 电机底层通讯原理
1.总线周期内,主站 IPC 下发控制字 + 目标位置 / 速度给伺服驱动器
2.伺服闭环运行,编码器实时反馈实际位置上传 IPC
3.Runtime 对比目标与实际位置,下周期自动调整速度,实现高精度定位
4.实时周期 125μs 时,定位误差可控制在 0.01 脉冲内
五、关键:软 PLC 实时调度核心(IPC 区别普通电脑)
1.Windows IPC 安装 CODESYS RTE / INtime;Linux 安装 Xenomai 实时补丁
2.Runtime 进程抢占最高系统优先级,CPU 单独核心隔离,杀毒、桌面、更新全部关闭
3.总线任务为硬实时周期任务,优先于 HMI、视觉、数据库等非实时程序
4.周期内只处理总线 IO 与运动逻辑;日志、配方存储放到后台非实时任务,避免抖动
六、拓展方案:无 EtherCAT 总线时的 IO 控制
如果现场只有普通 Modbus RTU/TP IO 模块:
1.在设备树添加 Modbus TCP Master 主站
2.扫描 Modbus IO 从站,映射寄存器到 PLC 变量
3.优缺点:成本低,但周期延迟高,不能用于伺服高精度运动,仅适合简易开关量控制
七、常见避坑要点
1.EtherCAT 网卡必须独立,不能和下载网口共用,否则运动抖动、丢轴
2.机械硬盘禁止使用,磁盘 IO 会击穿实时周期,伺服频繁报警
3.Runtime 授权必须购买对应轴数,无授权只能仿真,无法驱动真实电机 / IO
4.伺服 EDS 文件匹配驱动器型号,否则轴状态无法读取、不能使能
5急停、安全回路建议硬件硬接线串联,不依赖软 PLC 程序逻辑,满足安全规范
EtherCAT 从站完整讲解(CODESYS 软 PLC 场景)
一、什么是 EtherCAT 从站
EtherCAT 是一主多从实时总线架构:
主站:你的工控机 IPC(CODESYS Runtime),唯一发指令、跑逻辑的设备;
从站:挂在 EtherCAT 总线上、接收主站指令、执行硬件动作、上传采集信号的所有外设。
总线数据流:主站发送一帧数据包,串行流过所有从站,每个从站只读取属于自己的数据,插入自身反馈数据,数据包回流主站,延迟微秒级。
所有从站无独立控制逻辑,完全受主站调度。
二、EtherCAT 从站完整分类(自动化最常用)
1. 伺服驱动器(最核心运动类从站,CiA402 标准)
作用:驱动伺服电机、步进电机,执行点位 / 同步运动
主流品牌:汇川、禾川、倍福、伦茨、施耐德、松下 EtherCAT 款、博世力士乐
功能:
接收主站目标位置、速度、使能指令
本地三环闭环控制电机
上传编码器位置、报警、限位、电流状态
配套:伺服电机、刹车、原点 / 正负限位开关
2. 远程 IO 模块(开关量采集输出)
数字量 IO:采集光电、接近、急停、按钮;输出电磁阀、指示灯、继电器
倍福 EK 系列(EK1100 耦合器 + EL 数字 IO 端子模块)
国产:汇川 EtherCAT IO、微秒、英威腾远程 IO
模拟量 IO 模块(EL3xxx/EL4xxx):
AI 模拟输入:0-10V/4-20mA 压力、温度、液位传感器
AO 模拟输出:比例阀、变频给定电压信号
3. 一体式步进 / 伺服一体机
小型设备专用,驱动 + 电机一体,直接 EtherCAT 总线,节省控制柜空间。
4. 总线阀岛(气动电磁阀从站)
费斯托、SMC、亚德客 EtherCAT 阀岛
内置多路电磁阀,主站下发位信号直接控制气缸伸缩,流水线大量使用。
5. 编码器采集模块
EL5000 系列,外接外部光栅尺、旋转编码器,独立位置采集,用于龙门、机床双位置反馈。
6. 温控模块(加热 / 温度控制从站)
EL2872 等,接热电偶、PT100,主站下发温度设定值,模块本地 PID 控温。
7. 机器视觉相机(EtherCAT 视觉从站)
工业 EtherCAT 相机,总线同步触发拍照,直接将坐标、识别结果上传主站,视觉 + 运动硬同步。
8. 机器人关节驱动器
多关节协作机器人每个轴驱动器作为独立 EtherCAT 从站,由 IPC 主站做轨迹规划。
9. 变频器(EtherCAT 款)
风机、输送皮带变频调速,主站下发转速、启停指令。
三、补充关键知识点
1.从站必须带 ESC 芯片
每台 EtherCAT 从站硬件内部都有专用 ESC 从站控制器芯片,负责解析总线报文;普通 Modbus 设备不能直接当 EtherCAT 从站。
2.一条总线可串联几十台从站
网线手拉手串联:IPC 总线网卡 → 伺服 1 → IO 模块 → 阀岛 → 伺服 2,最后终端加终端电阻。
3.所有从站统一在 CODESYS 配置
导入厂商 EDS 描述文件,扫描总线后自动识别,变量自动映射,ST 程序直接读写。
4.区分:EtherCAT 从站≠PLC
从站只有硬件驱动能力,没有程序运算;所有逻辑、运动规划全部由 IPC 主站 CODESYS 程序完成。
四、最简设备总线举例
IPC (EtherCAT 主站) → 汇川伺服驱动器 (从站 1) → 倍福 EL1004 输入模块 (从站 2) → EL2008 输出模块 (从站 3) → 费斯托阀岛 (从站 4)
主站循环下发指令:控制电机走动、气缸开关,同时读取光电、急停信号。
下一篇:AI学习PLC编程