價值20美元的微控制器是否可以與現實工業控制應用中的PLC匹敵?
隨著公司開發硬件和軟件來支持各種有趣的應用程序,地下機器人制造商的“制造者”世界繼續增長。已經出現了許多微控制器,它們以非常低的前期硬件和軟件成本執行各種功能。
已經出現了許多板,包括微控制器,現場可編程門陣列(FPGA)和單板計算機。其中,Arduino和Raspberry Pi是兩個主要名稱(圖1)。兩者都是開放源代碼的設備,具有可從各種供應商處獲得的組件,并且它們都需要高水平的編程技能和一定的想象力,然后才能用于實時工業控制應用。
一些工業用戶可能會想到這些平臺可以替代入門級PLC。畢竟,如果Arduino可以控制機器人來參加STEM競賽,那為什么它不能控制工業機器人或簡單的機器呢?如果有可能以低至20美元的價格購買Arduino,為什么要在PLC上花費數百美元?Arduino可以做很多事情,但是正如我發現的那樣,即使在簡單的工業應用程序中工作也要說起來容易做起來難。
網絡研討會:PLC與Arduino-按需觀看
使用Arduino進行實時工業控制
工業平臺?
圖1:Arduino和Raspberry Pi平臺具有許多功能,但也缺乏許多實用功能以支持在工業應用中輕松實現。
Raspberry Pi實際上是基于Linux的小型單板PC,而Arduino更像是PLC。盡管這兩種平臺都合適,但我還是選擇了Arduino供我們的項目使用:對泵產生的流量進行閉環控制。傳感器測量流量并將數據發送到Arduino,后者調整控制閥執行器以維持設定點。這是最基本的工業模擬自動化功能之一,通常使用PID回路作為控制算法。
Arduino使用PI控制功能-這種類型的回路不需要派生-從流量計讀取信號并調節閥以達到并保持設定值。這個概念很簡單,但是,在使用實際工業設備時,它變得更加復雜。
Arduino是價格合理的準系統設備,但如果可以編寫正確的程序來匹配應用程序,它確實具有廣泛的功能。對于程序員而言,這是一片空白,沒有本機功能或功能塊可以上傳,因此我不得不從頭開始創建PI算法。
它具有離散和模擬I / O。但是,選擇是有限的。模擬輸入為0-5 V,模擬輸出為脈寬調制(PWM)。這適用于調節電動機的速度或調節溫度控制回路,但不適用于許多其他應用。大多數工業模擬儀器和執行器都是為4-20 mA電流環路設計的,因此該標準已在演示項目中使用,需要大量的設計和工程工作。
處理電流回路
該演示設備使用標準的現成工業組件:羅斯蒙特3051SFP一體式孔板流量計和Fisher Easy-Drive控制閥,均由艾默生自動化解決方案公司提供(圖2)。除了物理尺寸以外,沒有針對任何特定功能或特性選擇這些產品。它們都是非常常見的設備類型,因此非常適合此演示。
流量控制
圖2:此流量計和閥門代表通常用于控制流量的典型工業設備。
第一步是將來自流量計的4-20 mA信號轉換為0-5 V,或更佳的1-5 V,以保持有效零位。這種情況并不罕見,可以從多個來源獲得轉換器。但是,為了保持實驗的DIY特性并降低成本,我從頭開始創建了一個(圖3)。它建立在Arduino原型屏蔽板上,可安裝在主板頂部。一個簡單的250歐姆電阻將4-20 mA信號轉換為1-5V。
電流回路轉換
圖3:信號轉換器板位于Arduino屏蔽棧的中間。它轉換兩個電流回路輸入并將PWM輸出更改為電流回路以控制閥。
更具挑戰性的任務是將PWM轉換為4-20 mA。缺乏商業解決方案表明這不是常見的轉換,因此我不得不從頭開始構建此轉換器(圖4)。我決定使用兩通道光電隔離器對4-20 mA電流環路輸出進行電隔離,以便在與其他電流環路設備連接時具有更大的靈活性。由于電路與電源隔離,因此留下了為電路供電的問題。這是通過使用電壓基準集成電路從電流環路本身為電路供電來解決的。
PWM轉換
圖4:雖然脈寬調制可以很好地控制電動機或加熱元件,但必須將其轉換為電壓或電流環路來驅動大多數其他設備。
Arduino PWM輸出以500 Hz運行。低通濾波器去除500 Hz信號及其諧波,從而產生與PWM占空比成比例的直流信號。設計了二階Sallen-Key有源濾波器,其截止頻率為7 Hz,以提供對500 Hz分量的足夠衰減。
運算放大器(運算放大器)用于將低通濾波器輸出轉換為電流。請記住,所有運算放大器,基準電壓源和光電隔離器輸出的電源電流必須小于4 mA,因為它們必須流過電流環路。最終的隔離輸出需要4-20 mA電流環路提供的最大10 V電源,因此在24 V系統中可以很好地工作。有足夠的空間將所有信號轉換電路安裝在同一屏蔽層上。
基本基礎設施支持
Arduino沒有電源,也沒有任何類型的人機界面(HMI),但是它可以使用添加到堆棧中的小型圖形顯示護罩,屏幕尺寸約為1.75 x 2.25英寸。與PLC不同,需要自定義程序來提供有用的信息,而PLC通常具有多個HMI選項,僅需簡單的屏幕配置即可。電線安裝也是基本的,因此連接外部設備需要一些工作。安裝Arduino板需要創造力,因為沒有外殼,也沒有任何方便的選擇,例如DIN導軌安裝。
在演示項目中,我使用了適合為流量計和控制閥供電的標準24 Vdc電源,但必須通過一個簡單的線性穩壓器將電壓降低至12 Vdc,才能為Arduino供電。
規范的
圖5:流量計,控制閥和大多數PLC在電源(24Vdc)下運行(左)。Arduino的工作電壓為12 Vdc,因此在散熱器下方需要一個額外的調節器(右)以使其脫離主電源。
編寫代碼以在Arduino上實現PI算法必須從頭開始,但是相對簡單。讀取電流環路輸入,計算設定值和輸入之間的差,計算積分和比例校正,并將結果發送到PWM電流環路輸出。
為了查看操作,我編寫了一個程序,使用小顯示屏顯示過程變量(通過電流回路輸入讀取)和控制輸出作為時間的函數。這提供了控制系統性能的直接視圖。
Arduino提供了幾個模擬輸入,因此將三個以上的模擬輸入連接到電位器以調節操作系數(圖6)。一個控制控制器的設定點,允許通過旋鈕旋轉來控制水流。另外兩個為控制回路提供了比例和積分增益,并且可以通過調節兩者來平衡穩定性和響應時間。它們都沒有任何規模或工程單位來指示設置。
監管職位
圖6:在其余三個模擬輸入中添加電位計可以調整設定點以及P和I增益,但是沒有刻度或指示。
準備運行
循環表現
圖7:流量計上的變送器提供了本地顯示,可滾動顯示常規工程單位中的一系列過程變量。使用此功能,可以驗證循環的性能。
流量計具有默認的本地顯示(圖7),以加侖/分鐘(GPM)的形式顯示流速,以英寸水柱為單位的壓差(dP)來顯示回路功能。PI算法按預期執行,可以通過操縱電位器來調整兩個控制因子來調整環路。流量控制表現出PI回路的正常特性(好的和壞的)。
有一個旁通閥,可用于引起過程變化,迫使環路調節閥以保持設定值。我創建了一個程序,以便顯示屏可以顯示循環的有效表示形式(圖8);但是,根據顯示器的尺寸,需要花費一些時間來閱讀。
PWM到電流環路轉換器是主要的帶寬限制。使用低截止頻率來充分過濾PWM的必要性限制了Arduino對條件變化的響應速度。一旦調整了比例增益和積分增益,100 ms(10 Hz)的采樣間隔就可以很好地工作。如果旁通閥打開,它將搶斷系統大約一半的輸入流量,但是Arduino會調整控制閥以在幾秒鐘內達到所需的流量。在水流量穩定的情況下,系統是穩定的,沒有任何跡象表明控制閥正在調整。
從頭開始編程
圖8:顯示屏是Arduino板棧的頂層。雖然很小,但它可以給出環路性能的圖像。但是,所有功能(例如繪制基本網格)都必須從頭開始編程。
自然,Arduino沒有要處理的工程單位的概念,但是PLC也沒有。它只是在處理當前值,這實際上是它要做的全部。操作員可能希望看到加侖或打開的百分比,但對于控制器而言則不必要。
大多數工業級設備(例如PLC)都設計用于在操作至關重要且必須連續的潛在敵對環境中使用。它不能僅僅因為植物變得太熱或太冷而分解并退出。大多數Arduino并非出于這一考慮而構建。越來越多的工業級設備和額定外殼也應運而生,但這種考慮應作為任何分析的一部分。
用PLC進行實時工業控制
演示項目的第二階段使用基本的低端PLC,在這種情況下為AutomationDirect的BRX(BX-DM1E-10ED23-D)。我之前沒有PLC編程經驗或沒有梯形邏輯知識,就進入了這個項目,盡管與經驗豐富的PLC程序員相比,它與Arduino目標進行比較更具挑戰性。
PLC具有一個模擬輸出和一個模擬輸入,均可配置為4-20 mA電流環路操作,以及多個離散輸入和輸出。通過以太網從外部Windows PC對PLC進行編程訪問。第一步是在PC上下載并安裝Do-more Designer軟件,可從www.automationdirect.com免費下載。
安裝軟件后,將PLC通過以太網電纜連接到PC,并用24 Vdc供電(圖9)。便攜式計算機上的快速“ ipconfig”命令顯示了便攜式計算機的以太網地址。通過Do-more Designer軟件將同一子網中的另一個IP地址編程到PLC中。
工業級PLC
AutomationDirect BRX PLC具有內置的,行業標準的模擬和離散I / O以及用于配置和編程的免費Do-more Designer軟件,非常適合于此流環控制應用。
下一步是學習一些梯形邏輯編碼。《 BRX PLC硬件用戶手冊》的第10章包含使用梯形邏輯對簡單計時器進行編程的分步示例。通過本練習,可以很好地介紹軟件和PLC的基本編程結構。
通過軟件將模擬輸入和輸出配置為4-20 mA電流環路。這比為Arduino設計和構建當前循環接口要容易得多。在編寫了幾梯形邏輯梯級之后,直流毫安表驗證了輸出的功能。
PLC提供了復雜的PID指令,允許設置各種回路參數以手動或自動控制回路。通過再次使用毫安表將模擬輸出連接回模擬輸入,創建了一個非常簡單的控制環。將PID指令與縮放的模擬量輸入和輸出相關聯,使PLC無需處理幾加侖的水即可學習PID功能。通過使用電阻器“搶斷”一點輸出電流并觀察BRX PLC的補償來驗證主動PI控制。
有了這種能力,是時候將PLC與我們的流量控制回路集成在一起了。連接到流量傳感器非常簡單,其中24 Vdc電源為流量傳感器電流環路提供激勵。控制閥更加容易,因為PLC電流回路輸出提供了必要的激勵。
啟動系統,使用Do-more Designer軟件調整PID函數的比例系數和積分系數以實現穩定的流量就很簡單了。流量的調整非常簡單,可以通過Do-more Designer軟件調整設定值。
Do-more Designer軟件的PID功能提供了過程變量和控制變量的自定標圖,從而可以清晰,實時地監視系統性能。
除了基本的核心操作級別外,PLC還提供了工業應用中經常需要的各種通用支持功能,例如極限檢測,報告和數據記錄。與必須從頭開始編寫每個功能的Arduino演示相比,該PLC使系統設計人員可以專注于應用程序及其如何適應更大的生產系統,而無需關注控制器硬件和軟件的細節。
另請閱讀:新技術將機器智能推向邊緣
制造還是購買?
那么,Arduino還是PLC,哪個更好?如果僅考慮控制器和I / O的裸機成本,則Arduino勝出。但是,當添加了使Arduino在此相對簡單的應用程序中使用所需的所有輔助組件時,硬件成本差距將縮小或消失。組裝和編程Arduino所需的時間也很長。如果以接近正常工程工時費率的時間來計算時間,則PLC無疑是總成本方面的贏家。
關于性能,Arduino和PLC都完成了任務。
盡管我們的項目僅著眼于控制簡單的流量回路,但大多數工業應用將需要多種其他離散和模擬控制功能。使用PLC,很多都是內置的,而沒有使用Arduino。
有C語言編程經驗的人可能會很快對Arduino進行研究,但是即使是最基本的工業功能也必須從頭開始編寫。從未對這兩種類型的控制器進行過編程的人都將與兩種平臺有關。
但是,PLC的在線教程和其他教程的數量無疑受到了青睞,因為它們專門針對工業用戶,有許多功能庫可供下載以執行常見操作。例如,PLC有可用的環路調整軟件,為Arduino編寫將非常復雜。
在更工業化的Arduino和Raspberry PI器件出現之前,設備的耐用性肯定會有利于PLC。同時,大多數PLC都是產品系列的一部分,具有可擴展性和本機功能的廣度,因此擴展起來容易得多。與Arduino或Raspberry PI平臺相比,帶有附加I / O模塊,HMI和其他用于安裝在控制柜中的輔助設備的PLC將更易于使用,并且效率更高。
對于學習代碼編寫和控制概念的基礎的人,Arduino及其同類產品提供了有趣的教學工具。必須從頭開始編寫控制算法會使用戶考慮如何執行自動化的復雜性。如此低廉的成本可提供如此先進的設備,這是非常可觀的,對于時間比金錢還多的人來說,這是一個福音。
但是對于生產和收入受到威脅的實際工業應用,只需花幾百美元就可以獲得具有同等或更好功能的PLC,它將附帶大量的在線培訓視頻和其他信息,以及專門設計的功能塊庫用于工業應用。
-
plc
+關注
關注
5012文章
13314瀏覽量
463841 -
工業控制
+關注
關注
38文章
1458瀏覽量
85884 -
Arduino
+關注
關注
188文章
6471瀏覽量
187244
發布評論請先 登錄
相關推薦
評論