Forum Migration Notice
Update (2026-01-21): The user forums are now in read-only mode pending the data migration.

Update (2026-01-12): The user forums will be put into read-only mode on the 21st of January, 00:00 CET, to prepare for the data migration.

We're transitioning to a more modern community platform by beginning of next year. Learn about the upcoming changes and what to expect.

Jog the Robot via PLC

Hi,

Is it possible to jog the robot via PLC? We'd also like to move, start and stop the robot without using the FlexPendant. Therefore, we think about implementing a TCP/IP Socket interface to move or jog the robot from a remote PLC.
If yes is the answer, what do I need?

Comments

  • Hello
    You can do it with a loop in RAPID. Something like below:

    PERS robtarget pJog;
    ...    
        TRAP TrapInputX()    !Trap when inputPositiveX goes high
            WHILE inputPositiveX=1 DO
               pJog:=CRobT(); 
               MoveL offs(pJog,1,0,0),v1000,z50,tool0\WObj:=wobj0;         
               WaitTime 0.1;                      
            ENDWHILE        
        ENDTRAP

    /Pavel


  • You can use Sockets in the Rapid code. So it is possible to define a connection between the robot and an external device. Furthermore, it is possible to send positions, but the movement and wait instructions have to be defined in the Rapid code.

    The application manual gives information about 'Socket communication in general' and the technical reference manual gives information about the specific socket functions. 
    Available functions are: SocketCreate, SocketConnect, SocketSend, SocketClose, SocketBind, SocketListen, SocketAccept, SocketGetStatus, SocketSend, SocketSendTo, SocketPeek, and SocketReceiveFrom

    If needed I can give an example between Rapid and Python, or Rapid and C#. On the other hand, if you just want to use IO, then you can use a TRAP as stated in the previous comment. In this case, it will be more challenging to send the positions...



  • Hi,
    John_Verheij, it would be nice if you could give an example between Rapid ans C#. Still possible ?
    Thanks