# Monitor Speed and Torque of joints

**URL:** <https://tech-community.robotics.abb.com/t/monitor-speed-and-torque-of-joints/10066>\
**Category:** RobotStudio\
**Created:** [March 17, 2021, 8:33am UTC](https://tech-community.robotics.abb.com/t/monitor-speed-and-torque-of-joints/10066 "2021-03-17T08:33:48Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![AlvaroV](https://avatars.discourse-cdn.com/v4/letter/a/ecd19e/32.png) [@AlvaroV](https://tech-community.robotics.abb.com/u/AlvaroV)\
**Post date:** [March 17, 2021, 8:33am UTC](https://tech-community.robotics.abb.com/t/monitor-speed-and-torque-of-joints/10066/1 "2021-03-17T08:33:48Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![xerim](https://avatars.discourse-cdn.com/v4/letter/x/2bfe46/32.png) [@xerim](https://tech-community.robotics.abb.com/u/xerim)\
**Post date:** [March 17, 2021, 12:01pm UTC](https://tech-community.robotics.abb.com/t/monitor-speed-and-torque-of-joints/10066/2 "2021-03-17T12:01:49Z")

</div>

Which version of RW? RW 6 introduced GetMotorTorque

 ![image.png](https://europe1.discourse-cdn.com/flex005/uploads/robotics1/original/2X/2/2023bbcb41ed82a2f4540f6b7415d35db9958b5f.png)

---

<div class="post-metadata">

**Author:** ![AlvaroV](https://avatars.discourse-cdn.com/v4/letter/a/ecd19e/32.png) [@AlvaroV](https://tech-community.robotics.abb.com/u/AlvaroV)\
**Post date:** [March 17, 2021, 2:48pm UTC](https://tech-community.robotics.abb.com/t/monitor-speed-and-torque-of-joints/10066/3 "2021-03-17T14:48:59Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![xerim](https://avatars.discourse-cdn.com/v4/letter/x/2bfe46/32.png) [@xerim](https://tech-community.robotics.abb.com/u/xerim)\
**Post date:** [March 17, 2021, 2:57pm UTC](https://tech-community.robotics.abb.com/t/monitor-speed-and-torque-of-joints/10066/4 "2021-03-17T14:57:53Z")

</div>

In the [Technical Reference Manual - Rapid Instructions, Functions, and Data Types](https://library.e.abb.com/public/b227fcd260204c4dbeb8a58f8002fe64/Rapid_instructions.pdf?x-sign=f79v/883X1nHGc8fqH+WAJ2F30y/M6TZfYUuPuQpP+jeMBygouyGg+WSj8A9Otry)

---

<div class="post-metadata">

**Author:** ![AlvaroV](https://avatars.discourse-cdn.com/v4/letter/a/ecd19e/32.png) [@AlvaroV](https://tech-community.robotics.abb.com/u/AlvaroV)\
**Post date:** [March 25, 2021, 3:17pm UTC](https://tech-community.robotics.abb.com/t/monitor-speed-and-torque-of-joints/10066/5 "2021-03-25T15:17:44Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![xerim](https://avatars.discourse-cdn.com/v4/letter/x/2bfe46/32.png) [@xerim](https://tech-community.robotics.abb.com/u/xerim)\
**Post date:** [March 25, 2021, 3:46pm UTC](https://tech-community.robotics.abb.com/t/monitor-speed-and-torque-of-joints/10066/6 "2021-03-25T15:46:28Z")

</div>

You need to use TestSignRead with TestSignDefine

---

<div class="post-metadata">

**Author:** ![AlvaroV](https://avatars.discourse-cdn.com/v4/letter/a/ecd19e/32.png) [@AlvaroV](https://tech-community.robotics.abb.com/u/AlvaroV)\
**Post date:** [March 26, 2021, 6:33am UTC](https://tech-community.robotics.abb.com/t/monitor-speed-and-torque-of-joints/10066/7 "2021-03-26T06:33:59Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![xerim](https://avatars.discourse-cdn.com/v4/letter/x/2bfe46/32.png) [@xerim](https://tech-community.robotics.abb.com/u/xerim)\
**Post date:** [March 26, 2021, 12:42pm UTC](https://tech-community.robotics.abb.com/t/monitor-speed-and-torque-of-joints/10066/8 "2021-03-26T12:42:48Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![AlvaroV](https://avatars.discourse-cdn.com/v4/letter/a/ecd19e/32.png) [@AlvaroV](https://tech-community.robotics.abb.com/u/AlvaroV)\
**Post date:** [March 29, 2021, 9:34am UTC](https://tech-community.robotics.abb.com/t/monitor-speed-and-torque-of-joints/10066/9 "2021-03-29T09:34:32Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![xerim](https://avatars.discourse-cdn.com/v4/letter/x/2bfe46/32.png) [@xerim](https://tech-community.robotics.abb.com/u/xerim)\
**Post date:** [March 29, 2021, 12:31pm UTC](https://tech-community.robotics.abb.com/t/monitor-speed-and-torque-of-joints/10066/10 "2021-03-29T12:31:54Z")

</div>

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:

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

```

and then

```auto
        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

```
