Home Programming

Discussion

Left ArrowBack to discussions page
SebastienSebastien Posts: 219 Handy
Hi pros,
we struggle to find information about the EthernetIP setup on UR robots. The only documentation that I found was this example with Allen-Bradley PLC here.
How can we setup Inputs and outputs with EthernetIP? Do we need to add read and write commands in the program or can it be set up like the modbus Client IO tab in the Installation tab where we layout the IOs that need to be exchanged between the devices?

@Stefan_Stubgaard do you have some more documentation on the EthernetIP option available in the UR robot?

Comments

  • All I/O registers are preconfigured (this is what the EDS file contains), so no need to setup anything in the Installation tab on the robot. You only need to enable EthernetIP in the Installation.

    The EDS file needs to be installed in your Allen Bradley (AB) software in order to access the preconfigured registers. Then you have access to all registers from both AB software and robot.

    From the robot program if you want to read or write to a register, there is a bunch of script codes available for this. See the How-To you linked to for an overview of codes available.

    It is not posssible to see a full list of all registers directly in PolyScope, but you can in AB software see the entire list and current value of each register.

  • cbrissettecbrissette Posts: 8 Apprentice
    I am trying to connect a Keyence vision system to an UR5 through Ethernet IP. I have enabled the Ethernet option on the UR, but still am not able to see the outputs from the vision system. Is there anything further that I need to do on the UR?
  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,267 Handy
    @cbrissette do you have a EthernetIP scanner on the network, if not there's no "server" to talk to. Just like the Modbus on the robot you are setting up a client (called adapter in EthernetIP) and more than likely the camera is also only an adapter. I think for EthernetIP to work you basically need to be talking to a PLC or a computer that is running the scanner software. We'd like to use more Ethernet/IP hardware as well but have never found the need to deploy a PLC with any of our applications. Maybe we should request a new feature which is adding a scanner to the UR so that we can deploy adapters in the system. 
  • cbrissettecbrissette Posts: 8 Apprentice
    Thank you mathewd92. I am getting in touch with Keyence Vision support to find out if it is capable of scanning.
  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,267 Handy
    @cbrissette what did you ever find out about connecting the Keyence camera to the UR?  We are working on a project now as well with a keyence CVX200 controller and a UR10.

    Thanks
  • cbrissettecbrissette Posts: 8 Apprentice
    Keyence has developed a cap for the UR. You can download it from their site. It requires you to have a code for the download, which you can get by using the serial number of the controller or talk to the Keyence sales rep. you acquired the controller from and they should be able to supply you with a code. If you need some help finding the cap at in the Keyence site let me know and I will look for it in my email and forward it to you.
  • cbrissettecbrissette Posts: 8 Apprentice
    When you start a new program with the Keyence controller, do you have the option to do a robot linked program? Some of our older controllers did not have that option. 
  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,267 Handy
    @cbrissette its an older controller, maybe 3 years old, it's actually supplied by our customer.  I tried creating a new program on it this morning but did not see anything about UR.  I also tried finding the URcap for it but could not find anything related to a UR cap under any of the vision systems but may have been looking in the wrong place.  If you could find more information on that I would appreciate it.
  • mkardasinskimkardasinski Posts: 41 Handy
    edited April 2018
    Keyence has developed a cap for the UR. You can download it from their site. It requires you to have a code for the download, which you can get by using the serial number of the controller or talk to the Keyence sales rep. you acquired the controller from and they should be able to supply you with a code. If you need some help finding the cap at in the Keyence site let me know and I will look for it in my email and forward it to you.
    @cbrissette Could you look for that link, please? I cannot find a link, on Keyence site, to a URCap for the CVX system.
  • yuvarajooyuvarajoo Posts: 8 Apprentice
    Hi, we are working on Keyence camera CVX for serveral customer applications. So far all working great. As far as we know, they do not have any UR cap plugins. It is basically UR scripts. We need to preload the script in Before start sequence in order to connect and get data from camera.
  • JoenelJoenel Posts: 2 Recruit
    Hi Can you help me where I can download the EDS file of the UR10? Thank you
  • yuvarajooyuvarajoo Posts: 8 Apprentice
    Check it here
     Files to download at the bottom of page. EDS files is same all 3 robots.

  • JoenelJoenel Posts: 2 Recruit
    Thank you, its a big help.
  • EmilioMartinezEmilioMartinez Posts: 1 Recruit

    All I/O registers are preconfigured (this is what the EDS file contains), so no need to setup anything in the Installation tab on the robot. You only need to enable EthernetIP in the Installation.

    The EDS file needs to be installed in your Allen Bradley (AB) software in order to access the preconfigured registers. Then you have access to all registers from both AB software and robot.

    From the robot program if you want to read or write to a register, there is a bunch of script codes available for this. See the How-To you linked to for an overview of codes available.

    It is not posssible to see a full list of all registers directly in PolyScope, but you can in AB software see the entire list and current value of each register.

    HI, THERE IS ANY WAY TO DO THE SAME WITH MITSUBISHI SOFTWARE, ESPECIALLY I WANT TO DO IT WITH PLC FX5U
  • prajval10prajval10 Posts: 5 Apprentice
    Hi, I am working on a project with Cognex 7802 vision system and the UR10 robot. I would like to communicate the x,y, rotation values of the detected part from the camera to the robot via Ethernet/IP. 

    IP of camera: 192.168.1.9
    IP of robot: 192.168.1.10
    port = 5000

    In the URscript, I first open a socket connection and read the recevied data:
    get camera data:
         if Socket_closed = True
               socket_open("192.168.1.9",5000)
              Socket_closed = False
        loop received_data[0] = 0
              received_data = socket_read_ascii_float(3)

    All the variables have been initialised correctly but the received_data has an error while running: [0,NaN,NaN,NaN], i,e the read was not performed correctly. In the Cognex InSight software I have configured the TCP/IP communication and correctly formatted the output string (see fig). Could someone please help me out on this issue?

    Thanks,
    Prajval 



  • prajval10prajval10 Posts: 5 Apprentice
    yuvarajoo said:
    Yes, I am using the same link for my program. But its not working. 
  • Glass420Glass420 Wrist Camera URCap 1.3.0 Posts: 8 Apprentice
    Hi, I use 2 Cognex cameras connected through a switch on one of my systems. Camera 1 is for part location and Camera 2 is for inspection.
    below is the call routine and the subroutines I use. i use a soft trigger through Ethernet to take the pic.

        Camera 1 Communications
           Call OpenComms
           Call SoftTrigger
           Call GetData
           Call Prep
           Call CloseComms
           If orientation≟0
             Wait: 0.5
             Call OpenComms
             Call SoftTrigger
             Call GetData
             Call Prep
             Call CloseComms

      SoftTrigger
         'send soft trigger to camera'
         'Then read value back from camera'
         Soft_Trigger
           trigger_loop≔0
           Loop trigger_loop<3
             socket_send_string("SE8","C1_Telnet")
             socket_send_byte(13,"C1_Telnet")
             socket_send_byte(10,"C1_Telnet")
             C1_Trigger_OK≔socket_read_byte_list(1,"C1_Telnet")
             If C1_Trigger_OK[0]≟1
               trigger_loop≔3
             Else
               trigger_loop≔trigger_loop+1
           If C1_Trigger_OK[0]≠1
             Popup
       OpenComms
         'Open ports 23 (TelNet) and 1234 (C1_Comm)'
         'TelNet is used for Soft Trigger'
         'C1_Comm is used for location and image data'
         Telnet_Comm
           'reset values'
           comm_timeout≔0
           comm≔ False 
           Loop comm≟ False 
             comm≔socket_open("192.168.0.20",23,"C1_Telnet")
             'check for comm timeout'
             If comm_timeout>2
               Popup
           'read data from camera'
           TelNet_C2__1≔socket_read_string("C1_Telnet")
           'enter user name as admin'
           socket_send_string("admin","C1_Telnet")
           'send CR,LF'
           socket_send_byte(13,"C1_Telnet")
           socket_send_byte(10,"C1_Telnet")
           'read data from camera'
           TelNet_C2_2≔socket_read_string("C1_Telnet")
           'since password is NULL just send CR,LF'
           socket_send_byte(13,"C1_Telnet")
           socket_send_byte(10,"C1_Telnet")
           'read data from camera'
           'could parse data to check for success'
           TelNet_C2_3≔socket_read_string("C1_Telnet")
         C1_Comm
           'reset values'
           comm_timeout≔0
           comm≔ False 
           Loop comm≟ False 
             comm≔socket_open("192.168.0.20",1234,"C1_Comm")
             If comm_timeout>2
               Popup
       CloseComms
         'Close socket comms'
         Close_Comms
           socket_close("C1_Telnet")
           socket_close("C1_Comm")
       GetData
         'Get position and image quality'
         'Popup message if no data is received'
         Get_C1_Data
           camera_data≔[0,0,0,0,0]
           Loop camera_data[0]≟0
             camera_data≔socket_read_ascii_float(4,"C1_Comm")
             If comm_timeout>2
               bad_read_cnt≔bad_read_cnt+1
               Popup
             parsed position and image data
               x_axis≔camera_data[1]
               y_axis≔camera_data[2]
               z_rotate≔camera_data[3]
               orientation≔camera_data[4]

  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,267 Handy
    Have you done a sample output from the camera to ensure that it is formatted correctly?  That is the list that you are receiving on the robot currently?
  • AcspisakAcspisak Posts: 1 Recruit
    edited November 2018
    @prajval10 and  @matthewd92

    Have you resolved this issue? I am having the same issue. I have the communication working but all i'm getting back is [0,Nan,Nan,Nan]. 
    I think it may have to do with the settings on the "Format String" tab on In-Sights Explorer. Any recommendations would be appreciated. 

    Best regards, 
    Andrew Spisak

  • TesfitTesfit Posts: 4 Apprentice
    @matthewd92 is it possible to send data from UR10 to PC directly? I am working on a project where the system is controlled by the universal robot digital I/O but I could not find a way to send data from UR10 program to the PC directly.
  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,267 Handy
    You can use RTDE to connect a PC to the robot. It’s the same data that the PLC would have access to and you can control it from the PC as well. 

    You can find documentation here as well as example programs in python that you can use or modify for your use case. 

  • TesfitTesfit Posts: 4 Apprentice
    You can use RTDE to connect a PC to the robot. It’s the same data that the PLC would have access to and you can control it from the PC as well. 

    You can find documentation here as well as example programs in python that you can use or modify for your use case. 

    @matthewd92 thank you for replaying.

    Does this work connecting through the Ethernet?
  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,267 Handy
    Yes, over ethernet 
  • I_vantheoryI_vantheory Posts: 2 Recruit
    Acspisak said:
    @prajval10 and  @matthewd92

    Have you resolved this issue? I am having the same issue. I have the communication working but all i'm getting back is [0,Nan,Nan,Nan]. 
    I think it may have to do with the settings on the "Format String" tab on In-Sights Explorer. Any recommendations would be appreciated. 

    Best regards, 
    Andrew Spisak

    Hi there, did you find a solution to your problem? I want to do the job load by writing and reading bits sending it from the Robot to the camera and I am kind of a lost.......
  • I_vantheoryI_vantheory Posts: 2 Recruit
    prajval10 said:
    Hi, I am working on a project with Cognex 7802 vision system and the UR10 robot. I would like to communicate the x,y, rotation values of the detected part from the camera to the robot via Ethernet/IP. 

    IP of camera: 192.168.1.9
    IP of robot: 192.168.1.10
    port = 5000

    In the URscript, I first open a socket connection and read the recevied data:
    get camera data:
         if Socket_closed = True
               socket_open("192.168.1.9",5000)
              Socket_closed = False
        loop received_data[0] = 0
              received_data = socket_read_ascii_float(3)

    All the variables have been initialised correctly but the received_data has an error while running: [0,NaN,NaN,NaN], i,e the read was not performed correctly. In the Cognex InSight software I have configured the TCP/IP communication and correctly formatted the output string (see fig). Could someone please help me out on this issue?

    Thanks,
    Prajval 



    Hi, did you find a solution to your problem?
Sign In or Register to comment.
Left ArrowBack to discussions page