# Revision history [back]

No, not the inputs afaik.

But you can set flags. Which you should be able to use in your URScript program in the same way.

See ur_msgs/SetIO for some comments on the SetIO service and its fields.

No, not the inputs afaik.

But you can set flags. Which you should be able to use in your URScript program in the same way.

See ur_msgs/SetIO for some comments on the SetIO service and its fields.

Edit:

We are running a URScript on the TeachPendant. So the ROS-PC connected over ethernet to URcontrol PC should set something to be able to communicate with the UR-Script running from the Teach Pendant. Is that even possible?

Using the SetIO service that should be possible, yes. ur_modern_driver uses secondary programs to set tool voltage and digital and analogue outs (here fi for analogue outs). Secondary programs don't interfere with the program already running on the controller.

However, it would seem that the setter for flags was missed and still tries to use a regular statement (here). That will most likely collide with a running program (but I'm not sure).

You may want to try and change URCommander::setFlag(..) to also use a secondary program.

That may still not work, but would be something I would suggest you try.

And for future edits: please include requested output, commands and version information. Right now I'm guessing as to what you're actually doing, which controller series this is, what version of Polyscope you are running and which version of ur_modern_driver you are using.

No, not the inputs afaik.

But you can set flags. Which you should be able to use in your URScript program in the same way.

See ur_msgs/SetIO for some comments on the SetIO service and its fields.

Edit:

We are running a URScript on the TeachPendant. So the ROS-PC connected over ethernet to URcontrol PC should set something to be able to communicate with the UR-Script running from the Teach Pendant. Is that even possible?

Using the SetIO service that should be possible, yes. ur_modern_driver uses secondary programs to set tool voltage and digital and analogue outs (here fi for analogue outs). Secondary programs don't interfere with the program already running on the controller.

However, it would seem that the setter for flags was missed and still tries to use a regular statement (here). That will most likely collide with a running program (but I'm not sure).

You may want to try and change URCommander::setFlag(..) to also use a secondary program.

That may still not work, but would be something I would suggest you try.

And for future edits: please include requested output, commands and version information. Right now I'm guessing as to what you're actually doing, which controller series this is, what version of Polyscope you are running and which version of ur_modern_driver you are using.

Edit 2:

However, it would seem that the setter for flags was missed and still tries to use a regular statement (here). That will most likely collide with a running program (but I'm not sure). You may want to try and change URCommander::setFlag(..) to also use a secondary program.

How would you do that?

The surrounding code (for analogue IOs fi) should be usable as a template. See the link to the code that sets the analogue out I linked earlier fi (here).

No, not the inputs afaik.

But you can set flags. Which you should be able to use in your URScript program in the same way.

See ur_msgs/SetIO for some comments on the SetIO service and its fields.

Edit:

We are running a URScript on the TeachPendant. So the ROS-PC connected over ethernet to URcontrol PC should set something to be able to communicate with the UR-Script running from the Teach Pendant. Is that even possible?

Using the SetIO service that should be possible, yes. ur_modern_driver uses secondary programs to set tool voltage and digital and analogue outs (here fi for analogue outs). Secondary programs don't interfere with the program already running on the controller.

However, it would seem that the setter for flags was missed and still tries to use a regular statement (here). That will most likely collide with a running program (but I'm not sure).

(Mini-edit: tracking this in ros-industrial/ur_modern_driver#343)

You may want to try and change URCommander::setFlag(..) to also use a secondary program.

That may still not work, but would be something I would suggest you try.

And for future edits: please include requested output, commands and version information. Right now I'm guessing as to what you're actually doing, which controller series this is, what version of Polyscope you are running and which version of ur_modern_driver you are using.

Edit 2:

However, it would seem that the setter for flags was missed and still tries to use a regular statement (here). That will most likely collide with a running program (but I'm not sure). You may want to try and change URCommander::setFlag(..) to also use a secondary program.

How would you do that?

The surrounding code (for analogue IOs fi) should be usable as a template. See the link to the code that sets the analogue out I linked earlier fi (here).