Monitor Speed and Torque of joints

Hi there!

I am trying to monitor the speed and torque of each joint of my robot but I can’t manage to find those signals in the Signal Analyzer, only the TCP speed. ¿Is there a way of monitoring those values?

Thanks in advance,

Alvaro

Which version of RW? RW 6 introduced GetMotorTorque

Exactly, I have RW6. Where do you look for those functions?

In the Technical Reference Manual - Rapid Instructions, Functions, and Data Types

Hey there!

For what I’ve seen, GetMotorTorque is generally used to compared at a given time the torque of an axis and use it to trigger an event. However, I intended to plot the torque values of each axes, does someone know a smart way to do that?

I’ve tried with TestSignDefine but I have no idea as for how to access the data that is being monitored.

Thanks in advance,

Alvaro

You need to use TestSignRead with TestSignDefine

All rigth, I’ve added both functions to my RAPID code, but now then, where can I see the resulting data in the channel?
Thanks for your response, I recently started working with RobotStudio so I appreciate the help.

Create a NUM variable to store the torque value, then write the value to the teach pendant using TPWrite. This should work with GetMotorTorque as well.

Thanks a lot!

I ended up using Write instead of TPWrite in order to export it to Notepad. I used a timer that triggers each 0.1s and calls a TRAP where I read the torque and write it. However, 0.1seconds isn’t the most accurate sampling time but it looks like I can’t reduce it. Do you know a smarter way of reading (and then writing) the torque value?

Thanks in advance,

Alvaro

You could set up 6 analog outputs and use a for loop to iterate through the TestSignDefine and TestSignRead..here is a very incomplete example:

        FOR ii FROM 1 TO 6 DO
            TestSignDefine ii, 4002, ROB_1, ii, 0.004;
        ENDFOR 

and then

        VAR num torques{6};
                
        WHILE TRUE DO
            
            FOR ii FROM 1 TO 6 DO
                torques{ii} := TestSignRead(ii);
            ENDFOR  
            
            SetAO motorTorque1, torques{1};
            SetAO motorTorque2, torques{2};
            SetAO motorTorque3, torques{3};
            SetAO motorTorque4, torques{4};
            SetAO motorTorque5, torques{5};
            SetAO motorTorque6, torques{6};
            
            WaitTime 0.004;
        
        ENDWHILE