使用Raspberry Pi和OpenPLC项目进行PLC编程1简介

发布时间 2023-10-30 19:30:35作者: 磁石空杯

0 前言

0.1 书籍介绍

本书旨在向读者介绍如何将Raspberry Pi计算机作为PLC(可编程逻辑控制)用于他们的项目。
该项目要感谢程序员 Edouard Tisserant 和 Mario de Sousa。他们在 2003年IEC 61131-3标准出台后启动了"Matiec 项目"。这使得将标准中引入的编程语言翻译成C语言程序成为可能。
后来,当Raspberry Pi越来越流行时,Thiago Alves启动了"openplcproject "项目。他扩展了"Beremiz"项目中的编辑器,并为树莓派和个人电脑编写了运行库和网络接口。从此,在个人电脑上编写程序并将其安装到 Raspberry Pi上成为可能。
现在,许多树莓派用户都能使用自己的硬件实现自己的控制和调节系统。由于硬件和软件符合IEC标准,因此也非常适合用于培训。
初学者还可以学习有关安装和五种编程语言编程的所有知识,以便建立自己的控制系统。
在后面的章节中,将讨论使用AdvancedHMI在屏幕上显示过程的可视化问题。
此外,还介绍了使用Arduino和ESP8266的电路,这些电路是Modbus的必要组成部分。

0.2 引言

可编程逻辑控制器 (PLC) 彻底改变了工业控制技术。自理查德-E-莫利(Richard E. Morley)于50年前发明PLC以来,PLC主要用于工业控制系统和家庭自动化。

以下是 EN61131-3 对 "PLC"的定义:"可编程逻辑控制器(PLC)是一种用于工业环境的数字操作电子系统,具有可编程存储器,用于在内部存储面向用户的控制指令,以实现特定功能,如逻辑控制、顺序控制、定时、计数和算术功能,从而通过数字或模拟输入和输出信号控制各种类型的机器和过程"。

Raspberry Pi完全适合用作PLC,因为它的架构带有GPIO连接器,而且价格低廉。市场上有各种基于Raspberry Pi的现成 PLC。PLC编程的一大优势是,编程人员无需学习I/O线路的硬件细节。模拟和数字输出与输入就像变量一样。如果使用Modbus-TCP 等协议,通过网络将模块连接到Raspberry Pi,也可以实现这一点。PLC编程的另一个优势是PLC系统的相互兼容性。A制造商的PLC程序一般可用于B制造商的PLC。

上图展示了连接到Raspberry Pi上的带有24V输入和继电器输出的PLC。大多数PLC系统都支持图形和文本编程语言。openplcproject完全支持IEC 61131-3标准,该标准定义了PLC的基本软件架构和编程语言。

系统由运行时组件组成,基本上就是安装在Raspberry Pi上的软件。它执行PLC 序。程序编辑器安装在Windows或Linux下上,用于根据IEC 61131-3标准编写PLC程序。

图形语言KOP和FUP由Matiec编译器翻译为ST语言。

1 安装Raspberry Pi 4

  • 安装 OpenPLC Runtime
git clone https://github.com/thiagoralves/OpenPLC_v3.git
cd OpenPLC_v3
./install.sh rpi

安装完成后,应重新启动 Raspberry Pi。
Open PLC Runtime集成了网络服务器,可以配置OpenPLC和上传新程序。随后就可以在Raspberry Pi上启动这些程序。在电脑上打开网络浏览器,通过8080端口输入Raspberry Pi的IP地址,即可访问网络服务器。例如,如果 Raspberry Pi 在网络中的 IP 地址是 192.168.178.89,则需要在浏览器中输入以下地址:

默认用户名和密码都是"openplc"。登录后可以更改用户名和密码。

登录成功后,弹出开始菜单。现在可以对硬件进行各种重要设置。我们自己的PLC程序也可以在这里上传和启动。还可以对外部模块进行配置,并对运行中的程序进行监控。

在这里可以广泛选择运行Open PLC 运行时的硬件。这里选择 Raspberry Pi。使用"保存更改"保存设置。

暂时不需要选择DNP3和Ethernet/IP,因为您不会使用这些现场总线。我们保留Modbus服务器的安装,因为以后使用 AdvancedHMI软件进行可视化时需要它。

如果Raspberry Pi需要在重启后运行最后一个程序,可以点击设置以运行模式启动OpenPLC。现在点击 "保存更改",安装就完成了。
初次测试时,可使用PLC 程序"PLC样本AWL running light",该程序可在下载区找到。要试运行PLC程序,可通过网络界面将其从PC传输到新的 Raspberry Pi PLC。

为此,在文件对话框中点击"浏览",从PL 项目中选择ST文件,并用"打开"确认。

现在在顶部的 "Name(名称"下输入名称。这里是"PLC示例运行灯",这样上传按钮就会启用。在"Description(描述"下可输入程序功能描述,可能还需要输入版本号。

现在,ST程序会被编译成Raspberry Pi的C程序。然后就可以启动它了。点击"Go to Dashboard(转到仪表板",切换到主菜单。点击 "Start PLC(启动 PLC)",程序就会启动。

现在,输出引脚%QX0.0、%QX0.1和%QX0.2上的三个 LED 灯将相继亮起。您也可以在"Monitoring(监控"下观察到这一点。

如果测试不成功,很可能是负责访问GPIO引脚的"WiringPI"库的问题。解决问题的办法可能是安装最新的、与Raspberry Pi 4适配的版本。为此,使用"Stop PLC"按钮停止正在运行的PLC程序。

$ cd /tmp
$ wget https://project-downloads.drogon.net/wiringpi-latest.deb
$ sudo dpkg -i wiringpi-latest.deb
$ gpio –v
gpio version: 2.52
Copyright (c) 2012-2018 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty
Raspberry Pi Details:
Type: Pi 4B, Revision: 01, Memory: 2048MB, Maker: Sony
* Device tree is enabled.
*--> Raspberry Pi 4 Model B Rev 1.1
* This Raspberry Pi supports user-level GPIO access.

现在可以点击"Logout(注销"退出Raspberry Pi), 代码可加钉或v信pythontesting获取。

参考资料

下一章包括在PC上安装编辑器和编写第一个程序。本章旨在介绍用于创建PLC程序的编辑器。首先安装OpenPLC编辑器,然后使用建议的硬件测试您的第一个程序。