Dynamic programming of robot paths at Fanuc using Python
Project description:
For highly dynamic processes, you would like to be able to send a robot to changing
positions during runtime. This contrasts with conventional robot programming, which uses
static pre-taught positions.
Solutions:
-
FANUC Remote Motion Interface (R912)
This paid Fanuc option should be the most modern solution and allows to completely remote
control the robot via an external network device like a PC. This is done by sending JSON
like text messages via TCP/IP to the robot controller. Multiple motion instructions can be
sent to the controller and will be buffered.
The FANUC manual B-84184EN/01 describes in detail the available messages where distinction
is made between Communication, Command and Instruction packets.
- FANUC SNPX protocol
Fanuc robots generally come with the SNPX option installed. This interface allows you to:
- Read/write inputs and outputs
- Read/write registers
- ...
SNPX can be considered as an old school but still valid way to achieve dynamic positioning.
Details can be found in the FANUC manual MARUCHMID06121E REV B and programming example can be
downloaded below.
-
Dynamic program generation
The probably least professional but still possible way to go might be, to dynamically generate
a TP program as a text file (.ls extension), to compile it to a TP file with the maketp command
installed with Roboguide and then to transfer the TP file to the robot with FTP, before starting
the program via PNS or RSR inputs.
-
R-50iA Controller
Fanuc has announced a new controller with an integrated Python interpreter. It is not clear yet
what exactly can be expected from that feature, but it might also offer new solutions to the topic.
Download:
Download: SNPX Guide