有一個(gè)老客戶,設(shè)備上的A1SD75M3壞了,機(jī)器停機(jī)了。
這是個(gè)老型號(hào),調(diào)到一個(gè),發(fā)給他。
沒想到從那天起,惡夢(mèng)就來臨了!
第二天客戶反映,裝上去后,1軸,2軸正常。3軸是方向反的。點(diǎn)動(dòng)或程序運(yùn)行都反的。
他說以前也遇到過這種問題,換了一個(gè)模塊就好了。
并且客戶說現(xiàn)場(chǎng)有二臺(tái)一樣的設(shè)備,從另一臺(tái)上拆了一個(gè)模塊裝上去,就好用了。
那就換吧,給他又找了一個(gè)。他說現(xiàn)場(chǎng)很急,親自開車來取。
結(jié)果第2個(gè)模塊,3個(gè)軸都是反的!!
于是又再找了一個(gè),這第3個(gè)模塊,還是說3個(gè)軸都是反的!!
有人說可能是模塊參數(shù)沒設(shè)置好,但手上又沒有電腦連接模塊這個(gè)線(后來我才知道這線的型號(hào)是A1SD75-C01H,某寶有賣)。
客戶第二次來取模塊時(shí),把第一次的模塊帶還了我。我當(dāng)時(shí)有點(diǎn)懷疑這模塊中是否有舊數(shù)據(jù),找有線的人幫忙清除了內(nèi)存,恢復(fù)出廠狀態(tài),再發(fā)到現(xiàn)場(chǎng),還是不行!!
一共試了3個(gè)新模式,其中有一個(gè)還取回找人清除了參數(shù),都不行!
這是怎么回事,我都快崩潰了!
于是想調(diào)試程序,通過修改程序,讓后面的模塊正常起來。
可是他PLC設(shè)置了密碼!我在論壇下載了一個(gè)解密軟件發(fā)給客戶,遠(yuǎn)程QQ操作,不行!
后來通過ymmfa找到論壇的haoqing,終于把密碼解開了!
然后根據(jù)A1SD75M3的手冊(cè),查到107 257 407這三個(gè)緩存分別對(duì)應(yīng)3個(gè)軸的方向。給客戶做了一個(gè)程序,開機(jī)瞬間TO K1到這三個(gè)緩存。并且教了客戶修改的辦法。說可以根據(jù)現(xiàn)場(chǎng)情況,先改成1 1 0, 如果不行再改。
結(jié)果客戶第二天說,不管怎么改,都不行!000,001,010,100,110,111都試過,方向完全沒變化!
NND,難道手冊(cè)騙我!
雖然我再不懂英文,但手冊(cè)上明顯的有這一條啊:
難道是有沖突嗎? 我查了一下,源程序中并未用到這三個(gè)地址。
我查找了程序里所有的TO 和TOP指令,把定位模塊所在的地址K4用到過的所有緩存都查出來了,并且一個(gè)一個(gè)做在表格上,大約有80幾個(gè)緩存,我又每一條去翻英文手冊(cè)找到,然后百度翻譯。再記在本子上。關(guān)是這個(gè)工作就做了3個(gè)多小時(shí)。這些緩存都是3個(gè)軸的電機(jī)參數(shù),控制方法,定位數(shù)據(jù),速度,位置,轉(zhuǎn)矩,加速時(shí)間,錯(cuò)誤狀態(tài)等。完全和方向沒有關(guān)系!
這時(shí)我要崩潰了。但這只是我第一次崩潰!
又請(qǐng)教了好多人,但基本都不會(huì)這個(gè)模塊。ymmfa說有可能J2S-B的伺服從模塊中讀參數(shù)的時(shí)候,程序還沒運(yùn)行。也就是在M8038(相當(dāng)于FX的M8002)之前,所以要把方向信號(hào)寫入閃存才行。
寫到閃存后,每次開機(jī),閃存的數(shù)值就自動(dòng)發(fā)到緩存。
我找了半天,找到3個(gè)疑是此功能的地址,但不確定是哪一個(gè),百度翻譯后感覺第一個(gè)和第三個(gè)都很象
不管了,先這樣吧。 跟客戶約好,周六早上開車去他現(xiàn)場(chǎng)高度。一百五十公里路程,并且說調(diào)試不好不收錢。就算收錢也是讓客戶看著給。客戶很感激。
其實(shí)我們賣產(chǎn)品的,大不了不好用退貨。不會(huì)提供現(xiàn)場(chǎng)支持。但一是這個(gè)客戶人不錯(cuò),二是這個(gè)檻過不去,心魔難除。
周六九點(diǎn)到了客戶現(xiàn)場(chǎng)。一堆材料擺在那等著加工,壓力山大!
先聽現(xiàn)場(chǎng)人講工藝流程,配合梯形圖和日文的觸摸屏畫面,有了一定認(rèn)識(shí)。
有一個(gè)模塊是三個(gè)軸都是反的,我向107,25,407寫入K1,然后1106=2,1138=1。斷電再上電,伺服也斷電再上電,還是不行!!
現(xiàn)場(chǎng)人員說,3個(gè)模塊中,有一個(gè)只有第3軸方向反!要不把它換上改改試試!
于是斷電換模塊,撥線。再上電。NND,伺服報(bào)錯(cuò)E9!!
現(xiàn)場(chǎng)說這正常的,老設(shè)備就這樣。有時(shí)過一會(huì)就好了。
等了一會(huì)果然好了。準(zhǔn)備改PLC程序。雖然說這樣治標(biāo)不治本,但能用就行。(因?yàn)楝F(xiàn)場(chǎng)另一個(gè)機(jī)器上拆了換過來就行)
第三軸的手動(dòng)是Y5A和Y5B,這個(gè)簡單,直接互換。這樣外部按鈕的手動(dòng)就正了。
第3軸的控制方法是H200,但我看了半天手冊(cè),沒找到對(duì)此的詳細(xì)解釋,于是直接改成H201,但一開機(jī)直接報(bào)錯(cuò)。
于是又拼命看手冊(cè),拼命打字百度在線翻譯。
找了半天,終于在一頁翻到簡單解釋。原來這個(gè)H200是INC直線。
那好說,我把定位地址改成負(fù)數(shù)。D- K0 原來的值 到新的D。新的D再發(fā)送到模塊。
上電再試,OK!第三軸手動(dòng),自動(dòng),都是正確的方向了!
客戶也很高興,這時(shí)已經(jīng)12點(diǎn)半了,大家肚子都餓了。
但是悲劇發(fā)生了,現(xiàn)在這個(gè)模塊的1軸,2軸反掉了!!
這只是我第二次崩潰!!
客戶說先去吃飯吧。點(diǎn)了好幾個(gè)菜,只吃下半碗米飯幾口菜!
這次沒去現(xiàn)場(chǎng)。先翻了半天手冊(cè)。原來PLC就緒的信號(hào)通的時(shí)候,可能寫不成功。
并且之前我在論壇發(fā)的貼,有人回復(fù)了,daizhi確定說1138就是寫入閃存的。這時(shí)我在客戶辦公室拿客戶備用的一個(gè)PLC不斷地做試驗(yàn)。
先把PLC就緒信號(hào),也就是Y5D用條件斷掉,再向107,25,407寫入K1,1138=1。斷電再上電,閃存真的寫入成功了,好象是可以保存住了。
試了二次,好象可以喲!
好吧,到車間去試。結(jié)果伺服又報(bào)錯(cuò)了!!!急啊,我急啊,感覺希望就在眼前,伺服卻報(bào)錯(cuò)!
等了十來分鐘,伺服恢復(fù)了,看來這伺服應(yīng)該是電池快不行了。
連接上PLC,準(zhǔn)備修改程序把方向設(shè)備寫入緩存!
通信失敗!檢查我的電腦,是COM3的,對(duì)的啊,再連接還失敗!換電腦,仍然失敗!
難道是現(xiàn)場(chǎng)干擾,我跑到辦公客戶,用剛才那臺(tái)PLC再試驗(yàn),還是失敗!!
我CAO!大寫的CAO! 剛才都還行!這破編程電纜竟然這個(gè)時(shí)候,最關(guān)鍵的時(shí)候,在我能看到曙光的時(shí)候,壞了!
這只是我第三次崩潰!!
沒辦法又找ymmfa幫忙,他找到一個(gè)電話發(fā)給我,說對(duì)方有USB-SC09這種老型號(hào)的線現(xiàn)貨。
那人周六休息,讓我去他家里取,并且離現(xiàn)場(chǎng)只有15公里!一次拿了二根,然后急急開車返回。
OK,到了現(xiàn)場(chǎng),奔跑到機(jī)器前,通訊測(cè)試! 成功與A2USHCPU-S1連接!!
勝利就在眼前!
但是,這次仍然不行!!
伺服也斷電再上電,還是不行!!!
這只是我第四次崩潰!!
接下來我難以用語言形容了,各種嘗試,都是不行!
我也曾想過,用修改第3軸的辦法去修改第1軸和2軸很難改。但這2軸其中涉及了50幾條定位數(shù)據(jù),每條的控制方法,地址,速度還不一樣!
并且在不同的工藝流程使用不同的定位數(shù)據(jù),還涉及到位置的限制和比較。上萬步的程序中改這個(gè)很容易出更多錯(cuò)誤。所以我放棄了這個(gè)辦法。
并且有一個(gè)原因一直讓我難以解懷,為什么另一臺(tái)機(jī)器上的那個(gè)模塊,裝上來就可以直接用!不用修改程序!
這究竟是為什么?
其中我用百度翻譯可能翻譯了大約三千字的內(nèi)容。但仍然沒有進(jìn)展。
J2S-B和A1SD75M的手冊(cè)我看得已經(jīng)想吐了,我已經(jīng)看到英文就想吐!看到PDF,看到梯形圖,看到PLC就頭暈!
最慘的是,竟然,我操,我們利用好的那臺(tái)機(jī)器比較做試驗(yàn),竟然 ,把那臺(tái)機(jī)器搞得1軸也反了!!
客戶說:完了!
現(xiàn)在二臺(tái)機(jī)器都完了。。這是我第五次崩潰!!
這究竟是怎么回事怎么回事怎么回事!!
我繼續(xù)看手冊(cè)百度翻譯,查資料。但仍然不行。這時(shí)我發(fā)現(xiàn)一個(gè)問題!
原始的程序中原來有方向的設(shè)置!!!
只是他寫的很隱藏。先是MOV K* D*** 這樣MOV了好幾個(gè)。其中有一條是TO H4 G103 D6100 K6。
K6!!!原來這里包含了103 104 105 106 107 108 原來真的有方向設(shè)置!!
真的有!!
接下來我又把這里修改了幾次。然后經(jīng)歷了5次斷電上電,伺服3次報(bào)E9的痛苦等待! 原本好的那臺(tái)機(jī)器終于恢復(fù)正常了,我也不知道是怎么恢復(fù)的!
因?yàn)榱硪慌_(tái)依然不正常,3個(gè)模塊換著試,全是反的。3個(gè)軸都反,一個(gè)都不正!
并且伺服一度通訊不上,一直是AB。不是A1 A2 A3。。
明明又發(fā)現(xiàn)了一個(gè)問題,但怎么還是不行,這是我第六次崩潰!
客戶說走吧,很晚了,吃飯去。晚上八點(diǎn)多了。。
本來計(jì)劃早上來調(diào)好,下午還能去看當(dāng)?shù)鼐包c(diǎn),然后再開車回家。剛好是11月11日,痛苦的雙十一。
這一天,真的很難受。仍然沒有胃口,但的確是餓了,吃了一碗飯。
客戶帶我找了一個(gè)地方住下。感覺蠻高檔,擔(dān)心很貴。因?yàn)樽约簺]解決問題,還讓人家多花錢不好,結(jié)果一問不貴。二百多塊錢。
住下后我才知道,為什么是這個(gè)價(jià)格。
這是新裝修的,油漆味很濃厚!背后就是一條高速公路,聲音很大,開窗透氣的話,聲音非常大。關(guān)了窗拉上窗簾,外面院子的路燈仍然影響睡眠!
床超硬! 有鋼板一樣硬!
算了,我繼續(xù) 看手冊(cè) 。雖然很想吐,但是沒辦法,還是要看。
百度找答案,搜索A1SD75M3,搜索J2S-B旋轉(zhuǎn)方向,完全沒結(jié)果!
到了11點(diǎn)才發(fā)現(xiàn)電腦快沒電了,沒帶充電器。還好之前調(diào)試PLC一直用的客戶的電腦。我還有15%的電先關(guān)機(jī)吧。萬一明天要查資料,有些資料只有這臺(tái)電腦上才有。下載很慢。
翻來翻去好不容易睡著,2點(diǎn)半,醒了!!
失眠!夢(mèng)中都?jí)舻皆谡{(diào)試程序!起來繼續(xù)看手機(jī),看到4點(diǎn)。
這時(shí)突然有一個(gè)想法,打客戶電話。打了五次客戶都沒接。開車到了現(xiàn)場(chǎng),辦公室關(guān)著門,車間是在加班,但不好進(jìn)去。
我的思路是這樣:
一,我之前改方向,在原來的程序中加入幾程序,再改的。理論上看上去是改成了。但有可能受掃描順序,或者各種原因影響,并未完全成功。
二,另3個(gè)模塊是可以轉(zhuǎn)的,雖然方向是錯(cuò)。但說明硬件沒壞。因?yàn)槭謩?dòng)或程序可以正轉(zhuǎn),又可以反轉(zhuǎn)。只是按上升的時(shí)候,它在下降。按下降的時(shí)候,它在上升。
三,既然硬件是壞的,那說明參數(shù),也就是閃存和緩存是壞的。那如果我把所有緩存從好的模塊上讀出來,寫到壞的模塊上呢?
一共有7000多個(gè)緩存,并且有一些還是用戶不可用的。那怎么辦?
假如我用FROM ***** K7000,行不?
支持這樣大不,我查了FX的手冊(cè)說是支持到三萬多!但A估計(jì)也行吧!反正我梯形圖上是能打進(jìn)去!
但那些用戶不能用的,怎么辦,會(huì)報(bào)錯(cuò)嗎?或者能讀出來,能寫進(jìn)去嗎?
這得有個(gè)PLC先試試。可沒帶PLC。只能先把程序?qū)懺陔娔X中,這樣節(jié)約一點(diǎn)時(shí)間。
寫完程序后電腦只有10%的電量了。
繼續(xù)在床上發(fā)呆,莫名奇妙睡著了,直到被客戶電話叫醒。早上八點(diǎn)。客戶昨晚電話靜音。
到了現(xiàn)場(chǎng),先在客戶辦公室測(cè)試。一個(gè)基板上裝了2個(gè)A1SD75M3,F(xiàn)ROM第一個(gè),直接能一次把所有緩存讀出來,因?yàn)槲冶O(jiān)視了D,批量。的確有。
然后又TO到第二個(gè)模塊,的確也能。估計(jì)是不能使用的區(qū)域直接被無視,讀寫無效果。其他的區(qū)域還能用。
然后再把1138ON,這樣緩存的數(shù)據(jù)就全部寫入到閃存。
這個(gè)過程分三步,讀1號(hào)模塊,寫2號(hào)模塊,把2號(hào)模塊的緩存寫入到閃存。
三步都沒報(bào)錯(cuò)!
好了,到車間去試!
伺服又報(bào)E9! 又等了十來分鐘!
最后的結(jié)果是:成功了。。。
分析原因,有可能是這樣:
1、原程序里對(duì)方向的設(shè)置就是錯(cuò)的。任何一個(gè)新模塊裝上去,都是錯(cuò)誤的方向信號(hào),所以全反。
2、假如有一個(gè)模塊的閃存中已經(jīng)有方向信號(hào),伺服就會(huì)讀這個(gè)方向信號(hào)。雖然PLC RUN后,緩存中的地址又變成錯(cuò)誤的,但并沒有影響到伺服。
每次斷電再上電PLC未運(yùn)行前,PLC中的方向信號(hào)又恢復(fù)成閃存中正確的信號(hào),有可能就是這一瞬間伺服讀取了PLC的參數(shù)記憶下來。
3、那一次把好的模塊搞反,有可能就是我誤打誤中修改了一個(gè)方向,但伺服沒斷電未能生意。換了模塊斷電的時(shí)候參數(shù)生效反了。
4、有一個(gè)本來前2軸對(duì),第3軸錯(cuò)的模塊為什么給搞成全反,這個(gè)至今沒想通
5、有可能最最早的時(shí)候這個(gè)程序是對(duì)的。后來找人來修改過程序加過工藝,可能是后面的人給搞錯(cuò)了,埋下了這個(gè)坑。所以他那個(gè)機(jī)器上原來的模塊閃存里是001,但程序中卻是110。
最終我沒改把程序改回去。因?yàn)殡m然我懷疑他是錯(cuò)誤的程序,但畢竟這個(gè)程序在這二臺(tái)機(jī)器上已經(jīng)使用了好幾年。只是意外壞了一個(gè)模塊,才把這個(gè)大坑引到了我腳下。
我不敢再改了,怕了。見好就收吧。
客戶把3個(gè)模塊都買下了,一是不好意思退貨,二是他還有2個(gè)備用,萬一壞了直接裝上就行,這三個(gè)模塊我已經(jīng)幫他都復(fù)制了閃存。
因?yàn)樵O(shè)備上的線都非常老舊,已經(jīng)撥上幾十上百次了,伺服經(jīng)常報(bào)錯(cuò),怕萬一又把那搞壞了,那今天真是回不成家了。
開車到家的路上很順利,一路120公里,見車就超。
發(fā)下此貼,紀(jì)念勞累而心痛的兩天,并且感謝那些幫助我的人們。
同時(shí)非常理解壇子里那些維護(hù)舊設(shè)備的師傅們!!
[ 此帖被Q02UCPU在2017-11-12 19:53重新編輯 ]