# Use Digital Input mapped to Freedrive in Remote Mode

**URL:** <https://forum.universal-robots.com/t/use-digital-input-mapped-to-freedrive-in-remote-mode/2944>\
**Category:** Robot Communication\
**Created:** [October 17, 2018, 1:48pm UTC](https://forum.universal-robots.com/t/use-digital-input-mapped-to-freedrive-in-remote-mode/2944 "2018-10-17T13:48:52Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![m.birkholz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/m.birkholz/32/7084_2.png) [@m.birkholz](https://forum.universal-robots.com/u/m.birkholz)\
**Post date:** [October 17, 2018, 1:48pm UTC](https://forum.universal-robots.com/t/use-digital-input-mapped-to-freedrive-in-remote-mode/2944/1 "2018-10-17T13:48:52Z")

</div>

Hello,  
i want to set the Robot in Freedrive and Move it to Waypoints with a Button while using the Remote Secondary Interface to save the Waypoints.  
Unfortunately, Freedrive doesn’t work in Remote Mode except using the Freedrive command over the Secondary Interface.  
To save the waypoint with a proper precision i want the Robot to Stop Freedrive Mode on Release of a Physical Button.  
Is there any Way to achieve this or bypass the blocked Digital Inputs in Remote Mode?

---

<div class="post-metadata">

**Author:** ![m.birkholz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/m.birkholz/32/7084_2.png) [@m.birkholz](https://forum.universal-robots.com/u/m.birkholz)\
**Post date:** [October 24, 2018, 5:56am UTC](https://forum.universal-robots.com/t/use-digital-input-mapped-to-freedrive-in-remote-mode/2944/2 "2018-10-24T05:56:27Z")

</div>

even using the GP Registers and setting up Freedrive with a Profinet input with a SPS doesn’t work.

Why is it not possible to activate Freedrive without sending a Program like

def Program():  
freedrive\_mode()  
end

over the interface?

---

<div class="post-metadata">

**Author:** ![jbm](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/jbm/32/614_2.png) [@jbm](https://forum.universal-robots.com/u/jbm)\
**Post date:** [October 26, 2018, 5:56am UTC](https://forum.universal-robots.com/t/use-digital-input-mapped-to-freedrive-in-remote-mode/2944/3 "2018-10-26T05:56:43Z")

</div>

According to the user manual for PolyScope 5.1, the following applies to Remote and Local control.  
Please see section 21.

![image](https://us1.discourse-cdn.com/flex020/uploads/universal_robots/original/1X/63a93e68d86c341724191d173d1763d1d6c0d310.png)

Hence a freedrive input is not allowed (ignored) in Remote Control mode.  
If you have a program, that executes freedrive, this will be interpreted as a non-input freedrive, and hence be allowed.

---

<div class="post-metadata">

**Author:** ![m.birkholz](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/m.birkholz/32/7084_2.png) [@m.birkholz](https://forum.universal-robots.com/u/m.birkholz)\
**Post date:** [October 26, 2018, 9:31am UTC](https://forum.universal-robots.com/t/use-digital-input-mapped-to-freedrive-in-remote-mode/2944/4 "2018-10-26T09:31:38Z")

</div>

So basically, if i want a physical button that activates the freedrive i have to use a SoC that handles additional digital IO and connects to a Socket and sends a program like  
def Program():  
freedrive\_mode()  
end  
?  
why is it even necessary to bypass it this way?  
is there any restriction defined in DIN-ISO 10218 that forces UR to block this function?

---

<div class="post-metadata">

**Author:** ![jbm](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/jbm/32/614_2.png) [@jbm](https://forum.universal-robots.com/u/jbm)\
**Post date:** [October 26, 2018, 12:29pm UTC](https://forum.universal-robots.com/t/use-digital-input-mapped-to-freedrive-in-remote-mode/2944/5 "2018-10-26T12:29:52Z")

</div>

Alternatively you should be in Local Mode, and communicate with Secondary 30002 from localhost.

But why not use another interface, like RTDE or Modbus, which is not restricted to read from in Local Control mode?

---

<div class="post-metadata">

**Author:** ![osn](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.universal-robots.com/osn/32/2558_2.png) [@osn](https://forum.universal-robots.com/u/osn)\
**Post date:** [October 30, 2018, 3:08pm UTC](https://forum.universal-robots.com/t/use-digital-input-mapped-to-freedrive-in-remote-mode/2944/6 "2018-10-30T15:08:07Z")

</div>

The reason for the restriction is ISO 10218-1, section 5.3.5 _Single Point of Control_. We want to prevent users from freedriving the robot when at the same time, a remote machine can tell the robot to start a program.

An option is to listen on an input inside your program and enter freedrive that way. Then you can control from the program when it is appropriate to go to freedrive.

---

<div class="post-metadata">

**Author:** ![anon47499781](https://avatars.discourse-cdn.com/v4/letter/a/ed8c4c/32.png) [@anon47499781](https://forum.universal-robots.com/u/anon47499781)\
**Post date:** [November 1, 2018, 1:05am UTC](https://forum.universal-robots.com/t/use-digital-input-mapped-to-freedrive-in-remote-mode/2944/7 "2018-11-01T01:05:19Z")

</div>

Hi  
You can try this:  
def Program():  
while(true)  
freedrive\_mode()  
end  
end
