有一个老客户,设备上的A1SD75M3坏了,机器停机了。
这是个老型号,调到一个,发给他。
没想到从那天起,恶梦就来临了!
第二天客户反映,装上去后,1轴,2轴正常。3轴是方向反的。点动或程序运行都反的。
他说以前也遇到过这种问题,换了一个模块就好了。
并且客户说现场有二台一样的设备,从另一台上拆了一个模块装上去,就好用了。
那就换吧,给他又找了一个。他说现场很急,亲自开车来取。
结果第2个模块,3个轴都是反的!!
于是又再找了一个,这第3个模块,还是说3个轴都是反的!!
有人说可能是模块参数没设置好,但手上又没有电脑连接模块这个线(后来我才知道这线的型号是A1SD75-C01H,某宝有卖)。
客户第二次来取模块时,把第一次的模块带还了我。我当时有点怀疑这模块中是否有旧数据,找有线的人帮忙清除了内存,恢复出厂状态,再发到现场,还是不行!!
一共试了3个新模式,其中有一个还取回找人清除了参数,都不行!
这是怎么回事,我都快崩溃了!
于是想调试程序,通过修改程序,让后面的模块正常起来。
可是他PLC设置了密码!我在论坛下载了一个解密软件发给客户,远程QQ操作,不行!
后来通过ymmfa找到论坛的haoqing,终于把密码解开了!
然后根据A1SD75M3的手册,查到107 257 407这三个缓存分别对应3个轴的方向。给客户做了一个程序,开机瞬间TO K1到这三个缓存。并且教了客户修改的办法。说可以根据现场情况,先改成1 1 0, 如果不行再改。
结果客户第二天说,不管怎么改,都不行!000,001,010,100,110,111都试过,方向完全没变化!
NND,难道手册骗我!
虽然我再不懂英文,但手册上明显的有这一条啊:
难道是有冲突吗? 我查了一下,源程序中并未用到这三个地址。
我查找了程序里所有的TO 和TOP指令,把定位模块所在的地址K4用到过的所有缓存都查出来了,并且一个一个做在表格上,大约有80几个缓存,我又每一条去翻英文手册找到,然后百度翻译。再记在本子上。关是这个工作就做了3个多小时。这些缓存都是3个轴的电机参数,控制方法,定位数据,速度,位置,转矩,加速时间,错误状态等。完全和方向没有关系!
这时我要崩溃了。但这只是我第一次崩溃!
又请教了好多人,但基本都不会这个模块。ymmfa说有可能J2S-B的伺服从模块中读参数的时候,程序还没运行。也就是在M8038(相当于FX的M8002)之前,所以要把方向信号写入闪存才行。
写到闪存后,每次开机,闪存的数值就自动发到缓存。
我找了半天,找到3个疑是此功能的地址,但不确定是哪一个,百度翻译后感觉第一个和第三个都很象
不管了,先这样吧。 跟客户约好,周六早上开车去他现场高度。一百五十公里路程,并且说调试不好不收钱。就算收钱也是让客户看着给。客户很感激。
其实我们卖产品的,大不了不好用退货。不会提供现场支持。但一是这个客户人不错,二是这个槛过不去,心魔难除。
周六九点到了客户现场。一堆材料摆在那等着加工,压力山大!
先听现场人讲工艺流程,配合梯形图和日文的触摸屏画面,有了一定认识。
有一个模块是三个轴都是反的,我向107,25,407写入K1,然后1106=2,1138=1。断电再上电,伺服也断电再上电,还是不行!!
现场人员说,3个模块中,有一个只有第3轴方向反!要不把它换上改改试试!
于是断电换模块,拨线。再上电。NND,伺服报错E9!!
现场说这正常的,老设备就这样。有时过一会就好了。
等了一会果然好了。准备改PLC程序。虽然说这样治标不治本,但能用就行。(因为现场另一个机器上拆了换过来就行)
第三轴的手动是Y5A和Y5B,这个简单,直接互换。这样外部按钮的手动就正了。
第3轴的控制方法是H200,但我看了半天手册,没找到对此的详细解释,于是直接改成H201,但一开机直接报错。
于是又拼命看手册,拼命打字百度在线翻译。
找了半天,终于在一页翻到简单解释。原来这个H200是INC直线。
那好说,我把定位地址改成负数。D- K0 原来的值 到新的D。新的D再发送到模块。
上电再试,OK!第三轴手动,自动,都是正确的方向了!
客户也很高兴,这时已经12点半了,大家肚子都饿了。
但是悲剧发生了,现在这个模块的1轴,2轴反掉了!!
这只是我第二次崩溃!!
客户说先去吃饭吧。点了好几个菜,只吃下半碗米饭几口菜!
这次没去现场。先翻了半天手册。原来PLC就绪的信号通的时候,可能写不成功。
并且之前我在论坛发的贴,有人回复了,daizhi确定说1138就是写入闪存的。这时我在客户办公室拿客户备用的一个PLC不断地做试验。
先把PLC就绪信号,也就是Y5D用条件断掉,再向107,25,407写入K1,1138=1。断电再上电,闪存真的写入成功了,好象是可以保存住了。
试了二次,好象可以哟!
好吧,到车间去试。结果伺服又报错了!!!急啊,我急啊,感觉希望就在眼前,伺服却报错!
等了十来分钟,伺服恢复了,看来这伺服应该是电池快不行了。
连接上PLC,准备修改程序把方向设备写入缓存!
通信失败!检查我的电脑,是COM3的,对的啊,再连接还失败!换电脑,仍然失败!
难道是现场干扰,我跑到办公客户,用刚才那台PLC再试验,还是失败!!
我CAO!大写的CAO! 刚才都还行!这破编程电缆竟然这个时候,最关键的时候,在我能看到曙光的时候,坏了!
这只是我第三次崩溃!!
没办法又找ymmfa帮忙,他找到一个电话发给我,说对方有USB-SC09这种老型号的线现货。
那人周六休息,让我去他家里取,并且离现场只有15公里!一次拿了二根,然后急急开车返回。
OK,到了现场,奔跑到机器前,通讯测试! 成功与A2USHCPU-S1连接!!
胜利就在眼前!
但是,这次仍然不行!!
伺服也断电再上电,还是不行!!!
这只是我第四次崩溃!!
接下来我难以用语言形容了,各种尝试,都是不行!
我也曾想过,用修改第3轴的办法去修改第1轴和2轴很难改。但这2轴其中涉及了50几条定位数据,每条的控制方法,地址,速度还不一样!
并且在不同的工艺流程使用不同的定位数据,还涉及到位置的限制和比较。上万步的程序中改这个很容易出更多错误。所以我放弃了这个办法。
并且有一个原因一直让我难以解怀,为什么另一台机器上的那个模块,装上来就可以直接用!不用修改程序!
这究竟是为什么?
其中我用百度翻译可能翻译了大约三千字的内容。但仍然没有进展。
J2S-B和A1SD75M的手册我看得已经想吐了,我已经看到英文就想吐!看到PDF,看到梯形图,看到PLC就头晕!
最惨的是,竟然,我操,我们利用好的那台机器比较做试验,竟然 ,把那台机器搞得1轴也反了!!
客户说:完了!
现在二台机器都完了。。这是我第五次崩溃!!
这究竟是怎么回事怎么回事怎么回事!!
我继续看手册百度翻译,查资料。但仍然不行。这时我发现一个问题!
原始的程序中原来有方向的设置!!!
只是他写的很隐藏。先是MOV K* D*** 这样MOV了好几个。其中有一条是TO H4 G103 D6100 K6。
K6!!!原来这里包含了103 104 105 106 107 108 原来真的有方向设置!!
真的有!!
接下来我又把这里修改了几次。然后经历了5次断电上电,伺服3次报E9的痛苦等待! 原本好的那台机器终于恢复正常了,我也不知道是怎么恢复的!
因为另一台依然不正常,3个模块换着试,全是反的。3个轴都反,一个都不正!
并且伺服一度通讯不上,一直是AB。不是A1 A2 A3。。
明明又发现了一个问题,但怎么还是不行,这是我第六次崩溃!
客户说走吧,很晚了,吃饭去。晚上八点多了。。
本来计划早上来调好,下午还能去看当地景点,然后再开车回家。刚好是11月11日,痛苦的双十一。
这一天,真的很难受。仍然没有胃口,但的确是饿了,吃了一碗饭。
客户带我找了一个地方住下。感觉蛮高档,担心很贵。因为自己没解决问题,还让人家多花钱不好,结果一问不贵。二百多块钱。
住下后我才知道,为什么是这个价格。
这是新装修的,油漆味很浓厚!背后就是一条高速公路,声音很大,开窗透气的话,声音非常大。关了窗拉上窗帘,外面院子的路灯仍然影响睡眠!
床超硬! 有钢板一样硬!
算了,我继续 看手册 。虽然很想吐,但是没办法,还是要看。
百度找答案,搜索A1SD75M3,搜索J2S-B旋转方向,完全没结果!
到了11点才发现电脑快没电了,没带充电器。还好之前调试PLC一直用的客户的电脑。我还有15%的电先关机吧。万一明天要查资料,有些资料只有这台电脑上才有。下载很慢。
翻来翻去好不容易睡着,2点半,醒了!!
失眠!梦中都梦到在调试程序!起来继续看手机,看到4点。
这时突然有一个想法,打客户电话。打了五次客户都没接。开车到了现场,办公室关着门,车间是在加班,但不好进去。
我的思路是这样:
一,我之前改方向,在原来的程序中加入几程序,再改的。理论上看上去是改成了。但有可能受扫描顺序,或者各种原因影响,并未完全成功。
二,另3个模块是可以转的,虽然方向是错。但说明硬件没坏。因为手动或程序可以正转,又可以反转。只是按上升的时候,它在下降。按下降的时候,它在上升。
三,既然硬件是坏的,那说明参数,也就是闪存和缓存是坏的。那如果我把所有缓存从好的模块上读出来,写到坏的模块上呢?
一共有7000多个缓存,并且有一些还是用户不可用的。那怎么办?
假如我用FROM ***** K7000,行不?
支持这样大不,我查了FX的手册说是支持到三万多!但A估计也行吧!反正我梯形图上是能打进去!
但那些用户不能用的,怎么办,会报错吗?或者能读出来,能写进去吗?
这得有个PLC先试试。可没带PLC。只能先把程序写在电脑中,这样节约一点时间。
写完程序后电脑只有10%的电量了。
继续在床上发呆,莫名奇妙睡着了,直到被客户电话叫醒。早上八点。客户昨晚电话静音。
到了现场,先在客户办公室测试。一个基板上装了2个A1SD75M3,FROM第一个,直接能一次把所有缓存读出来,因为我监视了D,批量。的确有。
然后又TO到第二个模块,的确也能。估计是不能使用的区域直接被无视,读写无效果。其他的区域还能用。
然后再把1138ON,这样缓存的数据就全部写入到闪存。
这个过程分三步,读1号模块,写2号模块,把2号模块的缓存写入到闪存。
三步都没报错!
好了,到车间去试!
伺服又报E9! 又等了十来分钟!
最后的结果是:成功了。。。
分析原因,有可能是这样:
1、原程序里对方向的设置就是错的。任何一个新模块装上去,都是错误的方向信号,所以全反。
2、假如有一个模块的闪存中已经有方向信号,伺服就会读这个方向信号。虽然PLC RUN后,缓存中的地址又变成错误的,但并没有影响到伺服。
每次断电再上电PLC未运行前,PLC中的方向信号又恢复成闪存中正确的信号,有可能就是这一瞬间伺服读取了PLC的参数记忆下来。
3、那一次把好的模块搞反,有可能就是我误打误中修改了一个方向,但伺服没断电未能生意。换了模块断电的时候参数生效反了。
4、有一个本来前2轴对,第3轴错的模块为什么给搞成全反,这个至今没想通
5、有可能最最早的时候这个程序是对的。后来找人来修改过程序加过工艺,可能是后面的人给搞错了,埋下了这个坑。所以他那个机器上原来的模块闪存里是001,但程序中却是110。
最终我没改把程序改回去。因为虽然我怀疑他是错误的程序,但毕竟这个程序在这二台机器上已经使用了好几年。只是意外坏了一个模块,才把这个大坑引到了我脚下。
我不敢再改了,怕了。见好就收吧。
客户把3个模块都买下了,一是不好意思退货,二是他还有2个备用,万一坏了直接装上就行,这三个模块我已经帮他都复制了闪存。
因为设备上的线都非常老旧,已经拨上几十上百次了,伺服经常报错,怕万一又把那搞坏了,那今天真是回不成家了。
开车到家的路上很顺利,一路120公里,见车就超。
发下此贴,纪念劳累而心痛的两天,并且感谢那些帮助我的人们。
同时非常理解坛子里那些维护旧设备的师傅们!!
[ 此帖被Q02UCPU在2017-11-12 19:53重新编辑 ]