您好!欢迎光临工博士商城

ABB机器人集成专营

产品:28    

咨询热线:13127732113

QQ QQ
您当前的位置:首页 » 新闻中心 » ABB机器人自动保存诊断信息的方法
产品分类
新闻中心
ABB机器人自动保存诊断信息的方法
发布时间:2020-04-21        浏览次数:371        返回列表
 

ABB机器人自动保存诊断信息的方法


 

今天我们来说说如何让ABB机器人自动保存诊断信息。在阅读本期文章之前建议先读以下文章。

 

看过我之前文章的都知道故障发生时建议**时间保存诊断。但是呢,曾几何时,你是否有过这样的经历?现场工程师明明已经提供了诊断,但是屡屡被后端技术支持的专家团队退回,理由是诊断文件不是问题发生时候的诊断,许多关键信息丢失或被覆盖,无法从中获取准确的信息,被视为无效诊断。

那您肯定要说了,我们又不是闪电侠,如何保证正好在错误发生的那个点保存下来?而且我又不知道问题什么时候会发生?我那时候不在机器人旁怎么办?

办法是有的。通常来说,遇到那种偶尔发生一次的故障我们建议使用该方法。

首先,针对普通工业机器人,你需要新建一个Task,类型为SEMISTATIC。对于喷涂机器人来说那更好办了,直接用现成的,直接在cmdtaskcustpnt.sysInitCustPnt()例行程序中写。

其次,就是要考虑触发条件,一般来说,你需要根据故障的具体细节来定义,比如说特定故障代码,指定信号的变化等。

第三,选取合适的中断指令来实现功能,请参考以下中断指令列表。

 

第四,需要写一个service_debug.cmd文件来自动触发一个诊断。

下面举几个典型的例子:

  1. 发生错误时指定信号触发来自动保存诊断,

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
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 wsIps A1AtomFS wsIps A1AtomIP wsIps A1Shape wsIps A1ShapeFS wsIps A1ShapeIP wsNode 9 ips acu wsNode 9 ips systemload wsNode 9 ips can1load ws

 

例子中我们主要观察一下一些工艺设备的信号和通讯负载。添加完成之后也是同样需要重启控制器。



更多资讯:ABB机器人



 

联系热线:13127732113   联系人:申采鑫 联系地址:上海市宝山机器人产业园宝联一路88号

技术和报价服务:星期一至星期六8:00-22:00 ABB机器人集成专营