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