NUM AXIUM Data Access
This chapter outlines all possible native addresses. These addresses must be configured within the device configuration.
Format
A native NUM address has following format:
{memory base}.{memory channel}.{memory type}.{data type}:{address}(°{axis letter})
{axis letter}
is optional and only allowed in Axis
Memory Base
The CNC control provides different bases for memory:
Memory Base | Description |
---|---|
Global | Global memory base. |
Cnc{c} | Cnc memory base. For the Num Axium Control Driver maximal 16 cnc's are available. This number equals the configured cnc Address of the cnc control. (0...15) |
Memory Channel
The CNC control provides different channels for memory:
Memory Base | Memory Channel | Description |
---|---|---|
Global | System | Global memory base. |
Cnc{c} | Nc{n} | Nc memory base. For the Num Axium Control Driver are maximal 8 Nc channels available. This number equals the configured nc Address of the cnc control. (0...7) |
Cnc{c} | Common | Common memory base, it means all NC channels together |
Cnc{c} | Cnc | All cnc Data |
Cnc{c} | Plc | Plc Data |
Memory Type
Each memory base can have one or several memory types.
Memory Base | Memory Type | Description |
---|---|---|
System | Control | Global CNC Information |
Nc{n} | Program | Program Information |
Axis | Axis positions and Speeds (absolute pos, machine pos, ...) | |
Dynamic | Operation Mode, Feedrate, ... | |
Cnc | Parameter | E Parameters |
Plc | Variables | Plc Variables (e.g. Running state, ...) |
Data Types
Data Type | Description | System Data Type |
---|---|---|
Bool | Bit information. 0 = not set; 1 = set | System.Boolean |
Uint8 | Byte information (unsigned 8bit integer) | System.Byte |
Uint16 | Word information (unsigned 16bit integer) | System.UInt16 |
Uint32 | DWord information (unsigned 32bit integer) | System.UInt32 |
Uint64 | Long information (unsigned 64bit integer) | System.UInt64 |
Int32 | Signed integer (32bit) | System.Int32 |
Int64 | Signed integer (64bit) | System.Int64 |
Float64 | Floating point number (64bit) | System.Double |
String | String information | System.String |
Axis Letters
String Data | Int Data | Description |
---|---|---|
X | 0 | Axis name of X Axis |
Y | 1 | Axis name of Y Axis |
Z | 2 | Axis name of Z Axis |
U | 3 | Axis name of U Axis |
V | 4 | Axis name of V Axis |
W | 5 | Axis name of W Axis |
A | 6 | Axis name of A Axis |
B | 7 | Axis name of B Axis |
C | 8 | Axis name of C Axis |
Examples
Cnc0.Nc0.Program.Int32:1
address of the current program number
Global System Configuration
The global system configuration can only be read or monitored. Writing is not possible.
Address | Description | Data Type |
---|---|---|
Global.System.Control.Int32:0 | Connection status of the control (0 = Disconnected, 1 = Connected) | System.Int32 |
Global.System.Control.String:1 | Control Name | System.String |
Global.System.Control.String:2 | Control Identifier | System.String |
Global.System.Control.Int32:3 | Get the number of configured CNC axis channel | System.Int32 |
Global.System.Control.Int32:4 | Get the number of NCKs | System.Int32 |
Global.System.Control.Int32:5 | Sign of life toggle bit (in 1 Hz if connected) | System.Int32 |
Global.System.Control.Int32:6 | Get the number of PLC and NC channels | System.Int32 |
Nc Program Configuration
The Nc Program configuration can only be read or monitored. Writing is not possible.
Address | Description | Data Type |
---|---|---|
Cnc{c}.Nc{n}.Program.Int32:0 | Available G-Function ** | System.Int32 |
Cnc{c}.Nc{n}.Program.Int32:1 | Current program | System.Int32 |
Cnc{c}.Nc{n}.Program.Int32:2 | Current block number | System.Int32* |
Cnc{c}.Nc{n}.Program.Int32:3 | Program error | System.Int32* |
Cnc{c}.Nc{n}.Program.Int32:4 | Block error number | System.Int32* |
Cnc{c}.Nc{n}.Program.Int32:5 | Current tool | System.Int32* |
Cnc{c}.Nc{n}.Program.Int32:6 | Tool direction ** | System.Int32 |
Cnc{c}.Nc{n}.Program.Int32:7 | Corrector number | System.Int32* |
Cnc{c}.Nc{n}.Program.Int32:8 | Left function ** (remaining treatment) | System.Int32 |
Cnc{c}.Nc{n}.Program.String:100 | Get the changing of the the part program number with their call stack | System.String |
Cnc{c}.Nc{n}.Program.String:102 | Comment line of the current main program | System.String |
Cnc{c}.Nc{n}.Program.String:104 | Current Operator Message | System.String |
- The value from control is an Int16 value. But it has been converted to an Int32 value by HumanOS®.
Available G-Function **
Bit Nr | GFunction | Bit Nr | GFunction |
---|---|---|---|
0 | G00 | 15 | G22 |
1 | G01 | 16 | G40 |
2 | G02 | 17 | G41 |
3 | G03 | 18 | G42 |
4 | G04 | 19 | G53 |
6 | G38 | 20 | G54 |
7 | G09 | 21 | G29 |
8 | G17 | 23 | G93 |
9 | G19 | 24 | G94 |
10 | G18 | 25 | G95 |
11 | G90 | 27 | G96 |
12 | G91 | 28 | G97 |
13 | G70 | 30 | G20 |
14 | G52 | 31 | G21 |
Tool Direction **
Bit Nr | Value |
---|---|
0 | G16 P+ |
1 | G16 Q+ |
2 | G16 R+ |
8 | G16 P- |
9 | G16 Q- |
10 | G16 R- |
Left function **
Bit Nr | Value |
---|---|
0 | G78 P.. |
1 | End of external movement (FMEXT) |
2 | Decoded M function |
3 | Encoded M function |
4 | G04 |
5 | G09 |
6 | Circle execution |
7 | Linear execution |
8 | JOG |
11 | ARUS |
13 | Encoded M function without ack. (before) |
15 | T function |
Dynamic information
The Dynamic configuration can only be read or monitored. Writing is not possible.
Address | Description | Data Type | |
---|---|---|---|
Cnc{c}.Nc{n}.Dynamic.Int32:0 | Operation Mode ** | System.Int32 | |
Cnc{c}.Nc{n}.Dynamic.String:0 | Operation Mode as String | System.String | |
Cnc{c}.Nc{n}.Dynamic.Int32:1 | Preselected operation mode as int | System.Int32 | |
Cnc{c}.Nc{n}.Dynamic.String:1 | Preselected operation mode as string | System.String | |
Cnc{c}.Nc{n}.Dynamic.Int32:2 | Feedrate in percent | System.Int32 | |
Cnc{c}.Nc{n}.Dynamic.Float64:3 | Interpolation feed of the NC | System.Double | |
Cnc{c}.Nc{n}.Dynamic.Float64:4 | Programmed feed | System.Double |
Operation Mode **
Value | Operation Mode |
---|---|
0 | MDI |
1 | Auto |
2 | Single |
3 | Edit |
4 | Manual |
5 | Rapid |
6 | Test |
7 | Search |
8 | Home |
9 | Shifts |
11 | No Mode |
13 | Load |
Nc Axis Configuration
Reading the axis positions.
Address | Description | Data Type |
---|---|---|
Cnc{c}.Nc{n}.Axis.Float64:0 | Machine positions | System.Double[] |
Cnc{c}.Nc{n}.Axis.Float64:1 | Offset positions (absolute positions) | System.Double[] |
Cnc{c}.Nc{n}.Axis.Float64:2 | End positions | System.Double[] |
Cnc{c}.Nc{n}.Axis.Float64:3 | Delta (Distance to go) | System.Double[] |
Each of these memories can be also read by axis number:
Address | Description | Data Type |
---|---|---|
Cnc{c}.Nc{n}.Axis.Float64:0°{y} | Machine position of axis {y} | System.Double |
Cnc{c}.Nc{n}.Axis.Float64:1°{y} | Absolute position of axis {y} | System.Double |
Cnc{c}.Nc{n}.Axis.Float64:2°{y} | Relative position of axis {y} | System.Double |
Cnc{c}.Nc{n}.Axis.Float64:3°{y} | Distance to go of axis {y} | System.Double |
Spindle Data
Reads the spindle information. The spindle number {y}
is in rage 0 to 3.
Address | Description | Data Type |
---|---|---|
Cnc{c}.Nc{n}.Spindle.Uint8:0°{y} | Assigned axis group | System.Byte |
Cnc{c}.Nc{n}.Spindle.Uint8:1°{y} | Mode (Bit0=1 → M3; Bit1=1 → M5; Bit2=1 → M4; Bit3=1 → M19) | System.Byte |
Cnc{c}.Nc{n}.Spindle.Int32:2°{y} | Feedrate override in % | System.Int32* |
Cnc{c}.Nc{n}.Spindle.Float64:3°{y} | Programmed spindle speed | System.Double |
Cnc{c}.Nc{n}.Spindle.Float64:4°{y} | Real spindle speed | System.Double |
- The value from control is an Int16 value. But it has been converted to an Int32 value by HumanOS®.
Plc Variables
For reading the plc variables, they must be allowed to read in PLC Project. With following address, you can read a PLC variable:
Cnc{c}.Plc.Variables.{DataType}:{PLC Address}
PLC Address = {Type + AddressOffset + DataFormat}
Available data format are:
Format | Example | Description |
---|---|---|
Boolean (0..7) | M0.0 | Write the first Bit of Address M0 |
Byte (.B) | M0.B | Write the first Byte (8 Bits) of Address M0 |
Word (.W) | M0.W | Write the first Word (16 Bits) of Address M0 |
Types available are:
Type | Range | Description |
---|---|---|
I | 0-5939 | PLC Input Var (HW input signals) |
Q | 0-5939 | PLC Output Var (HW output signals) |
R | 0-979 | PLC No write MEM Var (read only storage) |
W | 0-979 | PLC write MEM Var (R/W storage) |
M | 0-7799 | PLC write MEM Var (R/W storage) |
Ranges and read/write access depend on the used controller and the version, as well as customization through the machine supplier.
For checking a PLC address, you can use the Numpass HMI, go to Variables and write your plc address:
Examples
Cnc0.Plc.Variables.Bool:R5.1
= Program running
E-Parameters / L-Parameters
For reading the E- / L- parameters, they must be allowed to read in PLC Project.
Types available are:
Type | Range | Description |
---|---|---|
L | 1-999 | L-Var (CNC runtime data, 0 while program idle) |
E | 10000-…-…-96331 | PLC E-Parameter (storage for various processing data) range is not fully continuous, contact Num for specific data |
For reading an E-Parameter, the parameter must be defined. For further information see the NUM documentation chapter "external parameters".
With following address, you can read an E-Parameter variable:
Cnc{c}.Plc.Variables.{DataType}:{Type+Address}
Example: Cnc0.Plc.Variables.Float64:E81000
For checking a E-Parameter address, you can use the Numpass HMI, go to Variables and write your E-Parameter.
NumRoto Parameter MachineActivity
The data point MachineActivity is NUM Roto specific and somewhat special. In the windows registry, it must be specified which EParameter contains the values from the data point MachineActivity. This is described in the driver configuration.
HumanOS.UHAL.NumControlDriver implements the MachineActivity data point at the following address:
Cnc{c}.Plc.Variables.{DataType}:MachineActivity
Example:
In the windows registry, the following setting is specified:
HKEY_CURRENT_USER\SOFTWARE\NUMROTOplus\ParamMachineActivity
contains the value 81000.
In this case, the NumControl driver will replace the address Cnc0.Plc.Variables.String:MachineActivity
based on the registry setting with Cnc0.Plc.Variables.String:E81000
.
Storage locations
Data can be stored in different locations, which can freely be defined by the system integrator. For example, the variable part counter is not defined from NUM, most likely the value is stored in a custom usable E-Parameter.
Custom ranges:
Type | Range | Description |
---|---|---|
E | 80000-80050 | 32bit NC-Parameters (not visible to PLC) |
E | 30000-30127 | 32bit shared PLC-NC Parameters |