Universal Robots Forum

Saving or sending values (variable) to a csv file

My current system has an optoforce force/torque sensor connected via the only ethernet port of my UR10.
I would like to see a graph of the values of the force experienced by the optoforce sensor when it was running.
The data can be extracted manually after the program runs, I do not require it to be real time.

I was originally thinking of seeing the data in real time using the RTDE method. But the issue is that my optoforce compute box is already taking up the one and only ethernet port of my UR10. As such, I have to skip the RTDE method.

Instead, I was wondering if there is any way to save the value of a variable (i’m looking at constantly capturing the values at 125Hz, for at least 3 minutes) into a file while the program is running, so that I can copy out the file and view it on my computer instead. Perhaps by script command that I can place the copying of the values in a thread or something?

Does anyone have any solution for this bypass please?

Hi @elvintoh82,

You could potentially add a network switch/router to allow all devices to connect simultaneously.

A simple way to write to a file would be to send the data to a Python daemon over XMLRPC and output it to a file from there.

This article has Python samples to get you started:

https://www.universal-robots.com/how-tos-and-faqs/how-to/ur-how-tos/xml-rpc-communication-16326/

thank you! i finally got it working like you said by creating an rpc program on python.
The slight downside is that I only get the data at 60Hz due to the limited speed called by UR10 (via thread and sync()).

But for now, at least xmlrpc works fine for me.

Thanks!

Glad that you found a way to get it working. For a faster transmission rate you could look at buffering at the Polyscope side and sending more data in one go. Alternatively you could switch out your XMLRPC comms for RTDE and run that client in python on the controller command line instead.