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