April 03, 2019
Published in Products

HumanOS Fanuc Connector

Fanuc Data Access Points

The following data access points are available for HumanOS FANUC connectors:

Functions Descriptions  R/W Capability Address
Absolute positions all axis R   Nc{n}.Dynamic.Float64:200
Active G-codes of the current block Single values or array R   Nc{n}.Modal.String:0°{x}
Active G-codes of the next block Single values or array R   Nc{n}.Modal.String:1°{x}
Alarm state Alarms, battery and fan warnings, … R   Nc{n}.Dynamic.Float64:6
Axis names Names of all axis in a semi-colon separated string (e.g. X;Y;Z;C). R   Nc{n.System.String:1
Commanded values of the current block Single values, arrays and string formated output R   Nc{n}.Modal.Float64:2°{x}
Commanded values of the next block Single values, arrays and string formated output R   Nc{n}.Modal.Float64:3°{x}
Connection status Availability of the control R   Global.System.Int32:1
Control name   R   Global.System.String:0
Current axis feed   R   Nc{n}.Dynamic.Float64:4
Current block number   R   Nc{n}.Program.Int32:1
Current federate override 1 Reads the current federate override 1 R   Pmc{n}.Pmc_G.Uint8:12
Current federate override 2 Reads the current federate override 2 R   Pmc{n}.Pmc_G.Uint8:13
Current program number   R   Nc{n}.Dynamic.Float64:1
Current sequence number   R   Nc{n}.Dynamic.Float64:2
Current spindle speed   R   Nc{n}.Dynamic.Float64:3
Current status of the tool group Status of the tool group {group} R ToolLifeManagement Nc{n}.ToolLife.Int32:0x{group}{0000}
Current status of the tool life management Status of the tool life management R ToolLifeManagement Nc{n}.ToolLife.Int32:0x00000000
Current status of the tool Status of the tool {tool} R   Nc{n}.ToolLife.Int32:0x{group}{tool}
Custom macro variables Local, system and macro executer R/W   Nc{n}.CustomMV.Float64:{1…33}
Cutter radius compensation number   R   Nc{n}.ToolLife.Int32:0x{group}{tool}°4
Cutting time in milliseconds Integrated value of cutting time in milliseconds R   Nc{n}.Param.Uint32:6753
Cutting time in minutes Integrated value of cutting time in minutes R   Nc{n}.Param.Uint32:6754
Cutting time of current run in milliseconds   R   Nc{n}.Param.Uint32:6757
Cutting time of current run in minutes   R   Nc{n}.Param.Uint32:6758
Diagnostics All diagnostic parameters (bit, byte, word, dword and real values) R   Nc{n}.Diagnosis.{datatype}:{address}
Distance to go all axis R   Nc{n}.Dynamic.Float64:400
Emergency state   R   Nc{n}.Dynamic.Float64:7
Machine positions all axis R   Nc{n}.Dynamic.Float64:100
Current main program name    R   Nc{n}.Program.String:0
Current main program number   R   Nc{n}.Dynamic.Float64:0
Max life time of tool    R ToolLifeManagement Nc{n}.System.Int32:1002
Max number of cutting cycles  R ToolLifeManagement Nc{n}.System.Int32:1003
Max number of tool groups   R ToolLifeManagement Nc{n}.System.Int32:1000
Max number of tools    R ToolLifeManagement Nc{n}.System.Int32:1001
Number of Axis Number of axis available in the addressed nc channel R   Nc{n}.System.Int32:0
Number of free tools   R ToolLifeManagement Nc{n}.ToolLife.Int32:0x{group}{0000}°2
Number of machined parts   R   Nc{n}.Param.Uint32:6711
Number of tool group currently in use   R ToolLifeManagement Nc{n}.ToolLife.Int32:0x00000000°2
Number of tool group currently selected   R ToolLifeManagement Nc{n}.ToolLife.Int32:0x00000000°1
Number of tool group to be used next   R ToolLifeManagement Nc{n}.ToolLife.Int32:0x00000000°3
Number of tool optional group currently in use   R ToolLifeManagement Nc{n}.ToolLife.Int32:0x00000000°5
Number of tool optional group currently selected   R ToolLifeManagement Nc{n}.ToolLife.Int32:0x00000000°4
Number of tool optional group to be used next   R ToolLifeManagement Nc{n}.ToolLife.Int32:0x00000000°6
Number of tools Number of tools available for Tool Offset R ToolLifeManagement Nc{n}.System.Int32:100
Number of used tools   R ToolLifeManagement Nc{n}.ToolLife.Int32:0x{group}{0000}°1
Operation mode   R   Nc{n}.Dynamic.Float64:8
Operation time in milliseconds   R   Nc{n}.Param.Uint32:6751
Operation time in minutes   R   Nc{n}.Param.Uint32:6752
Optional tool group   R ToolLifeManagement Nc{n}.ToolLife.Int32:0x{group}{0000}°8
Parameters All FANUC parameter  (bit, byte, word, dword and real values) R/W   Nc{n}.Param.{datatype}:{address}
P-Code variables Global and path specific P-Code variables R/W   Nc{n}.PCode.Float64:{10000…89999}
PMC and Dual Check Safety variables PMC variables (Memories A, C, D, E, F, G, K, M, N, R, T, X, Y, Z) R/W   Pmc{n}.Pmc_{x}.{datatype}:{address}
Power-on period in minutes Integrated value of power on period in minutes R   Nc{n}.Param.Uint32:6750
Current program header Program header of current selected program R ProgramManagement Nc{n}.Program.String:10
Program restart mode   R   Nc{n}.Dynamic.Float64:9
Relative positions all axis R   Nc{n}.Dynamic.Float64:300
Rest of tool life counter   R ToolLifeManagement Nc{n}.ToolLife.Int32:0x{group}{0000}°6
Rest signal state   R ToolLifeManagement Nc{n}.ToolLife.Int32:0x{group}{0000}°7
Running state   R   Nc{n}.Dynamic.Float64:5
Selected tool in order   R ToolLifeManagement Nc{n}.ToolLife.Int32:0x{group}{0000}°3
Servo current all axis R   Nc{n}.Axis.Float64:1
Servo loop gain all axis R   Nc{n}.Axis.Float64:2
Servo meter all axis R   Nc{n}.Axis.Float64:0
Status of the tool   R   Nc{n}.ToolLife.Int32:0x{group}{tool}°2
Tool identification number   R   Nc{n}.ToolLife.Int32:0x{group}{tool}°1
Tool length compensation number   R   Nc{n}.ToolLife.Int32:0x{group}{tool}°3
Tool life (in total)   R ToolLifeManagement Nc{n}.ToolLife.Int32:0x{group}{0000}°9
Tool life counter   R/W ToolLifeManagement Nc{n}.ToolLife.Int32:0x{group}{0000}°5
Tool life counter type    R ToolLifeManagement Nc{n}.ToolLife.Int32:0x{group}{0000}°4
Tool offset data X,Y,Z, Radius and Tool nose orientation R/W   Nc{n}.ToolOffset.Float64:{x}
Total number of machined parts   R   Nc{n}.Param.Uint32:6712
Workpiece offset memory Offset values of all axis for external offset, G54, G55, … G59, G54.1 P1 until G54.1 P48 R/W   Nc{n}.Offset.Float64:{y}°{x}

Fanuc Commands

Following commands are available:

Command Capability Address
Synchron reading a value   Global.ReadValue
Executes the external reset   Nc{n}.reset
Clears the PS100/101 alarms   Nc{n}.clearAlarm
Clears the life counter of a specific tool group. ToolLifeManagement Nc{n}.clearToolLifeData
Deletes all Nc programs. ProgramManagement Nc{n}.deleteAllPrograms
Deletes a specific Nc program. ProgramManagement Nc{n}.deleteProgram
Selects an Nc program for execution. ProgramManagement Nc{n}.selectProgram
Writes a file to FANUC control ProgramManagement Nc{n}.writeFile
Reads a file from FANUC control ProgramManagement Nc{n}.readFille
Writes data to the Manual Data Input Buffer (MDI) ProgramManagement Nc{n}.writeMDI





Start your first IoT-Project

Download and install the HumanOS® IoT Designer.


Start the HumanOS® IoT Designer.

Create a new HumanOS® Project

Give your project a name and select the license and platform. Default is trial platform.

Select your preferred service protocol. In our case OPC-UA Server.

Select "Devices" and a new device to your project.

Select the device type / protocol, e.g. FANUC CNC

Then select a predefined template for your device.

Give your device a name (filename).
Input the address of the FANUC control:

  • For Ethernet, use "ip-address":"port"
  • For HSSB, use node name, e.g. CNC-1
  • For local NC-Guide, use NCGUIDE!

The device structure is shown as tree view. Double click on the first node to change device address.

Run the OPC-UA Server

Deploy and test the project now.

Deploys the project and starts the HumanOS® IoT Platform.

Wait, until the message « Server is running ok» appears.

Your're done!

Hint: When using a trial platform, you get the OPC-UA trial notification. Just click it away.

Trial platforms run only one hour and then automatically terminate. Ask for an extended trial version here...

Test the Connection

Use a regular OPC-UA client. We recommend using the UA-Expert.

Start the UA-Expert and add a new Connection. By default, the HumanOS Server endpoint is: opc.tcp://localhost:48030

Set Security Policy to “None”.
Hint: HumanOS® OPC-UA Server supports different security policies. A valid server certificate is needed and must be installed.

Connect to the server and then Drag&Drop the data access points to the middle of the UA-Expert window.

HumanOS SmartGateway for FANUC Controls

As part of the HumanOS™ project, we offer a comprehensive OPC UA server for FANUC controllers. This intelligent and high-performance gateway allows you to connect your machines and robots with MES, ERP, cloud applications and remote maintenance services.

NEW TRIAL Version is available for download.

Over 15 years experience and knowledge of industrial machine controls, software architecture and engineering, artificial and pervasive intelligence, we are dedicated to provide the best and economical solutions to our valued customers.

Latest Company News

  • HumanOS Fanuc Connector

  • HumanOS SmartGateway Trial Version for FANUC and OPC-UA is ready

  • Designing for Human-Machine Symbiosis Using the URANOS Model: Emerging Research and Opportunities

  • Some Streams of Systemic Thought

  • 1

Contact us