雖然工業 IoT 正在快速發展,但傳統可編程邏輯控制器 (PLC) 提供的定制靈活性和連接性,卻無法滿足工業工程師的需求。然而,構建定制解決方案可能成本昂貴,而且非常耗時,同時在基于微控制器實現真正嵌入式解決方案方面,幾乎沒有工業工程師擁有相關的操作經驗。
本文對 PLC 進行了簡要介紹,然后說明了開發人員如何創建自己的無線 PLC,從而能夠使用梯形邏輯來實現應用。
可編程邏輯控制器 (PLC) 簡介
PLC 是一種耐用的計算機,用于在工業應用中實現特定流程的自動化。要實現自動化的流程非常廣泛,從制造工廠的裝配線到物聯網建筑照明控制系統,以及中間涉及到的所有流程。
典型 PLC 架構包括(圖 1):
數字和模擬輸入
數字和模擬輸出
工業級電源
用于執行所需特性的邏輯應用程序
圖 1:典型 PLC 架構包括一系列模擬和數字輸入,這些輸入按照邏輯應用程序處理和執行,然后驅動其用于模擬和數字輸出的特性。(圖片來源:Unitronics)
雖然市場上有很多傳統 PLC 可供選擇,但開發人員可能還是希望定制 PLC 特性,或者定制構建他們自己的器件。目前,多種不同的方式可用于實現此目的;但是,傳統嵌入式系統工程師可以采用其中一種非常有趣的簡單方式,也就是使用 STM32 開放式開發環境 (ODE)。
構建無線 PLC
要構建自己的無線 PLC,開發人員需要三個主要硬件組件:
輸入/輸出信號調節
Wi-Fi 模塊
開發人員可以從頭重新設計所有這些組件,或者也可以利用現有的生態系統。STMicroelectronics 推出了 STM32 開發人員工具包,包括所有這些組件,從而簡化了 PLC 創建過程,另外還提供了用于開發梯形邏輯應用程序的基本軟件。
現在,我們將探討這些主要組件,以及讓它們在工業環境中運行必須達到的條件。
我們要探討的第一個組件是 CPU,本例中的 CPU 為STM32F401RE,來自STMicroelectronics。STM32F401RE 是一款 32 位 Arm?Cortex?-M4 處理器,并具有以下特點:工作頻率 84 MHz、應用代碼閃存空間 512 MB、RAM 96 KB。Nucleo-401RE評估板上提供了 STM32F401RE,還包括用于連接其他硬件的 Arduino 針座,以及用于為嵌入式軟件編程的 ST-Link。所有 PLC 代碼將在 Nucleo-401RE 上執行。
圖 2:Nucleo-401RE 開發板構成了 PLC 控制器的基礎,它包含 512 MB 的應用代碼空間,以及用于存儲數據的 96 KB RAM。(圖片來源:STMicroelectronics)
構建 PLC 所必需的第二個組件是用于輸入和輸出的信號調節板。開發人員可以從兩種信號調節板中進行選擇,或者如果應用需要,也可以組合使用。
第一個是X-Nucleo-PLC01A1工業 I/O 擴展板(圖 3)。X-Nucleo-PLC01A1 包含通過CLT01-38SQ7高速數字輸入限流器的八個經過調節的輸入。CLT01-38SQ7 可限制輸入引腳能夠消耗的電流,從而為 PLC 提供數字輸入保護。另外,還有采用VNI8200XP單片式 8 通道驅動器進行調節的八個工業輸出。這種驅動器具有極低供電電流、集成 SPI 接口和高能效 100 mA 微功耗降壓型開關。VNI8200XP 提供八個片載固態繼電器,每個繼電器能夠驅動高達 0.7 安培的電流。X-Nucleo-PLC01A1 還包括 LED 指示燈,以便從直觀地查看每個輸入和輸出的狀態,以及三個報警燈用于指示超溫和其他板故障。X-Nucleo-PLC01A1 通過 SPI 通信鏈路與 Nucleo-401RE 進行通信。
圖 3:X-Nucleo-PLC01A1 是一款工業級擴展板,可提供具有八個數字輸入和八個數字輸出的 PLC 應用。(圖片來源:STMicroelectronics)
PLC 可能還需要能夠控制高電流和模擬信號。X-Nucleo-PLC01A1 專為數字信號設計。為了控制其他信號,開發人員可以使用X-Nucleo-OUT01A1(圖 4)。X-Nucleo-OUT01A1 包含 STMicroelectronics 的ISO8200BQ電位隔離八通道高壓側智能電源固態繼電器。在將這些輸出與 PLC01A1 進行比較時,一個很大差異是該擴展板能夠在 10.5 至 33 伏特的電壓范圍內工作,實現模擬信號和數字信號之間的電位隔離。此外,該擴展板上還有幾個 LED 指示燈,可用于指示是否發生了通信故障或熱保護事件。
圖 4:X-Nucleo-OUT01A1 是一款工業級擴展板,可提供具有八個繼電器輸出的 PLC 應用,其中這些輸出能夠處理高達 0.7 安培的電流。(圖片來源:STMicroelectronics)
最后一個組件是無線芯片,可用于提供無線編程機制,或用于創建物聯網連接的 PLC。開發人員可以使用X-Nucleo-IDW01M1,它是一款符合 802.11 b/g/n 標準的 Wi-Fi 擴展模塊,同樣來自 STMicroelectronics(圖 5)。X-Nucleo-IDW01M1 經過 FCC、IC 和 CE 認證,帶有集成天線,因而可隨時直接用于生產系統。
圖 5:X-Nucleo-IDW01M1 是一款工業級 Wi-Fi 模塊,能夠集成到 PLC 中以提供無線連接。(圖片來源:STMicroelectronics)
借助上述所有三個組件,開發人員可以按照圖 6 所示的順序組裝硬件 PLC。雖然也可以按照相反順序組裝開發板,這不會造成損壞,但將需要一些額外調試。萬一需要將任何定制硬件添加到 PLC(例如 RS-485 芯片),開發人員可以使用Arduino原型開發擴展板,例如Proto Shield(來自Olimex)或AdafruitProto Shield。
圖 6:組裝 STMicroelectronics 開發板以構建功能 PLC 的順序。(圖片來源:Beningo Embedded Group)
設置 PLC 軟件
我們需要使用多個軟件來設置 PLC。其中包括:
PLC 嵌入式軟件
嵌入式編譯器
梯形邏輯應用程序
PLC 嵌入式軟件 FP_IND_PLCWIFI1 由 STMicroelectronics 開發,可從 STM 網站下載。它包含讓 STM32F401RE 投入運行所需的全部代碼,還包含多種預設配置,具體取決于需要哪些硬件堆棧。該嵌入式軟件附帶了已針對 STM System Workbench、IAR Workbench 和 Keil MDK 設置的三個項目,并且可從http://www.st.com/en/embedded-software/fp-ind-plcwifi1.html下載(圖 7)。開發人員可以使用其中任何一種設置,以便在 PLC 上編譯和部署嵌入式軟件。
圖 7:運行 PLC 必需的嵌入式 PLC 應用程序包(圖片來源:Beningo Embedded Group)
下載嵌入式應用程序之后,可將其導入所需的編譯器 IDE 并進行編譯。開發人員應該確保代碼編譯沒有問題。然后,可通過與 PC 的標準 USB 連接,將編譯的應用程序下載到 PLC。
最后,STMicro 還創建了簡單的 PLC 應用程序,可用于創建梯形邏輯應用程序。該應用程序適用于 iOS 和 Android。通過在移動設備的應用商店中搜索“ST PLC App”,可將該應用程序下載到移動設備上。
簡單的應用程序示例
一旦 PLC 的嵌入式軟件運行之后,開發人員便可以專注于使用 ST PLC 應用程序開發他們的應用代碼。應用代碼將使用梯形邏輯來開發。開發人員可以啟動應用程序,并基于他們選擇要包括在硬件堆棧中的開發板來創建新項目(圖 8)。
圖 8:通過使用 ST PLC 應用程序,開發人員可以創建新項目(左圖紅色突出顯示),選擇項目名稱(右圖橙色),然后配置將要使用的硬件(右圖綠色)。(圖片來源:Beningo Embedded Group)
配置項目之后,開發人員即可為應用程序創建梯級。第一個項目不妨簡單地測試是否能夠讀取輸入,以及基于該輸入能否設置輸出。開發人員可以通過如下方法來創建此測試:單擊“Add rung”(添加梯級),然后實現在應用程序中必需的邏輯。一旦完成此操作之后,開發人員應該會創建一個類似圖 9 左側所示的梯級。
圖 9:通過使用 ST PLC 應用程序,開發人員可以實現自己的邏輯,以便根據他們的需求來控制設備(左)。一旦創建應用程序之后,便可通過單擊發送應用程序按鈕(右),將其無線推送至 PLC。(圖片來源:Beningo Embedded Group)
保存梯級之后,開發人員將返回到主項目屏幕。在該屏幕上,他們可以在應用程序中編輯梯級或創建更多梯級。如果準備部署應用程序,請單擊圖 9 右側所示的無線傳輸按鈕,這樣可進行連接并傳輸 PLC 應用程序。請注意,開發人員必須將移動設備連接到 PLC 接入點,并配置端口和 IP 地址,這樣才能成功傳輸應用程序。
構建無線 PLC 的技巧和訣竅
在創建自己的定制無線 PLC 時,開發人員可以遵循一些技巧和訣竅。其中包括:
如果無線開發板不工作,請確認開發板在堆棧上的方向正確。(即按正確的方向放置)
通過為 SSID 添加安全密鑰,提升系統安全性。
將默認無線特性更改為站模式,并僅在更新過程中切換到接入點,從而更新 PLC。
考慮添加工業通信協議,例如 RS-485 和 Modbus。
快速構建 PLC 的最佳方式是將它視為一個有趣的問題,然后嘗試使用 PLC 解決該問題。
使用 IAR Embedded Workbench for Arm 來編譯 PLC 嵌入式軟件。該工具鏈在 30 天內代碼不受限。
結論
構建定制 PLC 不一定就那么困難。如本文所示,STMicroelectronics 提供的生態系統讓開發人員能夠開發基本 PLC 軟件,并且極其快速地運行該軟件。然后,開發人員還能夠輕松地修改和定制該應用程序,以滿足各種應用的需求和應對各種挑戰。
雖然主要目標是使用梯形邏輯來創建最終應用代碼,但如果開發人員擁有豐富的經驗和知識,他們可以輕松地對嵌入式軟件進行調整,構建更加強大和靈活的混合系統。
-
Nucleo
+關注
關注
0文章
27瀏覽量
17349 -
STM32F401RE
+關注
關注
0文章
2瀏覽量
4223
發布評論請先 登錄
相關推薦
評論