0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

樹莓派大變身:如何用 OpenPLC 打造你的迷你 PLC

上海晶珩電子科技有限公司 ? 2025-03-25 09:41 ? 次閱讀

通過使用Raspberry Pi和OpenPLC軟件平臺,可以創(chuàng)建一個(gè)簡單的PLC,該P(yáng)LC可以使用梯形圖進(jìn)行編程,并具有遠(yuǎn)程訪問和I/O監(jiān)控儀表板功能。

OpenPLC提供了一個(gè)控制工程開發(fā)平臺,能夠?qū)⒏鞣N微控制器轉(zhuǎn)變?yōu)榭删幊踢壿?a target="_blank">控制器。OpenPLC兼容包括Arduino Uno、ESP32、RP2040等平臺,甚至像Raspberry Pi這樣的單板計(jì)算機(jī)也可以配備編輯器、運(yùn)行時(shí)引擎和Web服務(wù)器,用作PLC。

本文將介紹如何使用OpenPLC在Raspberry Pi上創(chuàng)建PLC。

3e65e688-091a-11f0-9434-92fbcf53809c.jpg

▲OpenPLC 可在 Raspberry Pi 上實(shí)現(xiàn)


在Raspberry Pi上運(yùn)行PLC(運(yùn)行時(shí))

使用Raspberry Pi開發(fā)PLC的概念在于實(shí)現(xiàn)OpenPLC運(yùn)行時(shí)環(huán)境,該環(huán)境具有一個(gè)集成的Web服務(wù)器,允許配置運(yùn)行時(shí)參數(shù)。這些運(yùn)行時(shí)參數(shù)與數(shù)據(jù)類型和內(nèi)存寄存器相對應(yīng)。以下列出了一些參數(shù):

  • X:位(1位)

  • B:字節(jié)(8位)

  • W:字(16位)

  • D:雙字(32位)

L:長字(64位)

這些參數(shù)是在結(jié)構(gòu)化文本(.st)文件編譯并下載后創(chuàng)建的。通過Raspberry Pi的IP地址后加“;”和端口號8080來訪問運(yùn)行時(shí)Web服務(wù)器。將鼠標(biāo)指向PI桌面環(huán)境工具欄右側(cè)附近的Wi-Fi圖標(biāo),可以找到IP地址。IP地址將出現(xiàn)在一個(gè)彈出窗口中。


在 Raspberry Pi 上使用 OpenPLC 的先決條件

WiringPi GPIO庫

OpenPLC運(yùn)行時(shí)需要訪問通用輸入/輸出(GPIO)引腳。最新的Pi平臺(版本3及更新版本)已經(jīng)包含了這個(gè)庫,但為了驗(yàn)證,請打開終端并輸入以下命令:

gpio -v

如果找不到庫(命令),請確保啟用了Wi-Fi,并使用以下命令集安裝WiringPi庫:

git clone https://github.com/WiringPi/WiringPi.git

這將復(fù)制并創(chuàng)建一個(gè)名為WiringPi的文件夾。將當(dāng)前目錄更改為WiringPi:

cd WiringPi

然后輸入以下命令。這將從源文件構(gòu)建WiringPi,類似于安裝過程:

./build

這應(yīng)該完成了該過程,但此時(shí),請運(yùn)行“gpio -v”命令,并查看為您的Pi平臺新安裝的詳細(xì)信息。它應(yīng)該看起來與下面的圖像類似:

3e9341e6-091a-11f0-9434-92fbcf53809c.jpg

▲成功構(gòu)建 WiringPi 庫

OpenPLC運(yùn)行時(shí)

如果尚未安裝OpenPLC運(yùn)行時(shí),則過程與之前類似。首先,輸入命令“cd”切換回主目錄:

與之前一樣,使用克隆命令復(fù)制OpenPLC文件夾:

git clone https://github.com/thiagoralves/OpenPLC_v3.git

現(xiàn)在,切換到OpenPLC目錄:

cd OpenPLC_v3

最后,安裝實(shí)際的OpenPLC運(yùn)行時(shí)(這需要一段時(shí)間,請耐心等待):

./install.sh rpi

安裝完成后,轉(zhuǎn)到您的家用電腦瀏覽器,輸入Raspberry Pi的IP地址(在我的情況下是192.168.1.27),后跟端口8080,運(yùn)行時(shí)登錄屏幕應(yīng)該會(huì)出現(xiàn):

3eacc986-091a-11f0-9434-92fbcf53809c.jpg

有關(guān)更詳細(xì)的文檔,請參閱OpenPLC官方網(wǎng)站。

現(xiàn)在,在Pi平臺上完成了先決條件步驟,我們可以繼續(xù)接線和梯形圖邏輯編程!


從 Raspberry Pi 到PLC的引腳映射

輸入和輸出設(shè)備,如按鈕開關(guān)、執(zhí)行器、可視指示器和聲音警報(bào)器,將被分配到 Raspberry Pi 的相應(yīng) I/O 引腳上。本項(xiàng)目文章將通過一個(gè)非常簡單的梯形圖 PLC 程序來操作一個(gè) LED 按鈕開關(guān)。

Raspberry Pi使用兩種不同的編號格式來引用引腳。一種格式使用適當(dāng)?shù)腉PIO引腳編號和功能來標(biāo)記引腳。

在另一種格式中,40針接頭垂直編號,左側(cè)為奇數(shù),右側(cè)為偶數(shù)。OpenPLC使用左側(cè)的GPIO引腳作為輸入,因此引腳3、5、7、11和13(映射到GPIO引腳2、3、4、17和27)將構(gòu)成輸入標(biāo)簽IX0.0、IX0.1、IX0.2、IX0.3、IX0.4等。

對于輸出,以類似的方式,引腳8、10、16、18和22(GPIO 14、15、23、24和25)等同于輸出標(biāo)簽QX0.0、QX0.1、QX0.2、QX0.3、QX0.4等。

3ebad0b2-091a-11f0-9434-92fbcf53809c.jpg

▲Raspberry Pi 4 引腳布局

將I/O設(shè)備連接到Raspberry Pi

按鈕電路將使用一個(gè)帶有10kΩ下拉電阻的觸覺開關(guān)。輸出指示電路由一個(gè)與LED串聯(lián)的330Ω電阻組成。

在最簡單的層面上,可以將單根導(dǎo)線插入40針接頭連接器,并連接到安裝在外部面包板上的按鈕開關(guān)和LED電路。

將按鈕開關(guān)和LED電路連接到Raspberry Pi的另一種方法使用擴(kuò)展板(如下所示),該擴(kuò)展板在T形PCB上引出Raspberry Pi的I/O引腳。擴(kuò)展板插入適當(dāng)長度/尺寸的免焊面包板中,使得按鈕開關(guān)、下拉電阻和LED電路能夠輕松連接到Raspberry Pi,而無需使用大量跳線。

3ec8a430-091a-11f0-9434-92fbcf53809c.jpg

▲擴(kuò)展板 PCB 電氣接線

作為額外的電氣接線參考,提供了電子電路原理圖。

3edb3532-091a-11f0-9434-92fbcf53809c.jpg

▲Raspberry Pi PLC 原理圖

擴(kuò)展板通過扁平帶狀電纜物理連接到Raspberry Pi,允許電壓(+3.3V)、接地和I/O控制信號電連接到Raspberry Pi的40針接頭連接器。扁平電纜允許免焊面包板的布置方便地放置在車間桌子或?qū)嶒?yàn)室工作臺上。

下面的面包板接線組件展示了連接到擴(kuò)展板的電氣部件。如果沒有擴(kuò)展板,您可以使用跳線直接連接到Pi接頭上的+3.3V、GND、引腳11(GPIO17)和引腳16(GPIO23)。

3ef12dce-091a-11f0-9434-92fbcf53809c.jpg

▲帶擴(kuò)展板的基于 Raspberry Pi 的 PLC 電路

Raspberry Pi的PLC軟件

Arduino OpenPLC介紹項(xiàng)目中提供的“Hello World”梯形圖(LD)可以很容易地修改為適用于Raspberry Pi控制器。LD的主要修改涉及將SBC物理I/O尋址方案應(yīng)用于Raspberry Pi。I/O地址反映引腳格式,而不是GPIO指定。采用這種方法,分配的標(biāo)簽將確保目標(biāo)按鈕開關(guān)的輸入和輸出控制信號以及LED電路將正確啟動(dòng)。

3f05f6dc-091a-11f0-9434-92fbcf53809c.jpg

▲Raspberry Pi 物理尋址

與Arduino梯形圖邏輯項(xiàng)目一樣,“Hello World”LD和標(biāo)簽列表表是在OpenPLC編輯器中構(gòu)建的。

3f0f489a-091a-11f0-9434-92fbcf53809c.jpg

▲Raspberry Pi “你好世界 ”LD/標(biāo)記列表表

添加運(yùn)行時(shí)軟件和測試

Raspberry PiOpenPLC項(xiàng)目的最后一步是將運(yùn)行時(shí)軟件上傳到SBC。如“運(yùn)行時(shí)”部分所述,需要訪問Web服務(wù)器頁面。通過Web瀏覽器指向Raspberry Pi的IP地址,運(yùn)行時(shí)編程環(huán)境將可用。

默認(rèn)登錄用戶名和密碼均為openplc。建議您更改登錄憑據(jù)以確保LD程序的安全性。

3f226718-091a-11f0-9434-92fbcf53809c.jpg

▲OpenPLC 網(wǎng)絡(luò)服務(wù)器登錄界面

要在Raspberry Pi上運(yùn)行,需要.st文件。通過在OpenPLC編輯器的任務(wù)欄上點(diǎn)擊橙色向下的箭頭圖標(biāo),.st文件將被存儲(chǔ)在為初始項(xiàng)目創(chuàng)建的指定文件夾中。

3f311dc6-091a-11f0-9434-92fbcf53809c.jpg

▲OpenPLC Runtime .st 文件下載按鈕

返回web服務(wù)器,點(diǎn)擊“Hardware”(硬件)按鈕,選擇Raspberry Pi作為硬件層,并保存更改。

3f41853a-091a-11f0-9434-92fbcf53809c.jpg

▲選擇 Raspberry Pi 硬件

要上傳.st文件,請?jiān)贠penPLC web服務(wù)器面板的左側(cè)點(diǎn)擊“Programs”(程序)按鈕。

將打開一個(gè)窗口,您可以在此將.st文件(程序)上傳到web服務(wù)器。點(diǎn)擊“Choose File”(選擇文件)按鈕,選擇Hello World.st文件,然后點(diǎn)擊“Upload Program”(上傳程序)。

3f555bdc-091a-11f0-9434-92fbcf53809c.jpg

▲選擇并上傳 .st 文件

將顯示將.st文件轉(zhuǎn)換為C++程序的編譯過程。上傳/轉(zhuǎn)換過程完成后,Hello World程序?qū)@示在表格中。

Hello World程序上傳到Raspberry Pi后,在web服務(wù)器窗口底部用鼠標(biāo)點(diǎn)擊“Dashboard”(儀表板)按鈕。在面板左側(cè)點(diǎn)擊“Start PLC”(啟動(dòng)PLC)按鈕。程序的執(zhí)行過程將在窗口中可見。

3f65dcd2-091a-11f0-9434-92fbcf53809c.jpg

▲用于 Raspberry Pi 的 “Hello World ”監(jiān)控儀表板

可以使用“Monitor”(監(jiān)視器)觀察按鈕開關(guān)和LED的狀態(tài)。用鼠標(biāo)點(diǎn)擊監(jiān)視器按鈕,以觀察按鈕開關(guān)和LED的動(dòng)作。每次按下按鈕時(shí),LED將從紅色切換到綠色。監(jiān)視器可以作為一種診斷的人機(jī)界面(HMI)工具,用于虛擬觀察Raspberry Pi PLC I/O的物理操作。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5024

    文章

    13516

    瀏覽量

    468570
  • Raspberry Pi
    +關(guān)注

    關(guān)注

    2

    文章

    613

    瀏覽量

    22540
  • 樹莓派
    +關(guān)注

    關(guān)注

    118

    文章

    1881

    瀏覽量

    106244
收藏 人收藏

    評論

    相關(guān)推薦

    精選推薦!看大佬用樹莓4做個(gè)迷你版PS5

    為了搭配這個(gè)迷你游戲主機(jī),作者還制作了一個(gè)小型顯示器,使用了5英寸的樹莓顯示屏。這只是一個(gè)有趣的小項(xiàng)目,但也可以將它連接到任何
    發(fā)表于 05-13 10:24

    樹莓變身WiFi 熱點(diǎn)

    本帖最后由 348081236 于 2016-1-15 11:57 編輯 第一步:準(zhǔn)備樹莓:本教程用的是樹莓B一個(gè)樹莓
    發(fā)表于 01-15 11:51

    樹莓Zero小夜燈

    準(zhǔn)備、樹莓zero2×20公頭(如果樹莓2就不需要啦)8GB的SD卡繼電器模塊(用于從樹莓
    發(fā)表于 01-28 15:03

    樹莓怎么打造開心農(nóng)場

    ` 本帖最后由 goyuqinghua 于 2016-3-1 14:42 編輯 用兩個(gè)罐頭、一個(gè)直流潛水泵和樹莓,做一個(gè)迷你水培弄場,重點(diǎn)番茄馬鈴薯什么的,健康又美味。所需材料:·1個(gè)大錫罐
    發(fā)表于 02-22 15:14

    樹莓可以做什么?

    折騰不息”的精神,我們還是可以用樹莓做很多有意思的東西。不少極客就實(shí)現(xiàn)了不少好玩的功能,看了之后是不是也有想嘗試的欲望?讓我們看看他們都用樹莓
    發(fā)表于 05-02 17:20

    樹莓簡介

    已經(jīng)是一位Linux系統(tǒng)的愛好者,但卻不知道如何用Python進(jìn)行編程,而且正準(zhǔn)備好好學(xué)一學(xué);也許根本就不了解計(jì)算機(jī),僅僅停留在點(diǎn)擊“開始”菜單,轉(zhuǎn)發(fā)電子郵件,上網(wǎng)等操作,但是聽說過“樹莓
    發(fā)表于 08-06 08:05

    OpenPLC開源工業(yè)控制器究竟有何用

    OpenPLC開源工業(yè)控制器有哪些優(yōu)點(diǎn)?OpenPLC開源工業(yè)控制器有哪些功能?OpenPLC開源工業(yè)控制器究竟有何用處?
    發(fā)表于 09-02 07:42

    樹莓Pico迷你開發(fā)板及所使用的RP2040 MCU芯片有哪些特性

    Raspberry Pi Pico是什么?樹莓Pico迷你開發(fā)板及所使用的RP2040 MCU芯片有哪些特性?
    發(fā)表于 09-14 06:50

    Maxthon大變身:新版本功能預(yù)告

    ????消息1.Maxthon版本號會(huì)大變身????現(xiàn)在Maxthon的版本是1.5,很快我們會(huì)看到有2.0版本的出現(xiàn)。不過也不是直接跳過中間的版本,只是會(huì)出幾個(gè)Beta版
    發(fā)表于 03-07 20:47 ?1082次閱讀

    樹莓看電影

    本文檔介紹的是在debian下如何用樹莓看電影
    發(fā)表于 11-30 11:02 ?21次下載

    樹莓用什么語言編程_樹莓python編程詳解

    樹莓是一個(gè)非常廉價(jià)的、只有手掌大小的完全可編程的計(jì)算機(jī)。雖然樹莓的體積小,但是它的潛力無限。可以像使用常規(guī)臺式計(jì)算機(jī)一樣在
    發(fā)表于 01-15 17:00 ?3.9w次閱讀

    虹科工業(yè)樹莓PLC怎么選?

    工業(yè)樹莓PLC的區(qū)別在哪?應(yīng)該選擇工業(yè)樹莓還是PLC?本篇文章為
    的頭像 發(fā)表于 02-22 11:03 ?1125次閱讀

    宏集方案 | 如何用工業(yè)樹莓和MQTT平臺打通OT和IT?

    何用工業(yè)樹莓和MQTT平臺打通OT和IT?
    的頭像 發(fā)表于 01-05 11:01 ?470次閱讀
    宏集方案 | 如<b class='flag-5'>何用</b>工業(yè)<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>和MQTT平臺打通OT和IT?

    樹莓+Balena OS:一鍵解鎖智能硬件新技能!

    通過云平臺實(shí)現(xiàn)遠(yuǎn)程管理。今天,我們就來詳細(xì)了解一下如何在樹莓派上安裝BalenaOS,并開發(fā)的第一個(gè)應(yīng)用,讓樹莓瞬間
    的頭像 發(fā)表于 03-25 09:25 ?71次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>+Balena OS:一鍵解鎖智能硬件新技能!

    購買前須知:樹莓迷你PC,哪個(gè)更適合?

    隨著新型號的推出,迷你電腦和樹莓等設(shè)備之間的差異越來越難以察覺。如果正在糾結(jié)于選擇哪種設(shè)備更適合,那么
    的頭像 發(fā)表于 03-25 09:37 ?46次閱讀
    購買前須知:<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>和<b class='flag-5'>迷你</b>PC,哪個(gè)更適合<b class='flag-5'>你</b>?

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品