Direct Robot Communication

PeterPan
PeterPan RSA
Hi Team,
is there a way have an Robot to Robot Communication without PLC interaction? Like sending Position or status between. I have couple of IRB5400 and some signals for Safety are needed that doesnt need be send to PLC.
All robots connected to ethernet.

Answers

  • Forge_Engineering
    Forge_Engineering Mackay, QLD, Australia
    Hi PeterPan,

    I'm not sure what controller you are using, 
    but for IRC5 there is a manual called "Application manual - EtherNet/IP Scanner/Adapter"
    and on pages 58/59 it gives an overview of how to do this with links to pages with specific detail. 
    I've got no experience with this; hopefully it's what you are looking for.
    Regards,

    Harry
  • matti
    matti Germany
    We did once something like this with Device Net (Master/Slave). Both robot had an own net, both were connected. This way you could define output signal which appeared as inputs on the other robot with same mapping.

    EIO_BUS:
      ...
          -Name "DeviceNet1" -BusType "DNET" -ConnectorID "PCI1"\
          -ConnectorLabel "First DeviceNet"
    ...
    #
    EIO_UNIT_TYPE:
    ...
    -Name "DN_SLAVE" -BusType "DNET" -VendorName "ABB Robotics" -DN_VendorId 8\
          -DN_ProductCode 12 -DN_DeviceType 12 -DN_ExplicitMsgEnabled \
          -DN_C1Interval 50 -DN_C1OutputSize 64 -DN_C1InputSize 64
    ...
    #
    EIO_UNIT:
    ...
          -Name "RobA_Unit_on_B" -UnitType "DN_SLAVE" -Bus "DeviceNet1"\
          -DN_Address 3
    ...
    #
    EIO_SIGNAL:
      -Name "Rob1pos" -SignalType "GO" -Unit "RobA_Unit_on_B"\
          -SignalLabel "Pos. Gantry 1 to Gantry 2" -UnitMap "0-24" -Access "Default"
       -Name "diRob2ReqPark" -SignalType "DI" -Unit "RobA_Unit_on_B"\
          -SignalLabel "Rob2 is requesting park permission" -UnitMap "25"\
          -Access "Default"
    ...

    (example is old, and syntax may have changed)
    Maybe there something similar with Ethernet Adapter ?

  • matti said:
    We did once something like this with Device Net (Master/Slave). Both robot had an own net, both were connected. This way you could define output signal which appeared as inputs on the other robot with same mapping.

    EIO_BUS:
      ...
          -Name "DeviceNet1" -BusType "DNET" -ConnectorID "PCI1"\
          -ConnectorLabel "First DeviceNet"
    ...
    #
    EIO_UNIT_TYPE:
    ...
    -Name "DN_SLAVE" -BusType "DNET" -VendorName "ABB Robotics" -DN_VendorId 8\
          -DN_ProductCode 12 -DN_DeviceType 12 -DN_ExplicitMsgEnabled \
          -DN_C1Interval 50 -DN_C1OutputSize 64 -DN_C1InputSize 64
    ...
    #
    EIO_UNIT:
    ...
          -Name "RobA_Unit_on_B" -UnitType "DN_SLAVE" -Bus "DeviceNet1"\
          -DN_Address 3
    ...
    #
    EIO_SIGNAL:
      -Name "Rob1pos" -SignalType "GO" -Unit "RobA_Unit_on_B"\
          -SignalLabel "Pos. Gantry 1 to Gantry 2" -UnitMap "0-24" -Access "Default"
       -Name "diRob2ReqPark" -SignalType "DI" -Unit "RobA_Unit_on_B"\
          -SignalLabel "Rob2 is requesting park permission" -UnitMap "25"\
          -Access "Default"
    ...

    (example is old, and syntax may have changed)
    Maybe there something similar with Ethernet Adapter ?

    Thx 
    That seem to go the direction I was looking for cause the older Robots do not have the EtherNet/IP Scanner/Adapter option.
    Will check that. Would make Robots talk to each other easy.
    Like say I am in Home Position.
  • Not Easy to Understand, if you have more input about would be great
    Cheers
  • matti
    matti Germany
    Hallo, both robots should have DeviceNet. You have to connect both nets to each other physically.
    In EIO.cfg you have to add the components from above (net, unit-type and unit). You have to do this on both robots. Thereafter you should be able to define signals. Having the same mapping, an input on robot A will communicate with an output on robot B. This will work also for group-signals for handing over positions etc. It is real-time so to say.

    If you have a PC connected via ethernet to your robots, you could also use PC Interface to exchange data-sets between the robots.

    I suppose it might work with etherner adapter option instead of device net as well, but I don't know.
  • matti said:
    Hallo, both robots should have DeviceNet. You have to connect both nets to each other physically.
    In EIO.cfg you have to add the components from above (net, unit-type and unit). You have to do this on both robots. Thereafter you should be able to define signals. Having the same mapping, an input on robot A will communicate with an output on robot B. This will work also for group-signals for handing over positions etc. It is real-time so to say.

    If you have a PC connected via ethernet to your robots, you could also use PC Interface to exchange data-sets between the robots.

    I suppose it might work with etherner adapter option instead of device net as well, but I don't know.
    Ya your Right. Device Net would be good enough its an Old IRB4600 with RW 6.04
    My EIO looks quiet different (naming and Structure) to your example up there. Did also read the Handbook for DeviceNet Master Slave but to be honest not get it working.
    Maybe something else is missing on my System. 
  • matti
    matti Germany
    Hallo, my version is even older (5.13) but there is 709-1 Master/Slave Single option included.
    Maybe a precondition for this functionaltity(?)