首页 > 编程语言 >使用Raspberry Pi和OpenPLC项目进行PLC编程1简介

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

时间:2023-10-30 19:33:05浏览次数:41  
标签:Raspberry OpenPLC 程序 PLC Pi 安装

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编辑器,然后使用建议的硬件测试您的第一个程序。

标签:Raspberry,OpenPLC,程序,PLC,Pi,安装
From: https://www.cnblogs.com/testing-/p/17762220.html

相关文章

  • 好用的API调试工具推荐:Apipost
    随着数字化转型的加速,API(应用程序接口)已经成为企业间沟通和数据交换的关键。而在API开发和管理过程中,API文档、调试、Mock和测试的协作显得尤为重要。Apipost正是这样一款一体化协作平台,旨在解决这些问题,提高API开发效率和质量。Apipost提供API文档管理功能,让后端开发人员可以在开......
  • 记录--这个前端Api管理方案会更好?
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助简介大家好,前端小白一枚,目前接触后台管理系统比较多,经常遇到不同对象的增删改查的接口,如何对Api进行一个有比较好的管理是个问题。在学习偏函数的时候有了灵感,想到一个不错的API管理方案,并应用在项目一个模块当中......
  • 好用的API调试工具推荐:Apipost
    随着数字化转型的加速,API(应用程序接口)已经成为企业间沟通和数据交换的关键。而在API开发和管理过程中,API文档、调试、Mock和测试的协作显得尤为重要。Apipost正是这样一款一体化协作平台,旨在解决这些问题,提高API开发效率和质量。 Apipost提供API文档管理功能,让后端开发人员可......
  • Java基于API接口爬取淘宝商品数据
    随着互联网的普及和电子商务的快速发展,越来越多的商家选择在淘宝等电商平台上销售商品。对于开发者来说,通过API接口获取淘宝商品数据,可以更加便捷地进行数据分析和商业决策。本文将介绍如何使用Java基于淘宝API接口爬取商品数据,包括请求API、解析JSON数据、存储数据等步骤,并提供相......
  • centos7:安装python3.6.8:安装uvicorn、fastapi、pymysql:指定国内的pypi镜像源
    yuminstallpython3python3-develgccmakelibaio-develpip3install-ihttp://mirrors.aliyun.com/pypi/simple--trusted-hostmirrors.aliyun.com"uvicorn[standard]"==0.16.0pymysqlfastapi 关键点:因为centos7的软件仓库中,python3的版本比较低:python3-3.6.8-1......
  • API VS SDK!
    APIVSSDK!API(应用程序编程接口)和SDK(软件开发工具包)是软件开发领域的重要工具,但它们具有不同的用途:1.应用程序编程接口API是一组规则和协议,允许不同的软件应用程序和服务相互通信。它定义了软件组件如何交互。促进软件组件之间的数据交换和功能访问。通常由端点、请......
  • MIGO Runtime Errors MESSAGE_TYPE_X program SAPLCKM4 in PERIODENART_BESTIMMEN
    用户在测试环境执行MIGO,系统dump检查系统后,发现是物料账期错误 修改账期,系统正常 ......
  • fastapi websockets
    #pipinstallwebsocketsfromuvicornimportrunfromfastapiimportFastAPIapp=FastAPI(title="websocket")fromtypingimportListfromfastapiimportFastAPI,WebSocket,WebSocketDisconnectfromfastapi.responsesimportHTMLResponseht......
  • 用Python计算圆周率pi
    一、计算圆周率pi的方法(一)公式法pi=0N=eval(input())forkinrange(N):pi+=1/pow(16,k)*(4/(8*k+1)-2/(8*k+4)-1/(8*k+5)-1/(8*k+6))print(pi)(二)蒙特卡罗方法#e.6.1(p115)fromrandomimportrandomfrommathimportsqrtfromtimeimportperf_counterDARTS=100000......
  • 编译报错 internal compiler error: Segmentation fault 解决方法
    问题描述最近在使用虚拟机ubuntu20.04编译muslgcc工具链时,遇到一个奇怪的问题,编译过程中异常退出,清理了多次重新编译,发现编译报错提示的信息是internalcompilererror:Segmentationfault由于之前是可以正常编译的,所以怀疑编译环境造成的解决方法初步重启ubuntu可以解决......