料小車(chē)PLC自動(dòng)往返控制:三菱FX3U梯形圖與調(diào)試全解)
車(chē)間里那種來(lái)回運(yùn)料的小車(chē)估計(jì)沒(méi)人覺(jué)得陌生A點(diǎn)裝料沿軌道跑到B點(diǎn)卸料再空車(chē)跑回來(lái)循環(huán)往復(fù)。以前不少?gòu)S子是用繼電器搭正反轉(zhuǎn)回路加兩個(gè)行程開(kāi)關(guān)就完事線接得跟蜘蛛網(wǎng)一樣真出故障了只能對(duì)著端子排一根根查。這次我直接用三菱FX3U PLC把這套控制整體重寫(xiě)把核心控制邏輯用梯形圖固化下來(lái)維護(hù)的人只要搞懂十幾行梯形圖比對(duì)著繼電器盤(pán)硬猜強(qiáng)太多了。這篇文章就把整套東西完整拆開(kāi)聊從點(diǎn)位規(guī)劃、梯形圖邏輯到現(xiàn)場(chǎng)調(diào)試會(huì)遇到的問(wèn)題一次性講透。這套方案能解決什么問(wèn)題、適合誰(shuí)看如果你正在做運(yùn)料小車(chē)、傳送帶往返、料斗升降這類(lèi)典型的兩點(diǎn)往返控制或者剛接觸PLC想找一個(gè)能直接抄作業(yè)的正反轉(zhuǎn)自動(dòng)循環(huán)案例這篇就是照著車(chē)間實(shí)際項(xiàng)目的路子寫(xiě)的。我盡量不說(shuō)虛的全是能落地的內(nèi)容。1. 運(yùn)料小車(chē)的工藝需求拆解先弄清楚小車(chē)到底要干什么別急著寫(xiě)程序。任何PLC項(xiàng)目第一步都是把工藝動(dòng)作搞清楚運(yùn)料小車(chē)也不例外。別看它動(dòng)作簡(jiǎn)單控制需求理不清后面梯形圖寫(xiě)出來(lái)也是帶著病跑的。1.1 典型動(dòng)作流程與隱藏的控制要求最常見(jiàn)的運(yùn)料小車(chē)工況是這樣的小車(chē)停在A點(diǎn)料斗打開(kāi)裝料裝夠時(shí)間后小車(chē)電機(jī)正轉(zhuǎn)沿軌道駛向B點(diǎn)到了B點(diǎn)撞到限位電機(jī)停卸料門(mén)打開(kāi)卸料卸夠時(shí)間后電機(jī)反轉(zhuǎn)小車(chē)返回A點(diǎn)回到A點(diǎn)撞到限位電機(jī)停又開(kāi)始下一輪裝料。表面上就這幾步但落到控制要求上就沒(méi)這么簡(jiǎn)單了小車(chē)電機(jī)必須能正反轉(zhuǎn)而且正反轉(zhuǎn)絕對(duì)不能同時(shí)接通這是安全底線。兩端必須有位置檢測(cè)到位自動(dòng)停車(chē)不能靠人盯著。裝料、卸料都需要停留時(shí)間時(shí)間長(zhǎng)短要能調(diào)?,F(xiàn)場(chǎng)必須能手動(dòng)操作調(diào)試、對(duì)料、應(yīng)急處理時(shí)都要用。要有急停、過(guò)載保護(hù)電機(jī)堵轉(zhuǎn)或小車(chē)卡住時(shí)能停下來(lái)。最好能自動(dòng)循環(huán)運(yùn)行一鍵啟動(dòng)后不用人工干預(yù)。我按這個(gè)最常見(jiàn)的兩端限位定時(shí)停留工況來(lái)做后面提到的所有邏輯也都圍繞這套需求展開(kāi)。真實(shí)項(xiàng)目里如果還有卸料門(mén)開(kāi)到位/關(guān)到位檢測(cè)、小車(chē)載重信號(hào)、多料位停靠等都是在這些基本控制點(diǎn)上的擴(kuò)展思路是一樣的。1.2 I/O點(diǎn)位規(guī)劃與FX3U選型控制需求理清之后接下來(lái)就是分配I/O點(diǎn)。這一步非常重要點(diǎn)位分配合理后面寫(xiě)梯形圖、接線都會(huì)很順。我這套項(xiàng)目的輸入輸出點(diǎn)位如下軟元件功能說(shuō)明X0啟動(dòng)按鈕常開(kāi)按下啟動(dòng)自動(dòng)循環(huán)X1停止按鈕常閉斷開(kāi)即停X2A點(diǎn)限位常開(kāi)小車(chē)到位A點(diǎn)時(shí)接通X3B點(diǎn)限位常開(kāi)小車(chē)到位B點(diǎn)時(shí)接通X4手動(dòng)/自動(dòng)切換旋鈕開(kāi)關(guān)閉合為手動(dòng)模式X5手動(dòng)正轉(zhuǎn)按鈕常開(kāi)手動(dòng)模式下點(diǎn)動(dòng)正轉(zhuǎn)X6手動(dòng)反轉(zhuǎn)按鈕常開(kāi)手動(dòng)模式下點(diǎn)動(dòng)反轉(zhuǎn)X7急停按鈕常閉斷開(kāi)即停X10熱繼電器常閉電機(jī)過(guò)載時(shí)斷開(kāi)Y0正轉(zhuǎn)接觸器控制電機(jī)正轉(zhuǎn)Y1反轉(zhuǎn)接觸器控制電機(jī)反轉(zhuǎn)Y2裝料電磁閥裝料時(shí)打開(kāi)Y3卸料電磁閥卸料時(shí)打開(kāi)用三菱FX3U-32MR/ES這臺(tái)基本單元就夠14點(diǎn)輸入、10點(diǎn)輸出點(diǎn)位有富余后面想加報(bào)警燈、蜂鳴器都有地方接。這里解釋一下為什么選FX3U而不是別的型號(hào)。一是車(chē)間存量確實(shí)大很多老設(shè)備升級(jí)改造就是用FX3U替換繼電器控制盤(pán)備件、圖紙、維修人員的經(jīng)驗(yàn)都現(xiàn)成二是GX Works2編程軟件用得順手梯形圖、指令表、仿真都齊對(duì)新手也友好三是擴(kuò)展能力夠用后面想加模擬量、通訊模塊都支持不會(huì)做到一半發(fā)現(xiàn)CPU不動(dòng)。對(duì)一臺(tái)運(yùn)料小車(chē)來(lái)說(shuō)FX3U的性能完全冗余但冗余意味著穩(wěn)定和好維護(hù)這正是車(chē)間設(shè)備最看重的。1.3 為什么用PLC替代繼電器控制盤(pán)這里多聊一句選型邏輯。繼電器控制也能實(shí)現(xiàn)正反轉(zhuǎn)和限位停但有個(gè)致命問(wèn)題邏輯是硬的改一個(gè)動(dòng)作就要改線。我們今天把裝料時(shí)間從5秒改成8秒繼電器盤(pán)要換時(shí)間繼電器PLC只需要改一個(gè)定時(shí)器常數(shù)K50改成K80或者更省事把定時(shí)值放到觸摸屏上操作工自己填。再一個(gè)是排障效率PLC有輸入輸出指示燈接近開(kāi)關(guān)、限位、接觸器哪個(gè)沒(méi)動(dòng)作一目了然繼電器盤(pán)就只能拿萬(wàn)用表一段段量了。所以別覺(jué)得小項(xiàng)目用PLC是殺雞用牛刀省下來(lái)的維護(hù)時(shí)間很快就能回本。2. 梯形圖核心控制邏輯拆解啟停、互鎖與自動(dòng)往返來(lái)到這篇博文的硬核部分。運(yùn)料小車(chē)梯形圖看著簡(jiǎn)單但里面的邏輯關(guān)系很值得細(xì)摳。我習(xí)慣把程序拆成幾大塊來(lái)寫(xiě)運(yùn)行標(biāo)志、正反轉(zhuǎn)輸出、自動(dòng)循環(huán)、手動(dòng)邏輯。每一塊獨(dú)立調(diào)通再合到一起總裝排查問(wèn)題的時(shí)候腦子和思路都清楚得多。2.1 運(yùn)行標(biāo)志啟動(dòng)、停止、急停、過(guò)載串在一條鏈上整個(gè)程序最上面一層我放了一個(gè)運(yùn)行標(biāo)志M0。它相當(dāng)于總閘M0不ON后面所有自動(dòng)動(dòng)作都免談。邏輯用指令表寫(xiě)出來(lái)就是這樣的照著串并聯(lián)關(guān)系還原到梯形圖里很容易LD X0 OR M0 ANI X1 ANI X7 ANI X10 OUT M0這個(gè)回路就是經(jīng)典的起保停電路X0啟動(dòng)按鈕按下M0得電松手后M0自保持X1停止按鈕、X7急停、X10熱繼電器任一斷開(kāi)M0就斷電整個(gè)自動(dòng)流程停止。為什么用輔助繼電器M0而不是直接把啟動(dòng)條件接到輸出線圈上因?yàn)楹竺孀詣?dòng)正轉(zhuǎn)、自動(dòng)反轉(zhuǎn)、裝料閥、卸料閥都需要M0做總使能用一個(gè)中間繼電器做運(yùn)行標(biāo)志后面的程序段全部拿M0的常開(kāi)觸點(diǎn)去串邏輯清晰也方便手動(dòng)/自動(dòng)切換時(shí)統(tǒng)一切斷。2.2 正反轉(zhuǎn)輸出與三重互鎖小車(chē)電機(jī)的正反轉(zhuǎn)是運(yùn)料小車(chē)控制里最不能出錯(cuò)的環(huán)節(jié)。三相異步電機(jī)正反轉(zhuǎn)就是換相序正轉(zhuǎn)接觸器KM1吸合、反轉(zhuǎn)接觸器KM2吸合。問(wèn)題是這兩個(gè)接觸器只要同時(shí)吸合就是相間短路輕則跳閘重則炸接觸器。所以正反轉(zhuǎn)必須做互鎖而且我建議做三重第一重是程序互鎖。正轉(zhuǎn)輸出回路里串反轉(zhuǎn)線圈的常閉觸點(diǎn)反轉(zhuǎn)輸出回路里串正轉(zhuǎn)線圈的常閉觸點(diǎn)。用指令表表達(dá)LD M1 ANI Y1 OUT Y0 LD M2 ANI Y0 OUT Y1M1、M2分別是正轉(zhuǎn)、反轉(zhuǎn)的中間控制信號(hào)Y1、Y0互為對(duì)方的禁止條件。程序執(zhí)行時(shí)正轉(zhuǎn)和反轉(zhuǎn)永遠(yuǎn)不可能同時(shí)輸出高電平。第二重是硬件互鎖。交流接觸器上有常閉輔助觸點(diǎn)把KM1的常閉觸點(diǎn)串進(jìn)KM2的線圈回路把KM2的常閉觸點(diǎn)串進(jìn)KM1的線圈回路。就算PLC程序出問(wèn)題、輸出模塊壞掉兩個(gè)接觸器也不具備同時(shí)吸合的條件。這是必須做的不能省。第三重是換向延時(shí)。運(yùn)料小車(chē)帶負(fù)載電機(jī)從正轉(zhuǎn)突然切反轉(zhuǎn)沖擊電流很大機(jī)械傳動(dòng)部分容易損壞。程序里我習(xí)慣在正轉(zhuǎn)結(jié)束和反轉(zhuǎn)開(kāi)始之間加一個(gè)0.5秒左右的延時(shí)讓電機(jī)完全停下來(lái)再反向啟動(dòng)。實(shí)現(xiàn)方式是在切換邏輯里串一個(gè)定時(shí)器T2做方向切換等待正轉(zhuǎn)斷開(kāi)、等待延時(shí)到、再到反轉(zhuǎn)啟動(dòng)。2.3 自動(dòng)循環(huán)裝料、正轉(zhuǎn)、卸料、反轉(zhuǎn)組成的一個(gè)完整閉環(huán)自動(dòng)循環(huán)是整個(gè)梯形圖的核心控制邏輯。我先把流程再捋一遍小車(chē)在A點(diǎn) - 裝料延時(shí) - 正轉(zhuǎn)去B點(diǎn) - 到B點(diǎn)停車(chē) - 卸料延時(shí) - 反轉(zhuǎn)回A點(diǎn) - 到A點(diǎn)停車(chē) - 再次裝料?;氐教菪螆D這個(gè)閉環(huán)用定時(shí)器加限位觸點(diǎn)就能搭出來(lái)。裝料階段LD M0 AND X2 ANI M2 OUT T0 K20這條邏輯的含義是運(yùn)行標(biāo)志M0為ON、小車(chē)已經(jīng)停在A點(diǎn)X2接通、當(dāng)前沒(méi)有反轉(zhuǎn)M2為OFF就開(kāi)始裝料計(jì)時(shí)。T0是100ms定時(shí)器K20表示2秒。裝料期間小車(chē)是不動(dòng)的2秒一到T0動(dòng)作觸發(fā)正轉(zhuǎn)。正轉(zhuǎn)去B點(diǎn)LD T0 AND M0 ANI X3 ANI Y1 OUT Y0T0計(jì)時(shí)結(jié)束且運(yùn)行標(biāo)志M0還在B點(diǎn)限位X3還沒(méi)碰到反轉(zhuǎn)Y1處于斷開(kāi)狀態(tài)正轉(zhuǎn)輸出Y0接通電機(jī)正轉(zhuǎn)小車(chē)往B點(diǎn)跑。一旦小車(chē)到B點(diǎn)撞到X3X3的常閉觸點(diǎn)斷開(kāi)Y0斷電電機(jī)停。這里需要注意一個(gè)細(xì)節(jié)到B點(diǎn)停車(chē)后要馬上開(kāi)始卸料計(jì)時(shí)。卸料同樣用定時(shí)器LD M0 AND X3 ANI M1 OUT T1 K30小車(chē)在B點(diǎn)X3為ON當(dāng)前沒(méi)有正轉(zhuǎn)M1為OFF卸料計(jì)時(shí)T1開(kāi)始。T1是100ms定時(shí)器K30就是3秒。卸料完成反轉(zhuǎn)回A點(diǎn)LD T1 AND M0 ANI X2 ANI Y0 OUT Y1T1計(jì)時(shí)到反轉(zhuǎn)輸出Y1接通電機(jī)反轉(zhuǎn)小車(chē)往A點(diǎn)跑。路上A點(diǎn)限位X2還沒(méi)碰到反轉(zhuǎn)保持。回到A點(diǎn)X2接通Y1斷電電機(jī)停。此時(shí)因?yàn)镸0還在、X2為ON、M2為OFF裝料定時(shí)T0又開(kāi)始計(jì)時(shí)。整套自動(dòng)循環(huán)就這么閉環(huán)了不需要額外的步序號(hào)限位觸點(diǎn)加定時(shí)器天然形成了到了哪里、該干什么的判斷。上電后如果小車(chē)本來(lái)就停在A點(diǎn)按啟動(dòng)按鈕程序會(huì)先走一遍裝料延時(shí)再正轉(zhuǎn)這符合工藝要求。如果上電時(shí)小車(chē)停在軌道中間則不會(huì)進(jìn)入自動(dòng)流程——因?yàn)閄2、X3都沒(méi)接通T0、T1都不滿足條件。3. 限位開(kāi)關(guān)、斷電保持和手動(dòng)優(yōu)先小車(chē)能不能穩(wěn)就看這幾處核心循環(huán)寫(xiě)完之后真正決定這套設(shè)備現(xiàn)場(chǎng)穩(wěn)不穩(wěn)的反而是幾個(gè)容易被忽略的細(xì)節(jié)。這三個(gè)問(wèn)題我在不同項(xiàng)目里都踩過(guò)拿出來(lái)單獨(dú)說(shuō)。3.1 限位開(kāi)關(guān)的軟檢測(cè)與硬保護(hù)要分開(kāi)接運(yùn)料小車(chē)的位置檢測(cè)靠的是A點(diǎn)和B點(diǎn)的限位開(kāi)關(guān)。很多新手程序里只把限位開(kāi)關(guān)接進(jìn)PLC覺(jué)得程序里處理了就萬(wàn)事大吉。但PLC程序是軟件會(huì)死機(jī)、會(huì)誤判、輸出模塊可能壞掉。所以現(xiàn)場(chǎng)安全做法是軟檢測(cè)和硬保護(hù)分開(kāi)走。軟檢測(cè)就是限位開(kāi)關(guān)的常開(kāi)觸點(diǎn)接進(jìn)PLC輸入點(diǎn)程序里用X2、X3判斷位置控制正反轉(zhuǎn)輸出。硬保護(hù)則是把限位開(kāi)關(guān)的常閉點(diǎn)串進(jìn)接觸器的控制回路小車(chē)到了極限位置常閉物理斷開(kāi)接觸器線圈直接斷電電機(jī)硬停車(chē)。這樣即便PLC卡死、程序跑飛了小車(chē)撞到限位還是能停下來(lái)。另外限位觸點(diǎn)的常開(kāi)常閉接法要想清楚。我習(xí)慣軟檢測(cè)用常開(kāi)點(diǎn)到位即接通程序里用的是X2、X3的常開(kāi)觸點(diǎn)來(lái)判位置。常閉點(diǎn)則串在接觸器回路里做硬件保護(hù)平時(shí)不碰是導(dǎo)通的小車(chē)撞到位后斷開(kāi)停車(chē)。常閉點(diǎn)還有個(gè)附加好處如果限位開(kāi)關(guān)的線斷了回路直接斷開(kāi)小車(chē)也停不會(huì)出現(xiàn)線斷了設(shè)備還在傻跑的情況符合故障安全原則。安裝上再補(bǔ)一句限位開(kāi)關(guān)的撞塊位置要留余量不能剛好卡在停止位置要給機(jī)械慣性留緩沖。開(kāi)關(guān)支架要牢固松了以后限位位置飄移那才是真的要命的事。3.2 FX3U斷電保持的坑普通寄存器斷電就丟這也是很多第一次用FX3U的人會(huì)踩的坑。FX3U的數(shù)據(jù)寄存器D區(qū)D0到D8屬于普通寄存器默認(rèn)斷電不保持。也就是說(shuō)你把小車(chē)循環(huán)次數(shù)、運(yùn)行時(shí)間、某個(gè)臨時(shí)數(shù)據(jù)存在D0里一斷電全部清零。當(dāng)然PLC參數(shù)可以改保持范圍但前提是你得知道還有這回事。我建議凡是需要長(zhǎng)期保存的數(shù)據(jù)比如小車(chē)?yán)塾?jì)運(yùn)行次數(shù)、總裝料斗數(shù)直接放到斷電保持區(qū)域。FX3U里D200到D511默認(rèn)就是斷電保持的D512以上的寄存器可以通過(guò)參數(shù)設(shè)置保持范圍。同理中間繼電器M也有區(qū)分M0到M499默認(rèn)不保持M500到M1023默認(rèn)保持。程序里的M0運(yùn)行標(biāo)志、M1、M2這類(lèi)狀態(tài)繼電器我全部放在普通區(qū)斷電后自動(dòng)清零上電后必須重新按啟動(dòng)才運(yùn)行這其實(shí)是好事。但如果你把某段狀態(tài)放在了保持區(qū)上電時(shí)它還是ON那設(shè)備可能直接復(fù)活開(kāi)始跑反而危險(xiǎn)。所以運(yùn)料小車(chē)控制我加了一個(gè)上電復(fù)位邏輯PLC上電瞬間如果小車(chē)不在A點(diǎn)位置蜂鳴器報(bào)警提示人工把小車(chē)?yán)谹點(diǎn)才能投自動(dòng)。位置檢測(cè)本來(lái)就是限位決定的斷電期間小車(chē)停哪都有可能靠寄存器保持來(lái)記住位置是不可靠的工位工藝上重新對(duì)位才是正道。3.3 手動(dòng)/自動(dòng)切換與雙線圈陷阱現(xiàn)場(chǎng)必須允許人工手動(dòng)操作。我的做法是用一個(gè)旋鈕開(kāi)關(guān)X4來(lái)切換模式X4閉合時(shí)進(jìn)入手動(dòng)模式此時(shí)手動(dòng)正轉(zhuǎn)、手動(dòng)反轉(zhuǎn)按鈕有效自動(dòng)循環(huán)被禁止。手動(dòng)正轉(zhuǎn)邏輯用指令表示意LD X4 AND X5 ANI X6 ANI X3 ANI Y1 OUT Y0X4手動(dòng)模式、X5手動(dòng)正轉(zhuǎn)按鈕按下、X6沒(méi)按防止正反一起按、B點(diǎn)限位X3沒(méi)碰到、反轉(zhuǎn)輸出Y1沒(méi)接通這時(shí)候輸出正轉(zhuǎn)。反轉(zhuǎn)邏輯同理用X6啟動(dòng)、串X5常閉、串X2常閉、串Y0常閉。這里有一個(gè)很多新手會(huì)犯的錯(cuò)叫雙線圈問(wèn)題。如果我在自動(dòng)程序段寫(xiě)了一個(gè)OUT Y0又在手動(dòng)程序段寫(xiě)了另一個(gè)OUT Y0同一個(gè)線圈在兩個(gè)梯級(jí)輸出PLC掃描時(shí)會(huì)按從上到下的順序執(zhí)行后面的輸出會(huì)覆蓋前面的??雌饋?lái)程序沒(méi)啥問(wèn)題實(shí)際上自動(dòng)和手動(dòng)邏輯會(huì)互相打架。解決方法有兩個(gè)。一個(gè)是在我之前的結(jié)構(gòu)里自動(dòng)和手動(dòng)輸出條件都匯總到同一個(gè)Y0輸出梯級(jí)上用中間繼電器合并條件比如自動(dòng)正轉(zhuǎn)M1或手動(dòng)正轉(zhuǎn)M50統(tǒng)一驅(qū)動(dòng)Y0。另一個(gè)是用SET/RST指令做置位復(fù)位但要注意SET后的狀態(tài)在保持區(qū)和普通區(qū)的差異以及上電時(shí)是否需要初始化。我用的結(jié)構(gòu)是前者邏輯直觀排查容易。4. 現(xiàn)場(chǎng)調(diào)試實(shí)錄三個(gè)最典型的小車(chē)故障與處理過(guò)程光看梯形圖寫(xiě)對(duì)了沒(méi)用設(shè)備是要在車(chē)間泥土、灰塵、油污里跑的。調(diào)試運(yùn)料小車(chē)這一年多我遇到過(guò)三個(gè)非常典型的問(wèn)題現(xiàn)象詭異但根子其實(shí)都在程序之外寫(xiě)出來(lái)給大家提個(gè)醒。4.1 小車(chē)沖過(guò)限位減速策略問(wèn)題不是程序問(wèn)題第一次調(diào)試這臺(tái)小車(chē)帶重載試車(chē)B點(diǎn)限位X3都撞上了程序也停了Y0也滅了但小車(chē)靠著慣性繼續(xù)往前滑一直頂?shù)綑C(jī)械防撞塊上哐當(dāng)一聲。當(dāng)時(shí)第一反應(yīng)是程序沒(méi)停住拿著筆記本蹲在軌道邊一頓查查半天發(fā)現(xiàn)PLC輸出早就斷了純粹是機(jī)械慣性。這事的本質(zhì)是三相異步電機(jī)加接觸器停車(chē)就是直接斷電制動(dòng)全靠機(jī)械摩擦和負(fù)載阻力重載小車(chē)沖過(guò)限位太正常了。程序沒(méi)錯(cuò)但工藝不能滿足。解決思路有幾個(gè)方向。最簡(jiǎn)單的換帶電磁剎車(chē)的電機(jī)斷電瞬間剎車(chē)抱死定位準(zhǔn)。但剎車(chē)有磨損動(dòng)作頻繁了以后剎車(chē)片要定期換。第二個(gè)思路是在終點(diǎn)前加一個(gè)減速位限位配合雙速電機(jī)或變頻器多段速小車(chē)先減速低速爬到終點(diǎn)再停沖擊小得多。第三種就是上變頻器用變頻器控制電機(jī)程序里到減速位給低速信號(hào)到終點(diǎn)正常停止加減速時(shí)間都可以調(diào)這是目前車(chē)間改造用得最多的方案。后來(lái)我這邊改成變頻器方案程序結(jié)構(gòu)基本沒(méi)變只是Y0、Y1不再直接接接觸器而是接變頻器的正轉(zhuǎn)、反轉(zhuǎn)端子多了一個(gè)高速/低速切換輸出點(diǎn)。小車(chē)運(yùn)行平穩(wěn)太多而且電機(jī)啟停沖擊小了機(jī)械壽命也上去了。4.2 接觸器彈跳和PLC輸出點(diǎn)燒毀有段時(shí)間現(xiàn)場(chǎng)反饋說(shuō)小車(chē)經(jīng)??┼饪┼忭懞髞?lái)PLC輸出點(diǎn)也燒了一個(gè)。過(guò)去一看接觸器吸合時(shí)觸頭抖動(dòng)得厲害聲音都不對(duì)。接觸器線圈是感性負(fù)載吸合瞬間電流沖擊大斷開(kāi)瞬間會(huì)產(chǎn)生反向電動(dòng)勢(shì)一路竄回PLC輸出點(diǎn)繼電器輸出型的觸點(diǎn)很容易被打壞。處理辦法分了三步走。第一PLC輸出點(diǎn)不再直接帶接觸器線圈中間加一級(jí)中間繼電器。PLC輸出點(diǎn)接中間繼電器線圈中間繼電器的觸點(diǎn)再去帶接觸器線圈。這樣PLC里的觸點(diǎn)只驅(qū)動(dòng)小電流壽命長(zhǎng)很多。第二中間繼電器線圈和接觸器線圈兩端都并聯(lián)RC吸收器把斷開(kāi)瞬間的反向電動(dòng)勢(shì)吸收掉。第三把接觸器本身檢查了一遍選型偏小的換大了一檔線圈電壓不穩(wěn)的也在控制電源前端加了穩(wěn)壓。從那以后同樣的線路結(jié)構(gòu)再?zèng)]燒過(guò)輸出點(diǎn)。這個(gè)經(jīng)驗(yàn)我寫(xiě)進(jìn)筆記里了以后凡是PLC帶感性負(fù)載一律先過(guò)中間繼電器不加RC不投運(yùn)。4.3 限位信號(hào)受干擾導(dǎo)致小車(chē)亂跑調(diào)試后期出現(xiàn)過(guò)一個(gè)特別頭疼的偶發(fā)故障小車(chē)正常跑著偶爾在軌道中途突然自己停一下或者反轉(zhuǎn)往回跑但過(guò)一會(huì)兒又自己好了。查梯形圖查了半天邏輯完全沒(méi)毛病后來(lái)懷疑是輸入信號(hào)出了問(wèn)題。我把X2、X3的狀態(tài)實(shí)時(shí)監(jiān)控起來(lái)守在軌道邊等故障復(fù)現(xiàn)。結(jié)果發(fā)現(xiàn)小車(chē)還沒(méi)到B點(diǎn)B點(diǎn)限位X3的信號(hào)就已經(jīng)閃通了瞬間。原來(lái)是限位開(kāi)關(guān)的電纜和電機(jī)動(dòng)力電纜走在了同一個(gè)線槽里接觸器吸合、電機(jī)啟動(dòng)瞬間的大電流在電纜上產(chǎn)生了強(qiáng)電磁干擾耦合到信號(hào)線上把X3給打閃了。程序一收到X3的閃斷信號(hào)以為到點(diǎn)了就停了車(chē)。解決措施是四管齊下。第一限位開(kāi)關(guān)換成屏蔽雙絞線屏蔽層單端接地信號(hào)線和動(dòng)力線分開(kāi)走線槽保持距離。第二在PLC側(cè)把輸入濾波時(shí)間調(diào)大FX3U對(duì)應(yīng)的特殊數(shù)據(jù)寄存器是D8020可以設(shè)置X0到X17的輸入濾波時(shí)間默認(rèn)10ms我調(diào)大之后短脈沖干擾就被濾掉了。第三給DC24V電源加了一級(jí)濾波防止電源線上的干擾串入輸入回路。第四如果用的是接近開(kāi)關(guān)還要嚴(yán)格核對(duì)NPN/PNP類(lèi)型和PLC輸入公共端接法——我見(jiàn)過(guò)S/S端子接反導(dǎo)致信號(hào)莫名亂跳的雖然小車(chē)這臺(tái)用的是機(jī)械限位但這個(gè)檢查項(xiàng)我每次都要提。這輪排查下來(lái)程序最后一行沒(méi)改問(wèn)題全在物理層。經(jīng)驗(yàn)就是要記住PLC輸入信號(hào)是不可信的干擾、斷線、短路都會(huì)讓信號(hào)亂跳定位準(zhǔn)確這件事要靠濾波、屏蔽、合理布線和硬件保護(hù)共同保證。5. 從這套小車(chē)控制延伸出去觸屏、變頻器與上位機(jī)通訊運(yùn)料小車(chē)調(diào)試穩(wěn)定之后基本控制就告一段落了。但如果你愿意多花點(diǎn)功夫這套系統(tǒng)還能往三個(gè)方向延伸讓這臺(tái)小車(chē)從能跑變成好用。5.1 加觸摸屏定時(shí)參數(shù)現(xiàn)場(chǎng)就能改定時(shí)器T0、T1的設(shè)定值我在程序里一開(kāi)始用的是K常數(shù)K20就是2秒、K30就是3秒。如果想改裝料、卸料時(shí)間要拿電腦接上去改程序太麻煩。加一塊觸摸屏之后把定時(shí)器的設(shè)定值換成數(shù)據(jù)寄存器比如OUT T0 D10、OUT T1 D11觸摸屏上就可以直接改D10、D11的值操作工自己就能調(diào)整不用等電氣工程師到場(chǎng)。要注意的是D10、D11這種寄存器如果放在普通D區(qū)斷電會(huì)丟所以我把它們放在D200、D201這種默認(rèn)保持的區(qū)域內(nèi)斷電后上次設(shè)好的時(shí)間還在。觸摸屏上還能顯示當(dāng)前小車(chē)在A點(diǎn)還是B點(diǎn)、運(yùn)行了多少次、當(dāng)前是裝料還是卸料維護(hù)人員過(guò)來(lái)一眼就看清狀態(tài)。5.2 接變頻器多段速讓小車(chē)跑得更像樣前面提過(guò)小車(chē)沖過(guò)限位的本質(zhì)問(wèn)題是硬停車(chē)慣性太大。接上變頻器之后正反轉(zhuǎn)端子由Y0、Y1控制另外加一個(gè)多段速端子Y2??斓浇K點(diǎn)時(shí)觸到減速限位Y2輸出變頻器切到低速到了終點(diǎn)才停車(chē)。加速減速時(shí)間全在變頻器里調(diào)機(jī)械沖擊大幅減小電機(jī)壽命也長(zhǎng)了。選擇變頻器時(shí)留意一下控制端子是NPN還是PNP接法要和FX3U的輸出方式匹配。繼電器輸出的FX3U板子可以直接接變頻器端子晶體管輸出的則要注意電壓和容量一般也用中間繼電器轉(zhuǎn)一下。5.3 用Modbus/OPC UA把小車(chē)運(yùn)行狀態(tài)交出去車(chē)間里上了MES系統(tǒng)之后設(shè)備聯(lián)網(wǎng)是趨勢(shì)。FX3U加一塊FX3U-485ADP-MB通訊擴(kuò)展板就能作為Modbus RTU從站把Y0、Y1的狀態(tài)、D200里的運(yùn)行次數(shù)、報(bào)警標(biāo)志全部開(kāi)放給上位機(jī)讀取MES就能實(shí)時(shí)看到這臺(tái)小車(chē)當(dāng)前是在裝料、行駛還是故障。如果車(chē)間要求走OPC UA不需要PLC直接支持OPC UA更通用的做法是給PLC加以太網(wǎng)模塊上位機(jī)裝一個(gè)OPC服務(wù)器軟件比如KEPServerEX通過(guò)三菱的MC協(xié)議把PLC數(shù)據(jù)讀上來(lái)再轉(zhuǎn)成OPC UA標(biāo)準(zhǔn)接口供SCADA或MES訂閱。用這套口徑不光是運(yùn)料小車(chē)車(chē)間的傳感器、數(shù)控機(jī)床、變頻器狀態(tài)都能統(tǒng)一匯總到一張頁(yè)面上設(shè)備狀態(tài)判斷就不再是靠人走現(xiàn)場(chǎng)了。內(nèi)容寫(xiě)到這里整套運(yùn)料小車(chē)的PLC控制從需求、梯形圖到調(diào)試經(jīng)驗(yàn)就都聊完了。說(shuō)實(shí)話運(yùn)料小車(chē)在PLC項(xiàng)目里算是入門(mén)級(jí)別但越是入門(mén)的東西越容易想當(dāng)然。我在現(xiàn)場(chǎng)看到最多的問(wèn)題不是梯形圖寫(xiě)不出來(lái)而是限位沒(méi)接好、斷電后位置丟了、互鎖只做了程序保護(hù)沒(méi)做硬件保護(hù)。所以每次做這類(lèi)項(xiàng)目我都要求自己先手動(dòng)一格一格驗(yàn)證把每個(gè)輸入點(diǎn)的狀態(tài)和實(shí)際機(jī)械位置對(duì)清楚再切自動(dòng)。最后分享一個(gè)很實(shí)用的小經(jīng)驗(yàn)給小車(chē)加一個(gè)循環(huán)次數(shù)計(jì)數(shù)器放在斷電保持的D區(qū)里每次自動(dòng)循環(huán)跑完一圈加一。這玩意兒平時(shí)不顯眼但等現(xiàn)場(chǎng)跟生產(chǎn)扯皮說(shuō)小車(chē)今天少跑了多少趟的時(shí)候拿數(shù)據(jù)說(shuō)話比什么都硬。而且廠房里做設(shè)備維護(hù)保養(yǎng)什么時(shí)候該檢查剎車(chē)、什么時(shí)候該換限位翻一下計(jì)數(shù)器就知道比按日歷推算靠譜得多。