ZeroOne AI
← 返回文章列表

PLCOpen 运行环境测试与搭建(Beremiz 开源软 PLC)

👁 29
分类:工业互联网

在 Ubuntu 18.04 实时内核上搭建 PLCOpen(Beremiz)开源软 PLC 运行环境:依赖安装、MatIEC/CanFestival/modbus/BACnet/EtherCAT 源码编译,以及 IDE 与 Runtime 的启动调试全流程。

PLCOpen 运行环境测试与搭建(Beremiz 开源软 PLC)

一、项目背景

PLCOpen 是 PLC 编程领域的国际标准化组织,定义了 IEC 61131-3 编程语言标准。Beremiz 是一款遵循该标准的开源软 PLC(Soft PLC)IDE + Runtime 解决方案:IDE 负责编写/编译梯形图、ST、FBD 等 IEC 61131-3 语言,Runtime 负责在 Linux 等平台上实时执行编译后的代码,并支持 Modbus、CANopen、BACnet、EtherCAT 等多种现场总线。

本篇文章在 Ubuntu 18.04 实时内核上完整搭建 Beremiz 运行环境,为后续 PLC 应用开发与总线调试提供平台基础。

二、技术方案:环境与组件

实时内核配合软 PLC Runtime,可在通用 x86 平台上实现确定性控制周期,替代部分传统硬 PLC 场景。

三、系统架构:安装依赖

# 基础编译工具
sudo apt-get install build-essential bison flex autoconf
sudo apt-get install python-wxgtk3.0 pyro mercurial
sudo apt-get install python-nevow python-matplotlib python-lxml python-zeroconf python-cycler
sudo apt-get install python-autobahn python-u-msgpack
sudo apt-get install libpython2.7-dev

# Python 2 环境(Beremiz 依赖)
sudo apt install python-pip
pip2 install --user sslpsk posix_spawn
sudo apt install subversion
pip install future

四、实施过程:源码下载与编译

4.1 下载源码

git clone https://bitbucket.org/automforge/beremiz.git
git clone https://bitbucket.org/automforge/matiec_git.git
git clone https://bitbucket.org/mjsousa/modbus_git.git
svn checkout https://svn.code.sf.net/p/bacnet/code/trunk /bacnet-stack/ BACnet

4.2 编译各总线模块

# (1) 编译 MatIEC(IEC61131-3 编译器)
autoreconf -i
./configure
make

# (2) 编译 CanFestival(CANopen 协议栈,虚拟模式)
./configure --can=virtual
make

# (3) 编译 modbus
make

# (4) 编译 BACnet
make MAKE_DEFINE='-fPIC' MY_BACNET_DEFINES='-DPRINT_ENABLED=1 -DBACAPP_ALL      -DBACFILE -DINTRINSIC_REPORTING -DBACNET_TIME_MASTER      -DBACNET_PROPERTY_LISTS=1 -DBACNET_PROTOCOL_REVISION=16' library

# (5) 编译 EtherCAT 主站
tar -xvf ethercat-1.5.2.tar.bz2
./configure --help        # 查询需要的模块
./configure --enable-8139too=no

4.3 启动 IDE 与 Runtime

# 创建工作目录
mkdir plcwork

# 开启 IDE
python Beremiz.py

# 开启 Runtime(监听 61194 端口,绑定本地)
cd ~/plcopen/beremiz/
python Beremiz_service.py -p 61194 -i localhost -x 0 -a 1 ~/plcopen/plcwork/

五、应用价值

六、SEO关键词

PLCOpen、Beremiz、开源PLC、软PLC、MatIEC、IEC61131-3、Ubuntu18.04、CanFestival、EtherCAT主站、PLC编程环境

推荐阅读

更多工业 AI、智能制造与技术实践文章

机器人自动化

TRIO-Basic 从入门到精通(五):直线与圆弧插补指令的使用

本文讲解 TRIO-Basic 三大运动指令:MOVE 相对移动、MOVEABS 绝对移动与 MOVECIRC 平面圆弧插补,给出各自的语法格式、完整可运行的代码示例(含轴参数段与矩形圆角轮廓插补示例),并说明增益参数的使用前提,帮助开发者快速上手多轴轨迹编程。

机器人自动化

TRIO-Basic 从入门到精通(二十):Trio通过空间圆弧三点计算圆弧中心和半径

本文用TRIO-Basic手写实现空间圆弧三点求圆心与半径算法:由三点确定圆弧平面法向量,求两条中垂线交点得到圆心并输出半径,与Trio原装SPHERE_CENTRE指令计算结果对比一致,适用于空间圆弧插补与轨迹规划。

C#调用Intel NPU实现YOLOv26极速推理:OpenVINO工业视觉加速实践

通过C# + OpenVINO Runtime调用Intel Core Ultra NPU运行YOLOv26模型,实现低功耗、毫秒级的工业边缘AI视觉推理,涵盖模型导出、环境配置、推理代码与FP16/INT8/异步推理等性能优化实践。

C#工业视觉平台结合YOLOv26与OpenVINO

从数据标注、自动训练到Intel NPU边缘推理的完整工业AI方案:C#工业软件平台 + YOLOv26训练框架 + OpenVINO模型转换 + Intel NPU边缘推理,实现图像采集、自动标注、模型训练到现场推理的完整AI视觉闭环。

工业互联网

MY-BASIC 应用(一):轻量级嵌入式 BASIC 解析器介绍

MY-BASIC 是一个用标准 C 语言编写的轻量级 BASIC 解释器:不足 128KB 内存占用、可嵌入可扩展、支持原型编程与 Lambda 函数式编程、Unicode、列表/字典集合,适合嵌入式设备脚本化控制。

工业互联网

Linux系统篇(七)——工具篇(二):一篇搞懂 C 语言程序从代码到可执行文件的完整旅程

拆解 C 程序预处理、编译、汇编、链接四步变身流程,讲透条件编译与静态、动态链接差异,附分步实操与报错排查。

评论(0)