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