Author Archives: LT - Page 4

无线连接提升工业自动化现场调试效率

现在大多数工业设备都已经集成了以太网功能,以方便工厂更好进行设备的信息管理。以PLC或者工业机器人为例,经常在工业自动化现场做调试的朋友可能会有这么样的感受,通常调试都需要带一根网线,用来将笔记本电脑和设备连接起来,而现场环境又不是那么完美,有时候为了增加笔记本的移动范围,往往用的网线很长,比如10米,拖个长尾巴不说,而且网线在现场拖来拖去,会弄得很脏。

自然而然就想到了无线连接,LT  的同事确实已经这么做了,曾见调试 PLC 的同事带了一个家用的无线路由器,只是体积硕大,很不方便。所以实用性不大。而比较小巧的无线路由器就只有苹果的 AirPort Express ,但是价格又贵。今年 TP-Link 推出了小巧的便携无线路由器  TL-WR700N,顿时让 LT 感到时机来了,于是花了85元大洋弄了一个测试。(同类产品还有68元的FW150RMMW150RM,据说是硬件和TL-WR700N差不多,是穿了不同的马甲)

TL-WR700N 比他的弟弟 TL-WR703N / TL-WR702N 个头大些,因为内置了电源插头,这个是插在插线板上的效果图。但个头比一般家用型的无线路由器小多了。(后来又出来个TL_WR800N,个头和TL_WR700N一样大,速率是300M)

下面是一个大小的比较,比信用卡大一些。

这种路由器一般都有AP工作模式,所谓AP,就是无线接入点,顾名思义就是能让无线网卡接入网络的功能。看到上图那个RJ45接口了么,如果用来连接设备,那么由设备出来的网线就直接插在这个网口了,然后笔记本通过无线网卡再和AP相连。就彻底摆脱网线,自由了。

为了实现自己的想法,LT 赶紧找了个工业机器人控制柜来测试,用一根网线,一头插入机器人控制柜的网口,一头插入WR700N,WR700N自带的电源插头这时候就显示出方便了,直接插在控制柜的电源插座上。看下面图片,找到 “小白”了么?

 

笔记本上呢,以前是在有线网卡处设置IP的,这样就改为在无线网卡属性里设置了。搜索到AP的SSID,连接成功!嗯,试试距离,LT 跑到了车间的另一头,然后打开命令行窗口,ping 一下工业机器人的IP地址,无延迟,很完美!

再试试专门的配套调试软件,哦也!完全能hold住!

P.S. 这个小装置,经常出差也用得着,酒店里用来将有线转为无线来用。这个本是它的设计初衷。

扩展阅读:

哪位高人做过step7无 线 监 控plc300程序的项目  http://bbs.e10000.cn/a/a.asp?B=302&ID=910530

使用无线路由器实现计算机与PLC的以太网通信   http://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=50&a_id=806642&s_id=0&num=25#anch

应用探讨-SIMATIC 工业无线以太网应用—发帖整理 http://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=7&a_id=734084&s_id=0&num=16#anch

 

 

将刹车研究进行到底 – 再谈ABB机器人如何做刹车测试

在前面一篇文章《工业机器人的运动停止-刹车测试》里,LT提到IRC5的safemove组件具有自动刹车测试(Automatic Brake test)的功能。但是 SafeMove White Paper 仅仅是概念性地讲了一下。要获得更具体的内容,可以参见 ABB RobotStudio 5.14 的帮助文件 SafeMove.chm,这个前面 LT 在介绍RS5.14时(《ABB RobotStudio 新版本 5.14 初接触》)已经推荐过,见下图,关于 safemove详细特性,可在此 chm文档里阅读获取。其实,为啥说起chm,因为 LT 手里面没有pdf 版本的safemove文档啊,这个才是主要原因 -_-!  另外提一点,ABB也把实现safemove的硬件称之为 Safety Controller 。(*注1)


在这个手册里,刹车测试被称为 “Cyclic Brake Check” ,功能描述也与白皮书里描述的有所区别,在白皮书里描述刹车测试时如果轴有移动会产生stop0,而在这个chm文档里面是说如果轴有移动则系统切换到reduced speed模式。这是原话

The brake check is initiated by the robot controller or an external PLC. The robot moves to a safe position where the brakes are locked with servos engaged. The motors of the robot are then used to generate torque. If any axes moves, the system is set in reduced speed mode. A new successful brake check must be performed before the robot can be used again with normal speeds.With a defined interval (brake cycle time), the robot must move to the safe position and perform a brake test. If the brake check is not performed within the brake cycle time an error message is generated, and depending on configuration the robot will be set to reduced speed or keep its normal supervision levels. A warning appears on the FlexPendant a predefined time (prewarning time) before the brake cycle time has passed.

软件细节我们暂且不考虑,下面来分析硬件是如何实现自动刹车测试的。在《浅谈工业机器人的运动停止》里提到过 “ 而对于伺服电机驱动器的供电模式,工业机器人电气系统的典型结构是串联两个接触器,而这两个接触器的吸合放开控制,由机器人的安全电路模块来控制” 。另外,刹车电源电路同样经过这两个接触器。当这两个接触器吸合时,给后部电路的刹车电源同时也接通了。后部电路就依据不同品牌的机器人就不同了,比如有的品牌的机器人,每个轴都是单独一个驱动器来驱动,那么这个轴的电机的刹车就由对应的驱动器来控制。而ABB机器人不是这样的结构,ABB的一个驱动器可以驱动2~3个轴,比如小型的机器人,2个驱动器就可以驱动6个轴了。而刹车电路呢,在两个接触器后面又串接了另外一个接触器,我们称之为刹车接触器吧。这样,如果想要解开abb机器人的刹车,那么三个接触器都要吸合才能构成通路。

当然刹车自动测试也只是IRC5以后才出来的产物,而且还是safemove带来的,也就是说IRC5在safemove之前没有这个自动测试的功能,但是既然能加入了 safemove而能自动测试,那么说明了IRC5的硬件结构满足了这个特性(这一段话很拗口….)。这个确实从电气结构上说得过去。

分析下面的IRC驱动模块电气图(*注2)

K43和 K42就是前面所说的两个接触器,K44就是所谓的刹车接触器。机器人工作时的顺序应该是这样的,操作使motor on 时,安全条件满足的情况下,K43和K42吸合,给驱动部分供电,与此同时,驱动部分检测L1L2L3电压是否正常,如果正常则吸合K44,从而电机刹车得电被松开。

LT 推测 其自动刹车测试应该是这样运作的:(注意是推测,因为LT并没有实际拿一个IRC5测试验证过

当自动刹车测试请求时,K43和K42保持吸合状态,这样驱动部分仍得电,而K44被断开,刹车线圈失去电压,刹车抱死电机。控制系统开始给电机一个旋转力矩,与此同时safety controller 在一个时间间隔内监测电机的位置是否发生变化,如果超出了公差范围,那么就表明电机的刹车有问题了。

以前 LT 在思考这个自动刹车测试如何运作时,曾很是想不通,为什么呢,因为 LT前面的工作虽然是ABB工业机器人的维护工作,但是只限于S4/S4C/S4C+的型号,IRC5型号并没有实际使用维护过,从而导致S4C系列形成的观念影响了思考。那么有什么区别呢?区别就在于上图的绿色方框部分。在S4C+的电气结构里,这个地方还是与刹车接触器有关的,请看下图,多了两组触点和两个电阻

如果 IRC5 还保持这样的结构,那么上面推测自动刹车测试的过程就不能成立了。

 

*注1   Safety controller, DSQC 647 (3HAC026272-001)

*注2   IRC5 Product Manual  3HAC021313-001_revH_en   page372

相关文章

将刹车研究进行到底 – 继续谈ABB机器人的刹车特性

前几日,在浏览 ABB Software User Forum 时,发现一个这样的帖子 “CLICK” SOUND OF THE ROBOT,提问者 dhyan 发现他家的机器人有个现象,就是在机器人执行过程中,并且电机状态是motor on时,如果机器人不动作超过一定时间段,会听见机器人本体内传来“嗒”的声音。跟帖里osku回复了他说这是abb机器人刹车激活时的现象(激活即刹车将电机轴抱死)。并且指出这是一个设置参数,其名称为 Brake On Time,默认是120秒。意即当机器人不动作超出120S时,刹车自动释放,以便节省电力和延长电机寿命。

Brake On Time defines the time from when the robot stops to activation of the mechanical brakes. This time should be kept high to maintain the reliability of the servo at high level.  注*

LT 以前也修改过这个参数,修改的原因说起来倒是很有意思。话说当时 LT 当时做的工作就是ABB工业机器人的维护工作,但是机器人的系统有时候也象电脑一样麻烦,那就是重装系统,重装完机器人的系统,将备份的参数恢复后,还有一项工作就是修改这个刹车激活时间到最大值。前面已经介绍过,这个特性能节能还能延长电机寿命,为啥要修改呢?哼哼,如果不修改的话,当时间到达时,俺们现场的机器人就有可能慢慢瘫了,比如第2轴,比如第3轴,原因是现场的电机是修理过的,有些电机进油导致刹车有些失效-刹不住了,这也是为什么要进行刹车测试的目的,参见文章《工业机器人的运动停止-刹车测试》。

那么这个参数在什么地方设置呢,从S4/S4C/S4C+/IRC5都有这个参数设置,以IRC5设置为例 Control Panel->Configuration->Topics:Motion->Motion Planner ,如下图,可以看到默认值是120S,而且是各个轴分开设置的(这点LT就很困惑了,各个轴分开设置,难道是说各个轴刹车可以分别控制了?)

至于 dhyan 在帖子里提到的 Case-1 和 Case-2 反映的问题,osku 也给了建议,建议他检查电机刹车是否能正常工作。刹车线圈通上24V直流电后,线圈产生的磁力应该能克服弹簧弹力而将摩擦片分开,使电机转子正常运转不受阻力。如果摩擦片不能很好并且及时分开的话,就会引发报电机过载的错误。

注*   《User’ Guide》 7.8  Servo parameters

扩展阅读:

“CLICK” SOUND OF THE ROBOT http://www.robotstudio.com/forum/forum_posts.asp?TID=5149

工业机器人的运动停止-刹车测试

好莱坞大片《危情时速》讲述了一个高速的火车在无人掌控的情况下,逐渐加速,直至速度大到怎么也停不住的故事,又名《煞不住》。结局当然是我们的美国英雄克服重重艰辛,进入列车控制室,把刹车手柄拉下。就这么简单。刹车能不重要?!下面我们要谈谈运动的工业机器人怎么能有效停下来。在目前的工业机器人系统中,机械部分运转动力来源还是伺服电机。下图就是一种伺服电机的剖面图。

其机械制动就是依靠电机里面的刹车机构(见下图,以某个KUKA机器人培训PPT中的截图来说明,本文目前只讨论机械刹车),当发生 stop 0 的运动停止时,就依靠刹车来制动。如果,刹车失效的话?在该停的时候没能停下来,有可能就会发生像7.23动车追尾一样的严重事故。刹不住导致高速撞击将会让机器人和工件工具甚至现场人员承受不可预料的后果,尽管发生这类情况的几率很小。

 

所以相关的工业机器人都提到一个安全测试-刹车测试,目的是在可控的状况下,检测电机的刹车是否能正常运作。那具体是怎么样的呢?我们来查阅最出名的工业机器人品牌ABB,其产品 IRB7600 的产品手册,找到了 Brake Testing 一节。

ABB的手册 是这样来描述 how to test 的: 1、 移动机器人各轴到承受重力最大的位置;2、在控制柜上操作使电机Motor OFF,即使电机掉电;3、检查机器人是否偏离了步骤1的位置。由此来判刹车功能是否正常。如果没有移动,那么刹车就是完好的。(注1*

1.2.3.4. Brake testing
When to test
During operation the holding brake of each axis motor wear normally. A test may be performed to determine whether the brake can still perform its function.

How to test
The function of the holding brake of each axis motor may be checked as detailed below:
1. Run each manipulator axis to a position where the combined weight of the manipulator arm and any load is maximized (max. static load).
2. Switch the motor to the MOTORS OFF position with the Operating mode selector on the controller.
3. Check that the axis maintains its position.
If the manipulator does not change position as the motors are switched off, then the brake function is adequate.

 

那么,我们怎么知道机器人是否偏离了步骤1的位置呢?ABB 的产品手册上没有详细介绍,难道就是用肉眼看了?汗 -_-!

随后 LT 在查阅 ABB 工业机器人 safemove 白皮书时,发现 ABB 介绍 safemove 过程中,对刹车检测做了详细的介绍。

5.4 Brake check

The brake check is initiated by the robot controller or an external PLC. The robot moves to a safe position where the brakes are locked with the servos engaged. The motors of the robot are then used to generate a torque. If the robot moves, a category 0 stop occurs and a successful brake check must be performed before the robot can be used again.

With a defined interval (brake cycle time), the robot must move to the safe brake position and activate a switch. If the brake check is not performed within the brake cycle time, the robot is stopped. A warning is shown on the Flexpendant a pre-defined time (pre-warning time) before the brake cycle time has passed. A Cyclic Brake Check can be configured to show a warning but not stop the robot.

 

检测原理就是让机器人移动到一个安全位置,电机刹车释放,然后让电机产生一个扭矩,如果机器人某个轴的电机移动(转动)超出了设定的允许范围,那么表示刹车测试失败。一个机器人重新使用前必须做刹车测试。在 page 30 出指出 safemove 具有 “Automatic Brake test” 功能(注2*)。

思考:当发生emergency stop (E-stop) 时,工业机器人应该执行 stop0 还是 stop1 还是 stop2 ?

 

注1:ABB IRB7600 product manual 《3HAC 022033-001 Revision: B》  page29 “1.2.4.4. Brake testing ”

注2:ABB 《SafeMove White Paper 》page19  “5.4 Brake check”

相关文章:

安全知识入门(2)-双手操作按钮

LT 喜欢美食,所以也喜欢买厨房电器,前不久,入手了一个美的牌的电磁炉ST2106。到手后,当然要对所有功能测试一番,但是就在测试童锁功能时,却卡了壳。怎么回事?

按介绍说,要同时按下+-按钮,才会锁定,童锁灯才会亮起。但是 LT反复操作却不起作用,还怀疑买了一个有质量的商品,后来又琢磨琢磨,终于会用了,原来这个童锁按钮,对两个按钮的操作时机有一定的要求,不能先按一个按钮再按一个按钮,必须要在非常短的时间间隔内同时操作两个按钮。解除童锁,同样需要这样操作。这个高难度的时间差掌握,相信能使这个童锁非常起作用,不知道内幕的操作者根本无法快速上手。

由这个, LT 想到工业生产上常用的双手操作按钮,典型的应用在冲床等高危险工位,为了防止操作者将手误伸入危险区域,制定了只能双手同时操作的按钮,只有当双手同时(严格意义的同时是不存在的,是在极短的时间差内)操作两个开关,才会向机器发出执行的信号;在机器执行的过程中,一旦某只手松开,机器会立刻停止工作;即使重新把松开的手合上,机器仍然不会启动,需要再重新启用双手才可以。(是不是很类似安全继电器的功能?参考阅读《安全知识入门(1)-安全继电器模块》)只有这种机制,才能最大程度使机器动作时,双手位于按钮这边的安全区域。

总线通讯中的看门狗 – 心跳检测

熟悉单片机或工控机的朋友,想必都对看门狗有所熟悉。什么是看门狗呢?看门狗一般是主板的一个定时芯片,可以由程序启动,程序正常运行时,不断重置定时器,俗称“喂狗”。一旦程序异常,“喂狗”失败,定时时间到,便会触发复位电路,将系统重启。

在工业机器人应用中,常常需要用总线将 PLC 站和机器人控制器相连用于数据交换,典型的应用是在一个 Profibus 网络中,PLC 控制器充当主站,机器人控制器充当从站,那么对于总线通讯的状态,我们就需要监测。对于通讯错误,硬件报错自然可以查看到报警,但是软件我们如何监测呢?思路和看门狗一样的。

在讨论之前,我们设想一种情况:为何不能设置某个信号为1或者0,当监测不到这个信号时,就认为异常。这个是不行的,就如我们用电脑一样有时候死机,信号当然保持不动了。所以我们需要动态监测。

回想前面的看门狗思路,周期性地“喂狗”,定时器…..嗯,在机器人控制器里,需要设置一个定时器,用 PLC 主站发过来的信号周期性喂狗,一旦喂狗失败,定时器启动,便进行相应的后续处理。对于喂狗信号,需要检测动态特征,最简单的就是检测跳沿,用每次边沿触发来重置定时器(关于边沿检测,参考前面的文章《PLC 边沿检测原理》)。

这个周期性喂狗信号,还被赋予一个称呼“ Live Bit ”,最简单的可以用 PLC 主站发来脉冲信号来实现。机器人控制器收到后,再将其反转后回传给PLC主站,PLC 主站对其回传的反转信号再进行检测,以便判断通讯是否正常,并进行相应的后续处理。后来 LT 在与 雪野苍狼(eaglesky) 交流时,得知这种方法还有个中文名字叫“心跳检测”。

扩展阅读:

怀念华飞

在QQ上听老G说,华飞准备破产了,该来的还是来了。算来从我当初离开华飞到现在,已经一年零八个月了,当时进入新公司后不久写了一篇日志《再见南京》作为记录。

华飞所生产的产品是CRT,这东西在现在看来就像半导体时代看待电子管一样,属于时代淘汰的产品。从80年代,华飞诞生,彩色电视机当时还是高档 货,到90年代2000年的华飞的鼎盛,电视机厂商用现金来提货,到现在的没落,20多年,见证了一个时代的发展,也养活了一代人,培养了大量的人才。如 今华飞的衰败自然有市场及股东方的原因,但是华飞确实完成了他的使命。

西祠上有以前的华飞员工回忆:“1990年5月23日,在华飞公司 7号办公楼前,第一次升起国旗和厂旗;1990年7月2日,华飞公司第一阶段投产 仪式在8号餐厅举行;1990年10月28日,在华飞公司举办了首届家属参观日;1990年11月10日,邹家华同志为华飞公司投产剪彩;1991年9月 30日,华飞公司首届运动会在南京林业大学举行;1995年6月22日,华飞公司首批赴长江三峡旅游的员工乘飞机离开南京;1998年4月30日,由华飞 公司投资赞助的国内规模最大的盲人植物园在南京建成”。

华飞承载了太多的东西,我们不愿再谈论它。2011年5月24日,在华飞历史上将是一个重要的日期,这天标志着华飞的终结。

个人极限突破 40km 行军完成纪念

LT 在2005年参加华飞革新学校:个人极限突破 40km 行军完成纪念