SINUMERIK Data Access
This chapter outlines all possible native addresses to access memory and data. These addresses must be configured within the device configuration.
Format
In general, the address following format:
Classical SINUMERIK path from HMI operate. Example:
/Channel/MachineAxis/measPos1[u1, 1]
Or SIEMENS and IEC syntax. Example:
DB10.DBD 20
Global Addresses
Following data points are provided by the plugin. The Global
path is used:
Address | Description | Data Type |
---|---|---|
/Global/Available | Returns the available flag. true = machine is online | System.Boolean |
/Global/SignOfLife | Sign of life. Toggles in 1Hz if machine is online | System.Boolean |
NC Variables
The following list is an extract from the HMI Operate. Check the Siemens Documentation for other data addresses.
Machine Status
Address | Description | Data Type |
---|---|---|
/Channel/State/chanAlarm[u1] | Returns the alarm status of the machine | System.Boolean |
/Bag/State/opMode[u1] | Returns the operation mode:
| System.Int32 |
/Channel/State/acProg[u1,1] | Program running state
| System.Int32 |
/Channel/State/totalParts[u1] | Part counter | System.Int32 |
Program Information
Address | Description | Data Type |
---|---|---|
/Channel/ProgramPointer/progNameVL[u1,1] | Main NC program | System.String |
/Channel/ProgramInfo/actPartProgram[u1,1] | Program header of the main program | System.String |
/Channel/ProgramInfo/progName[u1] | Current NC program | System.String |
/Channel/ProgramInfo/actBlockA[u1,1] | Current NC Block | System.String |
/Channel/ProgramInfo/blockNoStr[u1] | Current sequence number | System.String |
/Channel/State/actTNumberLong[u1,1] | Current Tool number | System.Int32 |
Feed and Feedrates
Address | Description | Data Type |
---|---|---|
/Channel/State/feedRateIpoOvr | Feedrate Override | System.Double |
/Channel/State/actfeedrateipo[u1] | Current feed | System.Double |
/Channel/State/cmdFeedRateIpo[u1] | Programmed feed | System.Double |
Spindle
Address | Description | Data Type |
---|---|---|
/Nck/Spindle/speedOvr[1] | Spindle Speed Override | System.Double |
/Channel/spindle/actspeed[u1,1] | Current spindle speed | System.Double |
/Channel/Spindle/cmdSpeed[u1,1] | Programmed spindle speed | System.Double |
Timers
Address | Description | Data Type |
---|---|---|
/Channel/ChannelDiagnose/cuttingTime[u1, 1] | Cutting timer in seconds | System.Double |
/Channel/ChannelDiagnose/operatingTime[u1, 1] | Operation timer in seconds | System.Double |
/Nck/State/sysTimeSinceStartup[1] | Power on timer in seconds | System.Double |
Example
Example of a DataNode configuration:
{
"Id": "F7F0FBE1-388C-4B87-94AF-95869AABCE6D",
"Name": "Value",
"DataClass": "Event",
"DataType": "System.Double",
"Address": "/Channel/MachineAxis/measPos1[u1, 1]",
"Access": {
"Read": true,
"Receive": true
}
}
Machine Data
Machine data of the control is accessed via an address that comprises a prefix and the name of the machine data. The prefix is specific for the particular machine data type.
Machine Data Type | Prefix |
---|---|
General machine data | /NC/_N_NC_TEA_ACX |
Channel machine data | /NC/_N_CH_TEA_ACX |
Axis machine data | /NC/_N_AX_TEA_ACX |
General setting machine data | /NC/_N_NC_SEA_ACX |
Channel setting machine data | /NC/_N_CH_SEA_ACX |
Axis setting machine data | /NC/_N_AX_SEA_ACX |
When accessing channel-specific machine data, the address must be extended by the channel number
[<ChannelNr>]
. For indexed machine data, a second index must also be used[<ChannelNr>,<Index>]
.
When accessing axis machine data, the address must be extended by the axis number
[<AxisNr>]
. For indexed machine data, a second index must also be used[<AxisNr>,<Index>]
.
Example of an indexed general machine data $VALUE[2]
:
{
"Id": "F7F0FBE1-388C-4B87-94AF-95869AABCE6D",
"Name": "Value",
"DataClass": "Event",
"DataType": "System.Double",
"Address": "/NC/_N_NC_TEA_ACX/$VALUE[2]",
"Access": {
"Read": true,
"Receive": true
}
}
Global User Data (GUD)
The SINUMERIK control system allows global variables to be defined which can then be read and written to in an NC program. The GUD variables can be defined NC-globally or channel-specifically.
DEF
GUDs are defined in DEF files in SINUMERIK controls
File Name | Description |
---|---|
MGUD.DEF | Definitions for global machine manufacturer data |
UGUD.DEF | Definitions for global user data |
GUD4.DEF | User-definable data |
GUD8.DEF, GUD9.DEF | User-definable data |
The DEF files are automatically downloaded by the Sinumerik plugin from directory /_N_DEF_DIR
.
To access variables declared in one of those files, create a data node and use the following format to address the GUD variable: <GudFileName>/<VariableName>
, e.g. GUD8/MY_VARIABLE[u1]
Downloading the DEF file manually and the creation of a device property (e.g.
DEF:GUD8
) is NOT SUPPORTED anymore in the current version.
Example of an indexed channel GUD data:
Since
TOOL_LIFE_CUR_
is a channel based array, it also requires to declare from which channel the data must be read/written, e.g: channel 1 asTOOL_LIFE_CUR_[u1,2]
.
{
"Id": "F7F0FBE1-388C-4B87-94AF-95869AABCE6D",
"Name": "Value",
"DataClass": "Event",
"DataType": "System.Double",
"Address": "GUD8/TOOL_LIFE_CUR_[u1,2]",
"Access": {
"Read": true,
"Receive": true
}
}