ABB机器人自动保存诊断信息的方法
今天我们来说说如何让ABB机器人自动保存诊断信息。在阅读本期文章之前建议先读以下文章。
看过我之前文章的都知道故障发生时建议**时间保存诊断。但是呢,曾几何时,你是否有过这样的经历?现场工程师明明已经提供了诊断,但是屡屡被后端技术支持的专家团队退回,理由是诊断文件不是问题发生时候的诊断,许多关键信息丢失或被覆盖,无法从中获取准确的信息,被视为无效诊断。
那您肯定要说了,我们又不是闪电侠,如何保证正好在错误发生的那个点保存下来?而且我又不知道问题什么时候会发生?我那时候不在机器人旁怎么办?
办法是有的。通常来说,遇到那种偶尔发生一次的故障我们建议使用该方法。
首先,针对普通工业机器人,你需要新建一个Task,类型为SEMISTATIC。对于喷涂机器人来说那更好办了,直接用现成的,直接在cmdtask的custpnt.sys的InitCustPnt()例行程序中写。
其次,就是要考虑触发条件,一般来说,你需要根据故障的具体细节来定义,比如说特定故障代码,指定信号的变化等。
第三,选取合适的中断指令来实现功能,请参考以下中断指令列表。
第四,需要写一个service_debug.cmd文件来自动触发一个诊断。
下面举几个典型的例子:
-
发生错误时指定信号触发来自动保存诊断,
module custpnt(sysmodule)
local var intnum irAtomErrCheck;
VAR errstr my_title:="Atom error occur, system dump";
VAR errstr str1:="";
VAR errstr str2:="";
VAR errstr str3:="";
VAR errstr str4:="";
proc InitCustPnt()
!
! This will be executed during startup...
!
IDelete irAtomErrCheck;
connect irAtomErrCheck with tpAtomErrCheck;
ISignalDO A1AtomDev, 1, irAtomErrCheck;
Endproc
trap tpAtomErrCheck
Errlog 4800,my_title,str1,str2,str3,str4;
endtrap
endmodule
2. 特定故障代码时触发来自动保存诊断,
module custpnt(sysmodule)
local var intnum irAtomErrCheck;
VAR errstr my_title:="Atom error occur, system dump";
VAR errstr str1:="";
VAR errstr str2:="";
VAR errstr str3:="";
VAR errstr str4:="";
proc InitCustPnt()
!
! This will be executed during startup...
!
IDelete irAtomErrCheck;
connect irAtomErrCheck with tpAtomErrCheck;
IError 13\ErrorId:=3220, TYPE_ALL, irAtomErrCheck;
Endproc
trap tpAtomErrCheck
Errlog 4800,my_title,str1,str2,str3,str4;
endtrap
endmodule
当上述例子中故障发生后,我们在故障日志中可以看到以下信息,
当然,当你看到这条后只是逻辑建立完成,要让系统在这条故障发生的一瞬间触发诊断还需要写一个service_debug.cmd,让系统自动触发诊断。
文件中需要加一句话,
sysdmp_trigger_add -elog_domain 11 -elog_number 4800
保存之后用FTP软件把文件放在系统根目录下。什么是系统根目录?就是Home文件夹的上一级,一般你用FTP软件登录主机,默认就是Home文件夹。
重启控制器,大功告成。“妈妈再也不用担心我保存不了诊断了”。
扩展知识:
(1)针对上述**条“发生错误时指定信号触发来自动保存诊断”,如果我们同时想监控指定信号和其相关信号来进一步缩小故障范围,我们该怎么做?你会说用RobotStudio signal analyzer online 来实时记录信号,完全可以,但是,如何碰到一个月才出现一次的问题,你开一个月吗?不需要这么做,只需简单的在Service_debug.cmd中写上这么一句,
例:
invoke -entry eio_trace_signals -strarg "RunChainClosed,MotorIsOn,sdoCycleOn,ReposFinished,c1Connected,c1WaitWObj,c1DropWObj,c1NullSpeed" -nomode
引号中用逗号分开的就是要监控的信号。
然后呢,当保存好诊断之后,这些信号日志就会静静的呆在某个“灯火阑珊处”,具体分析方法属于诊断高级教程范畴,后续会有考虑会写,本篇先略过。
(2)写给喷涂机器人的,特有的一些工艺参数信息、IPS通讯状态、IPS故障信息等我们也可以一并记录在诊断中,就是说在保存诊断时这些信息也是自动写入诊断的,在一个叫pntsup_ips_dump_show.txt的文件中,
我们要做的就是根据需求在文件HOME/ipsdata/node1/ sysdump.bat中添加指令,例:
Ips A1Atom ws
Ips A1AtomFS ws
Ips A1AtomIP ws
Ips A1Shape ws
Ips A1ShapeFS ws
Ips A1ShapeIP ws
Node 9 ips acu ws
Node 9 ips systemload ws
Node 9 ips can1load ws
例子中我们主要观察一下一些工艺设备的信号和通讯负载。添加完成之后也是同样需要重启控制器。
- 下一篇:ABB工业机器人码垛实现
- 上一篇:ABB机器人砂芯侵涂解决方案