树莓派打造成小型PLC工控机(CodeSys+OpenPLC) - 知乎

导言

出于学习PLC编程或者实现一个控制系统的目的,并不仅仅满足于单纯的PLC模拟器仿真调试,有时候我们需要一台基于硬件平台的PLC工控机进行快速的项目开发。本文中笔者将会介绍如何把树莓派打造成小型的PLC。我们将分别尝试安装两种不同的软PLC运行时,一个是CoDeSys,另一个是OpenPLC。两者都支持基于IEC61131-3标准IL 、ST、 FBD 、LD、 CFC、 SFC 六种PLC编程语言进行开发。(_树莓派因为缺乏认证测试不能完全替代专业的PLC控制器用于商业用途的应用开发,建议仅用于学习和评估测试_)

PLC的介绍

PLC的全称是可编程逻辑控制器(Programmable Logic Controller),是一种具有微处理机的数字电子设备,用于自动化控制的数字逻辑控制器,在工业控制领域得到广泛的运用。在这里以西门子的PCS7流程控制系统为例,一套PLC系统包括一个PLC控制器S7-400,通过Profinet总线连接分布式普通输入输出系统SIMATIC ET 200SP,和安全输入输出系统SIMATIC ET 200M和一个触摸屏实现人机控制。

PLC控制器S7-400

SIMATIC ET 200SP

SIMATIC ET 200M

SIMATIC HMI Comfort 触摸屏

只是出于PLC编程学习和简单应用的目的话,我们其实可以省去这些价格不菲的设备和开发软件的许可证费用,转向一些开源的软PLC平台。软PLC是一种软件技术,旨在把嵌入式计算机变成一个功能齐全的可编程逻辑控制器。我们在一个嵌入式平台上安装好PLC运行时(Runtime)后便可以实现软PLC。下面将介绍我们要安装的软PLC平台。

关于PLC的任务调度介绍可以参考

任务管理这件事(下)(对比PLC,安卓)71 赞同 · 19 评论文章

CodeSys平台

CODESYS 软件工具包是一款基于先进的.NET 架构和 IEC 61131- 3 国际编程标准的、 面向工业 4.0及物联网应用的软件开发平台。在CODESYS 软件平台下可以实现:逻辑控制( PLC)、运动控制 ( Motion Control) 及 CNC 控制、人机界面( HMI)、基于 Web Service 的网络可视化编程和远程 监控、冗余控制(Redundancy)和安全控制( Safety)。软件平台的架构图如下

CodeSys平台的架构图

CodeSys的开发软件本体是免费的,只是一些额外的附加包需要收费(暂时我们也不需要)。

[

CoDeSys基础知识 基于IEC 61131-3国际标准

京东

¥91.80

去购买​

](https://union-click.jd.com/jdc?e=jdext-1483884691094331392-0-1&p=JF8BAR4JK1olXgACUVpeDk8RBl8IGloXXwMFVF5ZDU0eC19MRANLAjZbERscSkAJHTdNTwcKBlMdBgABFksWAm0KHlwVXQIHUldVFxJSXzI4WFNgNk55Egw-dgNtQAhBew9rVQVqElJROEseA20AGloVWgUyVF9cCE8SAGwOGmslXQMyFTBdCEoTAGsLG2sUbQYFUVlZD08QBWcPH1wlXQ4GZIjznJ6fvLa4vo2_89OP5IvUo5-phV84K1glBlNWHRtBCE4eAWYBHlwdXQcKUVxfCEkfAHMJB1slXgcCVFheC0wfBQENG1oUXw4DXFpfZkkWAm0MEloVXQIyVG5eOBV5AjwOGVsXXAdsCV8KDxVeWS9mHV4WXwEFV15tCkoWAW04)

在树莓派上安装好CodeSys运行时后,如果没有购买许可证的话可以有两小时的运行时间不受功能限制,运行时间到了之后每次重启树莓派可以继续有两小时的运行时间。

其中树莓派CodeSys单核许可证的话价格在650元

树莓派CodeSys单核许可证

树莓派CodeSys多核许可证的价格在1000元

树莓派CodeSys多核许可证

单核许可证和多核许可证的区别在于软PLC对于树莓派的核心的利用情况不同,并且单核许可证只能用于学习研究目的无法使用到商业项目中,而多核许可证允许利用于商业项目。一般来说,我们无需额外购买许可证便可食用,每次两小时的运行时间到了之后用sudo reboot命令重启树莓派即可。当然如果要用于生产力环境需要持续运行下去,可以根据具体的需求考虑购买相应的许可证。

OpenPLC平台

OpenPLC是一个完全免费,开源的软PLC平台,项目托管在Github上

OpenPLC_v3: OpenPLC Runtime version 3​github.com/thiagoralves/OpenPLC_v3

一个简单的介绍视频如下

02:00

OpenPLC的介绍

安装CodeSys运行时

我们首先需要有一个树莓派,树莓派3,树莓派4,树莓派Zero 2代都可以并开启了SSH服务。

[

树莓派4B Raspberry Pi 4代B型

京东

¥799.00

去购买​

](https://union-click.jd.com/jdc?e=jdext-1483891509203828736-0-1&p=JF8BARsJK1olVQUKU1tcAE4eM28JGl4UWwQAVl5ZAEIQMytXQwVKbV9HER8fA1UJWypcR0ROCBlQCgJDCEoWBm4OGVkXXQIKXVlCUQ5LXl92WSQPAHRGITw5djhEAjdVcwJmKF9yWFJtCEIXAWcJGlsSXjYCVV9dDE4UAGkJK2sVWDZDOllUCUsQA18JK1sSWAEGU1hfCU8XC284G1MRbdCswIvVt5KnprmitY6Y7dOL_4rjjnsnM2w4QA5BFEMeVFtUCkIfA2sJE1gUXw8BXVhfD1cWH284GFoVXQABV1lVDiUSA24JGVMUVQIAOlxcCUkTCm4IG18lXTYBZAAzCRgRAW8NHFh7AAdVUgEeT015BWoKH1gTWg4yVl9cCkkn)

在CodeSys官网注册一个账号并下载和安装CodeSys开发平台。在菜单的工具列表中选择Update Rasberry Pi

在弹出的对话框中,填写树莓派的SSH连接的用户名和密码以及IP地址,然后点击Install安装便会自动安装CodeSys运行时。安装过程中会询问许可证的类型,在这里我们选择标准单核即可。(可以有两小时的无限制运行时间)

安装完成之后,我们在codesys新建一个项目

在设备中选择CodeSys Control for Raspberry Pi SL

在项目工程的GPIOs_A_B中可以对树莓派的输入输出口进行映射。

树莓派的接口图如下

同时在CodeSys的通信设置中我们可以发现树莓派。如下图所示,选择登入图标便可下载程序。

选择运行图标便会运行PLC程序,并实时显示当前的运行状态。

安装OpenPLC运行时

在树莓派的终端输入

git clone https://github.com/thiagoralves/OpenPLC_v3.git
cd OpenPLC_v3
./install.sh rpi

在漫长的编译安装过程结束后便可以sudo reboot重启树莓派。

重启之后再浏览器输入树莓派的 IP地址:8080 进入OpenPLC的网页端,默认的用户名和密码都是openplc。_建议登入OpenPLC后第一件事是修改用户名和密码。_

接着在Hardware这个选项中选择Raspberry Pi这个硬件层并保存设置。开启这个设置会启用树莓派的输入输出口。

树莓派的输入输出口在OpenPLC的的映射接口图如下

OpenPLC的开发平台OpenPLC Editor可以在这个网页下载

OPENPLC EDITOR | openplcproject.com​www.openplcproject.com/plcopen-editor/

点击上图所示生成按钮便会编译生成 .st OpenPLC格式文件,如下图所示

在树莓派的OpenPLC网页端Programs上传这个文件

最后点击启动PLC,程序便运行起来。同时可以在Monitoring中实时观察变量的值。


原网址: 访问
创建于: 2022-12-28 11:13:10
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共2条评论
DeepMind

上海晶珩EDATEC

 使用真正的树莓派工控机开发CodeSys是否更好?网上看到过上海晶珩的树莓派工控机,感觉很酷。

2023-03-24 11:17:58 回复

DeepMind

空灵橙子

您好,我们想进行文章方面的合作,请问怎么可以联系到您?

2023-03-17 13:16:32 回复