技術(shù)分享
當(dāng)前位置:三菱PLC > 技術(shù)服務(wù) > 技術(shù)分享使用三菱工控產(chǎn)品時(shí)異常的問題解析
在使用三菱工控產(chǎn)品時(shí),特別是剛開始使用,在程序調(diào)試過程中難免會(huì)遇到很多奇奇怪怪的事情。比如三菱plc指令執(zhí)行異常,三菱伺服電機(jī)不ON,電機(jī)不轉(zhuǎn)等問題,那么下面就由海藍(lán)機(jī)電小編來為大家?guī)磉@三個(gè)問題的解析,希望大家能有所收獲!
比如寫了這樣一條指令:
本來200乘以2應(yīng)該等于400,但是D4里卻是12?!
★全軸伺服ON信號(hào)給出去之后,伺服沒有ON
★執(zhí)行三菱伺服電機(jī)驅(qū)動(dòng)指令之后,三菱伺服電機(jī)不轉(zhuǎn)。
……
諸如此類的問題很多,而且一般三菱PLC都不會(huì)報(bào)警,沒有報(bào)警代碼,問題追溯起來比較麻煩。
原因一般也比較隱蔽,可能翻遍手冊也找不到原因說明及解決方法。
而且像三菱伺服電機(jī)不ON,電機(jī)不轉(zhuǎn)這樣的問題,問題本身就比較寬泛,有很多原因可以導(dǎo)致這種現(xiàn)象發(fā)生,所以對(duì)于這種異常情況,其原因排查起來也是很讓人頭疼的一件事情。
筆者一開始也遇到過很多百思不得其解的問題,慢慢地也積累了幾個(gè)小經(jīng)驗(yàn),希望對(duì)不太熟悉三菱工控產(chǎn)品的朋友有點(diǎn)用。
方法一:先清除PLC里的全部數(shù)據(jù)
這是筆者的習(xí)慣,在寫入?yún)?shù)及程序之前,先把PLC里的數(shù)據(jù)清空。在遇到?jīng)]有報(bào)警代碼的異常情況時(shí),筆者做的第一件事情也是先把PLC里的數(shù)據(jù)清空,再執(zhí)行一次參數(shù)及程序?qū)懭?,還要進(jìn)行PLC復(fù)位。
為什么要這么做呢?一般來說,我們把參數(shù)及程序?qū)懭?/span>PLC之后,除非手動(dòng)清除它,否則參數(shù)及程序就會(huì)保留在PLC里。(嗯,這是廢話。)
問題是,我們沒法保證我們這一次寫入的參數(shù)及程序能覆蓋掉PLC里原來的參數(shù)及程序。
多程序文件
特別是對(duì)于三菱L系列 PLC、Q 系列PLC來說,它支持多程序文件,我們可以建立『MAIN』、『MAIN1』,還可以建立一些我們自己給它命名的程序文件。
如果PLC里本來有這些文件,我們不手動(dòng)清除它的話,它是不會(huì)消失的。
我們寫入的文件,只能覆蓋同名文件。
比如PLC里本來有『MAIN』、『MAIN1』,我們新建了『MAIN』寫進(jìn)入的話,PLC里的『MAIN』會(huì)被覆蓋成我們寫進(jìn)去的新的『MAIN』,而『MAIN1』仍然存在。
那么,如果『MAIN1』用的軟元件與新的『MAIN』所用軟元件重復(fù)沖突的話,就會(huì)導(dǎo)致雙線圈。
程序設(shè)置
除此之外,還需要強(qiáng)調(diào)一點(diǎn),新建的程序文件都是『無執(zhí)行類型指定』的,存在多個(gè)程序文件的情況下,要將它們按照需要拖曳到『掃描程序』、『恒定周期程序』等等分類中去,否則程序可能不運(yùn)行。
方法二:用最簡單的程序進(jìn)行測試
什么是最簡單的程序?比如筆者之前給出的FX5-40SSC-S的樣例程序,非常簡單,忽略了各種互鎖、各種條件,雖然不嚴(yán)謹(jǐn),但是方便學(xué)習(xí)測試。
既然出現(xiàn)了問題,就該解決,但是又沒有解決思路,怎么辦呢?
把問題簡化。
比如給出電機(jī)驅(qū)動(dòng)指令,但是電機(jī)不轉(zhuǎn),我們可以嘗試寫一個(gè)簡短程序(而不是一個(gè)幾百行幾千行的程序),來測試一下。
如果這樣電機(jī)還是不轉(zhuǎn),說明原因應(yīng)該跟程序無關(guān),需要檢查參數(shù)設(shè)置、接線等等。
如果這樣電機(jī)轉(zhuǎn)了,那么說明程序間邏輯有問題。典型的問題還是雙線圈。
說到電機(jī)驅(qū)動(dòng)指令,對(duì)于脈沖式伺服一般使用DRVA 和DRVI就能使電機(jī)正反轉(zhuǎn)。
之前就遇到過使用這兩個(gè)指令之后電機(jī)只能正轉(zhuǎn)而不能反轉(zhuǎn)的情況,最后檢查的結(jié)果也是雙線圈問題。
這是縮小問題范圍的一個(gè)方法。
縮小問題范圍,縮小原因可能出現(xiàn)的范圍,有助于進(jìn)一步查找問題原因。
很多初學(xué)者拿到的樣例程序,嘩啦啦一大堆,雖然可能比較嚴(yán)謹(jǐn),但是很難看懂,也難以下手修改,運(yùn)行時(shí)出了問題也不知道問題出在哪里。
不只是初學(xué)者,筆者感覺很多稍有經(jīng)驗(yàn)設(shè)備調(diào)試人員,也有類似的問題。
現(xiàn)在的自動(dòng)化設(shè)備越來越復(fù)雜,程序動(dòng)輒幾千行,很多程序都是以前的拿過來用。比如說設(shè)備升級(jí)了,FX3U換成Q PLC了,把之前的FX3U程序拿過來,轉(zhuǎn)換一下,改一改,接著用。
結(jié)果一個(gè)程序可能經(jīng)過很多人的手,改過很多次,到最后面目全非,沒有人完全看得懂,甚至程序里還有潛在的邏輯問題。
標(biāo)題中說到的問題,也有可能是由于上述程序的問題導(dǎo)致的。對(duì)于這種問題,筆者也是無能為力,最怕別人拿著別人寫的程序,問我,『它為什么這么寫?』。
真要是這種情況,推翻程序重新寫吧。
其他可能引起類似問題的原因
自動(dòng)刷新的設(shè)置導(dǎo)致軟元件值異常
比如文章開頭提到的,D4數(shù)值異常,有可能是因?yàn)樗辉O(shè)置為接收區(qū)域的刷新軟元件了,相當(dāng)于它每個(gè)通信周期都在接收其他地方對(duì)它的刷新賦值,相當(dāng)于它是只讀的。
在使用到多CPU系統(tǒng)、網(wǎng)絡(luò)通信時(shí)可能會(huì)遇到這樣的問題。
I/O分配設(shè)置原因?qū)е滤欧籓N
比如在三菱plc模塊QD77MS中,手冊里說Y1是全軸伺服ON。
實(shí)際上寫的不太準(zhǔn)確,當(dāng)QD77MS的起始IO被設(shè)為n0時(shí),這里的『Y1』要相應(yīng)變成『Yn1』。
比如下圖,起始IO設(shè)為0080,相應(yīng)的要使用『Y81』作為全軸伺服ON信號(hào),而不是使用Y1。
伺服電機(jī)不動(dòng)作
關(guān)于伺服電機(jī)不動(dòng)作,可能的原因比較多,可以參考下表,逐一進(jìn)行排查。
(下表對(duì)應(yīng)MR-JE系列伺服放大器,更多伺服放大器故障排查方法請參考相應(yīng)的伺服放大器技術(shù)資料集(故障排除篇))
以上說到的三菱工控產(chǎn)品常見異常,在遇到類似問題時(shí),可能有用,也可能沒用,因?yàn)閱栴}可能比較復(fù)雜,可能涉及到其他筆者沒遇到的諸多原因。各位若遇到過其他類似情況,也還請不吝留言賜教!
評(píng)論信息