How to load programs via modbus

Im competely new to modbus, and i want to use a siemens logo to control my cobot.

is it possible to load different programs via the siemens logo?

please explain thouroughly

It’s not possible to load programs via modbus, I’m afraid. You’ll have to set up the PLC to connect to the robot’s dashboard server. I’ve not used a Siemens Logo before, so I don’t know if it’s possible in that PLC.

You can read more here about setting up the connection: Protective Stop - Enable robot from PLC - #18 by v.laurent
Here’s the article on the dashboard server: https://www.universal-robots.com/articles/ur/dashboard-server-e-series-port-29999/

Oh, thats sucks. I think that the LOGO can only be used via modbus and nothing else. I have limited time during my internship to complete my assignment and i only wanted the Logo to be able to change programs and read robot state. Im very new to all of this so i think i will have to go back to not using any outside controller and just do everything on the robot.

thanks anyway

Makes sense. :slight_smile: It can be a bit challenging setting up the dashboard server in a PLC.

Good luck with your project.

I think it is possible:

  1. You can start a default program (Installation => Startup => Default program file). This is called “Main” for example.
  2. In your Main program you make use of sub-programs (Program => Advanced => Subprogram).
  3. With MODBUS I/O you can call a sub-program from your Main program.

I use this with a Unitronics PLC.

It is not possible to connect with a LOGO via any custom Socket communication to the robot (Dashboard Server).
Therefore it is not possible to start or load different programs in that way.

As already mentioned before you could create a switch case in the Main program waiting for Job numbers.
The robot will run thru the switch cases and comparing any GP modbus register to the cases.
Each case is one program.

It has still got one limitation. You are not able to change to different installations.

You might take a look at the brief documentation and LOGO project how to use a LOGO in combination with UR.

That’s true. Good idea. :slight_smile:
You’ll have the limitation of not being able to use threads/events and other subprograms in the programs, but that’s not too bad, I reckon. They can be included in the main program maybe.

You could still use threads, when a case is active set a variable to True, and in the thereads use a While loop when said case is true, otherwise the thread is dormant. Or perhaps even use Events for this purpose to avoid to many running threads doing nothing.