UnderAutomation.Fanuc for LabVIEW is a library of VIs that communicates with Fanuc robot controllers
(R-J3iB, R-30iA, R-30iB, R-50iA) and with ROBOGUIDE. It wraps the .NET SDK UnderAutomation.Fanuc.dll.
Nothing is installed on the robot. No PCDK and no Robot Interface are needed on the PC.
Use it to read and write variables and registers, run and stop programs, reset alarms, set and simulate I/O, and read the position, the I/O states and the safety status of the robot.
- Product page: underautomation.com/fanuc
- Documentation: underautomation.com/fanuc/documentation
- Also available for .NET: Fanuc.NET, and for Python: Fanuc.py
Overview.of.LabVIEW.Library.for.Fanuc.mp4
| Feature | Protocol | Controller option |
|---|---|---|
| Run, pause, hold, abort programs, read and write variables, reset alarms, set and simulate ports | Telnet KCL | none |
| Read variable files, registers, I/O states, safety status, alarm history, current position, transfer files | FTP | none |
| Fast read and write of registers, current position | SNPX | R553 "HMI Device SNPX" on FANUC America controllers (R650 FRA), none on FANUC Ltd. controllers (R651 FRL) |
| Run, pause and abort programs, read and write variables | CGTP (web server of the controller) | none |
Each release of this repository has one zip per LabVIEW version, from 2010 to 2024:
releases page. You can also clone this repository
and open the folder LabVIEW_<version> of your version.
Each folder contains:
UnderAutomation.Fanuc/UnderAutomation.Fanuc.lvlib: the library of VIs, with the DLL;Examples/1.Main demo.vi: a demo application that uses every protocol;UnderAutomation.Fanuc.lvproj: the LabVIEW project that contains both.
The library runs in trial mode for 30 days. After the trial, give your license key to
RegisterLicense.vi. Call it each time the application starts, before ConnectToRobot.vi.
ConnectToRobot.vi connects to the robot with its IP address. Booleans enable or disable each protocol
(Telnet, FTP, SNPX). Telnet needs its password, FTP needs a user and a password. The VI returns the robot
and one reference per protocol: give them to the VIs below. DisconnectFromRobot.vi closes the
connection.
Telnet KCL sends commands to the controller: reset the alarms, write variables, set an I/O... It needs no option on the controller. To enable Telnet on the robot or in ROBOGUIDE, follow this tutorial.
To run a program:
- set
$RMT_MASTER = 1and$REMOTE_CFG.$REMOTE_TYPE = 1(withSetVariableValue.vi); - turn the switch of the teach pendant off;
- reset the alarms.
The other VIs of the Telnet folder:
GetTaskInfo.vi reads the state of a task.
FTP gives access to the files of the controller, and reads and decodes the variable files (.va) and the
diagnostic files (.dg).
Front panel of the I/O states:
GetAllVariables.vi, GetVariableFiles.vi and GetVariableFromFile.vi read the variables, and the VIs
of DirectFileHandling transfer files.
SNPX (also known as SRTP, RobotIF or Robot Interface) reads and writes data on the robot quickly. The TCP port of the Robot IF server (60008 by default) must be reachable on the controller. In ROBOGUIDE, the parameters are chosen in the "Advanced" tab of step 7 "Robot options" of the workcell creation wizard: "FANUC America Corp." (R650 FRA) needs option R553 "HMI Device SNPX", "FANUC Ltd." (R651 FRL) needs no option.
The VIs of the Cgtp folder use the web server of the controller: CgtpRunProgram.vi,
CgtpPauseAllPrograms.vi, CgtpAbortTask.vi, CgtpReadVariableAsString.vi,
CgtpWriteVariableAsInteger.vi, CgtpWriteVariableAsReal.vi, CgtpWriteVariableAsString.vi and
CgtpIsEnabled.vi.
- LabVIEW: 2010 to 2024, one folder per version.
- Operating system: Windows.
- Controllers: R-J3iB, R-30iA, R-30iB, R-50iA, and ROBOGUIDE.
This SDK needs a commercial license. A 30-day trial starts at the first use, no key needed.
- License agreement: underautomation.com/fanuc/eula and License.md
- Trial, license key and source license: underautomation.com/fanuc/documentation/license
- Prices and quote: underautomation.com/fanuc
- Documentation: underautomation.com/fanuc/documentation
- Issues: GitHub Issues
- Contact: underautomation.com/contact










































