控制系統(tǒng)設(shè)計:從IO點(diǎn)表到梯形圖實戰(zhàn)解析)
簡介基于PLC自動洗車機(jī)控制系統(tǒng)的設(shè)計方案文檔圍繞汽車清洗行業(yè)自動化需求給出從需求分析到程序?qū)崿F(xiàn)的完整設(shè)計流程適合自動化、電氣工程及機(jī)電一體化專業(yè)學(xué)生也可供PLC控制工程師在類似設(shè)備開發(fā)中參考。內(nèi)容先介紹應(yīng)用背景與國內(nèi)外的洗車技術(shù)現(xiàn)狀再對比自動與半自動洗車機(jī)、各類洗車機(jī)適用范圍并明確工藝控制要求、控制系統(tǒng)原理圖及各部件電機(jī)、泵、閥門控制要求、元器件選擇方法隨后深入PLC硬件設(shè)計包括PLC分類選型、基于PLC的控制特點(diǎn)、I/O分配表和外部接線圖最后以控制系統(tǒng)流程圖和梯形圖實現(xiàn)收尾覆蓋了完整的項目開發(fā)鏈條。資源包僅為1個docx文檔大小約863KB文字與圖表結(jié)合便于直接打印或二次編輯。已有700人學(xué)習(xí)下載既能幫助獨(dú)立完成PLC課程設(shè)計報告也能為實際項目中的PLC選型、I/O分配和梯形圖編程提供具體參考。 搞工控這些年接過的項目不算少但要說最能“上手即用”、又最容易在細(xì)節(jié)上翻車的自動洗車機(jī)絕對排得上號。市面上掛著“智能洗車”招牌的設(shè)備拆開電控柜一看核心十有八九就是一臺PLC再配上幾個光電傳感器、限位開關(guān)把水泵、風(fēng)機(jī)、刷子電機(jī)按順序伺候明白整套系統(tǒng)就轉(zhuǎn)起來了。這篇文章就拿一個典型的PLC自動洗車機(jī)控制系統(tǒng)當(dāng)例子從需求拆解、IO點(diǎn)表、梯形圖設(shè)計到現(xiàn)場調(diào)試把整個項目的來龍去脈完整捋一遍。正在做課程設(shè)計或畢業(yè)設(shè)計的學(xué)生可以參考剛?cè)胄邢胝覀€完整工程練手的電氣工程師也能從中拿到一些平時不寫在圖紙上的處理細(xì)節(jié)。1. 項目概述與需求拆解1.1 自動洗車機(jī)到底需要PLC干什么自動洗車機(jī)的本質(zhì)是一條按時間順序觸發(fā)的自動流水線。車輛停在固定位置后控制系統(tǒng)需要依次完成噴淋預(yù)洗、泡沫噴灑、頂刷清洗、側(cè)刷清洗、高壓沖洗、風(fēng)機(jī)風(fēng)干這幾個工序每個工序都要控制對應(yīng)的電機(jī)、電磁閥和接觸器動作并且要根據(jù)傳感器信號判斷當(dāng)前車輛是否到位、刷子是否到達(dá)極限位置。這套邏輯如果用繼電器搭也不是不行但觸點(diǎn)太多、接線太亂后期改一個時間參數(shù)就得重新布線。PLC的方案就靈活得多所有時序邏輯寫在程序里要調(diào)整某個工序的持續(xù)時間直接在觸摸屏上改定時器參數(shù)即可不用動一根線。另外洗車現(xiàn)場水霧大、震動強(qiáng)、電壓波動明顯PLC的抗干擾能力比起單片機(jī)方案要靠譜得多這也是為什么絕大多數(shù)商用洗車機(jī)都選PLC做主控。這個項目比較典型的一點(diǎn)是輸入輸出點(diǎn)數(shù)不多一般20到40個點(diǎn)就能覆蓋全部需求。但麻雀雖小五臟俱全里面涉及啟動自鎖、互鎖保護(hù)、定時控制、手動自動切換、故障報警這些基礎(chǔ)邏輯正好是把PLC編程基本功練扎實的好素材。1.2 方案選型為什么不用單片機(jī)或繼電器先把結(jié)論放前面自動洗車機(jī)選PLC是綜合可靠性、開發(fā)效率、維護(hù)成本之后的最優(yōu)解而不是唯一解。有些小型自助洗車機(jī)用單片機(jī)加繼電器板也能跑成本確實更低但單片機(jī)方案的短板很明顯——開發(fā)周期長、現(xiàn)場調(diào)試不便、抗干擾能力弱一旦某個IO口燒了普通電工根本修不了只能返廠。繼電器方案則敗在靈活性上洗車工序一旦調(diào)整改線改到懷疑人生。PLC方案真正值錢的地方在于“可編程”三個字。以這個項目為例洗車流程從啟動到結(jié)束大概需要3到5分鐘中間每一步的等待時間、刷子正反轉(zhuǎn)次數(shù)、水泵啟停順序全部是軟件層面的設(shè)定?,F(xiàn)場調(diào)試的時候業(yè)主覺得某個工序時間太長或太短我直接在觸摸屏上把定時器數(shù)值改一下前后不超過兩分鐘這在繼電器時代是不可想象的效率。所以如果有朋友問我個人項目選型的問題我的建議一直是別糾結(jié)IO點(diǎn)數(shù)在10個以上、控制流程會變的直接上PLC。2. 硬件選型與IO點(diǎn)表設(shè)計2.1 PLC型號選擇與輸出類型分析自動洗車機(jī)這個應(yīng)用場景對PLC的運(yùn)算速度幾乎沒有要求但對輸出點(diǎn)的驅(qū)動能力和可靠性有講究。我這次用的是三菱FX3U系列輸入輸出各16點(diǎn)完全夠用。選三菱主要是因為梯形圖指令生態(tài)成熟市面上參考資料多學(xué)生和初級工程師上手門檻低。當(dāng)然換成西門子S7-200 SMART、信捷XC系列或者匯川H1U都行邏輯思路完全一致差異只在指令寫法上。這里重點(diǎn)說一下輸出類型的選擇。PLC輸出分繼電器型和晶體管型兩種自動洗車機(jī)這種負(fù)載以交流接觸器、電磁閥為主的應(yīng)用我推薦用繼電器輸出型原因很直接繼電器輸出可以直連交流220V負(fù)載單個觸點(diǎn)通斷能力通常能達(dá)到2A帶動小型接觸器線圈完全沒問題而且過載時觸點(diǎn)燒了直接換繼電器底座就行成本極低。晶體管輸出雖然響應(yīng)速度快、壽命長但它只能接直流負(fù)載中間還需要加MOS管或驅(qū)動板做功率放大反而把系統(tǒng)搞復(fù)雜了。我見過有人用晶體管輸出的PLC去直接驅(qū)動交流接觸器結(jié)果一上電就把輸出點(diǎn)燒了原因就是電壓類型不匹配。這個問題在熱詞里也經(jīng)常出現(xiàn)“MOS管的plc輸出電路”本質(zhì)上是沒搞清楚晶體管輸出只能帶直流負(fù)載這個前提。所以選型的時候先想清楚負(fù)載類型再決定輸出形式別盲目追求高配。2.2 傳感器與執(zhí)行機(jī)構(gòu)的點(diǎn)位規(guī)劃IO點(diǎn)表是PLC項目里最不該省的一步點(diǎn)位規(guī)劃得越細(xì)后面寫程序越省心。自動洗車機(jī)涉及的輸入信號大致分三類第一類是操作指令包括啟動按鈕、停止按鈕、急停按鈕第二類是位置檢測包括車輛到位傳感器、刷子前后限位、頂刷上下限位第三類是故障保護(hù)包括水泵過載、風(fēng)機(jī)過載、變頻器故障。輸出信號則包括各電磁閥、接觸器、指示燈和蜂鳴器。我整理了一份通用的點(diǎn)位分配表供參考點(diǎn)位功能說明類型備注X0啟動按鈕輸入常開X1停止按鈕輸入常閉X2急停按鈕輸入常閉安全回路X3車輛到位光電傳感器輸入常開X4前限位開關(guān)輸入常開X5后限位開關(guān)輸入常開X6頂刷上限位輸入常開X7頂刷下限位輸入常開X10側(cè)刷左限位輸入常開X11側(cè)刷右限位輸入常開X12水泵熱繼電器輸入常閉X13風(fēng)機(jī)熱繼電器輸入常閉Y0噴淋電磁閥輸出220V ACY1泡沫電磁閥輸出220V ACY2高壓水泵接觸器輸出220V ACY3頂刷電機(jī)正轉(zhuǎn)輸出220V ACY4頂刷電機(jī)反轉(zhuǎn)輸出220V ACY5側(cè)刷電機(jī)正轉(zhuǎn)輸出220V ACY6側(cè)刷電機(jī)反轉(zhuǎn)輸出220V ACY7風(fēng)機(jī)接觸器輸出220V ACY10運(yùn)行指示燈輸出24V DCY11蜂鳴器輸出24V DC這里有幾個容易忽略的細(xì)節(jié)。第一停止按鈕和急停按鈕用常閉觸點(diǎn)接入這樣一旦線路斷線系統(tǒng)會自動進(jìn)入停止?fàn)顟B(tài)符合安全設(shè)計里的“失效安全”原則。第二車輛到位傳感器我用了對射式光電開關(guān)抗水霧干擾能力比漫反射式強(qiáng)很多洗車現(xiàn)場水汽大這個選擇能省掉不少誤觸發(fā)的麻煩。第三所有電機(jī)類負(fù)載都配了熱繼電器觸點(diǎn)接入PLC輸入過載時能及時切斷程序運(yùn)行防止電機(jī)燒毀。3. 控制流程與梯形圖程序設(shè)計3.1 洗車工藝步驟與狀態(tài)轉(zhuǎn)移設(shè)計寫自動洗車機(jī)程序核心思路是“步進(jìn)控制”也就是把整個洗車過程拆成若干個獨(dú)立的步驟每一步執(zhí)行完特定動作后滿足轉(zhuǎn)移條件才進(jìn)入下一步。這種做法的好處是邏輯清晰、容易排查問題每一步干了什么、卡在哪里一眼就能看出來。我設(shè)計的工藝流程如下待機(jī)狀態(tài)檢測到車輛到位信號后蜂鳴器提示等待啟動按鈕按下。噴淋預(yù)洗打開噴淋電磁閥持續(xù)30秒將車身表面灰塵潤濕。泡沫噴灑關(guān)閉噴淋閥打開泡沫閥持續(xù)20秒讓泡沫覆蓋車身。頂刷清洗頂刷電機(jī)正轉(zhuǎn)帶動刷子從車頭掃到車尾碰到后限位后反轉(zhuǎn)從車尾掃回車頭碰到前限位后停止。這個過程重復(fù)兩遍。側(cè)刷清洗左右側(cè)刷電機(jī)同時正轉(zhuǎn)清洗車身側(cè)面持續(xù)60秒后停止。高壓沖洗關(guān)閉泡沫閥打開高壓水泵和噴淋閥持續(xù)40秒沖掉泡沫和污漬。風(fēng)機(jī)風(fēng)干關(guān)閉水泵打開風(fēng)機(jī)持續(xù)120秒吹干車身表面。完成狀態(tài)蜂鳴器響3秒所有輸出復(fù)位系統(tǒng)回到待機(jī)狀態(tài)。在程序里我使用M0到M7這8個輔助繼電器作為每個步驟的狀態(tài)標(biāo)志位。M0是待機(jī)M1到M7對應(yīng)上述7個工藝步驟。每一步的開始條件是上一步的結(jié)束信號結(jié)束信號可能是定時器到點(diǎn)也可能是限位開關(guān)動作。這種做法相當(dāng)于自己實現(xiàn)了一個簡化版狀態(tài)機(jī)比用SET/RST指令逐段切換要清晰得多也方便后續(xù)增加工序。3.2 梯形圖核心程序段拆解下面拆解幾個核心程序段的寫法和設(shè)計思路這些都是可以“抄作業(yè)”的模板。第一段啟動自鎖電路。X0是啟動按鈕M0是運(yùn)行狀態(tài)標(biāo)志。按下X0后M0得電并自鎖同時觸發(fā)下一步的狀態(tài)轉(zhuǎn)移。M0 運(yùn)行狀態(tài) |---[ X0 ]---[ M0 ]------( M0 ) | | |---[ M0 ]------------- M0 得電后系統(tǒng)離開待機(jī)狀態(tài)進(jìn)入噴淋預(yù)洗工序 |---[ M0 ]---[ T0 定時結(jié)束常閉 ]---( M1 )第二段步進(jìn)狀態(tài)轉(zhuǎn)移。這里用了“上一步狀態(tài) 轉(zhuǎn)移條件 下一步未激活”的組合邏輯。比如M1是噴淋預(yù)洗當(dāng)M1得電時啟動定時器T0設(shè)定值K300表示30秒。定時時間到后T0常開觸點(diǎn)閉合M2得電進(jìn)入泡沫噴灑階段同時M1通過互鎖條件自動復(fù)位。M1 噴淋預(yù)洗 |---[ M1 ]---( T0 K300 ) |---[ M1 ]---[ T0 ]---[ M2 未激活 ]---( M2 ) |---[ M2 ]-------------------------------( RST M1 )第三段正反轉(zhuǎn)互鎖控制。頂刷電機(jī)的正反轉(zhuǎn)絕對不能同時得電否則輕則跳閘重則燒毀電機(jī)。我在程序里做了雙重保護(hù)第一重是梯形圖互鎖Y3得電時Y4的自?;芈繁磺袛嗟诙厥怯布ユiY3和Y4的常閉觸點(diǎn)串在對方回路里即使程序異常兩個接觸器也不可能同時吸合。頂刷正轉(zhuǎn) Y3 |---[ M4 頂刷清洗 ]---[ X4 前限位常閉 ]---[ Y4 反轉(zhuǎn)互鎖常閉 ]---( Y3 ) 頂刷反轉(zhuǎn) Y4 |---[ M4 ]---[ X5 后限位常閉 ]---[ Y3 正轉(zhuǎn)互鎖常閉 ]---( Y4 )第四段故障聯(lián)動停止。熱繼電器X12和X13選用常閉信號接入正常時保持導(dǎo)通。一旦水泵或風(fēng)機(jī)過載對應(yīng)的常閉觸點(diǎn)斷開M0運(yùn)行狀態(tài)被切斷所有輸出復(fù)位同時蜂鳴器Y11報警。這樣處理的好處是故障發(fā)生時不需要PLC程序掃描到定時器結(jié)束響應(yīng)速度更快安全性更高。關(guān)于熱詞里提到的“plc中如何把變量給輸出端口賦值”這個問題其實在梯形圖里就是通過線圈輸出指令實現(xiàn)的。當(dāng)某個狀態(tài)標(biāo)志M為ON時對應(yīng)的Y線圈就跟著得電本質(zhì)上就是“把變量的狀態(tài)映射到物理輸出端口”。如果用到模擬量模塊也可以用MOV指令把數(shù)值寄存器D的內(nèi)容傳送到模擬量輸出寄存器再通過模塊轉(zhuǎn)換成電流或電壓信號去控制變頻器頻率這在控制水泵轉(zhuǎn)速的恒壓供水洗車機(jī)里很常見。3.3 觸摸屏畫面組態(tài)與參數(shù)設(shè)置自動洗車機(jī)的操作體驗一大半靠觸摸屏HMI畫面設(shè)計得好操作人員基本不用看說明書。我用的是威綸通MT8071iP7寸屏帶以太網(wǎng)口跟三菱FX3U通過串口通訊設(shè)置上很成熟。畫面我分了四頁主頁顯示當(dāng)前工序狀態(tài)和倒計時手動調(diào)試頁可以單獨(dú)測試每個輸出點(diǎn)參數(shù)設(shè)置頁可以調(diào)整各工序的持續(xù)時間報警頁顯示最近的歷史故障記錄。參數(shù)設(shè)置頁是使用頻率最高的頁面把T0到T7的定時器數(shù)值直接關(guān)聯(lián)到D寄存器上這樣操作人員改時間時不需要進(jìn)PLC程序在屏上就能完成。比如T0的設(shè)定值本來寫的是K300我可以改成從D0寄存器讀取然后在觸摸屏上把D0的數(shù)值顯示出來操作人員直接在屏上輸入30程序就按30秒執(zhí)行。這個做法的關(guān)鍵是PLC里要寫一行傳送指令在每次上電時把D寄存器的值讀到定時器里。我建議初學(xué)者在組態(tài)HMI時多留一頁手動調(diào)試畫面對于現(xiàn)場調(diào)試的效率提升非常明顯。以前沒做手動頁時測試一個輸出點(diǎn)要反復(fù)改PLC程序現(xiàn)在直接在屏上點(diǎn)按鈕就能測試單個電磁閥或電機(jī)省了很多來回折騰的功夫。4. 現(xiàn)場調(diào)試與常見問題排查4.1 水霧環(huán)境下的干擾與誤動作處理自動洗車機(jī)最頭疼的問題不是程序?qū)懖怀鰜矶乾F(xiàn)場跑起來后出現(xiàn)的各種“靈異現(xiàn)象”。我總結(jié)了一下大概有五個典型場景現(xiàn)象原因分析解決措施光電傳感器誤觸發(fā)水霧附著在鏡頭上造成光路折射改用對射式傳感器安裝時傾斜一定角度定期清理鏡頭PLC偶爾死機(jī)或程序跑飛變頻器高頻諧波干擾PLC電源加濾波器通訊線用屏蔽雙絞線屏蔽層單端接地刷子電機(jī)過載報警頻繁刷子與車身摩擦阻力過大調(diào)整刷子限位位置在程序中增加過載復(fù)歸延時高壓水泵啟動瞬間電壓跌落電機(jī)直接啟動沖擊電流過大改用變頻器軟啟動或采用星三角降壓啟動電磁閥線圈燒毀水汽進(jìn)入接線盒造成短路選用帶防水接頭的線圈接線盒涂覆絕緣漆這些問題的共性是單純靠程序解決不了必須從硬件安裝和接線工藝上找突破口。比如光電傳感器的安裝角度很多人都忽視了這個細(xì)節(jié)傳感器正對著水流方向安裝再好的防水等級也扛不住長期沖刷。我后來統(tǒng)一改成傾斜45度安裝水珠掛不住誤動作率直線下降。4.2 調(diào)試流程與編程中的常見坑現(xiàn)場調(diào)試的順序很重要我習(xí)慣按三步走先空載調(diào)試再帶載調(diào)試最后聯(lián)機(jī)調(diào)試。空載調(diào)試就是斷開所有電機(jī)主回路只給PLC和傳感器送電逐個測試輸入輸出點(diǎn)是否和點(diǎn)表一致這時候把所有線路問題暴露出來。帶載調(diào)試時接上水泵和風(fēng)機(jī)重點(diǎn)觀察啟動電流和接觸器動作聲音聽有沒有異常。聯(lián)機(jī)調(diào)試才走完整流程讓洗車機(jī)真正跑幾遍車觀察整個時序是否流暢。三步走的過程中有幾個坑是初學(xué)者很容易踩的。第一個坑把定時器串聯(lián)在步進(jìn)狀態(tài)里時沒有考慮重復(fù)觸發(fā)。比如泡沫噴灑這一步如果按下停止按鈕后重新啟動M2在復(fù)位前定時器T2還在計時重新啟動時T2當(dāng)前值沒清零會導(dǎo)致噴灑時間不足。解決方法是每次進(jìn)入M2時先執(zhí)行RST T2把定時器復(fù)位一遍。第二個坑電機(jī)過載信號用熱繼電器的常開還是常閉。很多人在這里栽過跟頭記住一句話安全相關(guān)信號一律用常閉觸點(diǎn)接入。用常閉的意義在于一旦熱繼電器到PLC之間的接線斷了PLC會認(rèn)為故障發(fā)生而停機(jī)如果用了常開斷線時PLC永遠(yuǎn)檢測不到故障隱患極大。第三個坑停止按鈕復(fù)位邏輯沒做好。按下急停后如果程序里沒有設(shè)置復(fù)位條件再啟動時系統(tǒng)會直接從斷點(diǎn)繼續(xù)運(yùn)行這在洗車機(jī)這種流水線設(shè)備里非常危險。我通常會在程序中加一條規(guī)則任何停止或急停動作發(fā)生后系統(tǒng)必須回到待機(jī)狀態(tài)M0車輛需要重新到位并再次按下啟動按鈕才能重新開始。我還想單獨(dú)說一下剎車和刷子電機(jī)的問題。洗車機(jī)的刷子電機(jī)經(jīng)常需要正反轉(zhuǎn)切換如果切換太急電機(jī)的機(jī)械沖擊很大時間長了齒輪箱容易損壞。我一般在正反轉(zhuǎn)切換之間加一個0.5秒的延時讓電機(jī)完全停下來再反方向啟動。這個細(xì)節(jié)看著不起眼但客戶用了兩年后對比同類設(shè)備說我的機(jī)器明顯比其他家的安靜耐用其實就是這點(diǎn)邏輯上的差別。值得延伸的兩個方向這個項目做完之后我最大的感受是PLC控制的自動洗車機(jī)作為課程設(shè)計項目來說難度適中既有傳感器選型、電氣接線這些硬件內(nèi)容又有梯形圖設(shè)計、HMI組態(tài)這些軟件內(nèi)容學(xué)完一遍基本能把PLC開發(fā)的全流程走通。如果還想繼續(xù)深入推進(jìn)兩個方向。一是通信層把洗車機(jī)接入云平臺用4G模塊或WiFi模塊把運(yùn)行數(shù)據(jù)上傳到服務(wù)器車主在手機(jī)上就能看到排隊情況和洗車進(jìn)度這個方向會用到MODBUS TCP通信和物聯(lián)網(wǎng)協(xié)議熱詞里信捷PLC與??迪鄼C(jī)通訊、西門子PLC與變頻器通訊都屬于這個范疇。二是視覺識別用工業(yè)相機(jī)加AI算法做車型識別和污漬檢測根據(jù)車身大小自動調(diào)整刷子壓力這樣可以實現(xiàn)真正的“智能洗車”而不是簡單的時間序列控制。不過說句實在話再高級的智能化底層還是離不開最開始這張IO點(diǎn)表和那幾百行梯形圖。基礎(chǔ)打得牢后面的路才能走得穩(wěn)。本文還有配套的精品資源點(diǎn)擊獲取