How do YOU create a program?

I have a CB series that I program solely with the teach pendant. I’ve run into some issues recently where I feel that recreating a few programs from scratch would be the best route to go. I can print out “program”.TXT file, and work with that, but of course it doesn’t have the details of each command, just the command itself. The programs are roughly 400 lines.

I’ve read a lot on these forums about scripts and also the simulator using a virtual machine. While I think the simulator might be easier since I can do it on a PC without poking through the teach pendant, I still don’t have the details within each command, or an easy way to locate the waypoints. The drawing for the part is in CAD, so there’s a good chance I can extract the locations from a specific location. Though that may still be time consuming.

The programs that I am doing are solely dispensing materials and only use a couple different I/O pins, so not much communication with anything else.

So alas the question, what do YOU do for programming? I assuming that some of you have very long and extensive programs. I’m also assuming that some of you started with the teach pendant and have moved on to some other programming method. Shoot me your thoughts and ideas.

1 Like

I program two UR10e’s for CNC machine tending (picking up and placing parts). I am programming new parts at least once or twice a month but usually more.

I have to use the teach pendant because I cannot get the offline simulator to recognize my Hand-e grippers URCap.

Not that this is what you’re looking for, but I always take an existing program to make a new one and teach new pallets, vise points and waypoints because of the above issue.

I wish I could program offline but without the grippers I can’t.

There might be a few options:

  • Remote TCP control and toolpath (I believe this is only available for e-series though, so unfortunately not available for the CB-series, I could be wrong)

  • wireless mouse + keyboard, if you like using the teach pendant directly on the UR so you can physically program to the part in front of you. Mouse makes faster navigation and keyboard is way better for typing script commands if request (note: keyboard is mapped for danish so some characters are in different positions)

  • URsim, if you plan to continue teach programming extract the program/programs using UR’s magic files and pull them into URsim where you can use modify the program and (like above using keyboard and mouse) this might be an extra step but if you like being at the PC with a larger screen this might help.

  • URscript Visual Studio package - not sure if you code in VS but I have seen a URscript add-on somewhere in the forum. Might be able to generate some path planning in VS and generate script moves.

  • Teach programming - create moves relative to primary features (select a few feature “key” points on your part or CAD model and program all moves relative to those key points, these can then be saved in your installation file and then all you have to do is teach those positions on the physical part)

  • URcap / software - possibly look for path planning URcaps looks like tons of companies are trying to develop this technology, some simply record you manually moving the robot around and then play it back for you. Depending on vision systems or software this may or may not be an expensive option though (kind of up to you, is it worth your time to program it yourself or time to make an investment)

Anyways sorry for the long response, someone else in the forum may have a some better ideas for you but this is what I got hope that helps, and best of luck!

1 Like

Good morning,

I´m facing the same issue. What you can do is to install a VNC player at the Robot. So at least you can write/edit the program on ur PC. Which is much easier then typing everything at the Robot-Panel.

We are using the Robot for Pick-n-Place functions (Pick Bottles and drop them into a carton).
From my PLC recipe i get a integer value. Depending of the integer i go to a different case in my Roboter program.

I was tired of typing all Skript at the HMI (read_input_integer_register…) horrible to type…
Therefore the Idea of using a VNC client and do everything from my PC fits perfect to me.

Maybe this is also worth a try for you?

Kind regards from Luxembourg.

1 Like

I am still new, but I kinda mix the offline and online programming methods:

  1. I usually start a new program in URsim (installed in a VM with Ubuntu 20). Inside the VM I have installed Visual Code with a URScript extension, Eclipse for URCap development and I am currently trying a simulator as well. I use mostly these to develop the logic and manually test that it does its basic functionalities.
  2. I also have additional IP settings for communicating the URSim with external processes, so I can send commands and run it remotely properly. This is good for testing that the robot can follow a process in sync with other devices/programs.
  3. The simulator is something I am still experimenting. The main idea is to connect to the RTDE and retrieve data from the UR and see it is moving accordingly, or if it is possible to send or emulate in the URSim inputs coming from the simulator. This is something I would like to have for running the URSim controller in remote control, where you cannot longer see the UR moving.
  4. Finally, I send the program(s) from the VM to the real UR. Then I re-teach or modify the trajectory points, optimize speed/acceleration, minimize jerk, etc. Things like force feedback and safety are still very big TO-DO points on the simulator, so I have to test and check those physically too. PD: I always connect a wireless keyboard+mouse to the touchpanel on the robot and my laptop through ssh, so it is not that tedious.

I aim to debug most of the programs in the URSim first, since it is faster when reloading programs, restarting the controller or reinstalling URCaps. Also from a personal preference, I enjoy editing code in a dark-mode editor with highlights and feel more safe with the physical robot if I have done some previous debug/testing with the URSim.