通過使用Raspberry Pi和OpenPLC軟件平臺,可以創(chuàng)建一個簡單的PLC,該P(yáng)LC可以使用梯形圖進(jìn)行編程,并具有遠(yuǎn)程訪問和I/O監(jiān)控儀表板功能。
OpenPLC提供了一個控制工程開發(fā)平臺,能夠?qū)⒏鞣N微控制器轉(zhuǎn)變?yōu)榭删幊踢壿?a target="_blank">控制器。OpenPLC兼容包括Arduino Uno、ESP32、RP2040等平臺,甚至像Raspberry Pi這樣的單板計算機(jī)也可以配備編輯器、運(yùn)行時引擎和Web服務(wù)器,用作PLC。
本文將介紹如何使用OpenPLC在Raspberry Pi上創(chuàng)建PLC。
▲OpenPLC 可在 Raspberry Pi 上實現(xiàn)
在Raspberry Pi上運(yùn)行PLC(運(yùn)行時)
使用Raspberry Pi開發(fā)PLC的概念在于實現(xiàn)OpenPLC運(yùn)行時環(huán)境,該環(huán)境具有一個集成的Web服務(wù)器,允許配置運(yùn)行時參數(shù)。這些運(yùn)行時參數(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)行時Web服務(wù)器。將鼠標(biāo)指向PI桌面環(huán)境工具欄右側(cè)附近的Wi-Fi圖標(biāo),可以找到IP地址。IP地址將出現(xiàn)在一個彈出窗口中。
在 Raspberry Pi 上使用 OpenPLC 的先決條件
WiringPi GPIO庫
OpenPLC運(yùn)行時需要訪問通用輸入/輸出(GPIO)引腳。最新的Pi平臺(版本3及更新版本)已經(jīng)包含了這個庫,但為了驗證,請打開終端并輸入以下命令:
gpio -v
如果找不到庫(命令),請確保啟用了Wi-Fi,并使用以下命令集安裝WiringPi庫:
git clone https://github.com/WiringPi/WiringPi.git
這將復(fù)制并創(chuàng)建一個名為WiringPi的文件夾。將當(dāng)前目錄更改為WiringPi:
cd WiringPi
然后輸入以下命令。這將從源文件構(gòu)建WiringPi,類似于安裝過程:
./build
這應(yīng)該完成了該過程,但此時,請運(yùn)行“gpio -v”命令,并查看為您的Pi平臺新安裝的詳細(xì)信息。它應(yīng)該看起來與下面的圖像類似:
▲成功構(gòu)建 WiringPi 庫
OpenPLC運(yùn)行時
如果尚未安裝OpenPLC運(yùn)行時,則過程與之前類似。首先,輸入命令“cd”切換回主目錄:
與之前一樣,使用克隆命令復(fù)制OpenPLC文件夾:
git clone https://github.com/thiagoralves/OpenPLC_v3.git
現(xiàn)在,切換到OpenPLC目錄:
cd OpenPLC_v3
最后,安裝實際的OpenPLC運(yùn)行時(這需要一段時間,請耐心等待):
./install.sh rpi
安裝完成后,轉(zhuǎn)到您的家用電腦瀏覽器,輸入Raspberry Pi的IP地址(在我的情況下是192.168.1.27),后跟端口8080,運(yùn)行時登錄屏幕應(yīng)該會出現(xiàn):
有關(guān)更詳細(xì)的文檔,請參閱OpenPLC官方網(wǎng)站。
現(xiàn)在,在Pi平臺上完成了先決條件步驟,我們可以繼續(xù)接線和梯形圖邏輯編程!
從 Raspberry Pi 到PLC的引腳映射
輸入和輸出設(shè)備,如按鈕開關(guān)、執(zhí)行器、可視指示器和聲音警報器,將被分配到 Raspberry Pi 的相應(yīng) I/O 引腳上。本項目文章將通過一個非常簡單的梯形圖 PLC 程序來操作一個 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等。
▲Raspberry Pi 4 引腳布局
將I/O設(shè)備連接到Raspberry Pi
按鈕電路將使用一個帶有10kΩ下拉電阻的觸覺開關(guān)。輸出指示電路由一個與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,而無需使用大量跳線。
▲擴(kuò)展板 PCB 電氣接線
作為額外的電氣接線參考,提供了電子電路原理圖。
▲Raspberry Pi PLC 原理圖
擴(kuò)展板通過扁平帶狀電纜物理連接到Raspberry Pi,允許電壓(+3.3V)、接地和I/O控制信號電連接到Raspberry Pi的40針接頭連接器。扁平電纜允許免焊面包板的布置方便地放置在車間桌子或?qū)嶒炇夜ぷ髋_上。
下面的面包板接線組件展示了連接到擴(kuò)展板的電氣部件。如果沒有擴(kuò)展板,您可以使用跳線直接連接到Pi接頭上的+3.3V、GND、引腳11(GPIO17)和引腳16(GPIO23)。
▲帶擴(kuò)展板的基于 Raspberry Pi 的 PLC 電路
Raspberry Pi的PLC軟件
Arduino OpenPLC介紹項目中提供的“Hello World”梯形圖(LD)可以很容易地修改為適用于Raspberry Pi控制器。LD的主要修改涉及將SBC物理I/O尋址方案應(yīng)用于Raspberry Pi。I/O地址反映引腳格式,而不是GPIO指定。采用這種方法,分配的標(biāo)簽將確保目標(biāo)按鈕開關(guān)的輸入和輸出控制信號以及LED電路將正確啟動。
▲Raspberry Pi 物理尋址
與Arduino梯形圖邏輯項目一樣,“Hello World”LD和標(biāo)簽列表表是在OpenPLC編輯器中構(gòu)建的。
▲Raspberry Pi “你好世界 ”LD/標(biāo)記列表表
添加運(yùn)行時軟件和測試
Raspberry PiOpenPLC項目的最后一步是將運(yùn)行時軟件上傳到SBC。如“運(yùn)行時”部分所述,需要訪問Web服務(wù)器頁面。通過Web瀏覽器指向Raspberry Pi的IP地址,運(yùn)行時編程環(huán)境將可用。
默認(rèn)登錄用戶名和密碼均為openplc。建議您更改登錄憑據(jù)以確保LD程序的安全性。
▲OpenPLC 網(wǎng)絡(luò)服務(wù)器登錄界面
要在Raspberry Pi上運(yùn)行,需要.st文件。通過在OpenPLC編輯器的任務(wù)欄上點擊橙色向下的箭頭圖標(biāo),.st文件將被存儲在為初始項目創(chuàng)建的指定文件夾中。
▲OpenPLC Runtime .st 文件下載按鈕
返回web服務(wù)器,點擊“Hardware”(硬件)按鈕,選擇Raspberry Pi作為硬件層,并保存更改。
▲選擇 Raspberry Pi 硬件
要上傳.st文件,請在OpenPLC web服務(wù)器面板的左側(cè)點擊“Programs”(程序)按鈕。
將打開一個窗口,您可以在此將.st文件(程序)上傳到web服務(wù)器。點擊“Choose File”(選擇文件)按鈕,選擇Hello World.st文件,然后點擊“Upload Program”(上傳程序)。
▲選擇并上傳 .st 文件
將顯示將.st文件轉(zhuǎn)換為C++程序的編譯過程。上傳/轉(zhuǎn)換過程完成后,Hello World程序?qū)@示在表格中。
Hello World程序上傳到Raspberry Pi后,在web服務(wù)器窗口底部用鼠標(biāo)點擊“Dashboard”(儀表板)按鈕。在面板左側(cè)點擊“Start PLC”(啟動PLC)按鈕。程序的執(zhí)行過程將在窗口中可見。
▲用于 Raspberry Pi 的 “Hello World ”監(jiān)控儀表板
可以使用“Monitor”(監(jiān)視器)觀察按鈕開關(guān)和LED的狀態(tài)。用鼠標(biāo)點擊監(jiān)視器按鈕,以觀察按鈕開關(guān)和LED的動作。每次按下按鈕時,LED將從紅色切換到綠色。監(jiān)視器可以作為一種診斷的人機(jī)界面(HMI)工具,用于虛擬觀察Raspberry Pi PLC I/O的物理操作。
-
plc
+關(guān)注
關(guān)注
5024文章
13520瀏覽量
468649 -
Raspberry Pi
+關(guān)注
關(guān)注
2文章
613瀏覽量
22546 -
樹莓派
+關(guān)注
關(guān)注
118文章
1882瀏覽量
106257
發(fā)布評論請先 登錄
相關(guān)推薦
精選推薦!看大佬用樹莓派4做個迷你版PS5
樹莓派變身WiFi 熱點
樹莓派怎么打造開心農(nóng)場
樹莓派可以做什么?
樹莓派簡介
OpenPLC開源工業(yè)控制器究竟有何用處
樹莓派Pico迷你開發(fā)板及所使用的RP2040 MCU芯片有哪些特性
Maxthon大變身:新版本功能預(yù)告
樹莓派用什么語言編程_樹莓派python編程詳解
虹科工業(yè)樹莓派和PLC怎么選?
樹莓派+Balena OS:一鍵解鎖智能硬件新技能!

評論