Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Managing configurable IO on UR10
#1
Good evening,

It seems straightforward to manage standard digital inputs and outputs but I can't figure out how to manage the configurable outputs. Can this be done using Python or is there some way of doing it from the 'manage IO' window?

Any ideas? Thanks in advance.
#2
Hi Alan, 

I hope you are well. 
This feature is not supported at the moment but after taking a small look at the UR documentation I'm pretty sure I can add that. 
But before I need to know if you want the post-processor to generate the configurable output or the driver (run on robot) to do so. 

If you want to generate the program using the post-processor you can use the one attach to this post.
Place it here : C:/RoboDK/Posts

To use the configurable digital Input or Output, simply add a 2 before the output number, for example, if you want to use the Conf DO 5, enter 25 as the I/O name.

If you add a 1 before, you will use the "Tool digital Output" 

More info on how to select a post-processor here:
https://robodk.com/doc/en/Post-Processor...SelectPost

PS: Use Universal_Robots_Configurable_IO_Dev_Version_2 as I can't delete the first file I attached to the post.

Jeremy


Attached Files
.py   Universal_Robots_Configurable_IO_Dev_Version.py (Size: 34.91 KB / Downloads: 98)
.py   Universal_Robots_Configurable_IO_Dev_Version_2.py (Size: 35.25 KB / Downloads: 129)
#3
Hi Jeremy,

Thanks so much for replying.

I’m away from the euro it for the next few days but when I get back to it sill give this a try!

Thanks so much!
#4
(09-15-2020, 05:43 PM)Jeremy Wrote: Hi Alan, 

I hope you are well. 
This feature is not supported at the moment but after taking a small look at the UR documentation I'm pretty sure I can add that. 
But before I need to know if you want the post-processor to generate the configurable output or the driver (run on robot) to do so. 

If you want to generate the program using the post-processor you can use the one attach to this post.
Place it here : C:/RoboDK/Posts

To use the configurable digital Input or Output, simply add a 2 before the output number, for example, if you want to use the Conf DO 5, enter 25 as the I/O name.

If you add a 1 before, you will use the "Tool digital Output" 

More info on how to select a post-processor here:
https://robodk.com/doc/en/Post-Processor...SelectPost

PS: Use Universal_Robots_Configurable_IO_Dev_Version_2 as I can't delete the first file I attached to the post.

Jeremy

Hi Jeremy,

I tried the configurable IO today (using 23 for example) but I'm just getting an error on the UR pendant. 23 in this case would be the 'Amber' configurable output in the pic. If I understood your post correctly, I should be able to just turn IO on and off this way?

I downloaded your post processor and have set that as my post processor for my UR10. Will that allow control of configurable IO in programs that are generated in RoboDK?


Attached Files Thumbnail(s)
       
#5
Hi Alan, 

I realize there was a small typo in the version I sent you. 

Here's a new version. 


Here's a small example I created:
   


And the program generated by the post-processor:
   


I also attached the .rdk station I used so that you can ensure you have the same result as I do. 

Jeremy


Attached Files
.py   Universal_Robots_Configurable_IO_Dev_Version.py (Size: 35.24 KB / Downloads: 89)
.rdk   UR Configurable IO.rdk (Size: 3.24 MB / Downloads: 108)
#6
Hello Jeremi,

I have a UR5 and use the last post processor you sent on this page. I have the same problem as Alan. I also tried running the script directly on the Polyscope, but the MoveL commands seems to work differently on the polyScope. Can you please help me?

Regards,
Samira
#7
I'll need more information to be of any help.
The post-processor found in this thread is now the same as the one provided with the official release of RoboDK.

"MoveL commands seems to work differently" How so?

Jeremy
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


#8
Hi again,

thanks for your reply. using set IO22=1 produces this error message on Polyscope.
set_standard_digital_out: invalid port number (22)

Because of if this I tried to run the script generated by RoboDK directly on PolyScope. global ref_frame = p[0,0,0,0,0,0] defined seems to have other coordinates as in RoboDK in comparison to the UR Controller. The robot moves differetly as run directly from RoboDK. This is the script.

def S1():
# Global parameters:
global speed_ms = 0.250
global speed_rads = 0.750
global accel_mss = 1.200
global accel_radss = 1.200
global blend_radius_m = 0.001
global ref_frame = p[0,0,0,0,0,0]
# Main program:
# Program generated by RoboDK v5.2.2 for UR5 on 19/05/2021 10:55:58
# Using nominal kinematics.
speed_rads = 3.142
speed_ms = 3.000
movej([0.282689, -1.716702, 1.980006, -1.813572, -1.567613, 2.633754],accel_radss,speed_rads,0,0)
movej([-0.027119, -1.169233, 1.714831, -2.098828, -1.566906, 2.318076],accel_radss,speed_rads,0,blend_radius_m)
movel(pose_trans(ref_frame,p[-0.591575, -0.094414, -0.098837, -2.906536, 1.185291, -0.027940]),accel_mss,speed_ms,0,blend_radius_m)
movel(pose_trans(ref_frame,p[-0.591575, -0.094414, -0.089837, -2.906536, 1.185291, -0.027940]),accel_mss,speed_ms,0,blend_radius_m)
set_configurable_digital_out(2, True)
sleep(2.000)
movej([0.282689, -1.716702, 1.980006, -1.813572, -1.567613, 2.633754],accel_radss,speed_rads,0,blend_radius_m)
movej([-0.511704, -1.858357, 2.090503, -1.793849, -1.579778, 1.839001],accel_radss,speed_rads,0,blend_radius_m)
movej([-0.389263, -1.324049, 1.951418, -2.189201, -1.579923, 1.949672],accel_radss,speed_rads,0,blend_radius_m)
set_configurable_digital_out(2, False)
set_configurable_digital_out(3, True)
sleep(1.000)
set_configurable_digital_out(3, False)
movej([-0.511704, -1.858357, 2.090503, -1.793849, -1.579778, 1.839001],accel_radss,speed_rads,0,blend_radius_m)
movej([0.282689, -1.716702, 1.980006, -1.813572, -1.567613, 2.633754],accel_radss,speed_rads,0,blend_radius_m)
# End of main program
end

S1()
#9
Can you make sure you are using the latest version of RoboDK?

"Help"->"Check for updates..."

We did improve the UR post-processor a few months ago.

Jeremy
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


#10
I do have the newest version. I found another solution to my problem, but RoboDK is not able to toggle the configurable outputs in my case.
  




Users browsing this thread:
1 Guest(s)