RobotStudio event

Interlink & SCWrite [WebWare SDK]

We are using Webware SDK 4.6

Our application consists of one or multiple applications running on a PC.

There are as many applications (*.exe file) running on the PC as ABB controllers (1 to 6 or more)

Each robot-controller has his own alias in Device Configuration , with his own IP address.

Each application (exe file) is build around a objHelperControl, and each one has his own (different than others) robot alias

This problem occurred with S4 robot controllers, Ethernet connection.

We are using SCWrite instruction on the robot controller to generate objHelperControl_SCWriteEvent on the PC.

Normally when the RobotX execute SCWrite, only the application having objHelperControl.Robot = RobotX_Alias receive the SCWriteEvent

First time the problem was reported with a PC running Windows 2000 service pack 4:

There was one ABB robot connected using a hub to one PC, one robot alias in Device Configuration. On the PC two applications were running: One with the robot alias the same as the one in Device Configuration, the other one with a bogus (non existent in Device Configuration) robot alias. At some point we noticed that when the (only one) robot executed SCWrite instruction, both applications (the one with the right and the one with a bogus alias) receive the SCWriteEvent on the PC. We did not pay to much attention to that, since the functionality of the application with the right robot alias was not affected.

There was now a second incident on a PC running Widows XP SP2 connected to six S4 robots. We noticed that the Robot4 application on the PC is receiving SCWriteEvents although the Robot4 was not moving (he was in a wait for a PLC IO signal), or executing a program SCWrite instruction. After observing the phenomenon for a while, we realize that when Robot1 was executing a SCWrite instruction both applications Robot1 and Robot4 were receiving the event. Also when Robot4 was executing a SCWrite instruction, application Robot4 (and only that) will receive a  SCWriteEvent. So it was like application with alias of Robot4 was receiving events from Robot1 and Robot4 , while application with alias of Robot1 was receiving events only from Robot1 !  In the same time the others applications Robot2, Robot3, Robot5, Robot6, were acting normally, receiving events from their robot only.

The problem went away (without changing any settings in Device Configuration, our application or somewhere else) after we reboot PC and the Robot4 controller, however this is in a production plant where a reboot means stop production and there is no place for playing around. My concern is that if at some point we want to read and change-compensate robot positions and there is a mix like the one described - and one robot controller data overwrite other robot controller data - that could create a dangerous situation (at best they have to throw away a car or two).
www.robotcalibration.com