Sei sulla pagina 1di 140

IndraWorks

OPC UA Communication

Application Description Edition 04


R911379309
Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

Title IndraWorks
OPC UA Communication

Type of Documentation Application Description

Document Typecode DOK-IWORKS-OPC*UA*****-AP04-EN-P

Internal File Reference RS-ae56b1489a9215f70a347ea50090784c-3-en-US-5

Change Record Edition 04, 2018-04


Refer to tab. 1-1 "Change record" on page 7
Copyright © Bosch Rexroth AG 2018
All rights reserved, also regarding any disposal, exploitation, reproduction,
editing, distribution, as well as in the event of applications for industrial prop‐
erty rights.
Liability The specified data is intended for product description purposes only and shall
not be deemed to be a guaranteed characteristic unless expressly stipulated
in the contract. All rights are reserved with respect to the content of this docu‐
mentation and the availability of the product.
Editorial Department Engineering Automation Systems Solution Integration HMI and NC Controls,
SeKr (SyKe/PiaSt)
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG I/137
IndraWorks OPC UA Communication

Table of Contents

Table of Contents
Page

1 About this documentation.............................................................................................. 7


1.1 Validity of the documentation.................................................................................................................. 7
1.2 Required and supplementing documentation IndraWorks...................................................................... 8
1.2.1 Engineering......................................................................................................................................... 8
1.2.2 Engineering & visualization............................................................................................................... 10
1.2.3 Visualization...................................................................................................................................... 10
1.3 Information representation.................................................................................................................... 10
1.3.1 Using safety instructions.................................................................................................................... 10
1.3.2 Customer feedback........................................................................................................................... 12

2 Important instructions on use....................................................................................... 13


2.1 Intended use......................................................................................................................................... 13
2.1.1 Introduction........................................................................................................................................ 13
2.1.2 Areas of use and application............................................................................................................. 13
2.1.3 Unintended use................................................................................................................................. 13

3 Introducing the OPC Unified Architecture.................................................................... 15


3.1 General information.............................................................................................................................. 15
3.2 Overview on specifications................................................................................................................... 15
3.3 OPC UA information model.................................................................................................................. 16
3.4 Service-oriented architecture................................................................................................................ 16

4 The Bosch Rexroth OPC UA server............................................................................ 21


4.1 General information.............................................................................................................................. 21
4.2 Properties of the Bosch Rexroth OPC UA server................................................................................. 21
4.3 Configuring the OPC UA server of the MTX......................................................................................... 22
4.4 Configuring the OPC UA server of the XLC/MLC................................................................................. 23
4.5 Security configuration........................................................................................................................... 24
4.6 Configuration by the client.................................................................................................................... 25
4.7 Server address spaces......................................................................................................................... 26
4.7.1 General information........................................................................................................................... 26
4.7.2 Available namespaces....................................................................................................................... 26
4.7.3 The PLC address space.................................................................................................................... 28
4.7.4 The address space in the XLC/MLC system..................................................................................... 29
4.7.5 Available test nodes.......................................................................................................................... 38

5 OPC UA communication example............................................................................... 39


5.1 Introduction........................................................................................................................................... 39
5.2 Prerequisites......................................................................................................................................... 39
5.3 UaExpert............................................................................................................................................... 39
5.4 Establishing a connection..................................................................................................................... 40
5.5 Browsing............................................................................................................................................... 42
5.6 Subscribe.............................................................................................................................................. 43
II/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

Table of Contents

Page
5.7 Write..................................................................................................................................................... 46

6 Discovery..................................................................................................................... 47
6.1 General information.............................................................................................................................. 47
6.2 Discovery server................................................................................................................................... 47
6.3 OPC UA server of the XLC/MLC and MTX........................................................................................... 47
6.3.1 General information........................................................................................................................... 47
6.3.2 Enabling the discovery mechanisms of the OPC UA server for the MTX.......................................... 48
6.3.3 Enabling the discovery mechanisms of the OPC UA server for XLC/MLC........................................ 49

7 DiagnosisLogbook....................................................................................................... 51
7.1 General information.............................................................................................................................. 51
7.2 Type description................................................................................................................................... 51
7.2.1 Overview............................................................................................................................................ 51
7.2.2 AutomationConditionType................................................................................................................. 52
7.2.3 AutomationWarningType................................................................................................................... 53
7.2.4 AutomationErrorType........................................................................................................................ 53
7.2.5 AutomationDiscreteAlarmType.......................................................................................................... 53
7.2.6 DiscreteAlarmType............................................................................................................................ 54
7.2.7 ConditionType................................................................................................................................... 54
7.2.8 BaseEventType................................................................................................................................. 56
7.3 Object description................................................................................................................................. 57

8 Type plate.................................................................................................................... 59
8.1 General information.............................................................................................................................. 59
8.2 Type description................................................................................................................................... 59
8.2.1 Overview............................................................................................................................................ 59
8.2.2 RexrothDeviceType........................................................................................................................... 60
8.2.3 ComponentType................................................................................................................................ 62
8.2.4 SoftwareComponentType.................................................................................................................. 63
8.2.5 HardwareComponentType................................................................................................................ 63
8.3 Object description................................................................................................................................. 64
8.3.1 General information........................................................................................................................... 64
8.3.2 Example............................................................................................................................................. 64
8.3.3 Example HardwareComponentSet.................................................................................................... 65
8.3.4 Example CML65................................................................................................................................ 65

9 File system................................................................................................................... 67
9.1 General information.............................................................................................................................. 67
9.2 Type description................................................................................................................................... 67
9.2.1 Overview............................................................................................................................................ 67
9.2.2 AutomationFileType........................................................................................................................... 68
9.2.3 FileStatusType................................................................................................................................... 69
9.2.4 FileDirectoryType.............................................................................................................................. 70
9.3 File system in the OPC UA address space........................................................................................... 70
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG III/137
IndraWorks OPC UA Communication

Table of Contents

Page
9.4 Methods of the AutomationFileType..................................................................................................... 71
9.4.1 Open.................................................................................................................................................. 71
9.4.2 Close................................................................................................................................................. 72
9.4.3 Read.................................................................................................................................................. 72
9.4.4 Write.................................................................................................................................................. 72
9.4.5 GetPosition........................................................................................................................................ 72
9.4.6 SetPosition........................................................................................................................................ 73
9.4.7 SetAccessRight................................................................................................................................. 73
9.4.8 SetTime............................................................................................................................................. 73
9.5 Methods of the FileDirectoryType......................................................................................................... 73
9.5.1 CreateDirectory................................................................................................................................. 73
9.5.2 CreateFile.......................................................................................................................................... 74
9.5.3 Delete................................................................................................................................................ 74
9.5.4 MoveOrCopy..................................................................................................................................... 74
9.6 Variables of the AutomationFileType.................................................................................................... 75
9.6.1 Size.................................................................................................................................................... 75
9.6.2 Writable............................................................................................................................................. 75
9.6.3 UserWritable...................................................................................................................................... 75
9.6.4 OpenCount........................................................................................................................................ 75
9.6.5 MimeType.......................................................................................................................................... 75
9.6.6 Status................................................................................................................................................ 75

10 CNC items.................................................................................................................... 77
10.1 General information.............................................................................................................................. 77
10.2 Type description................................................................................................................................... 77
10.2.1 General description of complex types............................................................................................... 77
10.2.2 OptionSetType for bit masks............................................................................................................. 77
10.3 Real-time items..................................................................................................................................... 78
10.3.1 NC.DataRT........................................................................................................................................ 78
10.3.2 NC.AxisPosRT................................................................................................................................... 79
10.3.3 NC.DataRTDiag................................................................................................................................. 80
10.3.4 NC.AxisPosRTDiag........................................................................................................................... 81
10.4 Spindle items........................................................................................................................................ 81
10.4.1 NC.Chan.ActSpindleSpeed............................................................................................................... 81
10.4.2 NC.Chan.ActSpindleOverride............................................................................................................ 81
10.4.3 NC.Chan.ActSpindleSpeedDrv.......................................................................................................... 82
10.4.4 NC.Chan.ActSpindleTorque.............................................................................................................. 82
10.4.5 NC.Chan.ActSpindlePower............................................................................................................... 83
10.4.6 NC.Chan.ProgrammedSpindleSpeed................................................................................................ 83
10.4.7 NC.Chan.ActSpindleMovements....................................................................................................... 84
10.4.8 NC.Chan.ActSpindleGears................................................................................................................ 84
10.4.9 NC.Chan.ActSpindleAutoGears........................................................................................................ 85
10.4.10 NC.Chan.ActSpindleSwitchGears..................................................................................................... 85
10.4.11 NC.Chan.ActSpindlePosition............................................................................................................. 86
10.5 Program-data items.............................................................................................................................. 86
10.5.1 NC.Chan.ProgramLinkInfo................................................................................................................ 86
IV/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

Table of Contents

Page
10.5.2 NC.Chan.ActNcBlock........................................................................................................................ 87
10.5.3 NC.Chan.ProgramPosition................................................................................................................ 87
10.5.4 NC.Chan.WaitingStates..................................................................................................................... 87
10.5.5 NC.Chan.ProgrammedFeedrateIndex............................................................................................... 88
10.5.6 NC.Chan.ChanHidden....................................................................................................................... 88
10.5.7 NC.Chan.AxisRotate......................................................................................................................... 88
10.5.8 NC.Chan.AxisPoleSet....................................................................................................................... 88
10.5.9 NC.Chan.AxisShift............................................................................................................................. 88
10.5.10 NC.Chan.AxisScale........................................................................................................................... 89
10.5.11 NC.Chan.AxisMirror........................................................................................................................... 89
10.5.12 NC.Chan.ActAxisVelocityMax........................................................................................................... 89
10.5.13 NC.Chan.ActAxisVelocityPeak.......................................................................................................... 90
10.5.14 NC.Chan.ActAxisAccelerationPeak................................................................................................... 90
10.5.15 NC.Chan.BalancedConditionState.................................................................................................... 91
10.5.16 NC.Chan.CompTempData................................................................................................................ 91
10.5.17 NC.Chan.CompLeadScrewErrData................................................................................................... 91
10.5.18 NC.Chan.CompCrossData................................................................................................................ 91
10.5.19 NC.Chan.CompOffsetData................................................................................................................ 91
10.6 System data.......................................................................................................................................... 92
10.6.1 NC.SystemData................................................................................................................................. 92
10.6.2 NC.SystemDataXml........................................................................................................................... 92
10.7 CPL data............................................................................................................................................... 93
10.7.1 NC.CplPermVariable......................................................................................................................... 93
10.7.2 NC.CplPermVariable,PermVars........................................................................................................ 93
10.7.3 NC.CplPermVariable,DefPermVars................................................................................................... 94
10.8 Configuration data................................................................................................................................ 94
10.8.1 NC.CfgDataXml................................................................................................................................. 94
10.9 Global NC data..................................................................................................................................... 94
10.9.1 NC.BitInterface.................................................................................................................................. 94
10.9.2 NC.TestMode.................................................................................................................................... 96
10.10 Channel-dependent NC data................................................................................................................ 97
10.10.1 NC.Chan.ChanState.......................................................................................................................... 97
10.10.2 NC.Chan.OperationState................................................................................................................. 100
10.10.3 NC.Chan.ModeOfOperation............................................................................................................ 100
10.10.4 NC.Chan.OperationMode................................................................................................................ 101
10.10.5 NC.Chan.ProgramWindow.............................................................................................................. 101
10.10.6 NC.Chan.ActCallChain.................................................................................................................... 102
10.10.7 NC.Chan.ProgramPosition.............................................................................................................. 103
10.10.8 NC.Chan.ActSubProgram............................................................................................................... 104
10.10.9 NC.Chan.ActSubProgramVersion................................................................................................... 104
10.10.10 NC.Chan.ActMainProgram.............................................................................................................. 105
10.10.11 NC.Chan.AxisPosAcs...................................................................................................................... 105
10.10.12 NC.Chan.AxisPosAcsCoupl............................................................................................................ 107
10.10.13 NC.Chan.AxisPosAcsDrv................................................................................................................ 107
10.10.14 NC.Chan.AxisPosDistAcs................................................................................................................ 107
10.10.15 NC.Chan.AxisPosLag...................................................................................................................... 107
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG V/137
IndraWorks OPC UA Communication

Table of Contents

Page
10.10.16 NC.Chan.AxisPosWcs..................................................................................................................... 107
10.10.17 NC.Chan.AxisPosDistWcs............................................................................................................... 107
10.10.18 NC.Chan.AxisPosEndWcs.............................................................................................................. 107
10.10.19 NC.Chan.AxisPosWcsDrv............................................................................................................... 107
10.10.20 NC.Chan.AxisPosProg.................................................................................................................... 107
10.10.21 NC.Chan.AxisPosMcs..................................................................................................................... 107
10.10.22 NC.Chan.AxisPosDistMcs............................................................................................................... 107
10.10.23 NC.Chan.AxisPosBcs...................................................................................................................... 107
10.10.24 NC.Chan.AxisPosBcsDrv................................................................................................................ 107
10.10.25 NC.Chan.ActZeroOffsetSum........................................................................................................... 108
10.10.26 NC.Chan.ActDCorrectionValues..................................................................................................... 108
10.10.27 NC.Chan.ActOnlineCorrValue......................................................................................................... 109
10.10.28 NC.Chan.ActPlacementBcrCorr...................................................................................................... 109
10.10.29 NC.Chan.ActPlacementData........................................................................................................... 110
10.10.30 NC.Chan.ActPlacementSumData.................................................................................................... 110
10.10.31 NC.Chan.ActToolCorrectionValues................................................................................................. 111
10.10.32 NC.Chan.ActAxisOffsetTable.......................................................................................................... 111
10.10.33 NC.Chan.ActDCorrectionNmb......................................................................................................... 112
10.10.34 NC.Chan.ActDCorrectionTable....................................................................................................... 112
10.10.35 NC.Chan.ActPlacementTable.......................................................................................................... 112
10.10.36 NC.Chan.ActFeedOverride.............................................................................................................. 113
10.10.37 NC.Chan.ActFeedrate..................................................................................................................... 113
10.10.38 NC.Chan.ProgrammedFeedrate...................................................................................................... 114
10.10.39 NC.Chan.TestMode......................................................................................................................... 114
10.10.40 NC.Chan.TestFeed.......................................................................................................................... 115
10.10.41 NC.Chan.TestRapidTraverse.......................................................................................................... 115
10.10.42 NC.Chan.SkipBlock......................................................................................................................... 115
10.10.43 NC.Chan.OptionalStop.................................................................................................................... 116
10.10.44 NC.Chan.ReentryChain (ab 14V22)................................................................................................ 116
10.11 Tables based on databases................................................................................................................ 117
10.11.1 NC.DbTableDataRec....................................................................................................................... 117
10.11.2 NC.DbTableEvent............................................................................................................................ 117
10.11.3 NC.DbTableQuery........................................................................................................................... 118
10.12 File-based tables (from 14V22).......................................................................................................... 119
10.12.1 NC.FileTable variable...................................................................................................................... 119
10.12.2 NC.FileTable object......................................................................................................................... 120
10.12.3 AddSet method................................................................................................................................ 121
10.12.4 Methode DeleteSet.......................................................................................................................... 121
10.12.5 Methode InsertAxis.......................................................................................................................... 121
10.12.6 Methode DeleteAxis........................................................................................................................ 122
10.12.7 Methode SetEventNotifier................................................................................................................ 123
10.12.8 Methode CreateFileTable................................................................................................................ 123

11 OPC UA client - Function blocks................................................................................ 127


11.1 Programming examples...................................................................................................................... 127
VI/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

Table of Contents

Page

12 OPC UA server - Library function blocks................................................................... 129

13 Drive data................................................................................................................... 131


13.1 General information............................................................................................................................ 131
13.2 Application.......................................................................................................................................... 131

14 Service and support................................................................................................... 133

Index.......................................................................................................................... 135
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 7/137
IndraWorks OPC UA Communication

About this documentation

1 About this documentation


Editions of this documentation

Edition Release Note


date
01 2014-09 First edition
02 2017-02 Version- and system-independent replacement for DOK-MTX***-OPC*UA**V14-APRS-EN-P,
R911342513
New chapters "File system", "CNC items", "OPC UA client - Function blocks" and "Drive data"
03 2017-09 Changes in chapter "The Bosch Rexroth OPC UA server"
New chapter "CPL data", "NC.BitInterface"
04 2018-04 Chapter "The Bosch Rexroth OPC UA server": "The PLC address space" revised
Chapter "CNC items": "NC.Chan.ActOnlineCorrValue", "NC.Chan.ReentryChain (from 14V22)"
and "File-based tables (from 14V22)" added
Chapter "OPC UA client - Function blocks" revised
New chapter "OPC UA server - Library function blocks"

Tab. 1-1: Change record

1.1 Validity of the documentation


Purpose This documentation describes the OPC UA communication for IndraMotion
MTX, IndraLogic XLC and IndraMotion MLC.
Validity of the documentation The following graphic refers to the bordered activities, product phases and
target groups of the present documentation.
Example: The target group "Commissioner" can "program" in the product
phase "Engineering" using this documentation.

Product Mounting
Selection Engineering Commissioning Operation Decommissioning
phases (assembly/installation)

Presales Aftersales

Design engineer
Mechanic/
electrician
Programmer Programmer
Technologist Commissioning engineer
Target Process Technologist
groups specialist
Process specialist
Machine
operator
Maintenance Mechanic/
technician electrician
Service Disposal company
Select Unpack Parameterize Optimize Operate Dismount
Prepare Mount Program Test Maintain Dispose
Activities Design Install Configure Remove
faults
Construct Simulate
Create
the NC program

Fig. 1-1: Assigning this documentation to the target groups, product phases
and target group activities
8/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

About this documentation

1.2 Required and supplementing documentation IndraWorks


1.2.1 Engineering
Documentation titles with type codes and part numbers
IndraWorks 14VRS Software Installation
DOK-IWORKS-SOFTINS*V14-CORS-EN-P, R911344286
This documentation describes the IndraWorks installation.
IndraWorks 14VRS Engineering
DOK-IWORKS-ENGINEE*V14-APRS-EN-P, R911343566
This documentation describes the application of IndraWorks in which the Rexroth Engineering tools are integrated. It in‐
cludes instructions on how to work with IndraWorks and how to operate the oscilloscope function.
IndraWorks 14VRS PLC Programming System IndraLogic 2G
DOK-IWORKS-IL2GPRO*V14-APRS-EN-P, R911343571
This documentation describes the PLC programming tool IndraLogic 2G and its use. It includes the basic use, first steps,
visualization, menu items and editors.
IndraWorks 14VRS Basic Libraries IndraLogic 2G
DOK-IL*2G*-BASLIB**V14-LIRS-EN-P, R911343920
This documentation describes the system-comprehensive PLC libraries.
IndraWorks 14VRS WinStudio 7.4
DOK-IWORKS-WINSTUD*V14-APRS-EN-P, R911341585
This "User Manual and Technical Reference Book" facilitates working with the "Rexroth WinStudio"™ software for optimal
results. This document provides technical information and step-by-step instructions to create web-enabled HMI/SCADA
programs.
Rexroth IndraWorks 13VRS CamBuilder
DOK-IWORKS-CAMBUIL*V13-APRS-EN-P, R911336291
This documentation describes the basic principles and operation of the CamBuilder, the cam editing tool.
IndraWorks 14VRS Field Buses
DOK-IWORKS-FB******V14-APRS-EN-P, R911341485
This documentation describes the field bus and local periphery connections supported by the IndraLogic XLC, IndraMotion
MLC and IndraMotion MTX systems. The focus of this documentation is on the configuration, parameterization, commis‐
sioning and the diagnostics of the different periphery connections.
WebAssistant
DOK-GENERL-WEB*ASSIST*-APRS-EN-P, R911381469
This documentation describes the WebAssistant. The WebAssistant is a webbased diagnostic tool used to access a control
system via an Ethernet highspeed connection. The WebAssistant allows OEMs, end users and service engineers to access
and to remotely diagnose a system. A PC with Internet Explorer version 11 or higher, Firefox version 45 or above or Google
Chrome version 54 or above is required.
The following control variants are supported:
● IndraMotion MLC L25/L45/L65/L75/XM2
● IndraLogic XLC L25/L45/L65/L75/VEP
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 9/137
IndraWorks OPC UA Communication

About this documentation

IndraWorks IndraMotion Service Tool


DOK-IWORKS-IMST*******-APRS-EN-P, R911341383
This documentation describes the IndraMotion Service Tool (IMST). IMST is a web-based diagnostic tool used to access a
control system via an Ethernet high-speed connection. The IMST allows OEMs, end users and service engineers to access
and remotely diagnose a system. The PC has to use at least Internet Explorer 8, Firefox 3.5 or a higher version.
The following control variants are supported:
● IndraMotion MLC L25/L45/L65/L75/XM12/XM2/VPx
● IndraLogic XLC L25/L45/L65/L75
Rexroth IndraDrive Service Tools IMST/IDST
DOK-IM*MLD-IMSTIDSTV13-RERS-EN-P, R911342652
This documentation describes the IndraMotion Service Tools (IMST and IDST). It is a web-based diagnostic tool used to
access a drive system via a high-speed Ethernet connection. Using these service tools OEMs, end users and service engi‐
neers can access and remotely diagnose a system from anywhere.
IndraWorks SafeLogic 14VRS First Steps
DOK-IWORKS-SL*STEP*V14-CORS-EN-P, R911341520
This documentation provides information to facilitate an easy start in the safety control engineering SafeLogic. By using
project examples, information about the installation, configuration, commissioning, troubleshooting and diagnostics is provi‐
ded to the user.
Rexroth IndraWorks 12VRS FDT Container
DOK-IWORKS-FDT*CON*V12-APRS-EN-P, R911334398
This documentation describes the IndraWorks FDT Container functionality. It includes the activation of the functionality in
the project and working with DTMs.
IndraWorks 14VRS Field Buses Libraries
DOK-IWORKS-FB*LIB**V14-LIRS-EN-P, R911343575
This documentation describes field bus libraries for the IndraLogic XLC, IndraMotion MLC and IndraMotion MTX systems.
IndraWorks 14VRS Remote Support
DOK-IWORKS-REMOTE**V14-APRS-EN-E, R911382628
This documentation supports the user while installing and using a remote support software compatible to the current ope‐
rating systems from Win7 - Win10.
Rexroth IndraWorks Remote Condition Monitoring RMB_TechRCM
DOK-IWORKS-TEC*RCM*V14-LIRS-EN-E, R911343671
This documentation describes the individual functions of the "Remote Condition Monitoring" systems as well as the most
important use cases for a quick status assessment of the connected machines/systems.
IndraWorks 14VRS SafeLogic - Project Configuration, Version 02V08
DOK-IWORKS-SL**PRJ*V14-APRS-EN-P, R911341694
This documentation describes the creation and programming of SafeLogic projects in IndraWorks Engineering.

Tab. 1-2: IndraWorks documentation overview - Engineering


10/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

About this documentation

1.2.2 Engineering & visualization


Documentation titles with type codes and part numbers

IndraWorks 14VRS Energy Efficiency Management


DOK-IWORKS-4EE*****V14-APRS-EN-P, R911339229
This document describes the use of the Energy Efficiency Management function within the MLC, XLC and MTX systems.
Using example applications, this documentation provides information about the project planning, configuration and visuali‐
zation of the system.

Tab. 1-3: IndraWorks documentation overview - Engineering & visualization

1.2.3 Visualization
Documentation titles with type codes and part numbers
IndraWorks 14VRS HMI
DOK-IWORKS-HMI*****V14-APRS-EN-P, R911343569
This documentation describes the HMI operating interface IndraWorks Operation, its operation and functions as well as the
configuration in IndraWorks Engineering.

Tab. 1-4: IndraWorks documentation overview - Visualization

1.3 Information representation


1.3.1 Using safety instructions
Structure of the safety instructions
The safety instructions are structured as follows:

Safety alert symbol Consequences and


Signal word source of danger
CAUTION Burns and chemical burns due to wrong
battery treatment!
Do not open the batteries and do not heat them over 80 °C.

Avoiding danger
Fig. 1-2: Structure of the safety instructions
Explaining signal words and safety alert symbol
The safety instructions in this documentation contain specific signal words
(danger, warning, caution, notice) and, if necessary, a safety alert symbol
(according to ANSI Z535.6-2006).
The signal word draws attention to the safety instruction and indicates the
risk potential.
The safety alert symbol (triangular safety reflector with exclamation marks),
preceding the signal words Danger, Warning, Caution indicates hazards for
persons.

DANGER
In case of non-compliance with this safety instruction, death or serious injury
will occur.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 11/137
IndraWorks OPC UA Communication

About this documentation

WARNING
In case of non-compliance with this safety instruction, death or serious injury
can occur.

CAUTION
In case of non-compliance with this safety instruction, minor or moderate
injury can occur.

NOTICE
In case of non-compliance with this safety instruction, material damage can
occur.
12/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

About this documentation

Symbols used
Pointers are displayed as follows:

This is a note.

Tips are displayed as follows:

This is a tip.

Explaining the signal alert symbol on the device


If this symbol is on your device, you have to observe the
documentation on the device. The respective
krax

documentation informs on the type of hazard as well as


the steps required to avoid this hazard.

1.3.2 Customer feedback


Customer requests, comments or suggestions for improvement are of great
importance to us. Please email your feedback on the documentations to
Feedback.Documentation@boschrexroth.de. Directly insert comments in the
electronic PDF document and send the PDF file to Bosch Rexroth.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 13/137
IndraWorks OPC UA Communication

Important instructions on use

2 Important instructions on use


2.1 Intended use
2.1.1 Introduction
Bosch Rexroth products represent state-of-the-art developments and manu‐
facturing. The products are tested prior to delivery to ensure operating safety
and reliability.
The products may only be used as intended. If they are not used as intended,
situations occur that result in damage to property or personal injury due to an
incorrect use of products.

Bosch Rexroth shall not assume any warranty, liability or payment


of damages in case of damage resulting from a non-intended use
of the products; the use shall solely bear all risks from unintended
use of the products.

Before using Rexroth products, ensure that all the prerequisites for an inten‐
ded use of the products are met:
● Anybody dealing with our products is obliged to read and consent to the
relevant safety instructions and the intended use.
● The original condition of hardware products may not be altered; in other
words, no structural modifications are permitted. It is not permitted to
decompile software products or alter source codes.
● Do not install damaged or defective products or commission them.
● It has to be ensured that the products have been installed as described
in the relevant documentation.

2.1.2 Areas of use and application

IndraWorks Engineering is used for configuration, parameterization, program‐


ming and diagnostics.
IndraWorks Engineering is used for selected Bosch Rexroth drive and control
systems.
Additionally, the specifications given in the "Areas of use and application" for
the control and drive systems used with the IndraWorks Engineering do also
apply.

IndraWorks Engineering is designed for a screen setting of 96


DPI. The use of other settings is considered as unintended and
can cause an incomplete or incorrect display of screen elements.

2.1.3 Unintended use


Using IndraWorks Engineering in other applications than those specified or
described in the documentation and technical data is considered as "uninten‐
ded".
Furthermore, IndraWorks Engineering must not be used in any applications
not expressly approved by Bosch Rexroth.
14/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 15/137
IndraWorks OPC UA Communication

Introducing the OPC Unified Architecture

3 Introducing the OPC Unified Architecture


3.1 General information
OPC UA is the further development of the OPC industry standard. The serv‐
ice-oriented architecture ensures platform independency, scalability and high-
availability by omitting a DCOM basis. OPC UA ensures an uninterrupted,
vertical integration from the control level up to the automation component, ir‐
respective of the programming language or the operating system. OPC UA is
a client/server system. Several clients can access a server simultaneously. A
client can access several servers.

3.2 Overview on specifications


OPC Unified Architecture was published as multi-part specification in 13 parts
by the OPC foundation http://www.opcfoundation.org. The download is only
possible for members of the OPC foundation.

Part Specification Download

http://www.opcfoundation.org/developer-tools/
Part 1 OPC UA part 1 - Overview and concepts 1.01 specification specifications-unified-architecture/part-1-over‐
view-and-concepts/
http://www.opcfoundation.org/developer-tools/
Part 2 OPC UA part 2 - Security model 1.01 specification specifications-unified-architecture/part-2-securi‐
ty-model/
http://www.opcfoundation.org/developer-tools/
Part 3 OPC UA part 3 - Address space model 1.01 specification specifications-unified-architecture/part-3-ad‐
dress-space-model/
http://www.opcfoundation.org/developer-tools/
Part 4 OPC UA part 4 - Services 1.01 specification specifications-unified-architecture/part-4-serv‐
ices/
http://www.opcfoundation.org/developer-tools/
Part 5 OPC UA part 5 - Information model 1.01 specification specifications-unified-architecture/part-5-infor‐
mation-model/
http://www.opcfoundation.org/developer-tools/
Part 6 OPC UA part 6 - Mappings 1.00 specification specifications-unified-architecture/part-6-map‐
pings/
http://www.opcfoundation.org/developer-tools/
Part 7 OPC UA part 7 - Profiles 1.00 specification specifications-unified-architecture/part-7-pro‐
files/
http://www.opcfoundation.org/developer-tools/
Part 8 OPC UA part 8 - Data access 1.01 specification specifications-unified-architecture/part-8-data-
access/
http://www.opcfoundation.org/developer-tools/
Part 9 OPC UA part 9 - Alarms and conditions 1.00 specification specifications-unified-architecture/part-9-
alarms-and-conditions/
http://www.opcfoundation.org/developer-tools/
Part 10 OPC UA part 10 - Programs 1.00 specification specifications-unified-architecture/part-10-pro‐
grams/
16/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

Introducing the OPC Unified Architecture

Part Specification Download


http://www.opcfoundation.org/developer-tools/
Part 11 OPC UA part 11 - Historical access 1.00 specification specifications-unified-architecture/part-11-his‐
torical-access/
http://www.opcfoundation.org/developer-tools/
Part 12 OPC UA part 12 - Discovery specifications-unified-architecture/part-12-dis‐
covery/
http://www.opcfoundation.org/developer-tools/
Part 13 OPC UA part 13 - Aggregates specifications-unified-architecture/part-13-ag‐
gregates/

3.3 OPC UA information model


The OPC UA information model is based on nodes describing an object-ori‐
ented context. A node can consist of attributes, methods and events. The
content depends on the "NodeClass". The type model allows to map all types
of user data up to meta data. Each node has a unique "NodeId". References
describe the connections between nodes. ReferenceType specifies the refer‐
ence semantics.
The OPC UA information model is used as basis by other organizations such
as PLCopen and extended as individual profile. For more information on
these extensions, refer to the keyword "Companion Specification" or go to the
respective organizations or the OPC foundation. Each OPC UA server re‐
ports the profiles it supports upon request.

3.4 Service-oriented architecture


The OPC UA architecture is divided into logical levels.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 17/137
IndraWorks OPC UA Communication

Introducing the OPC Unified Architecture

Fig. 3-1: OPC UA architecture


Transport layer The transport layer serializes and deserializes data and sends or receives it.
Data is transferred using an XML stream via the HTTP-HTTPS protocol or via
a high-performance binary TCP protocol.
OPC UA basic services All OPC UA basic services are abstract method descriptions. They do not de‐
pend on the transport protocol and form the basis for all OPC UA functions.
The methods are summarized in "Service sets".
The most important "Service Sets" are mentioned in the following section.
Discovery Service Set ● The "Discovery Service Set" defines the services a client uses to deter‐
mine the end points of a server and their security configuration. An end
point is a variant consisting of a communication protocol, a host ad‐
dress, a port number and security settings.
18/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

Introducing the OPC Unified Architecture

Fig. 3-2: Discovery Service Set


Session Service Set ● A session establishes a logic connection between client and server on
an application level. The connection is established by the client and can
contain client-specific user and language settings.
A session is created using the "CreateSession" service. A session ID is
assigned to the client. Via this session ID, the client can call the follow‐
ing data services (Read, Write, Subscribe etc. ).
A session is closed automatically by the server after a client request
(CloseSession) or after a timeout.

Fig. 3-3: Session Service Set


View Service Set ● By means of the "View Service Set", the client can browse the OPC UA
server by restricted address spaces (so-called views). The address
space is intended to present available OPC UA server information to a
client. It is generally generated by nodes. The nodes are standardized
objects and intended to map "real world" objects. The most important
node classes are "Variable", "Object" and "Method".
The node connections are established using references. It is differenti‐
ated between hierarchical and non-hierarchical references. Hierarchical
references are for example used to map a structural node order. Non-
hierarchical references are for example used to refer to a node type def‐
inition.
The type system of nodes and references include types for objects, ref‐
erences, variables, events and data. This type system can be extended
by the derivation of existing types and thus be provided with deeper se‐
mantics.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 19/137
IndraWorks OPC UA Communication

Introducing the OPC Unified Architecture

Fig. 3-4: View Service Set


Attribute Service Set ● A node is composed of multiple attributes. These attributes are intended
to describe a node in detail. The node class specifies the attributes a
node is provided with. Only nodes of the "Variable" node class contain
the attribute "Value".
All node classes have a common set of basic attributes. The basic at‐
tributes are: “NodeId” to address a node, "NodeClass" and "Browse‐
Name".
Using the "Service Set" attribute, read and write access is provided for
these attributes.

Fig. 3-5: Attribute Service Set


20/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

Introducing the OPC Unified Architecture

Subscription Service Set ● Subscriptions are an efficient method in the OPC UA to receive informa‐
tion on value changes in the OPC UA server from the server. Using the
"Subscription Service Set", clients can create, modify and delete sub‐
scriptions.

Fig. 3-6: Subscription Service Set


MonitoredItem Service Set ● A "MonitoredItem" is a "Value" attribute, an aggregation of one or sever‐
al "Value" attributes or an event brought into the context of a subscrip‐
tion. If the value of these "Value" attributes changes or if a correspond‐
ing event is reported, the value is automatically transferred to the client.
Using the "MonitoredItem Service Set", clients can create, modify or de‐
lete "MonitoredItems" in the OPC UA server.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 21/137
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

4 The Bosch Rexroth OPC UA server


4.1 General information
The Bosch Rexroth OPC UA server is a firmware-integrated component. It
ensures a safe connection via a standardized communication protocol to ac‐
cess the control. Adjustments or driver developments in the client are not re‐
quired. The OPC UA server is initialized and started by default upon control
startup. If the server is not required, it can be disabled to reduce the CPU
load.

Fig. 4-1: Integrating the OPC UA server

4.2 Properties of the Bosch Rexroth OPC UA server


In the following, the Bosch Rexroth OPC UA server properties are described:

EndpointURL The EndpointURL describes the communication protocol used and the safety settings of a server
end point. The URL consists of the communication protocol used and the host address. OPC UA
defines a high-performance binary protocol (opc.tcp://) as communication protocol and an XML-
based protocol (http://).
The Bosch Rexroth OPC UA server supports the binary protocol and uses the port 4840 by de‐
fault.
Structure of the end point URL: opc.tcp://<HostAddress>:4840
MessageSecurityMode The safety level is specified using the "MessageSecurityMode".
Possible values are:
● Sign: This safety level ensures the message integrity. The message can be protected
against third party changes by adding a signature.
● SignAndEncrypt: The message confidentiality is ensured in addition to the "Sign" safety lev‐
el. Messages are encrypted using crypto algorithms. Thus, third parties do not have read ac‐
cess.
● None: The messages are neither signed nor encrypted.
SecurityPolicy The "SecurityPolicy" describes the message encryption type. OPC UA defines the policies
"Basic128Rsa15" and "Basic256".
22/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

PublishingInterval The "PublishingInterval" defines the cycle within which a subscription tries to send a notification to
a client. The "PublishingInterval" value is specified between the client and the server when creat‐
ing a subscription
SamplingInterval The "SamplingInterval" defines the cycle within which the server samples the subordinate data
sources. The "SamplingInterval" value is specified between client and server when creating a
"MonitoredItem". The Bosch Rexroth OPC UA server supports the following SamplingIntervals
[ms]: 1, 2, 5, 10, 50, 100, 500, 1000, 2000, 5000
Max. number of items 13VRS: 1000
per subscription 14VRS: 2000
Max. number of sub‐
20 per session
scriptions
Max. number of ses‐
50
sions

Tab. 4-1: Properties of the Bosch Rexroth OPC UA server

The “SamplingInterval” is a value specified by the client. This val‐


ue affects the CPU load by the OPC UA server. In particular, if
the client selects time intervals that are too short, the total behav‐
ior of the control can be affected as well as the configuration of all
client connections in relation to the number of subscriptions,
items, sessions and other communication parameters!

For drive data, the following boundary conditions apply with re‐
gard to the number of items depending on the SamplingInterval:
● 50 ms: maximum 5 items
● 100 ms: maximum 5 items
● 250 ms: maximum 10 items
● 500 ms: maximum 50 items
● 1 s: maximum 100 items
● 2.5 s: maximum 250 items
● 5 s: maximum 500 items

4.3 Configuring the OPC UA server of the MTX


Configure the OPC UA server via the parameters listed in tab. 4-2 "Configu‐
ration parameters in the system MTX" on page 22.
The parameters are stored in a file and can be changed in this file.
The file name is "uaconfig.cfg". The file can be found under the following
path: /plc.
MTX configuration

Parameter Description
This parameter is used to enable or disable the OPC UA
server.
TaskRun Valid values:
0: Server is not active
1: Server is active
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 23/137
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

The minimum value for the PublishingInterval of the sub‐


scriptions and the SamplingInterval of the MonitoredI‐
tems are specified via this parameter. Thus, the quickest
interval in which value changes can be detected, is de‐
fined.
Note that smaller values can result in a higher system
load. In case of a parameter with a value that is too high,
value changes can sporadically not be detected any‐
ShortestSamplingInterval more.
Valid values:
1, 2, 5, 10, 50, 100, 500[ms]
To avoid a control overload, this value is limited depend‐
ing on the hardware used. The smallest possible value is
specified in the configuration file of the IndraLogic, sec‐
tion "OPCUAStack" with the entry "ShortestSamplingIn‐
terval" and cannot be changed.
The port number is specified via the port number of the
TcpPort OPC UA server. For the OPC UA communication, the
default port number is 4840.
Logging This parameter is reserved for future extensions.
LoggingLevel This parameter is reserved for future extensions.
DiscoveryRun=1 triggers the OPC UA server of the con‐
trol to cyclically contact the discovery server upon the
DiscoveryRun
next control startup while DiscoveryRun=0 inhibits this
behavior from the next control startup.
Time interval in milliseconds within which the OPC UA
server of the control has to register at the discovery
DiscoveryInterval server.
Values ≥ 30,000 are automatically set internally to
30,000.
The OPC UA server of the control registers at the speci‐
fied discovery server using the URL.
The URL is structured as follows:
DiscoveryURL "opc.tcp://xxx.xxx.xxx.xxx:yyyy", enter the respective IP
(of the PC on which the discovery service is running) for
"xxx.xxx.xxx.xxx" and enter the service port number for
"yyyy" (default is 4840).

Tab. 4-2: Configuration parameters in the system MTX


The configuration parameters are applied upon control startup. Parameter
changes are only applied after a control reboot.

4.4 Configuring the OPC UA server of the XLC/MLC


As of 14VRS, the OPC UA server of the XLC/MLC is configured by the con‐
trol parameters. The current configuration is not supported anymore via the
configuration file "uaconfig.cfg".
The following control parameters are available to configure the OPC UA serv‐
er in the XLC/MLC system:
● C-0-0950: OPC UA, Configuration
● C-0-0951: OPC UA, Status
24/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

● C-0-0952: OPC UA, TCP-Port


● C-0-0953: OPC UA, Minimal Publish Interval
● C-0-0954: OPC UA, Taskdelay
● C-0-0955: OPC UA, Discovery URL
● C-0-0956: OPC UA, Discovery Interval
● C-0-0957: OPC UA, interfaces
● C-0-0958: OPC UA, ip address NetX interface

4.5 Security configuration


For the L85 control and the controls of the XM line, there is the option to en‐
crypt communication between the OPC UA client and server. X509 certifi‐
cates are the basis for encryption. These certificates are exchanged between
client and server when establishing the communication and to set up an en‐
crypted connection. The control only accepts already known certificates.
Copy the client certificates to the certificate memory of the control. The trus‐
ted certificates have to be stored in the “certs” folder (refer to tab. 4-3 "Sub‐
directories of the certificate memory" on page 24).
The server certificate is automatically generated upon the initial control start‐
up.
It can be overwritten for the use in PKI infrastructures:
● Certificate name: Server.der
● Format: DER encoded binary X509
● Private key file: Server.pem
● Format: Base64 encoded X509
The certificate memory "CertificateStore" is on the system partition of the
control and it is structured as follows:

Fig. 4-2: Certificate memory

Contains all client certificates the control deems trustworthy. The


certs name of the certificate has to be executed as thumb print (hash
value).
Contains the certificate revocation list. A list for certificates that
crl
are not trustworthy can be saved.
issuers Contains certificates of a central trust authority.
Contains the control certificate "Server.der" and the private key
private
"Server.pem".
rejected Contains all rejected certificates.

Tab. 4-3: Subdirectories of the certificate memory


DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 25/137
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

4.6 Configuration by the client


There are properties in the OPC UA server are configured by the client. De‐
pending on the client implementation, different properties can be configured
by the client. In the following, possible configurable properties of a subscrip‐
tion are displayed.
Subscription properties configurable by the client

Parameter Description
The "SamplingInterval" defines the cycle within which the
Sampling Interval
server samples the subordinate data sources.
Describes the interval during which one or multiple value
Publishing Interval changes are transferred to the client for one or multiple
"Monitored Items".
The queue size specifies how many values of the Moni‐
toredItems can be saved in a subscription. The maxi‐
mum value is 1000. Via the parameter “Discard Oldest”,
it is specified how a new value is entered if the queue is
full.
Queue Size/Discard Old‐
est Possible values for Discard Oldest:
● TRUE: The oldest value in the queue is replaced
by the new value
● FALSE: The newest value in the queue is replaced
by the new value
Different filter types can be set.
Possible values are:
● DataChangeFilter
Filters ● EventFilter
● AggregateFilter
For the type descriptions, refer to the client documenta‐
tion or the OPC UA specification.
The “Monitoring” mode specifies whether the values of a
monitored item are entered into the queue and reported.
Possible values are:
● Disabled: The value of the monitored item is not
sampled and it is thus not entered into the queue.
This item does not perform a notification
Monitoring mode
● Sampling: The value of the Monitored Item is not
sampled and thus not entered into the queue. This
item does not perform a notification
● Reporting: The value of the Monitored Item is not
sampled and thus not entered into the queue. This
items performs a notification
This parameter specifies whether subscription data is
Enable Publishing
transmitted to the client

Tab. 4-4: Possible subscription configuration parameters by the client


26/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

Fig. 4-3: Simplified representation of a subscription

4.7 Server address spaces


4.7.1 General information
The address space of an OPC UA server consists of nodes connected via
references.
In general, nodes corresponding to one of the OPC UA Companion stand‐
ards apart from standardized nodes as well as manufacturing nodes in the
OPC UA server are published in the address space.
In this chapter, only Bosch Rexroth specific nodes as well as the nodes of the
Bosch Rexroth-supported OPC UA Companion standards are described.
The address spaces is primarily graphically represented using the OPC UA
TestClient "UaExpert" by the company Unified Automation.
The client used determines the sequence of the node.

Part 3 of the OPC Unified Architecture Specification "Address


Space Model" (release ≥1.02) describes the address space and
the included standardized nodes.

For more information on nodes complying with the OPC UA Com‐


panion Standard, refer to the respective organization or the OPC
Foundation.

4.7.2 Available namespaces


The Bosch Rexroth OPC UA server system-dependently provides the name‐
spaces listed in the following table.
More namespaces can be added during the control operation while a client is
connected to the server.
As long as a client is connected to the server, no namespaces are deleted
from the NamesspaceArray.

The assignment of the NamespaceIndex to the NamespaceUri


cannot be changed within the Bosch Rexroth OPC UA server.
However, it is recommended that a OPC UA client generates the
NamespaceIndices again upon each reconnect operation using
the NamespaceUris to be able to communicate with the OPC UA
servers that use a variable assignment.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 27/137
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

NamespaceIndex NamespaceUri

0 http://opcfoundation.org/UA/
1 IndraLogic::4840/UaServer
2 http://www.boschrexroth.com/IndraLogic
3 http://www.boschrexroth.com/PlcEvents
4 http://opcfoundation.org/UA/DI/
5 http://PLCopen.org/OpcUa/IEC61131-3/
6 http://sercos.org/UA/
7 http://boschrexroth.com/OpcUa/Sercos/Objects/
8 http://boschrexroth.com/OpcUa/BaseTypes/
9 http://boschrexroth.com/OpcUa/Device/Types/
10 http://boschrexroth.com/OpcUa/Device/Objects/
11 http://boschrexroth.com/OpcUa/Motion/Types/
12 http://boschrexroth.com/OpcUa/Motion/Objects/
13 http://boschrexroth.com/OpcUa/Robot/Types/
14 http://boschrexroth.com/OpcUa/Robot/Objects/
15 http://boschrexroth.com/OpcUa/DiagnosisLogbook/Types/
16 http://boschrexroth.com/OpcUa/DiagnosisLogbook/Objects/
17 http://boschrexroth.com/OpcUa/System/Types/
18 http://boschrexroth.com/OpcUa/System/Objects/
19 http://boschrexroth.com/OpcUa/Parameter/Types/
20 http://boschrexroth.com/OpcUa/Parameter/Objects/
21 http://boschrexroth.com/OpcUa/Trace/Types/
22 http://boschrexroth.com/OpcUa/Trace/Objects/
23 http://boschrexroth.com/OpcUa/Debug/Types/
24 http://boschrexroth.com/OpcUa/Debug/Objects/
25 http://boschrexroth.com/OpcUa/Filesystem/Types/
26 http://boschrexroth.com/OpcUa/Filesystem/Objects/
27 http://boschrexroth.com/OpcUa/CNC/Objects/
28 http://boschrexroth.com/OpcUa/CNC/Types/
29 http://boschrexroth.com/OpcUa/CNC/Motion/Types/
30 http://boschrexroth.com/OpcUa/CNC/ToolManagement/Types/
31 http://boschrexroth.com/OpcUa/CNC/SystemData/Types/
32 http://boschrexroth.com/OpcUa/CNC/MachineData/Types/
33 http://boschrexroth.com/OpcUa/CNC/BitInterface/Types/
34 http://boschrexroth.com/OpcUa/CNC/Correction/Types/

Tab. 4-5: NamespaceArray of the server


28/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

4.7.3 The PLC address space


The OPC UA server supports the client access to PLC data points. PLC vari‐
ables can be read and changed via “read" and “write” services. The method
service facilitates the execution of PLC objects. The "Publish" service pro‐
vides an efficient mechanism to inform a client on value changes of PLC vari‐
ables. The PLC namespace can be analyzed using the "Browse Service".
Note that the PLC namespace is based on the symbol configuration of the
PLC program. Only symbolically exported data points are mapped in the
OPC UA server namespace.

From firmware version 14V20, PLC comments are provided for


PLC objects in the programming system. Enable the option "In‐
clude comments in XML" under the menu item "Settings" in the di‐
alog of the symbol configuration object and subsequently select
more settings in the "Configure comments and attributes..." dia‐
log.

From firmware version 14V22, method calls for PLC objects are
supported. Additionally, the option "Calling functions, function
blocks, methods and programs" under the menu item "Settings"
has to be set in the dialog of the symbol configuration object.
Subsequently, enable the addressability of the object in the "Ac‐
cess rights" column, identified by a symbol.

Central entry point to the PLC namespace is the "Logic" node.

Fig. 4-4: Root node "Logic"


The structure under this node complies with the specification "PLCopen:
OPC UA for IEC 61131-3 1.00 Companion Specification" (under http://
www.opcfoundation.org). It mainly corresponds to the PLC application struc‐
ture.
OPC UA and the PLCopen use a different basic data system.
The types are mapped according to the following table:

Extended OPC UA data Comment


OPC UA "build-in" types by "OPC UA for IEC
IEC 61131-3
data type 61131-3 1.00 Companion
Specification"

BOOL Boolean 8 bit data type


SINT SByte 8 bit data type, signed
USINT Byte 8 bit data type, unsigned
INT Int16 16 bit data type, signed
UINT UInt16 16 bit data type, unsigned
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 29/137
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

Extended OPC UA data Comment


OPC UA "build-in" types by "OPC UA for IEC
IEC 61131-3
data type 61131-3 1.00 Companion
Specification"
DINT Int32 32 bit data type, signed
UDINT UInt32 32 bit data type, unsigned
LINT Int64 64 bit data type, signed
ULINT UInt64 64 bit data type, unsigned
BYTE is a data type specified by the PLCopen
BYTE Byte BYTE and derived by the byte with the bit string length
8
WORD is a data type specified by the PLCopen
WORD UInt16 WORD and derived by the UInt16 data type with the bit
string length 16
DWORD is a data type specified by the
DWORD UInt32 DWORD PLCopen and derived by the UInt32 data type
with the bit string length 32
LWORD is a data type specified by the
LWORD UInt64 LWORD PLCopen and derived by the UInt64 data type
with the bit string length 64
REAL Float - 32 bit floating point
LREAL Double - 64 bit floating point
STRING is a data type specified by the
STRING String STRING PLCopen and derived by the string. It is a one-
byte character string of variable length
WSTRING String - A UTF 8 string of variable length
64 bit data type representing the time in 100 ns
DT DATE_AND_TIME DateTime -
intervals since 1. January 1601
DATE is a data type specified by the PLCopen
DATE DateTime DATE and derived from the "DateTime" 64 bit. It repre‐
sents a date
TOD is a data type specified by the PLCopen
TOD TIME_OF_DAY DateTime TOD and derived from the "DateTime" 64 bit. It repre‐
sents a time
"Duration" is a data type specified by the
PLCopen and derived from the double 64 bit da‐
TIME Double Duration
ta type. It represents a time interval in millisec‐
onds

Tab. 4-6: Type mapping IEC 61131-3 OPC UA

4.7.4 The address space in the XLC/MLC system


General information In this chapter, only objects supported by the XLC/MLC system are descri‐
bed.
30/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

On control systems based on the hardware platform CML25, only


the following nodes are available:
● DeviceSet
● Logic
● NetworkSet
● Server

In the following figure, the address space of the XLC/MLC is shown:

Fig. 4-5: Address space in the XLC/MLC system on the hardware platform
CML45/65
The nodes can be classified in three categories:
1. Standard node of the OPC UA specification
● Root
● Objects
– Server
● Types
– DataTypes
– EventTypes
– ObjectTypes
– ReferenceTypes
– VariableTypes
● Views
2. Node of the OPC UA Companion Standards
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 31/137
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

● DeviceSet
● DeviceTopology
● Logic
● NetworkSet
3. System-specific XLC/MLC nodes
● Debug
● DiagnosisLogbook
● Motion
● Parameter
● Robot
● Sercos
● System
● Trace
Debug This node is for internal use only.
DeviceSet This node is based on the OPC UA Companion Standard "OPC UA for Devi‐
ces (DI)".
For more information, refer to the respective organizations or the OPC Foun‐
dation, using the keywords Companion Specification OPC UA for Devices
(DI).
The figure exemplarily shows three devices:

Fig. 4-6: DeviceSet node


DeviceTopology This node is based on the OPC UA Companion Standard "OPC UA for Devi‐
ces (DI)".
For more information, refer to the respective organizations or the OPC Foun‐
dation, using the keywords Companion Specification OPC UA for Devices
(DI).
DiagnosisLogbook The DiagnosisLogbook node provides all diagnostics by using the OPC UA
standard mechanism "Alarms & Conditions" within the XLC/MLC system.
32/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

The node is the only component containing the "ClearError" method that cor‐
responds to the C-0-1030 command.
Refer to chapter 7 "DiagnosisLogbook" on page 51.

Fig. 4-7: DiagnosisLogbook node


Logic This node is based on the OPC UA Companion Standard "PLCopen: OPC
UA for IEC 61131-3".
For more information use the keyword PLCopen: OPC UA For IEC 61131-3
at the respective organizations or at the OPC foundation.
The following figure shows the "Application" with a Global Variable List
"GVL_USERVAR" and the "PLC_PRG" program as well as its PLC variables
as an example.

Fig. 4-8: Logic node


Motion This node lists the axes of all C2C system controls. All objects are displayed
(not only the physically present objects).
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 33/137
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

The following figure shows the axis and control objects of a CML65 control:

Fig. 4-9: Motion node of a CML65 control


NetworkSet This node is based on the OPC UA Companion Standard "OPC UA for Devi‐
ces (DI)".
For more information, refer to the respective organizations or the OPC Foun‐
dation, using the keywords Companion Specification OPC UA for Devices
(DI).
Parameter The parameter node provides all parameters available in the address space
in the XLC/MLC system.
These parameters are divided into the following parameter blocks:
● Axis parameters (A-parameters)
● Control parameters (C-parameters)
● Kinematic parameters (K-parameters)
● Touch probe parameters (M-parameters)
● Programmable limit switch parameters (N-parameters)
● Oscilloscope parameters (O-parameters)
34/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

Fig. 4-10: Parameter nodes with subordinate parameter blocks


Depending on the control configuration, the parameter blocks contain more
subnodes.
For example, a control configuration with five axes and two kinematics are
represented in the following figure with the corresponding expanded parame‐
ter blocks A and K:
For each configured axis or kinematics, the objects indexed below the corre‐
sponding parameter block are created below the respective parameters.

Fig. 4-11: Parameter sets with five configured axes and two kinematics
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 35/137
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

The indexed parameter blocks contain the respective parameters exemplarily


shown using the parameter block A001:

Fig. 4-12: Excerpt of the parameter block A001


Behind the nodes listed in the parameter block, the corresponding parame‐
ters with their attributes can be found.
As displayed in the following graphics, only the attributes available in the re‐
spective parameter are listed as property:

Fig. 4-13: Representing the parameter attributes as property


Robot The “Robot” node represents all configured kinematics.
36/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

In the figure, two kinematics are displayed:

Fig. 4-14: Robot node with two kinematics


Sercos This node lists all devices - such as drives and I/Os - connected to the local
Sercos master.
List order: Physical and topological device order.
The “BrowseName” structure of the devices:
Physical order:
<DeviceName>(Sercos master>,<Sercos Address>)
Topological order:
<DeviceName>(<Sercos master>,<TopologyAddress>)
The following figure shows an exemplary block I/O "R-ILB S3 24 DI16 DIO16"
with Sercos address 65 and a drive "Drive1" with Sercos address 3 connec‐
ted to the local Sercos master in this order:
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 37/137
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

Fig. 4-15: Sercos node


Server This node is based on the OPC UA standard and it is described in part 5 of
the OPC Unified Architecture Specification "Information Model".
System This node contains the most important system-relevant properties of the con‐
trol.
Two methods for control reboot and phase switching are provided in addition
to the properties for CPU load, memory, IP addresses and control tempera‐
ture.

Executing the "Reboot" method results in an immediate control


restart irrespective of the state of the application. Before execut‐
ing the method, ensure that the system is in a safe state and that
no damage can occur.

Fig. 4-16: System node


Trace This node is for internal use only.
38/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

The Bosch Rexroth OPC UA server

4.7.5 Available test nodes


The Bosch Rexroth OPC UA server system-independently provides the fol‐
lowing three test nodes in the its address space in the firmware version
14V20 (system XLC/MLC) and 14V20 (system MTX) and above. These can
for example be used for the client development without a PLC application be‐
ing mandatorily present with configured symbols on the control system.
Access rights are read/write. The values of these nodes can be changed arbi‐
trarily within their data type and do not affect the control system.
To address the nodes in namespace 1, go to Root ▶ Objects ▶ Server ▶ Ven‐
dorServerInfo- ▶ TestVariables:
Name: "TestVariable_int32" Type: OpcUaType_Int32
Name: "TestVariable_float" Type: OpcUaType_Float
Name: "TestVariable_string" Type: OpcUaType_String
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 39/137
IndraWorks OPC UA Communication

OPC UA communication example

5 OPC UA communication example


5.1 Introduction
The following chapter shows how to easily access the Bosch Rexroth OPC
UA server. It is described how to parameterize a connection and how the dif‐
ferent services of the server can be used.

5.2 Prerequisites
To simulate the communication example, the UaExpert of the Unified Auto‐
mation GmbH is required. The UaExpert is implemented for the Win32 and
Linux platforms and can be downloaded as freeware via http://www.unified-
automation.com.
This documentation refers to version 1.2.0 132 of the UaExpert.

5.3 UaExpert
The UaExpert is a universal OPC UA test client. It is possible, to analyze the
OPC UA server address space and to conduct simple tests with the OPC UA
server.
The UaExpert supports
● browsing of address spaces
● reading and writing of nodes (value "Attribute")
● monitoring of value changes and events (subscription)
● calling methods
● reading of historic data
The UaExpert is divided into several windows.

Fig. 5-1: UAExpert


The subwindows have the following significance:
● ① Project window: Administers the server connections and the docu‐
ments
40/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

OPC UA communication example

● ② Address space window: Facilitates navigating and browsing in the


address space of the server selected in the project window
● ③ Data view window: Represents the server data
The following views are supported:
– DataAccess View
The "DataAccess View" describes the content of a subscription. All
nodes monitored for a value change are listed.
– Alarms&Condition View
In the "Alarms&Condition View", events and alarms triggered by
the server are configured and displayed. Alarms and events are
not supported in the current Bosch Rexroth OPC UA server ver‐
sion.
– HistoricalTrend View
In the "HistoricalTrend View", the chronological value change can
be displayed or parameterized for one or several nodes as dia‐
gram.
– Performance View
By means of the "Performance View", an OPC UA server perform‐
ance can be analyzed. The "Read", "Write", "CreateMonitoredItem"
and "DeleteMonitoredItem" services are supported.
● ④ Attribute window
In the "Attribute View", all attributes of the nodes selected in the "Ad‐
dress Space Window".
● ⑤ Reference window
The "Reference Window" shows all references for the nodes selected in
the "Address Space Window". It is differentiated between "forward refer‐
ences", references linking away from this node, and "inverse referen‐
ces", linking to this node.
● ⑥ Log window
The "Log Window" is used to diagnose communication problems.

5.4 Establishing a connection


An end point has to be specified to establish a connection to the OPC UA
server. The end point consists of the communication protocol, the host ad‐
dress and the security settings.
To define an end point for an OPC UA server in the UaExpert, select Serv‐
er ▶ Add... in the menu. In the dialog, enable the "Discovery" tab und select
"<Double click to Add Server...>" in the tree view under "Custom Discovery".
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 41/137
IndraWorks OPC UA Communication

OPC UA communication example

Fig. 5-2: Dialog Add server


By double-clicking on the entry, the entry mask of the communication proto‐
col and the host address are displayed. The communication protocol is al‐
ready assigned as UA binary protocol in the input line by the entry
"opc.tcp://". Add the IP address or the host name for the OPC UA server. Op‐
tionally, the port number, separated by a colon, can also be specified. The
Bosch Rexroth OPC UA server uses port 4840.

Fig. 5-3: Entering the "EndpointUrl"


Press Ok to return to the previous dialog.
The "EndpointUrl" is now displayed under the "Custom Discovery" entry.
42/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

OPC UA communication example

Fig. 5-4: Selection "No Security Endpoint'"


If a connection is established to the server, the entry can be expanded as
tree. The ServerUrl "IndraLogic UA Server" and the "Security Endpoints"
should now be displayed. The Bosch Rexroth OPC UA server does not sup‐
port any security. Only the entry "None - None" is available. Click on the entry
and close the dialog.

5.5 Browsing
The "ServerUrl" is now visible for the parameterized connection in the Project
Window below the "Server" node. A connection to this OPC UA server can
now be established via the context menu of this entry or via the "Server Con‐
nect" menu item.
After the connection has been established successfully, the address space of
the OPC UA server is displayed in the Address Space Window.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 43/137
IndraWorks OPC UA Communication

OPC UA communication example

Fig. 5-5: Address Space Window


The entries in the tree view are OPC UA nodes. These nodes can now be
expanded and allow the navigation in the address space of the OPC UA serv‐
er. All nodes containing the address space are displayed.
By selecting a node via mouse-click, all node attributes are listed in the "At‐
tribute Window" including the values. The values in this window are read-on‐
ly. This means that a client cannot change these values.
All references from the node (forward) and all references to this node (In‐
verse) can be read in the "Reference Window".

5.6 Subscribe
The UaExpert supports the mechanism to monitor changes in data (subscrip‐
tion) in the Data View Window. One or multiple of these views can be created
via the menu Document - Add and by selecting "Data Access Classic View"
in the "Add Document" dialog.
"Value" attributes monitored on value changes by the server are named
"Monitored Item". To generate a "Monitored Item", the node in the "Address
Space Window" has to be dragged to the "Data View Window" via
drag&drop.
44/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

OPC UA communication example

Fig. 5-6: Create Monitored Item


The attribute "Value" is automatically used as Monitored Item by the UaEx‐
pert. Thus, the nodes have to be part of the node class "Variable".
The node value is now displayed in the Data View Window and is regularly
updated. A "Data Access Classic View" can be viewed as a subscription. The
dialog to set the subscription properties can be accessed via the context
menu of this window. Right-click on the Data View Window and select "Sub‐
scription Settings...".

Fig. 5-7: Dialog Subscription settings


The following settings can be selected in the dialog. Note that all values are
negotiated between client and server.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 45/137
IndraWorks OPC UA Communication

OPC UA communication example

Setting values for a subscription

Publishing Interval The "Publishing Interval" describes the interval in millisec‐


onds in which value changes are transmitted to the client.
The Bosch Rexroth OPC UA server uses fixed "Publish‐
ing Intervals": 10 ms, 100 ms, 200 ms, 500 ms, 1.0 s, 2.0
s, 5.0 s.
Life Time Count The "Life Time Count" is intended to monitor the client/
server connection. It specifies how often the "Publishing
Interval" expires without a connection being established
between client and server. If the end of the "Life Time
Count" is reached, all "Monitored Items" of this subscrip‐
tion and the subscription itself are deleted from the serv‐
er.
Max Keep Alive Count The "Max Keep Alive Count" specifies how often the
"Publishing Interval" can expire without a value of the
"Monitored Items" of the subscription having changed.
The client is thus not informed about the value changes. If
the "Max Keep Alive Count" is reached, the client is in‐
formed in a "blank" message that the subscription is still
active.
Priority A priority can be assigned to a subscription via this value.
If several subscriptions are active in a server, subscrip‐
tions with a higher priority are also prioritized.

Tab. 5-1: Subscription settings


Further setting options refer to the "Monitored Items". The settings can be se‐
lected by right-clicking on the "Monitored Item" and selecting the "Monitored
Items Settings...". The values are also negotiated between client and server.

Fig. 5-8: Dialog Monitored item settings


46/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

OPC UA communication example

Setting values for Monitored Items

Sampling Interval The "Sampling Interval" specifies in


which interval the server samples the
subordinate data source to determine a
value for the "Monitored Item".
If the value is set to -1, the "Publishing In‐
terval" is used.
Queue Size Using this entry, the "Queue size" can be
set for the "Monitored Item". All "Queue"
values are transmitted in the "Publishing
Interval".
Discard Oldest "Discard Oldest" describes the rule for
the server behavior in case of a full
"Queue". If the value is set, the oldest
value of the "Queue" is replaced by a
new value. Otherwise, the new value is
discarded.

Tab. 5-2: Monitored Item settings

5.7 Write
To write a value, select (via double-click) the "Value" column of a "Monitor
Item". The value can now be edited. Click on "Enter", and the new value is
written to the server.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 47/137
IndraWorks OPC UA Communication

Discovery

6 Discovery
6.1 General information
In larger industrial networks, there are usually a multitude of UA servers with
different end points. Each end point can have different settings for communi‐
cation, encoding or safety. In such environments, it can challenging for clients
to find the correct server for the specified task. OPC UA provides the so-
called Discovery service. Using the Discovery Service, clients can query,
save the required settings and re-use them again for later connections.

6.2 Discovery server


The discovery service is generally provided as a local discovery server on an
individual PC. Its URL is pre-configured in the clients.

Fig. 6-1: Discovery process sequence

The client scans the local discovery server for existing servers using "Find‐
Server". The response is a current server description. It contains all currently
registered servers. If the required server is listed in the server description, the
client uses the URL to connect directly to the respective server using "Ge‐
tEndpoints". The response contains the end point description of the relevant
server.
For the Local Discovery Server to always be up-to-date regarding the current‐
ly available OPC UA server, the individual servers have to cyclically register
with the Local Discovery Server using the "RegisterServer" service after the
startup and upon the initial login. If the server does not respond within the
specified minimum time, the Local Discovery Server removes it from its Serv‐
erDescription list. A new login is possible at any time. Thus, clients can also
check whether the relevant server is currently available.

6.3 OPC UA server of the XLC/MLC and MTX


6.3.1 General information
The OPC UA server of the XLC/MLC and MTX supports the registration using
the "RegisterServer" at a discovery server. The OPC UA server cyclically reg‐
isters with a specified discovery server using a URL. The required steps or
the parameterization are described in detail in the following.
48/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

Discovery

● The OPC UA server of the XLC/MLC and the MTX does not
provide an individual discovery server.
● A secure connection is required to register at a Discovery
server. The reliability of the communication partners is en‐
sured by the exchange and the verification of certificates.
There is no check on the control. The discovery server is
deemed reliable. The discovery server has to verify whether
the control certificate is marked as to be imported and thus,
as reliable.

6.3.2 Enabling the discovery mechanisms of the OPC UA server for the
MTX
1. Open IndraWorks Engineering
2. Go online
3. Open the file system of the control
4. Open the "uaconfig.cfg" in the folder "/plc".

Fig. 6-2: Parameters of the Discovery mechanism


5. Execute parameterization
Set the values accordingly for the following parameters:
● DiscoveryRun:
DiscoveryRun=1 triggers the OPC UA server of the control to cycli‐
cally contact the discovery server upon the next control startup
while DiscoveryRun=0 inhibits this behavior from the next control
startup.
● DiscoveryURL:
The OPC UA server of the control registers at the specified discov‐
ery server using the URL. The URL is structured as follows:
"opc.tcp://xxx.xxx.xxx.xxx:yyyy", enter the respective IP (of the PC
on which the discovery service is running) for "xxx.xxx.xxx.xxx" and
enter the service port number for "yyyy" (default is 4840).
● DiscoveryInterval:
Time interval in milliseconds within which the OPC UA server of
the control has to register at the discovery server.
Values ≥ 30,000 are automatically set internally to 30,000.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 49/137
IndraWorks OPC UA Communication

Discovery

6.3.3 Enabling the discovery mechanisms of the OPC UA server for


XLC/MLC
As of 14VRS, the OPC UA server is configured by the control parameters.
The current configuration is not supported anymore via the configuration file
"uaconfig.cfg".
1. Open IndraWorks Engineering
2. Go online
3. Open the parameter editor
4. Write the URL of the Discovery server to the parameter C-0-0955.
Example: opc.tcp://192.168.0.50:4840
5. Write the value of the DiscoveryInterval to the parameter C-0-0956.
Example: 300000
6. Restart the control to apply the changes.
50/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 51/137
IndraWorks OPC UA Communication

DiagnosisLogbook

7 DiagnosisLogbook
7.1 General information
The object DiagnosisLogbook provides all diagnostics within the XLC/MLC
and MTX systems (ranging from user messages to system error message) by
using the OPC UA standard mechanism "Alarms & Conditions". This stand‐
ard ensures the efficient exchange of diagnostic data by using events. Using
this standard, clients can listen in diagnostic messages, display the messag‐
es by using specific additional data and process them, if required. Conse‐
quently, the implementation effort is reduced considerably for the client.

Prior to using the DiagnosisLogbook object functionality in a client


application, familiarize with the "OPC Unified Architecture Specifi‐
cation Part 9: Alarms & Conditions" (release ≥1.02) as well as
with the relevant SDK functions first.

7.2 Type description


7.2.1 Overview
The following graphics shows the diagnostics and logbook functionality ac‐
cording to the OPC UA description rules. The "DiagnosisLogbook" object re‐
ports events of the types "AutomationConditionType", "AutomationWarning‐
Type" and "AutomationErrorType".
52/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

DiagnosisLogbook

Fig. 7-1: DiagnosisLogbook - Object with corresponding types

The nodes highlighted in yellow are currently not used.

7.2.2 AutomationConditionType
The AutomationConditionType inherits all properties of the standardized type
"ConditionType". Additionally, the AutomationConditionType has the proper‐
ties "Number", "HelpText", "ReasonText " and "RemedyText".
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 53/137
IndraWorks OPC UA Communication

DiagnosisLogbook

"AutomationConditionType"

Attributes Value

BrowseName AutomationCondition Type


IsAbstract False
Inherits the properties of the "ConditionType" (see tab. "ConditionType" on page 55)

BrowseName DataType References NodeClass TypeDefinition ModellingRule

Message number
Number
UInt32 HasProperty Variable PropertyType Mandatory
Language-dependent help text
HelpText
LocalizedText HasProperty Variable PropertyType Optional
Language-dependent text about the cause of error
ReasonText
LocalizedText HasProperty Variable PropertyType Optional
Language-dependent remedy text
RemedyText
LocalizedText HasProperty Variable PropertyType Optional

Tab. 7-1: Description of the "AutomationConditionType"

7.2.3 AutomationWarningType
The "AutomationWarningType" inherits from "AutomationDiscreteAlarm‐
Type".
"AutomationWarningType"

Attributes Value

BrowseName AutomationWarningType
IsAbstract False
Inherits the properties of the "AutomationDiscreteAlarmType" (see tab. "AutomationDiscreteAlarmType" on page 54)

Tab. 7-2: Description of the "AutomationWarningType"

7.2.4 AutomationErrorType
The "AutomationErrorType" inherits from "AutomationDiscreteAlarmType".
"AutomationErrorType"

Attributes Value

BrowseName AutomationErrorType
IsAbstract False
Inherits the properties of the "AutomationDiscreteAlarmType" (see tab. "AutomationDiscreteAlarmType" on page 54)

Tab. 7-3: Description of the "AutomationErrorType"

7.2.5 AutomationDiscreteAlarmType
The "AutomationDiscreteAlarmType" inherits from the standardized type
"DiscreteAlarmType". Additionally, the AutomationDiscreteAlarmType has the
properties "Number", "HelpText", "ReasonText " and "RemedyText".
54/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

DiagnosisLogbook

"AutomationDiscreteAlarmType"

Attributes Value

BrowseName AutomationDiscreteAlarmType
IsAbstract True
Inherits the properties of the "DiscreteAlarmType" (see tab. "DiscreteAlarmType" on page 54)

BrowseName DataType References NodeClass TypeDefinition ModellingRule

Message number
Number
UInt32 HasProperty Variable PropertyType Mandatory
Language-dependent help text
HelpText
LocalizedText HasProperty Variable PropertyType Optional
Language-dependent text about the cause of error
ReasonText
LocalizedText HasProperty Variable PropertyType Optional
Language-dependent remedy text
RemedyText
LocalizedText HasProperty Variable PropertyType Optional

Tab. 7-4: Description of the "AutomationDiscreteAlarmType"

7.2.6 DiscreteAlarmType
The "DiscreteAlarmType" inherits from "ConditionType". Additionally, the Dis‐
creteAlarmType has the properties "ActiveState", "AckedSate" and "Input‐
Node".
"DiscreteAlarmType"

Attributes Value

BrowseName DiscreteAlarmType
IsAbstract False
Inherits the properties of the "ConditionType" (see tab. "ConditionType" on page 55)

BrowseName DataType References NodeClass TypeDefinition ModellingRule

TRUE, if the error is still pending


ActiveState
LocalizedText HasProperty Variable PropertyType Mandatory
Always FALSE
AckedState
LocalizedText HasProperty Variable PropertyType Mandatory
Always zero
InputNode
NodeId HasProperty Variable PropertyType Mandatory

Tab. 7-5: Description of the "DiscreteAlarmType"

7.2.7 ConditionType
The type "ConditionType" standardized by OPC UA defines all general char‐
acteristic values of a condition. The type inherits from "BaseEventType". All
other condition types are derived from "ConditionType".
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 55/137
IndraWorks OPC UA Communication

DiagnosisLogbook

"ConditionType"

Attributes Value

BrowseName ConditionType
IsAbstract True

BrowseName DataType References NodeClass TypeDefinition ModellingRule

As ConditionName, the BrowseName of the respective Event ConditionTypes (Automation Condition‐


ConditionName Type, WarningConditionType and ErrorConditionType)is displayed
String HasProperty Variable PropertyType Mandatory
There are no branches, thus BranchID = zero
BranchId
NodeId HasProperty Variable PropertyType Mandatory
Retain describes if a Condition/Alarm is active and if it has to be taken into consideration by the client
MTX: If TRUE, the condition instance describes a current entry. If FALSE, the entry is not available
Retain
anymore
Boolean HasProperty Variable PropertyType Mandatory
Quality provides information about the quality of an event or of the data. If errors or data of connected
devices are provided, the quality of the connection and thus of the error messages can be described.
For example, Bad_NoCommunication can be returned as quality if the connection to the cause of error
is interrupted.
Quality
Quality is always set to Good.
ConditionVaria‐
StatusCode HasComponent Variable Mandatory
bleType
LastSeverity describes the previous scaling of the event on a scale from 0 to 1000. As there are no
LastSeverity previous severity states for MTX, LastSeverity is "Zero"
UInt16 HasComponent Variable PropertyType Mandatory
Describes if a condition is released. This can be used to express that event messages are currently not
required.
EnabledState
The EnabledState is always set to "en-US", "Enabled".
LocalizedText HasComponent Variable PropertyType Mandatory
Allows commenting of a message by a user.
Comment The use of comments is currently not planned.
LocalizedText HasComponent Variable PropertyType Mandatory
The use of a ClientUserId is currently not planned.
ClientUserId
String HasProperty Variable PropertyType Mandatory
The ConditionClassId specifies the area in which the condition can be used an in which messages are
displayed using a ConditionClassName.
ConditionClassId Is set to SystemConditionClassType, ProcessConditionClassType or MaintenanceConditionClassType
by default.
NodeId HasProperty Variable PropertyType Mandatory
Specifies the language-dependent display name of the ConditionClassType referenced in Condition‐
ConditionClass‐ ClassId
Name
LocalizedText HasProperty Variable PropertyType Mandatory
56/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

DiagnosisLogbook

BrowseName DataType References NodeClass TypeDefinition ModellingRule


Has to be used for the synchronization in the client; e.g. for the first reading after a connection has
ConditionRefresh been established or interrupted
- HasComponent Method - Mandatory
The method does not have any function. Upon a call, Bad_NotSupported is returned
Enable
- HasComponent Method - Mandatory
The method does not have any function. Upon a call, Bad_NotSupported is returned
Disable
- HasComponent Method - Mandatory
New comments/instructions can be added by AddComment.
AddComment Stored comments are not permanently saved.
- HasComponent Method - Mandatory

Tab. 7-6: Description of the "ConditionType"

7.2.8 BaseEventType
The type definition as well as the semantics of BaseEventType can also be
taken from "OPC Unified Architecture Specification Part 5: Information Mod‐
el".
"BaseEventType"

Attributes Value

BrowseName BaseEventType
IsAbstract False

BrowseName DataType References NodeClass TypeDefinition ModellingRule

Unique EventID. Generated by the server to identify individual Event Notifications


EventId
ByteString HasProperty Variable PropertyType Mandatory
The EventType describes the specific event
EventType
NodeId HasProperty Variable PropertyType Mandatory
Time returns the point in time when the message was reported. Time is shown in UTC
Time
UtcTime HasProperty Variable PropertyType Mandatory
The OPC UA server returns the ReceiveTime. Signifies the receipt of the message at the UA Server.
ReceiveTime Time is shown in UTC
UtcTime HasProperty Variable PropertyType Mandatory
LocalTime specifies the time difference of the local time to the UTC time. LocalTime is optional.
It is a structure containing a time offset and a flag "DaylightSavingInOffset". The offset specifies the
time difference in minutes between time and the local time in which the event occurred. If DaylightSa‐
LocalTime vingInOffset is TRUE, the offset contains the correction. If the flag returns FALSE, the offset does not
contain any correction.
TimeZoneData‐
HasProperty Variable PropertyType Optional
Type
Message returns a language-dependent text description for the event
Message
LocalizedText HasProperty Variable PropertyType Mandatory
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 57/137
IndraWorks OPC UA Communication

DiagnosisLogbook

BrowseName DataType References NodeClass TypeDefinition ModellingRule


SourceName returns a description of the source of error of the event, e.g. "Channel 2", "Kinematics" or
SourceName "Axis"
String HasProperty Variable PropertyType Mandatory
SourceNode specifies the source node of an event.
MTX: MTX returns the NodeId of the DiagnosisLogbook.
SourceNode XLC/MLC: NodeId of the object reporting the error, e.g. in case of axis errors, the NodeId of the rele‐
vant axis object.
NodeId HasProperty Variable PropertyType Mandatory
Severity corresponds to the scaling of the event from 0 to 1000. 1 corresponds to the lowest scaling
and 1000 to the highest scaling. A severity close to 1 displays an event corresponding to an informa‐
tion, whereas a severity close to 1000 indicates a critical event.
MTX:
- Message: Severity = 10
- Warnings: Severity = 500
- Error: Severity =1000
Severity
XLC/MLC:
- Messages A0 - A8: Severity 1..300
- Warnings E0 - E8: Severity 350..650
- Error C0-C8: Severity 700..833
- Error F0-F9: Severity 850..1000
UInt16 HasProperty Variable PropertyType Mandatory

Tab. 7-7: Description of "BaseEventType"

7.3 Object description


The DiagnosisLogbook object is contained below the "Objects" node. It con‐
tains the method "ClearAll". At this object, the user can register for diagnostic
messages (events) and use the History service.
"Object description"

Attributes Value

BrowseName DiagnosisLogbook

BrowseName DataType References NodeClass TypeDefinition ModellingRule

All pending diagnostic messages are deleted


ClearAll
- HasComponent Method - Mandatory

AutomationCondi‐
tionType AutomationCondi‐
HasEventType ObjectType EventType -
tionType

AutomationWar‐
ningType AutomationWar‐
HasEventType ObjectType EventType -
ningType
58/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

DiagnosisLogbook

BrowseName DataType References NodeClass TypeDefinition ModellingRule

AutomationError‐
Type AutomationError‐
HasEventType ObjectType EventType -
Type

Tab. 7-8: Description of the "DiagnosisLogbook" object


DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 59/137
IndraWorks OPC UA Communication

Type plate

8 Type plate
8.1 General information
A type plate is a plate attached to the product by the manufacturer, identifying
and describing the product.
The following specifications should be available:
● Company name
● Type ID
● Serial number
● Manufacturing date

8.2 Type description


8.2.1 Overview
The type plate of the control complies with the Rexroth type plate model. The
model is based on the "Devices Companion Specification" of the OPC foun‐
dation and the "OPC UA Base Information" model.
It is differentiated between:
● Device type plate and
● component type plate
60/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

Type plate

Fig. 8-1: Overview Rexroth type plate model


"TopologyElementType" is the basic object of the type plate modeling. A de‐
vice is described by the object type "DeviceType". It contains pre-defined at‐
tributes describing and identifying a device.
The BaseObjectTypeis described in the "OPC UA Part 5 - Information Model
Specification".
"TopologyElementType" and "DeviceType" are described in the "OPC UA For
Devices Companion Specification".

8.2.2 RexrothDeviceType
The "RexrothDeviceType" object is an extension for the general model. The
object inherits all attributes of "BaseObjectType", "TopologyElementType"
and "DeviceType". All mandatory attributes are implemented.
In the following table, the mandatory and optional attributes to be implemen‐
ted by the "Rexroth Device Type" have to be described.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 61/137
IndraWorks OPC UA Communication

Type plate

"RexrothDeviceType definition"

Attributes Value

BrowseName RexrothDeviceType
IsAbstract True
The object inherits all attributes of "BaseObjectType", "TopologyElementType" and "DeviceType".

Inherited properties of "DeviceType"


BrowseName DataType References NodeClass TypeDefinition ModellingRule

Serial number of the device. In case there is not serial number, an empty string is transmitted
SerialNumber
String HasProperty Variable PropertyType Mandatory
Version counter, "0" for Bosch Rexroth controls
RevisionCounter
Int32 HasProperty Variable PropertyType Mandatory
Vendor
Manufacturer
LocalizedText HasProperty Variable PropertyType Mandatory
Hardware product ID, e.g. "IndraControl CML65"
Model
LocalizedText HasProperty Variable PropertyType Mandatory
Operating instructions, link to Bosch Rexroth URL (http://www.boschrexroth.com) for Bosch
DeviceManual Rexroth controls
String HasProperty Variable PropertyType Mandatory
Device version, empty string for Bosch Rexroth controls
DeviceRevision
String HasProperty Variable PropertyType Mandatory
Description of the basic firmware, version string of the firmware
SoftwareRevision
String HasProperty Variable PropertyType Mandatory
Hardware version of the control
HardwareRevision
String HasProperty Variable PropertyType Mandatory

Properties of "RexrothDeviceType"
BrowseName DataType References NodeClass TypeDefinition ModellingRule

Software Basic object describing one or several software components of the control
ComponentSet - HasComponent ObjectType BaseObjectType Mandatory

Hardware Basic object describing one or several hardware components of the control
ComponentSet - HasComponent ObjectType BaseObjectType Mandatory
Link to Bosch Rexroth URL (http://www.boschrexroth.com)
ProductUri
String HasProperty Variable PropertyType Mandatory
Order number
OrderNumber
String HasProperty Variable PropertyType Optional

Manufacturer Device manufacturer number


DeviceId String HasProperty Variable PropertyType Optional
62/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

Type plate

Properties of "RexrothDeviceType"
BrowseName DataType References NodeClass TypeDefinition ModellingRule
Manufacturing date
ManufacturingDate
DateTime HasProperty Variable PropertyType Optional

Tab. 8-1: Description of the "RexrothDeviceType"

8.2.3 ComponentType

Fig. 8-2: Hirarchy ComponentType


"ComponentType" inherits the properties of the "BaseObjectType" and is the
basic type for "SoftwareComponentType" and "HardwareComponentType".
"ComponentType definition"

Attributes Value

BrowseName ComponentType
IsAbstract True
Inherits the attribute of "BaseObjectType"
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 63/137
IndraWorks OPC UA Communication

Type plate

Definition of "ComponentType"
BrowseName DataType References NodeClass TypeDefinition ModellingRule

Product name
ProductName
String HasProperty Variable PropertyType Mandatory
Vendor
ManufacturerName
String HasProperty Variable PropertyType Mandatory
Link to Bosch Rexroth URL (http://www.boschrexroth.com)
ProductUri
String HasProperty Variable PropertyType Mandatory
Order number
OrderNumber
String HasProperty Variable PropertyType Optional
Additional info
AdditionalInfo
String HasProperty Variable PropertyType Optional

Tab. 8-2: Description of "ComponentType"

8.2.4 SoftwareComponentType
"SoftwareComponentType"

Attributes Value

BrowseName SoftwareComponentType
IsAbstract False
Inherits the attribute of "ComponentType"

Definition of "SoftwareComponentType"
BrowseName DataType References NodeClass TypeDefinition ModellingRule

Build date
BuildDate
UtcTime HasProperty Variable PropertyType Mandatory
Build number
BuildNumber
String HasProperty Variable PropertyType Mandatory
Software version
SoftwareVersion
String HasProperty Variable PropertyType Mandatory

Tab. 8-3: Description of the "SoftwareComponentType"

8.2.5 HardwareComponentType
"HardwareComponentType"

Attributes Value

BrowseName HardwareComponentType
IsAbstract False
Inherits the attribute of "ComponentType"
64/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

Type plate

Definition of "HardwareComponentType"
BrowseName DataType References NodeClass TypeDefinition ModellingRule

Hardware version
HardwareRevision
String HasProperty Variable PropertyType Mandatory
Serial number
SerialNumber
String HasProperty Variable PropertyType Mandatory
Manufacturing date
ManufacturingDate
String HasProperty Variable PropertyType Optional

Tab. 8-4: Description of the "HardwareComponentType"

8.3 Object description


8.3.1 General information
Below the "Objects" node, find the node "DeviceSet." Below this node, the
type plate information of the control can be found.

8.3.2 Example

Fig. 8-3: Example SoftwareComponentSet


DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 65/137
IndraWorks OPC UA Communication

Type plate

8.3.3 Example HardwareComponentSet

Fig. 8-4: Example HardwareComponentSet

8.3.4 Example CML65


Type plate CML65

BrowseName DataType Value


DeviceType
SerialNumber String 6079356
RevisionCounter int32 0
Manufacturer LocalizedText Bosch Rexroth AG
Model LocalizedText CML65_1
DeviceManual String http://www.boschrexroth.com
DeviseRevision String -
SoftwareRevision String 14V04 Patch 1
HardwareVersion String 201
RexrothDeviceType
ProductUri String http://www.boschrexroth.com
SoftwareComponentSet
ProductName String FWA-CML65*-MTX-14VRS-NN
ManufacturerName String Bosch Rexroth AG
ProductUri String http://www.boschrexroth.com
OrderNumber String R911342877
AdditionalInfo String -
DeviceFirmware(1..n)
sysrelease
66/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

Type plate

BuildDate UtcTime 2014-06-01


BuildNumber String 2
SoftwareVersion String 22.4.2.1
acb (Subsystem)
BuildDate UtcTime 2014-06-01
BuildNumber String 2
SoftwareVersion String 22.4.2.0
...
zwk (Subsystem)
BuildDate UtcTime 2014-06-01
BuildNumber String 2
SoftwareVersion String 22.4.2.1
PLCFirmware
BuildDate UtcTime 2014-06-01
BuildNumber String 0
SoftwareVersion String 14V04
Customer firmware
BuildDate UtcTime 2014-06-01
BuildNumber String 6
SoftwareVersion String 22.4.2.0
HardwareComponentSet
ProductName String CML65.1-3P-504-NA-NNNN-NW
ManufacturerName String Bosch Rexroth AG
ProductUri String http://www.boschrexroth.com
OrderNumber String R911170900
AdditionalInfo String -
Mainboard
HardwareVersion String 201
SerialNumber String 170894
BoardFPGA
HardwareVersion String _V14.1.14.0_MTX
SerialNumber String -
SercosFPGA
HardwareVersion String V4.9
SerialNumber String -

Tab. 8-5: Example type plate of an CML65


DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 67/137
IndraWorks OPC UA Communication

File system

9 File system
9.1 General information
The “File system” object is below Root/Objects in the address space of the
OPC UA Server. Under the OPC UA server, the folders and files of the sys‐
tem file system are displayed. The description of the information and func‐
tions available in the file system is based on the OPC UA specification part 5
V1.03. The OPC UA information model is describe for file transfer in annex C.
Therefore, the ObjectType "FileType" and "FileDirectoryType" and their func‐
tions are specified. A file folder is thus of the type "FileDirectoryType" and a
file of the type "FileType". To map the complete file system functionality of
the control, the "FileType" is extended by the "AutomationFileType". With this
standard, clients can access the system-specific file system.

9.2 Type description


9.2.1 Overview
In fig. 9-1 "AutomationFileType and FileDirectoryType" on page 68, the file
system types are represented in the OPC UA address space. The "FileType"
contains a basic functionality intended for a file by OPC UA. The "Automa‐
tionFileType" is a subtype of "FileType" extended by further functionalities.
Additionally, "FileDirectoryType" is shown used as type of folders.
68/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

File system

Fig. 9-1: "AutomationFileType" and "FileDirectoryType"

9.2.2 AutomationFileType
In "Filetype", methods and variables required for a file handling are defined.
The functionalities of this type include the opening and closing of the file and
the reading and writing at any position within the file. Furthermore, meta data
of the file can be queried providing for example information such as size and
write-protection of the file to the client.
The "AutomationFileType" extends the "FileType" by additional methods and
variables required to map the control-internal file system. Thus, it has a refer‐
ence to the status of the user rights and the time stamp. The two respective
methods implement the setting of the time stamp and the setting of the user
rights.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 69/137
IndraWorks OPC UA Communication

File system

"AutomationFileType Definition"

Attributes Value
BrowseName AutomationFileType
IsAbstract False

Inherited properties of the "FileType"


References NodeClass BrowseName DataType TypeDefinition ModellingRule
FileType defined in part 5, annex C.2
HasProperty Variable Size UInt64 PropertyType Mandatory
HasProperty Variable Writable Boolean PropertyType Mandatory
HasProperty Variable UserWritable Boolean PropertyType Mandatory
HasProperty Variable OpenCount UInt16 PropertyType Mandatory
HasProperty Variable MimeType String PropertyType Optional
HasComponent Method Open Defined in C.3 Mandatory
HasComponent Method Close Defined in C.4 Mandatory
HasComponent Method Read Defined in C.5 Mandatory
HasComponent Method Write Defined in C.6 Mandatory
HasComponent Method GetPosition Defined in C.7 Mandatory
HasComponent Method SetPosition Defined in C.8 Mandatory

Properties of the "AutomationFileType"


References NodeClass BrowseName DataType TypeDefinition ModellingRule
FileStatusData‐
HasComponent Variable Status FileStatusType Mandatory
Type
HasComponent Method SetAccessRight Mandatory
HasComponent Method SetTime Mandatory

Tab. 9-1: Description of the "AutomationFileType"

9.2.3 FileStatusType
Variables of the "FileStatusType" include meta data of a file or a folder, such
as the creation data (BuildingDate), the last access date (AccessDate) and
the change date (RevisionDate). Furthermore, the user rights are represen‐
ted in the file system. The user rights are represented with the variables
“User ID”, “Group ID” and a bit mask for access rights.
"FileStatusType Definition"

Attributes Value
BrowseName FileStatusType
IsAbstract False
ValueRank -1 (-1 = Scalar)
DataType FileStatusDataType
70/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

File system

References NodeClass BrowseName DataType TypeDefinition ModellingRule


Subtype of the BaseDataVariableType defined in the part 5, 7.4
BaseVariable‐
HasComponent Variable AccessDate DateTime Mandatory
Type
BaseVariable‐
HasComponent Variable AccessRight UInt16 Mandatory
Type
BaseVariable‐
HasComponent Variable BuildingDate DateTime Mandatory
Type
BaseVariable‐
HasComponent Variable GroupId UInt16 Mandatory
Type
BaseVariable‐
HasComponent Variable OwnerId UInt16 Mandatory
Type
BaseVariable‐
HasComponent Variable RevisionDate DateTime Mandatory
Type

Tab. 9-2: Description of "FileStatusType"

9.2.4 FileDirectoryType
The root directory of a file system or each other subdirectory of a file system
can be used as starting directory. The starting directory is always an instance
of "FileDirectoryType". The included folders are also of "FileDirectoryType".
This type includes methods to create, delete and move files and folders. Ad‐
ditionally, all subfolders or files in the folder can be found via the "Organi‐
zes"references.
"FileDirectoryType Definition"

Attributes Value
BrowseName FileDirectoryType
IsAbstract False

References NodeClass BrowseName DataType TypeDefinition ModellingRule


Subtype of the FolderType defined in 6.6.
<FileDirectory‐
Organizes Object FileDirectoryType OptionalPlaceholder
Name>
Organizes Object <FileName> FileType OptionalPlaceholder
HasComponent Method CreateDirectory Defined in part 5, C.3.3 Mandatory
HasComponent Method CreateFile Defined in part 5, C.3.4 Mandatory
HasComponent Method Delete Defined in part 5, C.3.5 Mandatory
HasComponent Method MoveOrCopy Defined in part 5, C.3.6 Mandatory

Tab. 9-3: Description of the "FileDirectoryType"

9.3 File system in the OPC UA address space


The entry node of the file system is below the "Objects" node and is called
"File system". It includes all folders and files stored in the root directory of the
system. This is exemplarily shown in the following figure (fig. 9-2 "Exemplary
entry point into the file system" on page 71).
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 71/137
IndraWorks OPC UA Communication

File system

Fig. 9-2: Exemplary entry point into the file system


Browsing allows the navigation through the file system with all folders and
files. If it is browsed through a folder, all included subfolders and files are dis‐
played. Furthermore, the methods described in chapter 9.5 "Methods of the
FileDirectoryType" on page 73 that are part of the "FileDirectoryType" are
also displayed. The variables and methods of chapter 9.4 "Methods of the
AutomationFileType" on page 71 and chapter 9.6 "Variables of the Auto‐
mationFileType" on page 75, part of the "AutomationFileType", are dis‐
played for a file. The meta data of the file can be queried via a read call to the
respective variables. The respective methods can be used for the file han‐
dling.

9.4 Methods of the AutomationFileType


9.4.1 Open
"Open" is used to open files represented by an object of "FileType". All other
methods require a fileHandle for the respective file returned by the “Open”
method. The fileHandle is valid when the session is open. To release it again
when the access is not required anymore, call the “Close” method. The file
can be opened multiple times for reading. When the file has already been
72/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

File system

opened for writing, the function returns the error "OpcUa_Bad". It means that
the file cannot be opened. This is also the case if the file is to be opened mul‐
tiple times for writing.
Open(
[in] Byte mode
[out] UInt32 fileHandle
);

Contains the mode whether the file is opened for read and
mode
write operations
Used in other methods to get access and the current file posi‐
fileHandle
tion

9.4.2 Close
“Close” is used to close a file handling for a file represented by an object of
the "FileType". The file handle thus becomes invalid.
Close(
[in] UInt32 fileHandle
);

9.4.3 Read
“Read” is used to retrieve a part of the file starting at the current file position.
The file position is set further by the number of read bytes.
Read(
[in] UInt32 fileHandle
[in] UInt32 length
[out] ByteString data
);

Specifies the length in bytes written to “data”. If the end of the


length file is reached, everything is output up to the end. Only positive
values are allowed
data Contains the returned output of the file

9.4.4 Write
“Write” is used to write data to the file starting at the current file position. The
file position is set further by the number of written bytes.
Write(
[in] UInt32 fileHandle
[in] ByteString data
);

data Contains data written to the respective file position

9.4.5 GetPosition
GetPosition is used to return the current position of the fileHandle.
GetPosition(
[in] UInt32 fileHandle
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 73/137
IndraWorks OPC UA Communication

File system

[out] UInt64 position


);

The current position of the fileHandle in the file. If “Read” or


position
“Write” is called, the method starts at this position

9.4.6 SetPosition
SetPosition is used to set the current position of the fileHandle.
SetPosition(
[in] UInt32 fileHandle
[in] UInt64 position
);

The position in the file to which the pointer of the fileHandle is


position to be set. If the position is beyond the end of the file, it is set to
end of file

9.4.7 SetAccessRight
SetAccessRight is used to set the user rights.
SetAccessRight(
[in] UInt16 accessRight
);

9.4.8 SetTime
SetTime is used to set the access time and the change time of the file.
SetTime(
[in] UInt16 year
[in] UInt16 month
[in] UInt16 day
[in] UInt16 hours
[in] UInt16 minutes
[in] UInt16 seconds
[in] UInt16 mode
);

mode Access time [0]; change time [1]; both [10]

9.5 Methods of the FileDirectoryType


9.5.1 CreateDirectory
In case of the CreateDirectory method, a file and the object of type "FileDir‐
ectoryType" is created. It is located below the folder (FileDirectoryType ob‐
ject) in which the method was called.
CreateDirectory(
[in] String directoryName
[out] NodeId directoryNodeId
);
74/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

File system

directoryName Name of the created folder


directoryNodeId NodeID of the created folder

9.5.2 CreateFile
In case of the CreateFile method, a file and the object of type "AutomationFi‐
leType" is created. This object is located below the folder (FileDirectorytype
object) in which the method was called.
The created file can have different access rights, depending on the subordi‐
nate file system (local or mount directory). Special access rights can be set
after the file has been created via the SetAccessRight (chapter 9.4.7 "SetAc‐
cessRight" on page 73) method.
CreateFile(
[in] String fileName
[in] Boolean requestFileOpen
[out] NodeId fileNodeId
[out] UInt32 fileHandle
);

fileName Name of the file to be created


requestFileOpen Flag determining whether the file is opened for writing
fileNodeId NodeId of the created file
fileHandle of the file that was created and opened if requestFi‐
fileHandle
leOpen = true

9.5.3 Delete
Is used to delete a file or a folder. The file (or the folder) has to be below the
folder (FileDirectoryType object) in which the method was called.
Delete(
[in] NodeId objectToDelete
);

NodeId of the file or the folder to be deleted. In case of a fold‐


objectToDelete
er, all included subdirectories and files are also deleted

9.5.4 MoveOrCopy
A file or a folder can be moved using the “MoveOrCopy” method. It is also
possible to rename the folder or file.
MoveOrCopy(
[in] NodeId objectToMoveOrCopy
[in] NodeId targetDirectory
[in] Boolean createCopy
[in] String newName
[out] NodeId newNodeId
);
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 75/137
IndraWorks OPC UA Communication

File system

objectToMoveOr‐
NodeId of the folder/file to be moved.
Copy
Target directory where the object (file/folder) is moved to.
targetDirectory When renaming a folder or a file, this NodeId matches the
“Call”
createCopy The flag indicates whether a copy is to be created
newName New name of the object (file/folder) in the target directory
newNodeId NodeId of the new or renamed object (file/folder)

9.6 Variables of the AutomationFileType


9.6.1 Size
File size in bytes

9.6.2 Writable
Indicates whether it can be written on the file. This does not include any user
rights. It does also not include whether the file has already been opened for
writing by another client and thus whether the file is write-protected.

9.6.3 UserWritable
Indicates whether it can be written on the file. Includes whether the user has
access rights (write permission). It does not include whether the file has al‐
ready been opened for writing by another client and thus whether the file is
write-protected.

9.6.4 OpenCount
Number of the currently active and valid fileHandle on the file

9.6.5 MimeType
File type acc. to RFC 2046

9.6.6 Status
Complex variable showing the status of a file. It consists of:
● AccessDate
● AccessRight
● BuildingDate
● GroupId
● OwnerId
● RevisionDate
76/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 77/137
IndraWorks OPC UA Communication

CNC items

10 CNC items
10.1 General information
The “CNC” object is below Root/Objects in the address space of the OPC UA
server. The implemented CNC items are mapped below. The address space
is divided into several points. Thus, it can be browsed through the following
objects:
● AxisList
● ChannelList
● Commands
● Channel-independent items
The following section describes how variables with a complex data type are
created and how they can be interpreted.

10.2 Type description


10.2.1 General description of complex types
In this section, the item "NC.Chan.ActSpindleSpeed" is used to describe the
complex data types used in the address space of the CNC. The NodeId of
the item is always composed identically. As it is channel-dependent data, the
channel is specified according to the item name. In the example,
NC.Chan.ActSpindleSpeed,01 applies to the item in the first channel.
The data type of the variable “ActSpindleSpeed” is an array with elements of
the type "SpindleSpeedDataType". The array has the number of elements
equal to the number of spindles configured. The following figure exemplarily
shows the structure of a field in an array.

Fig. 10-1: Value of a variable of a complex data type


The OPC UA server also allows to access the single elements of this varia‐
ble. Therefore, the NodeId is extended. In the example applies:
NC.Chan.ActSpindleSpeed,01,Speed to access the single variable “Speed”.
An array on the number of spindles is then provided.
According to this description, all items with a complex data type are provided.

10.2.2 OptionSetType for bit masks


Some variables provide a value coded by a bit mask. In the OPC UA stand‐
ard, a variable of “OptionSetType” is provided. The item "NC.Chan.Waiting‐
States" is used to describe the significance of such a “OptionSetType”. The
item provides the value as integer. The significance of the value can thus not
be directly understood. Thus, the single variables "BitMask" and "OptionSet‐
78/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

Values" are provided. The NodeId of these variables are shown in the ex‐
plained example NC.Chan.WaitingStates,01,BitMask and NC.Chan.Waiting‐
States,01,OptionSetValues.
The single variable “BitMask” provides the bit mask in an array of Boolean
values. This allows to check individual entries of the bit mask. The single vari‐
able “OptionSetValues” contains the significance of each entry in the bit
mask. This is exemplarily shown in the figure.

Fig. 10-2: OptionSetType at the item WaitingStates

10.3 Real-time items


10.3.1 NC.DataRT
Item at real-time access to different NC data recorded in the interpolator cy‐
cle.
A data structure (of the data type "DataRTDataType") with different channel-
specific data is read.
Data is consistent among each other.
The data structure has optional fields (Switch fields) that only provide data if
1. the field is configured (default: all configured)
2. a data change occurred in the field

When reading the monitored item for the first time, initial values
are provided for all configured fields.

The data structure includes the following elements:


● Channel [Int32]
NC channel to which the data belongs

Currently, only data from channel 1 is provided.

● StatusMask [Int32] (optional)


If the machining method “Punching” is applied, the status mask provides
the active punching mode as well as information on whether the punch‐
ing stroke is executed.
Bit 0x0000-0x000F: Punching mode
Bit 0x0100: Punching stroke active
● AxesPositions [Int32] (optional)
Array with command positions of all physical axes of the NC

To keep the position in mm, the value has to be divided by


10,000.

● ToolCorrVector [Int32] (optional)


The three length correction values in the Cartesian axis directions of the
TCS coordinate system
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 79/137
IndraWorks OPC UA Communication

CNC items

To keep the length correction amount in mm, the value has to be


divided by 10,000.

● ProgramName [String] (optional)


File name with path of the current subroutine
● ProgramPosition [UInt32] (optional)
Current file position in the current subroutine
● OperationMode [OperationModeEnum (optional)
Main operation mode of the channel
● ChanState [ChanStateEnum] (optional)
Current channel state
● ChanMask [UInt32] (optional)
Bit mask with channel-specific information
Bit 0x0001: Rapid traverse active
● SystemData [Int32] (optional)
Array with system data values converted to integer values

Only system data of the following data types can be recorded:


– Integer
– Unsigned integer
– Short

Temporarily, the values of the following system data are provided:


– /SysTool[1]/ActTool/K1
– /SysTool[1]/ActTool/K2
If no data was changed in any data structure element, no new data
is generated.
Item syntax:
NC.DataRT[,(1)]
(1) = Recording interval
1 - in each IPO cycle (default)
n - in every nth IPO cycle

Irrespective of the recording interval, it is recorded when the NC


block changes in the respective channel and upon each punching
stroke.

Access:
Read: Does not provide any data
Subscription: Yes

10.3.2 NC.AxisPosRT
Provides a status mask and the command positions of the physical axes.
The position values are recorded in each Ipo cycle.
80/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

To keep the position in mm, the value has to be divided by


10,000.

If the machining method “Punching” is applied, the status mask provides the
active punching mode as well as information on whether the punching stroke
is executed.
Item syntax:
NC.AxisPosRT[,(1)]
(1) = Recording interval:
● 1 - in each IPO cycle (default)
● n - in every nth IPO cycle

Irrespective of the recording interval, a punching stroke is recor‐


ded upon each execution.

Access:
Read: Does not provide any data
Subscription: Yes
Example:
NC.AxisPosRT
Return:
0 int status mask bit 0x0000-0x000F :Punching mode
Bit 0x0100 : Punching stroke
0 int position value, axis 1
0 int position value, axis 2
0 int position value, axis 3

10.3.3 NC.DataRTDiag
This is a diagnostic item for the item NC.DataRT.
It provides only values if NC.DataRT and NC.AxisPosRT is used.
Item syntax:
NC.DataRTDiag
Access:
Read: Provides diagnostic values
Subscription: Yes
Example:
NC.DataRTDiag
Return:
560000 uint byte size of the IPO ring buffer
2 uint load of the IPO ring buffer in percent
0 uint number of lost entries
123456 uint number since the start of the item “NC.DataRT”
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 81/137
IndraWorks OPC UA Communication

CNC items

10.3.4 NC.AxisPosRTDiag
This is a diagnostic item for the item NC.AxisPosRTDiag.
The item is identical to NC.DataRTDiag.
Only one real-time item (NC.DataRT/NC.AxisPosRT) may be used as moni‐
tored item at the same time.

The publish interval of the subscription as well as the sample in‐


terval and the queue size of the monitored items have to be con‐
figured to ensure that the generated data can be transferred.
Example:
In case of an IPO cycle of 1 ms, 1,000 values are generated per
second.
Therefore, if the publish interval is 100 ms and the sample is 10
ms, a queue size of at least 100 has to be set.
In order to have reserves, it is recommended to use a higher
queue size.

10.4 Spindle items


10.4.1 NC.Chan.ActSpindleSpeed
Provides the active command spindle speed(s)
Item syntax:
NC.Chan.ActSpindleSpeed,(1)[,(2)]
1. channel number
2. Selector:
"Name”: Spindle name
“Number”: Axis number
“Speed“: Command spindle speed
“SystemNumber“: System number
Without specifying the selector, an array of type SpindleSpeedDataType is
read.
Selector reads an array containing only selected data.
Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.Chan.ActSpindleSpeed,1
Return: [ .Name = “S1“, .Number = 6, .Speed = 450 , .SystemNumber = 1 ;
…]

10.4.2 NC.Chan.ActSpindleOverride
Provides the current value of the spindle override
Item syntax:
82/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

NC.Chan.ActSpindleOverride,(1)[,(2)]
1. channel number
2. Selector:
"Name”: Spindle name
“Number”: Axis number
“SystemNumber“: System number
“ActiveValue”: Active value in %
“MaximumValue“: Maximum value
Without specifying the selector, an array of type SpindleOverrideDataType is
read.
Selector reads an array containing only selected data.
Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.Chan. ActSpindleOverride,1
Return: [ .Name = “S1“, .Number = 6, .SystemNumber = 1, . ActiveValue =
40, .MaximumValue = 50 ; … ]

10.4.3 NC.Chan.ActSpindleSpeedDrv
Provides the active actual spindle speed(s)
Item syntax:
Refer to chapter 10.4.1 "NC.Chan.ActSpindleSpeed" on page 81
Access:
Read: yes
Write: yes
Subscription: yes

10.4.4 NC.Chan.ActSpindleTorque
Provides the active and maximum spindle torque in percent
Item syntax:
NC.Chan.ActSpindleTorque,(1)[,(2)]
1. channel number
2. Selector:
"Name”: Spindle name
“Number”: Axis number
SystemNumber“: System number
“ActiveValue”: Active value in %
“MaximumValue“: Maximum value in %
Without specifying the selector, an array of type SpindleTorqueDataType is
read.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 83/137
IndraWorks OPC UA Communication

CNC items

Selector reads an array containing only selected data.


Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.Chan. ActSpindleTorque,1
Return: [ .Name = “S1“, .Number = 6, .SystemNumber = 1, . ActiveValue =
5.5, .MaximumValue = 8.3 ; … ]

10.4.5 NC.Chan.ActSpindlePower
Provides the active and maximum spindle power in watts
Item syntax:
NC.Chan.ActSpindlePower,(1)[,(2)]
1. channel number
2. Selector:
"Name”: Spindle name
“Number”: Axis number
“SystemNumber“: System number
“ActiveValue”: Active value in watts
“MaximumValue“: Maximum value in watts
Without specifying the selector, an array of type SpindlePowerDataType is
read.
Selector reads an array containing only selected data.
Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.Chan. ActSpindlePower,1
Return: [ .Name = “S1“, .Number = 6, .SystemNumber = 1, . ActiveValue =
80, .MaximumValue = 120 ; … ]

10.4.6 NC.Chan.ProgrammedSpindleSpeed
Provides the programmed spindle speed(s)

The spindles indicated in the channel are configured via the MA‐
CODA parameter 6005 0030. This parameter indicates channel-
specifically which spindle is shown at which position in the spindle
display.

Item syntax:
Refer to chapter 10.4.1 "NC.Chan.ActSpindleSpeed" on page 81
Access:
84/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

Read: yes
Write: yes
Subscription: yes

10.4.7 NC.Chan.ActSpindleMovements
Returns the motion functions of the spindles
Item syntax:
NC.Chan.ActSpindleMovements,(1)[,(2)]
1. channel number
2. Selector:
"Name”: Spindle name
“Number”: Axis number
“SystemNumber“: System number
“MotionFunction“: Spindle motion function
Without specifying the selector, an array of type SpindleMovementDataType
is read.
Selector reads an array containing only selected data.
The value for "MotionFunction" is of the type “SpindleMovementsEnum” and
can assume the values of the enumeration.
Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.Chan. ActSpindleMovements,1
Return: [ .Name = “S1“, .Number = 6, .SystemNumber = 1, .MotionFunction =
5(Stop); … ]

10.4.8 NC.Chan.ActSpindleGears
Provides the active gear step of a spindle
Item syntax:
NC.Chan.ActSpindleGears,(1)[,(2)]
1. channel number
2. Selector:
"Name”: Spindle name
“Number”: Axis number
“SystemNumber“: System number
“GearSelection“: Active spindle gear step
Without specifying the selector, an array of type SpindleGearDataType is
read.
Selector reads an array containing only selected data.
The value for “GearSelection” is of type “SpindleGearEnum” and can assume
the values of the enumeration.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 85/137
IndraWorks OPC UA Communication

CNC items

Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.Chan. ActSpindleGears,1
Return: [ .Name = “S1“, .Number = 6, .SystemNumber = 1, . GearSelection =
41(GearRange1); … ]

10.4.9 NC.Chan.ActSpindleAutoGears
Indicates for which spindle an automatic gear selection is active in the selec‐
ted channel
Gear selection state:
0 = Manual gear selection
1 = Automatic gear selection active
Item syntax:
Refer to chapter 10.4.8 "NC.Chan.ActSpindleGears" on page 84
Access:
Read: yes
Write: yes
Subscription: yes

10.4.10 NC.Chan.ActSpindleSwitchGears
Indicates whether gears are currently shifted
Gear step shifting state:
0 = No gear shifting
1 = Gear shifted
Item syntax:
NC.Chan.ActSpindleSwitchGears,(1)[,(2)]
1. channel number
2. Selector:
"Name”: Spindle name
“Number”: Axis number
“SystemNumber“: System number
“GearShifting“: Gear shifting
Without specifying the selector, an array of type SpindleGearSwitchDataType
is read.
Selector reads an array containing only selected data.
Access:
Read: yes
Write: yes
Subscription: yes
86/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

Example:
NC.Chan. ActSpindleSwitchGears,1
Return: [ .Name = “S1“, .Number = 6, .SystemNumber = 1, . GearShifting = 0;
…]

10.4.11 NC.Chan.ActSpindlePosition
Provides the active spindle list position in degrees
Item syntax:
NC.Chan.ActSpindlePosition,(1)[,(2)]
1. channel number
2. Selector:
"Name”: Spindle name
“Number”: Axis number
“SystemNumber“: System number
“Value“: Active actual value of the spindle
Without specifying the selector, an array of type SpindlePositionDataType is
read.
Selector reads an array containing only selected data.
Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.Chan. ActSpindleSwitchGears,1
Return: [ .Name = “S1“, .Number = 6, .SystemNumber = 1, . Value =
246.3700; … ]

10.5 Program-data items


General item syntax:
All items have at least two parameters (e.g. NC.Chan.ProgramLinkInfo,(1)[,
(2)]).
Parameter 1 specifies the channel and parameter 2 specifies the string selec‐
tor.
The items are of a structured data type.
Without specifying the selector, an array of the structured type is read.
Selector reads an array containing only selected data.

10.5.1 NC.Chan.ProgramLinkInfo
Provides the active program with path names and its selection criteria from
the requested channel.
Selector:
“ActiveProgram“: Active program
“CallStatus“: Call status
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 87/137
IndraWorks OPC UA Communication

CNC items

Example:
NC.Chan. ProgramLinkInfo,1
Return: [ .ActiveProgram = “/mnt/startup-testphase/Ex.npg“, .CallStatus = 65;
…]
The “CallStatus” is provided as a bit mask of an enumeration.
The item can be read with a third parameter.
Item syntax:
NC.Chan.ProgramLinkInfo,(1)[,(2)][,(3)]
Parameter 3:
“BitMask”: Array writing on each bit of the bit mask
“OptionSetValues”: Bit mask
"OptionSetValues" shows a bit-by-bit representation for each bit of the mask
set to TRUE. The order of the bits of the bit mask point to a position of the
array, i.e. the first bit (lowest significance) points to the first entry in the array,
etc.

10.5.2 NC.Chan.ActNcBlock
Provides the name of the current block

If no block number is programmed, an empty string is returned.

Example:
NC.Chan.ActNcBlock
Return: “N150“

10.5.3 NC.Chan.ProgramPosition
Provides the current file position in the respective main program or subrou‐
tine

If an error occurred in the channel, the file position, at which the


error occurred, is provided.

This item is not suitable for the cyclic query within a group, as it is communi‐
cated with the NC during each read access.
Selector:
“FileName“: File name incl. path
“FilePosition“: File position
Example:
NC.Chan.ProgramPosition,1
Return: [ .FileName = “/usr/user/sect.cnc“, .FilePosition = 34; … ]

10.5.4 NC.Chan.WaitingStates
Provides the active waiting states of a channel and the name of the current
block.

If no block number is programmed, an empty string is returned.


88/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

The “WaitingStates” are provided as a bit mask of an enumeration.


Selector:
“BitMask”: Array writing on each bit of the bit mask
“OptionSetValues”: Bit mask

10.5.5 NC.Chan.ProgrammedFeedrateIndex
Provides the information which programmed feed - F1 or F2 - is currently ac‐
tive.
Example:
NC.Chan.ProgrammedFeedrateIndex
Return: 2

10.5.6 NC.Chan.ChanHidden
Specifies whether the channel is hidden in the display. It is set using the MA‐
CODA number 600500010.
Example:
NC.Chan.ChanHidden
Return: true

10.5.7 NC.Chan.AxisRotate
The item provides the angle by which a programmed contour was rotated in
the active plane.
Example:
NC.Chan.AxisRotate
Return: 5.0

10.5.8 NC.Chan.AxisPoleSet
This function specifies the absolute position of the pole for the input tools
“Mirroring”, “Scaling” and “Rotating”. Apart from the rotation point of the mir‐
ror, the item provides another seven additional values shown in the columns
0 - 6.

Additional information is provided for each axis in the first seven


columns. Each eighth columns contains the absolute position of
the polar of an axis.

Selector:
Refer to chapter 10.10.11 "NC.Chan.AxisPosAcs" on page 105
Example:
NC.Chan.AxisPoleSet,1
Return: [ .Position = 12, .Name = “X“, .Number = 2, .Unit = 1(Metric), .Chan‐
nel = 1, .InPosition = true, .KnowReferencePoint = true, .DiameterProgActive
= false; … ]

10.5.9 NC.Chan.AxisShift
The item reads the values containing the offset of a programmed contour par‐
allely displaced to the axes of the program coordinate system.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 89/137
IndraWorks OPC UA Communication

CNC items

Additional information is provided for each axis in the first seven


columns.
The eighth column always contains the offset value of the axis.

Selector:
“Value”
“Name”
“Number”
“Unit”
“Channel”
“InPosition”
“KnowReferencePoint”
“DiameterProgActive”
Example:
NC.Chan.AxisShift,1
Return: [ .Value = , .Name = “Y“, .Number = 2, .Unit = 1(Metric), .Channel =
1, .InPosition = true, .KnowReferencePoint = true, .DiameterProgActive =
false; … ]

10.5.10 NC.Chan.AxisScale
This item can be used to read scaling values specified for a programmed
contour. Apart from the scaling values, item provides another additional val‐
ues shown in the columns 0 - 6.

Additional information is provided for each axis in the first seven


columns

Selector:
Refer to chapter 10.5.9 "NC.Chan.AxisShift" on page 88

10.5.11 NC.Chan.AxisMirror
This item can be used to determine the current state of the mirroring. If mir‐
roring is activated for an axis within the channel, the item returns the value 1
for this axis. If the mirroring is switched off, 0 is returned. Apart from the mir‐
ror states, the item provides another seven additional values shown in the
columns 0 - 6.

Additional information is provided for each axis in the first seven


columns.

Selector:
Refer to chapter 10.5.9 "NC.Chan.AxisShift" on page 88

10.5.12 NC.Chan.ActAxisVelocityMax
Provides the maximum velocity in the axis coordinate system
90/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

Only values for the asynchronous axes and axes in the jog mode
are provided. Otherwise, this value is 0.
Additional information is provided for each axis in the first seven
columns.
The eighth column contains the respective velocity value of the
axis.

Selector:
Refer to chapter 10.5.9 "NC.Chan.AxisShift" on page 88

10.5.13 NC.Chan.ActAxisVelocityPeak
Provides the peak value, the maximum value and the nominal value of the
current axis velocity

Additional information is provided for each axis in the first seven


columns.
The columns eight to ten contain the peak value, maximum value
and nominal value of the axis velocity.
Divide the peak and the maximum value by the nominal value to
determine a value in percent for the peak value and the maximum
value.

Selector:
“NominalValue”
“PeakValue”
“MaxValue”
“Name”
“Number”
“Unit”
“Channel”
“InPosition”
“KnowReferencePoint”
“DiameterProgActive”
Example:
NC.Chan.AxisShift,1
Return: [ .NominalValue = 10000, .PeakValue = 10500, .MaxValue =
12000, .Name = “Z“, .Number = 2, .Unit = 1(Metric), .Channel = 1, .InPosition
= true, .KnowReferencePoint = true, .DiameterProgActive = false; … ]

10.5.14 NC.Chan.ActAxisAccelerationPeak
Provides the peak value, the maximum value and the nominal value of the
current axis acceleration
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 91/137
IndraWorks OPC UA Communication

CNC items

Additional information is provided for each axis in the first seven


columns.
The columns eight to ten contain the peak value, maximum value
and nominal value of the axis acceleration.
Divide the peak and the maximum value by the nominal value to
determine a value in percent for the peak value and the maximum
value.

Selector:
Refer to chapter 10.5.9 "NC.Chan.AxisShift" on page 88

10.5.15 NC.Chan.BalancedConditionState
Informs whether axes or spindles are adjusted

The bit-coded value is "1" during adjustment. Otherwise, the item


"0" is reported.

10.5.16 NC.Chan.CompTempData
Provides the active temperature-dependent compensation values (WCS) for
all axes of the channel

Additional information is provided for each axis in the first seven


columns.
The eighth column always contains the compensation value of the
axis.

10.5.17 NC.Chan.CompLeadScrewErrData
Provides the active screw (spindle) lead error compensation for all axes of
the channel

Additional information is provided for each axis in the first seven


columns.
The eighth column always contains the compensation value of the
axis.

10.5.18 NC.Chan.CompCrossData
Provides the active cross compensation values (WCS) for all axes of the
channel

Additional information is provided for each axis in the first seven


columns.
The eighth column always contains the compensation value of the
axis.

10.5.19 NC.Chan.CompOffsetData
Provides the sum value of all axis compensations for all axes of the channel
92/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

Additional information is provided for each axis in the first seven


columns.
The eighth column always contains the compensation value of the
axis.

10.6 System data


10.6.1 NC.SystemData
Allows to access system data

Only single values can be accessed.

Item syntax:
NC.SystemData,(1)
1. Element path (in Xpath syntax)
Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.SystemData,/SysToolInsert/Hd/SKQ
Return

ABC String Value of SKQ

NC.SystemData,/SysToolInsert/Hd/IKQ1

Return

0 Integer Value of IKQ1

10.6.2 NC.SystemDataXml
Access to system data in xml format

To read or write an XML stream without outer start tag and end
tag, the parameter mode has to be linked logically to 1024 an via
"OR" operation. This is only recommend when accessing individu‐
al elements of a system date.

The data size is limited to 4 kByte.


Item syntax:
NC.SystemDataXml,(1)[,(2)]
1. Element path (in Xpath syntax)
2. Mode, controls the item response's behavior
Access:
Read: yes
Write: yes
Subscription: yes
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 93/137
IndraWorks OPC UA Communication

CNC items

Example:
NC.SystemDataXml,/SysToolInsert/Hd/IKQ1
Return

<IKQ1>0</IKQ1> String Data of the system date

10.7 CPL data


The item NC.CplPermVariable allows read/write access to permanent CPL
variables.

10.7.1 NC.CplPermVariable
Item syntax:
NC.CplPermVariable,(1)[,(2)] [,(3)]
1. Variable name
2. Index1 (optional)
3. Index2 (optional)
Access:
Read: yes
Write: yes
Subscription: yes

With field variables, the two optional indices can be used to ac‐
cess individual elements. In case of missing indices, all elements
are accessed.
In case of two-dimensional CPL variables and the missing Index2,
the complete line of the elements specified under Index1 is ac‐
cessed.

Examples:
Reading one element of a one-dimensional array
NC.CplPermVariable,@_R,4
Return

4.0 double Element value

Reading all elements of a one-dimensional array


NC.CplPermVariable,@_R
Return

Array with the values of all


2.0 2.1 8.1 4.0 … double
elements

10.7.2 NC.CplPermVariable,PermVars
The "Organizes references" provided upon browsing this node includes all
fixed permanent CPL variables (@1 - @100).
94/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

10.7.3 NC.CplPermVariable,DefPermVars
The "Organizes references" provided upon browsing this node includes all
definable permanent CPL variables.

10.8 Configuration data


Read and write access to the MTX configuration data in xml format is possi‐
ble via the NC.CfgDataXml item.

10.8.1 NC.CfgDataXml
Item syntax:
NC.CfgDataXml,(1)[,(2)]
1. Element path (in Xpath syntax) of configuration data
2. Mode, controls the item response's behavior
Access:
Read: yes (data size 16kByte max.)
Write: yes
Subscription: no

To read or write an XML stream without outer start tag and end
tag, the parameter mode has to be linked logically to "1024" via
an "OR" operation. This is only recommended when accessing in‐
dividual elements of a configuration date.

Examples:
Reading an individual date
NC.CfgDataXml,/AX/Dr[1]/Vel/MaxVel
Return:
<MaxVel>15000.00000</MaxVel> Data of the configuration date [string]
Reading a single date without xml tags
NC.CfgDataXml,/AX/Dr[1]/Vel/MaxVel,1024
Return:
15000.00000 data of the configuration date [string]
Reading a substructure
NC.CfgDataXml,/AX/Dr[1]/Vel
Return:
<Vel><MaxVel>15000.00000</MaxVel><FeedCalc>0</FeedCalc></Vel> Da‐
ta of the configuration date [string]

10.9 Global NC data


10.9.1 NC.BitInterface
Provides the current state of the bits of the bit interface, the bit names or the
bit descriptions.
Parameters specify the type of interface (global interface, channel interface,
axis interface, spindle interface) as well as the selector to select the informa‐
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 95/137
IndraWorks OPC UA Communication

CNC items

tion and index to be provided (channel number, axis number, spindle num‐
ber).

The bit descriptions are provided in the set language. They are
only available if the respective text files are available in the con‐
trol.

Item syntax:
NC.BitInterface,(1),(2),[(3)]
1. interface type

"Global" Global interface


"Channel" Channel interface
"Axis" Axis interface
"Spindle" Spindle interface

2. Selector

Bit state of the interface for both direc‐


"Data" tions
(DataType: BitInterfaceDataType)
Bit state of the interface from the control
"DataCncToPlc" to the PLC
(DataType: ByteString)
Bit state of the interface from the PLC to
"DataPlcToCnc" the control
(DataType: ByteString)
Bit name of the interface from the control
"BitNamesCncToPlc" to the PLC
(DataType: Array of strings)
Bit name of the interface from the PLC to
"BitNamesPlcToCnc" the control
(DataType: Array of strings)
Bit descriptions of the interface from the
"BitDescsCncToPlc" control to the PLC
(DataType: Array of strings)
Bit descriptions of the interface from the
"BitDescsPlcToCnc" PLC to the control
(DataType: Array of strings)

3. Index - Channel number, axis number or spindle number

As there is only one global interface, this interface has no index.


The bit names and the bit descriptions are identical within an in‐
terface type and cannot be changed. Thus, there is no index for
the BitNames and the BitDescs and the items cannot be used as
monitored items.

Access:
96/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

Read: yes
Write: no
Subscription: yes (only for the state of the bits)
Examples:
Reading the complete channel interface of channel 3:
NC.BitInterface,Channel,Data,3
Return:
Structured type "BitInterfaceDataType" with two ByteStrings
PlcToCnc: Length=14, Content=050000000000983a000000000000
CncToPlc: Length=14, Content=0500010001000000000008000000

Reading the channel interface CncToPlc of channel 3:


NC.BitInterface,Channel,DataCncToPlc,3
Return:
ByteString
Length=14, Content=0500010001000000000008000000

Reading the bit name of the channel interface CncToPlc:


NC.BitInterface,Channel,BitNamesCncToPlc
Return:
String array with 112 entries
[0] iCh_OpMode_00
[1] iCh_OpMode_00
...
[111] iCh_res_27_7

10.9.2 NC.TestMode
Provides the current setting of total inhibit or changes the total inhibit setting
False = “Total inhibit” inactive
True = “Total inhibit” active

Currently, the NC kernel only supports a global complete inhibit


effective across all channels. Thus, the value of the
"NC.Chan.TestMode" item corresponds to that of the "NC.Test‐
Mode".

Item syntax:
NC.TestMode
Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.TestMod
Return:
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 97/137
IndraWorks OPC UA Communication

CNC items

False Boolean status of the total inhibit

10.10 Channel-dependent NC data


10.10.1 NC.Chan.ChanState
Provides the current channel state

Apart from the channel state, the states of the block processing
and of the interpolator are reported.

Channel states

ChanState Value Description


ChanStateInactive 1 Inactive
ChanStateReady 2 Ready
ChanStateRunning 3 Running
ChanStateStopped 4 Stopped
ChanStateResetting 5 Currently resetting
ChanStateCreating 6 A part program is compiled and checked
ChanStateError 7 Errors
ChanStateReadyFor‐
13 Ready for the next specification under "MDI"
NextBlock

Tab. 10-1: Channel states


Block processing states

SavState Value Description


SavStateInactive 1 Inactive - Program can be selected
SavStateReady 2 Ready - Program can be started
SavStateRunning 3 A program or an NC block is processed
SavStateWaiting 4 Reserved
SavStateHold 5 Reserved
Error - Can only be cleared by a reset or a pro‐
SavStateError 6
gram deselection
SavStateSuspend 7 Reserved for internal purposes
Currently resetting - No jobs may be accepted un‐
SavStateResetting 8
til the state switches to "inactive"
SavStateCreating 9 A program is selected and prepared (e.g. linked)
SavStateCancelDist‐ "Cancel distance to go" was triggered. Cleanup
10
Prep continues
SavStateCancelDistRun 11 ???
98/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

SavStateReadyFor‐ Ready - Program is at program beginning and can


12
Progstart be started
SavStateReadyFor‐ All blocks at the buffered NC block specification
13
NextBlock are processed. Waiting for the next specification

Tab. 10-2: Block processing states


Interpolator states

IpoState Value Description


IpoStateRunning 1 Running
IpoStateSlopedown 2 Shuts down due to feed hold
IpoStateStopped 3 Axes stopped

Tab. 10-3: Interpolator states


Item syntax:
NC.Chan.ChanState,(1)
1. channel number
Access:
Read: The state of the channel, the block processing and the interpolator in
the channel are provided.
Subscription: yes
Example:
NC.Chan.ChanState,1
Return

1 int Channel state (ChanState)


Block processing state (Sav‐
1 int
State)
1 int Interpolator state (IpoState)

Channel states

ChanState Value Description


ChanStateInactive 1 Inactive
ChanStateReady 2 Ready
ChanStateRunning 3 Running
ChanStateStopped 4 Stopped
ChanStateResetting 5 Currently resetting
ChanStateCreating 6 A part program is compiled and checked
ChanStateError 7 Errors
ChanStateReadyFor‐
13 Ready for the next specification under "MDI"
NextBlock

Tab. 10-4: Channel states


DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 99/137
IndraWorks OPC UA Communication

CNC items

Block processing states

SavState Value Description


SavStateInactive 1 Inactive - Program can be selected
SavStateReady 2 Ready - Program can be started
SavStateRunning 3 A program or an NC block is processed
SavStateWaiting 4 Reserved
SavStateHold 5 Reserved
Error - Can only be cleared by a reset or a pro‐
SavStateError 6
gram deselection
SavStateSuspend 7 Reserved for internal purposes
Currently resetting - No jobs may be accepted un‐
SavStateResetting 8
til the state switches to "inactive"
SavStateCreating 9 A program is selected and prepared (e.g. linked)
SavStateCancelDist‐ "Cancel distance to go" was triggered. Cleanup
10
Prep continues
SavStateCancelDistRun 11 ???
SavStateReadyFor‐ Ready - Program is at program beginning and can
12
Progstart be started
SavStateReadyFor‐ All blocks at the buffered NC block specification
13
NextBlock are processed. Waiting for the next specification

Tab. 10-5: Block processing states


Interpolator states

IpoState Value Description


IpoStateRunning 1 Running
IpoStateSlopedown 2 Shuts down due to feed hold
IpoStateStopped 3 Axes stopped

Tab. 10-6: Interpolator states


Item syntax:
NC.Chan.ChanState,(1)
1. channel number
Access:
Read: The state of the channel, the block processing and the interpolator in
the channel are provided.
Subscription: yes
Example:
NC.Chan.ChanState,1
100/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

Return

1 int Channel state (ChanState)


Block processing state (Sav‐
1 int
State)
1 int Interpolator state (IpoState)

10.10.2 NC.Chan.OperationState
Provides the ChanState as structured variable

10.10.3 NC.Chan.ModeOfOperation
It provides the operation mode of a channel

The main and the secondary mode are reported.

The following values can be assumed:


Main mode

SavMode Value Description


SavModeEmpty 0 No operation mode active
SavModeJogging 1 Jog mode
SavModeReference 2 Approaching reference point
SavModeSearchrun 3 Block pre-run
SavModeMdi 4 Manual data input
Automatic: Part programs can be processed in
SavModeAutomatic 5
the following block
Program block: With "NC start", individual blocks
SavModeSingleBlock 6 are processed as in the part program. Block prep‐
aration only starts upon "NCStart".
Single step: With "NC start", an individual block is
SavModeSingleStep 7
passed on to the interpolator for processing.
SavModeTeach 8 Reserved
SavModeSuspend 9 Reserved
Single block: With "NC start", all the blocks cre‐
SavModeSingleAct‐ ated and completely prepared due to an individual
10
Block NC block in the part program are passed on to the
interpolator for processing.
Return to contour: Axes can leave the contour
SavModeReturnToPath 11 manually and return to the contour automatically
or manually.
CPL debugger: Individual blocks are processed
SavModeDebugStep 12
as stated in the part program.
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 101/137
IndraWorks OPC UA Communication

CNC items

CPL debugger: All the blocks are processed up to


SavModeDebugCont 13
the next break point.
SavModeJogging‐
14 Set manually: Motion in workpiece coordinates
Coords

Tab. 10-7: Main mode


Secondary mode

SavSubMode Value Description


SavSubModeEmpty 0 No secondary mode active
Overwrite: NC blocks can be specified in the auto‐
SavSubModeOverstore 1
matic modes.

Tab. 10-8: Secondary mode


Item syntax:
NC.Chan.ModeOfOperation,(1)
1. channel number
Access:
Read: yes
Subscription: yes
Example:
NC.Chan.ModeOfOperation,1
Return

Active main mode in the


5 int
channel
Active secondary mode in
0 int
the channel

10.10.4 NC.Chan.OperationMode
Provides the ModeOfOperation as structured variable
Item syntax:
NC.Chan.OperationMode,(1),Mode
1. channel number
Access:
Read: Provides the (main) operation mode in the channel
Write: Operation mode switching in the channel

10.10.5 NC.Chan.ProgramWindow
Provides a section from the current main program or the subroutine

The window size of the program section as well as the number of


NC blocks in front of the active block can be parameterized. With
read-protected subroutines and cycles, the calling program pro‐
vides the section.

Item syntax:
102/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

NC.Chan.ProgramWindow,(1),(2),(3)
1. channel number
2. Window size (number of blocks in the result, 200 max.)
3. Desired number of preceding blocks (10 max.)
Access:
Read: yes (from 14V20)
Subscription: yes
Example:
NC.Chan.ProgramWindow,1,10,2
Provides 10 lines max. The two preceding lines are empty line if they are not
available.
Return

N10 X10 Y10 Z10 String Program line -2


N20 X20 Y10 Z10 String Program line -1
N30 X30 Y10 Z10 String Active program line
N40 X40 Y10 Z10 String Program line +1

10.10.6 NC.Chan.ActCallChain
Provides the current subroutine nesting

Program name with path, file position and block number are provi‐
ded each. The subroutine nesting is provided relatively to the ac‐
tive block.

Item syntax:
NC.Chan.ActCallChain,(1)[,(2)]
1. channel number
2. Selector: 1: Block number; 2: Program name with path; 3: File position
Without specifying the selector, an array of type CallChainDataType is read.
Selector reads an array containing only selected data (e.g. block numbers).
Access:
Read: yes (from 14V20)
Subscription: yes
Example:
NC.Chan.ActCallChain,1
The following data structure is provided for each level of the call chain of the
channel:
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 103/137
IndraWorks OPC UA Communication

CNC items

Data call-chain level 1 (main program)

N100 String BlockNo Block number


Program name with
/mnt/MyHp String ProgramName
path
84 Int32 FilePosition File position

Tab. 10-9: Data call-chain level 1 (main program)


Data call-chain level 2 (subroutine)

N50 String BlockNo Block number


Program name with
/mnt/MyUp1 String ProgramName
path
51 Int32 FilePosition File position

Tab. 10-10: Data call-chain level 2 (subroutine)


NC.Chan.ActCallChain,1,1
The following data block number is provided for each level of the call chain of
the channel:
Return

Block number of main pro‐


N100 String
gram
N50 String Block number of subroutine

10.10.7 NC.Chan.ProgramPosition
Provides the current program position
Included are program name with path, file position and block number.

If an error occurred in the channel, the program position, at which


the error occurred, is provided.

Item syntax:
NC.Chan.ProgramPosition,(1)[,(2)]
1. channel number
2. Selector:
“BlockNo“: Block number
“ProgramName“: Program name with path
“FilePosition“: File position
Without specifying the selector, a structure of type CallChainDataType is
read.
Access:
Read: yes
Subscription: yes
Example:
NC.Chan.ProgramPosition,1
104/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

Return

N100 String BlockNo Block number


Program name with
/mnt/MyHp String ProgramName
path
84 Int32 FilePosition File position

NC.Chan.ActCallChain,1,BlockNo
Return

N50 String Block number

10.10.8 NC.Chan.ActSubProgram
Provides the name of the current subroutine

The result comprises the name and the path of the subroutine.
With read-protected subroutines and cycles, the name of the call‐
ing program is provided.

Item syntax:
NC.Chan.ActSubProgram,(1)
1. channel number
Access:
Read: yes (from 14V20)
Subscription: yes
Example:
NC.Chan.ActSubProgram,1
Return

Name and path of the sub‐


/usr/user/sub01.cnc String
routine

10.10.9 NC.Chan.ActSubProgramVersion
Provides a version number used to detect changes in the current subroutine
Item syntax:
NC.Chan.ActSubProgramVersion,(1)
1. channel number
Access:
Read: yes (from 14V20)
Subscription: yes
Example:
NC.Chan.ActSubProgramVersion,1
Return

38 Int32 Version number


DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 105/137
IndraWorks OPC UA Communication

CNC items

10.10.10 NC.Chan.ActMainProgram
Provides the name and the path of the main program
Item syntax:
NC.Chan.ActMainProgram,(1)
1 channel number
Access:
Read: yes
Subscription: yes
Example:
NC.Chan.ActMainProgram,1
Return

Name and path of the main


/usr/user/sect.cnc String
program

10.10.11 NC.Chan.AxisPosAcs
Provides the current axis positions with regard to the axis coordinate system
Item syntax:
NC.Chan.AxisPosAcs,(1)[,(2)]
1. channel number
2. Selector:
1: Position
2: Name
3: Number
4: Unit
5: Channel
6: InPosition
7: KnowReferencePoint
8: DiameterProgActive
Without specifying the selector, an array of type AxisPositionDataType is
read.
Selector reads an array containing only selected data (e.g. position values).
Access:
Read: yes
Subscription: yes
Example:
NC.Chan.AxisPosAcs,1
The following data structure is provided for each axis and coordinate:
106/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

Data axis/coordinate 1

0 Double Position Position value


Name of the axis or
X String Name
coordinate
System axis num‐
1 Int32 Number ber or coordinate
number
MearsuringUnitE‐
Metric Unit Measuring unit
num
Channel assign‐
1 Int32 Channel
ment
true Boolean InPosition Axis in position
KnowReference‐ Reference point
true Boolean
Point known
DiameterProgAc‐ Diameter program‐
false Boolean
tive ming

Tab. 10-11: Data axis/coordinate 1


Data axis/coordinate 2

0 Double Position Position value


Name of the axis or
Y String Name
coordinate
System axis num‐
2 Int32 Number ber or coordinate
number
MearsuringUnitE‐
Metric Unit Measuring unit
num
Channel assign‐
1 Int32 Channel
ment
true Boolean InPosition Axis in position
KnowReference‐ Reference point
true Boolean
Point known
DiameterProgAc‐ Diameter program‐
false Boolean
tive ming

Tab. 10-12: Data axis/coordinate 2


NC.Chan.AxisPosAcs,1,1
The position values are provided for each axis and coordinate:
Return

Position value, axis


0 Double Position
1
Position value, axis
0 Double Position
2
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 107/137
IndraWorks OPC UA Communication

CNC items

10.10.12 NC.Chan.AxisPosAcsCoupl
Provides the current axis positions with respect to the axis coordinate system
at system axis coupling

10.10.13 NC.Chan.AxisPosAcsDrv
Provides the current actual axis positions with respect to the axis coordinate
system
The positions are directly provided from the drive data.

10.10.14 NC.Chan.AxisPosDistAcs
NC.Chan.AxisPosDistAcs provides the distance to go with respect to the axis
coordinate system

10.10.15 NC.Chan.AxisPosLag
Provides the lag of axes

10.10.16 NC.Chan.AxisPosWcs
Provides the current axis positions with respect to the workpiece coordinate
system of the axes

10.10.17 NC.Chan.AxisPosDistWcs
Provides the distance to go with respect to the workpiece coordinate system

10.10.18 NC.Chan.AxisPosEndWcs
Provides the axis end positions with respect to the workpiece coordinate sys‐
tem
The positions comprise corrections active to the programmed end value.

10.10.19 NC.Chan.AxisPosWcsDrv
Provides the actual Cartesian axis positions with respect to the workpiece co‐
ordinate system of the axes

10.10.20 NC.Chan.AxisPosProg
Provides the programmed axis positions.

10.10.21 NC.Chan.AxisPosMcs
Provides the current axis positions with respect to the machine coordinate
system of the axes

10.10.22 NC.Chan.AxisPosDistMcs
Provides the distance to go with respect to the machine coordinate system

10.10.23 NC.Chan.AxisPosBcs
Provides the current axis positions with respect to the basic coordinate sys‐
tem

10.10.24 NC.Chan.AxisPosBcsDrv
Provides the current actual axis positions with respect to the basic coordinate
system
The positions are directly provided from the drive data.
108/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

10.10.25 NC.Chan.ActZeroOffsetSum
Provides the sum of the active zero offset values of all ZO groups for all axes
in the channel
Item syntax:
NC.Chan.ActZeroOffsetSum,(1)[,(2)]
1. channel number
2. Selector:
1: Sum of the offset values
2: Name
3: Number
4: Unit
5: Channel
6: InPosition
7: KnowReferencePoint
8: DiameterProgActive
Without specifying the selector, an array of type AxisPositionDataType is
read.
Selector reads an array containing only selected data (e.g. offset values).
Access:
Read: yes
Subscription: yes

10.10.26 NC.Chan.ActDCorrectionValues
Provides the active D-correction values, i.e. the active values for length and
radius correction, as well as the edge position (orientation)
Item syntax:
NC.Chan.ActDCorrectionValues,(1)
1. channel number
Access:
Read: yes
Subscription: yes
Example:
NC.Chan.ActDCorrectionValues,1

Return

2.65 double Length correction 1


20.5 double Length correction 2
0.109 double Length correction 3
9.04 double Radius correction
0 double Orientation
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 109/137
IndraWorks OPC UA Communication

CNC items

10.10.27 NC.Chan.ActOnlineCorrValue
Provides the active online correction values (WCS) for all axes of the chan‐
nel.
Item syntax:
NC.Chan.ActOnlineCorrValue,,(1)[,(2)]
1. channel number
2. Selector:
“Value” active online correction value
“Name”
“Number”
“Unit”
“Channel”
“InPosition”
“KnowReferencePoint”
“DiameterProgActive”
Without specifying a selector, an array of type CncValueDataType is read.
The selector reads an array containing only selected data (e.g. active online
correction values).
Access:
Read: yes
Subscription: yes

10.10.28 NC.Chan.ActPlacementBcrCorr
Provides the active D-correction values, i.e. the active values for length and
radius correction, as well as the edge position (orientation)

If no workpiece position correction is active, 0 is always returned.

Item syntax:
NC.Chan.ActPlacementBcrCorr,(1)
1. channel number
Access:
Read: yes
Subscription: yes
Example:
NC.Chan. ActPlacementBcrCorr,1
Return

40 double X-offset
70.6 double Y-offset
-5.1 double Z-offset
75 double Phi angle
110/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

45 double Theta angle


35 double Psi angle

10.10.29 NC.Chan.ActPlacementData
Provides the active placement data of five banks with the related three coor‐
dinate values and three angle values

If no placement is active for a bank (plane) anymore, 0 is returned


in each case.

Item syntax:
NC.Chan.ActPlacementData,(1)
1. channel number
Access:
Read: yes
Subscription: yes
Example:
NC.Chan. ActPlacementData,1
Data is only displayed here for one bank.
Return

4 double X-coordinate
0.6 double Y-coordinate
1 double Z-coordinate
75 double Phi angle
45 double Theta angle
35 double Psi angle

10.10.30 NC.Chan.ActPlacementSumData
Provides the active sum values of the placements and the workpiece position
correction

If no placements and no workpiece position correction is active, 0


is returned.

Item syntax:
NC.Chan.ActPlacementSumData,(1)
1. channel number
Access:
Read: yes
Subscription: yes
Example:
NC.Chan.ActPlacementSumData,1
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 111/137
IndraWorks OPC UA Communication

CNC items

Return

25 double X-sum
10.6 double Y-sum
0.0 double Z-sum
45 double Phi angle sum
12 double Theta angle sum
135 double Psi angle sum

10.10.31 NC.Chan.ActToolCorrectionValues
Provides the active tool correction values

The values for length correction and radius correction are provi‐
ded as well as edge position, Euler angle (orientation in space)
and edge number.

Item syntax:
NC.Chan.ActToolCorrectionValues,(1)
1. channel number
Access:
Read: yes
Subscription: yes
Example:
NC.Chan.ActToolCorrectionValues,1
Return

2.65 double Length correction 1


20.5 double Length correction 2
0.109 double Length correction 3
9.04 double Radius correction
0.0 double Orientation
0.0 double Phi
0.0 double Theta
0.0 double Psi
4.0 double Edge number

10.10.32 NC.Chan.ActAxisOffsetTable
Provides the name and the path of the active axis offset table
Item syntax:
NC.Chan.ActAxisOffsetTable,(1)
1. channel number
Access:
Read: yes
112/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

Subscription: yes
Example:
NC.Chan.ActAxisOffsetTable,1
Return

/database/sample.aot String Name and path of the table

10.10.33 NC.Chan.ActDCorrectionNmb
Provides the active D-correction number
Item syntax:
NC.Chan.ActDCorrectionNmb,(1)
Return

2 int Active D-correction number

10.10.34 NC.Chan.ActDCorrectionTable
Provides the name and path of the active D-correction table
Item syntax:
NC.Chan.ActDCorrectionTable,(1)
1. channel number
Access:
Read: yes
Subscription:
Example:
NC.Chan.ActDCorrectionTable,1
Return

/database/sample.dct String Name and path of the table

10.10.35 NC.Chan.ActPlacementTable
Provides name and path of the active placement table
Item syntax:
NC.Chan.ActPlacementTable,(1)
1. channel number
Access:
Read: yes
Subscription: yes
Example:
NC.Chan.ActPlacementTable,1
Return

/database/sample.pmt String Name and path of the table


DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 113/137
IndraWorks OPC UA Communication

CNC items

10.10.36 NC.Chan.ActFeedOverride
Provides the current value of the feed override in percent
Item syntax:
NC.Chan.ActFeedOverride,(1)
1. channel number
Access:
Read: yes
Subscription: yes
Example:
NC.Chan.ActFeedOverride,1
Return

85 double Active value in percent

10.10.37 NC.Chan.ActFeedrate
Provides the current feed value as three path feed values
For each feed value, the respectively active override is considered:
1. External command interpolator velocity:
This is specified for the interpolator (programmed feed)
2. Actual interpolator velocity:
Current path velocity
3. Internal command interpolator velocity:
This can be changed - compared to path feed 1 - by an application
(such as the FeedAdapt function). During feed programming in mm/rev
(G95), it provides the path feed in mm/min for example.
Item syntax:
NC.Chan.ActFeedrate,(1)
1. channel number
Access:
Read: yes
Velocity is specified in mm/min.
Subscription: yes
Example:
NC.Chan.ActFeedrate,1
Return

External command interpo‐


85 double
lator velocity
85 double Actual interpolator velocity
Internal command interpo‐
85 double
lator velocity
114/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

10.10.38 NC.Chan.ProgrammedFeedrate
Provides the programmed feed values F1 and F2

If the F2 values is unknown to the NC kernel software, it only re‐


turns the F1 value. In this case, the F2 value is "0".

Item syntax:
NC.Chan.ProgrammedFeedrate,(1)
1. channel number
Access:
Read: yes
Subscription: yes
Example:
NC.Chan.ActFeedrate,1
Return

150 double Programmed feed value F1


200 double Programmed feed value F2

10.10.39 NC.Chan.TestMode
Provides the current setting of channel inhibit or changes the total channel in‐
hibit
False = “Channel inhibit” inactive
True = “Channel inhibit” active

Currently, the NC kernel only supports a global complete inhibit


effective across all channels. Thus, the value of the
"NC.Chan.TestMode" item corresponds to that of the "NC.Test‐
Mode".

Item syntax:
NC.Chan.TestMode,(1)
1. channel number
Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.Chan.TestMode,1
Return

false boolean Status of channel inhibit


DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 115/137
IndraWorks OPC UA Communication

CNC items

10.10.40 NC.Chan.TestFeed
Provides the current setting of the test feed or changes this setting for the re‐
spective channel
False = “Test feed” inactive
TRUE = “Test feed” active
Item syntax:
NC.Chan.TestFeed,(1)
1. channel number
Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.Chan.TestFeed,1
Return

false boolean Setting the test feed

10.10.41 NC.Chan.TestRapidTraverse
Provides the current setting of the test rapid traverse or changes this setting
for the respective channel
False = “Test rapid traverse” inactive
True = “Test rapid” traverse active
Item syntax:
NC.Chan.TestRapidTraverse,(1)
1. channel number
Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.Chan.TestRapidTraverse,1
Return

Setting the test rapid tra‐


false boolean
verse

10.10.42 NC.Chan.SkipBlock
Provides the current setting of "Skip block" or changes this setting for the re‐
spective channel
False = “Skip block” inactive
True = “Skip block” active
Item syntax:
116/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

NC.Chan.SkipBlock,(1)
1. channel number
Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.Chan.SkipBlock,1
Return

false boolean Setting "Skip block"

10.10.43 NC.Chan.OptionalStop
Provides the current setting of "Optional stop" or changes this setting for the
respective channel
False = “Optional stop” inactive
True = “Optional stop” active
Item syntax:
NC.Chan.OptionalStop,(1)
1. channel number
Access:
Read: yes
Write: yes
Subscription: yes
Example:
NC.Chan.OptionalStop,1
Return

false boolean Setting “Optional stop”

10.10.44 NC.Chan.ReentryChain (ab 14V22)


With this item, the re-entry mark saved in the current channel for "Continuing
program with block pre-run after program abort" (see NC function RCB) can
be read or set again.
Provides the item when reading a null string, no re-entry mark is available.
To delete a re-entry mark, a null string is written.
Item syntax:
NC.Chan.ReentryChain,(1)
1. channel number
Access:
Read: yes
Write: yes
Subscription: yes
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 117/137
IndraWorks OPC UA Communication

CNC items

Example:
NC.Chan. ReentryChain,1
Return

<CallChain Version="1.0"> Re-entry mark


String
<Prog Level="1">... in XML syntax

10.11 Tables based on databases


10.11.1 NC.DbTableDataRec
Data access in a data set

Only single values can be accessed.

Item syntax:
NC.DbTableDataRec,(1),(2),(3)
1. Element path (in Xpath syntax)
2. Key1 (e.g. sector)
3. Key2 (e.g. place)
Access:
Read: yes
Write: yes
Subscription: no
Example:
NC.DbTableDataRec,/DBT1/Rec/Hd/SKQ,1,1
Return

ABC String Value of SKQ

NC.DbTableDataRec,/DBT1/Rec/Hd/IKQ1,1,1
Return

0 Integer Value of IKQ1

10.11.2 NC.DbTableEvent
Reports write access to a DB table, to a substructure or to a data block of the
table

If only the first parameter is specified, write access to the com‐


plete table is reported.
If the second parameter is specified, monitoring a sector is possi‐
ble for example.
If the third parameter is specified as well, only write accesses to a
data block are monitored.

A continuous reporting cannot be guaranteed while writing. Thus, it is neces‐


sary to check the included version number on the client side. If the version
118/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

numbers are consecutive, reporting is continuous. Otherwise, not all write ac‐
cesses are recorded and the DB table has to be read again.
Item syntax:
NC.DbTableEvent,(1),(2),(3)
1. Element path (in Xpath syntax)
2. Key1 (optional)
3. Key2 (optional)
Access:
Read: no
Write: no
Subscription: Only suitable for (data) subscription
Example:
NC.DbTableEvent,/DBT1
Return

Version number of the last


0 int
changed data block
1 int Key1 (e.g. sector)
2 int Key2 (e.g. place)

10.11.3 NC.DbTableQuery
Searching for data blocks according to a preset search criterion. The search
criterion is indicated via parameters upon item instancing.
Search condition as list: Refer to the manual "IndraMotion MTX 14VRS OPC
Communication".
Item syntax:
NC.DbTableQuery,(1),…(n)
1. Root tag
2… n. Search condition as list
Access:
Read: Provides a list of all data blocks meeting the search condition.
For each data block, the string identifier of the NodeId is provided.
The namespace index of the node ID is 27.
Subscription: no
Example:
Search all data blocks with (K1=1) and (IKQ2=3)
NC.DbTableQuery,/DBT1,K1=1,IKQ2=3
Return

NC.DbTableDataRec,/
String 1. Found data set
DBT1/Rec,1,1
NC.DbTableDataRec,/
String 2. Found data set
DBT1/Rec,1,2
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 119/137
IndraWorks OPC UA Communication

CNC items

10.12 File-based tables (from 14V22)


The file-based tables are contained in the file system of the control and can
be accessed via the folder structure below the "Filesystem" node.
To differentiate between a file-based table or a regular file, the reference
"HasTypeDefinition" can be used:
AutomationFileTableType: File-based table

NamespaceIndex 29
IdentifierType Numeric
Identifier 70935

AutomationFileType: Regular file

File-based tables have a "FileTable" object.


Via the "HasTypeDefinition" reference, the table type can be established.
DctFileTableType: D-correction table

NamespaceIndex 29
IdentifierType Numeric
Identifier: 70942

ZotFileTableType: Zero point offset table

NamespaceIndex 29
IdentifierType Numeric
Identifier 70944

PmtFileTableType: Placement table

NamespaceIndex 29
IdentifierType Numeric
Identifier 70948

In case of file-based tables, the standard methods for read and


write access to files must not be used (Open, Close, Read,
Write). Use NC.FileTable variable instead.

10.12.1 NC.FileTable variable


Read and write access to a file-based tables.
File-based tables are zero offset tables, D-correction tables and placement
tables. When creating the item, the table to be accessed is specified. Further‐
more, the node in the table is identified.
Note:
Currently, only single values can be accessed.
Data changes can be tracked via events of the FileTable objects.
Item syntax:
NC.FileTable,(1),(2)
120/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

1. Table name (complete path, file name)


2. Nodes in the table
Access:
Read: yes
Write: yes
Subscription: no
Example:
NC.FileTable,/database/DC1.dct,/DCT/D/SD/L1
Return

10 double Value of L1

10.12.2 NC.FileTable object


Data changes of the FileTable can be tracked via the object events.
Note:
By default, the "EventNotifier" attribute is pre-assigned with none. To sub‐
scribe to object events, set the attribute to "SubscribetoEvents" using the
"SetEvenNotifier" method.
Item syntax:
NC.FileTable,(1)
1. Table name (complete path, file name)
Example:
NC.FileTable,/database/DC1.dct
Events:
AutomationDataChangeEventType
Provides event with data change

NamespaceIndex: 29
IdentifierType: Numeric
Identifier: 70960
AffectedNode
EventField:
NodeId of the changed node of FileTable

AutomationDeviceFailureEventType
Provides error for event handling

NamespaceIndex: 29
IdentifierType: Numeric
Identifier: 70970
NamespaceUri - Error class
EventField:
SymbolicId - Error number
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 121/137
IndraWorks OPC UA Communication

CNC items

10.12.3 AddSet method


Using the AddSet method, a new data set can be added at the end of a table.
NodeId of the object

NamespaceIndex: 27
IdentifierType: String
Syntax: NC.FileTable,(1)
Identifier: 1. Table name (complete path, file name)
Example: NC.FileTable,/database/DC1.dct

NodeId of method

NamespaceIndex: 29
IdentifierType: String
Identifier: NC.FileTable.AddSet

Syntax:
AddSet (
);

10.12.4 Methode DeleteSet


The DeleteSet method deletes the last data set of a table.

NodeId of the object

NamespaceIndex: 27
IdentifierType: String
Identifier: Syntax: NC.FileTable,(1)
1. Table name (complete path, file name)
Example: NC.FileTable,/database/DC1.dct

NodeId of method

NamespaceIndex: 29
IdentifierType: String
Identifier: NC.FileTable.DeleteSet

Syntax:
DeleteSet (
);

10.12.5 Methode InsertAxis


The InsertAxis method inserts a new axis in a zero offset table.

NodeId of the object

NamespaceIndex: 27
IdentifierType: String
122/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

Identifier: Syntax: NC.FileTable,(1)


1. Table name (complete path, file name)
Example: NC.FileTable,/database/ZO1.zot

NodeId of method

NamespaceIndex: 29
IdentifierType: String
Identifier: NC.FileTable.InsertAxis

Syntax
InsertAxis (
[in] UInt32 Index
[in] UInt32 Chan
[in] String Name
[in] String Type
);
Index:
Position in the table at which the axis is to be inserted (the first axis has index
1).
If the index is larger than the current number of axes in the table, the axis is
added at the end.
Chan:
Channel assignment of axis (0 means no channel assignment)
Name:
Identifier of the axis
Type:
Type of axis (Lin: Linear axis; red: Rotary axis)

10.12.6 Methode DeleteAxis


The DeleteAxis method deletes an axis in a zero point offset table.

NodeId of the object

NamespaceIndex: 27
IdentifierType: String
Identifier: Syntax: NC.FileTable,(1)
1. Table name (complete path, file name)
Example: NC.FileTable,/database/ZO1.zot

NodeId of method

NamespaceIndex: 29
IdentifierType: String
Identifier: NC.FileTable.DeleteAxis

Syntax
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 123/137
IndraWorks OPC UA Communication

CNC items

DeleteAxis (
[in] UInt32 Index
);
Index:
Position in the table at which the axis is to be deleted (the first axis has index
1).

10.12.7 Methode SetEventNotifier


The SetEventNotifier method sets the EventNotifier attribute of the FileTable.
Only if this attribute is set, the clients can subscribe for events of the FileTa‐
ble.

NodeId of the object

NamespaceIndex: 27
IdentifierType: String
Identifier: Syntax: NC.FileTable,(1)
1. Table name (complete path, file name)
Example: NC.FileTable,/database/ZO1.zot

NodeId of method

NamespaceIndex: 29
IdentifierType: String
Identifier: NC.FileTable.SetEventNotifier

Syntax
SetEventNotifier (
[in] Byte EventNotifier
);
EventNotifier
0: None
1: SubscibeToEvents

10.12.8 Methode CreateFileTable


Use the CreateFileTable method to create a new FileTable.

NodeId of the object

NamespaceIndex: 26
IdentifierType: String
Identifier: DirectoryPath (e.g. "/database")
124/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

CNC items

NodeId of method

NamespaceIndex: 29
IdentifierType: String
Identifier: NC.FileTable.Create

Syntax
CreateFileTable (
[in] NodeId TypeDefNodeId
[in] String Name
[in] String Template
[in] Int32 Channel
[out] NodeId FileTableNodeId
);
TypeDefNodeId:
NodeId of the table type
DctFileTableType: Type D-correction table

NamespaceIndex: 29
IdentifierType: Numeric
Identifier: 70942

ZotFileTableType: Type zero point offset table

NamespaceIndex: 29
IdentifierType: Numeric
Identifier: 70944

PmtFileTableType: Type Placement table

NamespaceIndex: 29
IdentifierType: Numeric
Identifier: 70948

Name:
File name of the new table (without path)
If no file extension is specified, it is added according to the table type.
Template:
Template for the table incl. path (optional)
Empty string: do not use template
Channel:
Channel number (optional)
Only for zero offset table
Specifies which axes are to be created:
>=1: all channel axes of the channel
-1: All system axes (default)
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 125/137
IndraWorks OPC UA Communication

CNC items

FileTableNodeId:
This output parameter returns the NodeID of the newly created table.
126/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 127/137
IndraWorks OPC UA Communication

OPC UA client - Function blocks

11 OPC UA client - Function blocks


General information In the PLCopen and OPC UA working group, function blocks were specified
based on the IEC61131-3. These function blocks provide the functionality of
an OPC UA client.
Thus, it is possible to connect to one or multiple OPC UA servers on the con‐
trol side to read or write variable values for example.
As communication partner, the OPC UA server can be a PC or a control.

Communication via OPC UA is not deterministic.

For more information on the OPC UA, go to http://www.opcfoundation.org/.


The PLC function blocks described here are provided with the IndraWorks in‐
stallation as of 14V18 via the RIL_OpcUaClient library. This installation is ex‐
tended by further PLC function blocks in the following IndraWorks releases.
This library also documents all provided function blocks.
To determine the properties of the nodes required as input parameters for the
client function blocks, using the OPC UA test client is recommended. It is pro‐
vided in the IndraWorks installation:

Fig. 11-1: UA test client

11.1 Programming examples


Simple programming examples are contained in the RIL_OpcUaClient library.
128/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 129/137
IndraWorks OPC UA Communication

OPC UA server - Library function blocks

12 OPC UA server - Library function blocks


General information The functionality of the Bosch Rexroth OPC-UA server can be extended via
the PLC library function blocks. The RIL_OpcUaServer library is included in
the IndraWorks installation from version 14V22. This installation is extended
by further PLC function blocks in the following IndraWorks releases. This li‐
brary documents all provided function blocks.
130/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 131/137
IndraWorks OPC UA Communication

Drive data

13 Drive data
13.1 General information
The “Sercos” object contains all Sercos devices connected in the systems
XLC/MLC and MTX. These are connected to the “Sercos” object via “Has‐
Component” references. The Sercos profiles and parameters of the respec‐
tive Sercos device are mapped below the Sercos devices according to the
"OPC Unified Architecture for Sercos Devices Companion Specification". All
instances of the mapped objects and variables are located in the namespace
"http://boschrexroth.com/OpcUa/Sercos/Objects/". The following figure shows
an exemplary OPC UA address space with drive data. The right section of
the figure shows the information read on the Sercos parameter S-0-0138.

Fig. 13-1: Exemplary OPC UA address space with drive data

13.2 Application
The Sercos parameters allow read access (read service) and write access
(write service). Additionally, they can be added to a subscription as monitored
item. A limited number of parameters is specified. This limitation depends on
the sampling interval used. This relation is shown in the following table. It
shows for example that five parameters are used as monitored items in a
sampling interval of 50 ms for a subscription. At the same time, five more pa‐
rameters can be added in a sampling interval of 100 ms. This also applies to
the other sampling intervals shown in the table.

Sampling interval 50 100 250 500 1,000 2,500 5,000


[ms]
Max. number of pa‐ 5 5 10 50 100 250 500
rameters

Furthermore, Sercos command parameters are provided as methods without


parameters in the OPC UA address space. They can be called and executed
via the call service.
132/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 133/137
IndraWorks OPC UA Communication

Service and support

14 Service and support


Our worldwide service network provides an optimized and efficient support.
Our experts offer you advice and assistance should you have any queries.
You can contact us 24/7.
Service Germany Our technology-oriented Competence Center in Lohr, Germany, is responsi‐
ble for all your service-related queries for electric drive and controls.
Contact the Service Hotline and Service Helpdesk under:

Phone: +49 9352 40 5060


Fax: +49 9352 18 4941
E-mail: service.svc@boschrexroth.de
Internet: http://www.boschrexroth.com

Additional information on service, repair (e.g. delivery addresses) and training


can be found on our internet sites.
Service worldwide Outside Germany, please contact your local service office first. For hotline
numbers, refer to the sales office addresses on the internet.
Preparing information To be able to help you more quickly and efficiently, please have the following
information ready:
● Detailed description of malfunction and circumstances
● Type plate specifications of the affected products, in particular type co‐
des and serial numbers
● Your contact data (phone and fax number as well as your e-mail ad‐
dress)
134/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 135/137
IndraWorks OPC UA Communication

Index

Index
A Helpdesk........................................................... 133
About this documentation..................................... 7 Hotline............................................................... 133
Information representation............................. 10
Validity of the documentation........................... 7 I
ANSI Z535.6-2006.............................................. 10 Important instructions on use.............................. 13
AutomationConditionType................................... 52 Intended use.................................................. 13
AutomationDiscreteAlarmType........................... 53 Intended use
AutomationErrorType.......................................... 53 Areas of use and application.......................... 13
AutomationWarningType.................................... 53 Introduction.................................................... 13
Introducing the OPC Unified Architecture
B General information....................................... 15
BaseEventType................................................... 56 OPC UA information model............................ 16
Overview on specifications............................ 15
C Service-oriented architecture......................... 16
CML65................................................................ 65
CNC items O
General information....................................... 77 Object description......................................... 57, 64
Type description............................................. 77 Example CML65............................................ 65
Complaints.......................................................... 12 Example HardwareComponentSet................ 65
ComponentType................................................. 62 Example SoftwareComponentSet.................. 64
ConditionType..................................................... 54 General information....................................... 64
Configuration by the client.................................. 25 OPC UA
Configuration of the OPC UA server of the Introduction in the OPC Unified Architec‐
MTX..................................................................... 22 ture................................................................. 15
Configuration of the OPC UA server of the OPC UA communication example................. 39
XLC/MLC............................................................ 23 Properties of the OPC UA server................... 21
Criticism.............................................................. 12 Server of XLC/MLC and MTX........................ 47
Customer Feedback............................................ 12 The Bosch Rexroth OPC UA server.............. 21
OPC UA communication example
D Establish a connection................................... 40
DiagnosisLogbook.............................................. 51 Introduction.................................................... 39
General information....................................... 51 Subscribe....................................................... 43
Type description............................................. 51 UaExpert........................................................ 39
Discovery............................................................ 47 Write............................................................... 46
General information....................................... 47 OPC UA communication sample
Discovery server................................................. 47 Prerequisites.................................................. 39
DiscreteAlarmType............................................. 54 OPC UA Communication sample
Documentation: Browse........................................................... 42
Record of revision............................................ 7 OPC UA server of XLC/MLC and MTX............... 47

E R
Example CML65................................................. 65 RexrothDeviceType............................................ 60
Example HardwareComponentSet..................... 65 RIL_OpcUaClient.library........................... 127, 129
Example SoftwareComponentSet....................... 64 RIL_OpcUaServer.library.................................. 129

F S
Feedback............................................................ 12 Safety instructions............................................... 10
File system Security configuration......................................... 24
General information....................................... 67 Server address spaces
Available namespaces................................... 26
H Available test nodes....................................... 38
General information....................................... 26
HardwareComponentSet.................................... 65
Server address space.................................... 28
HardwareComponentType.................................. 63
The address space in the XLC/MLC sys‐
Hazard warnings................................................. 10
tem................................................................. 29
136/137 Bosch Rexroth AG DOK-IWORKS-OPC*UA*****-AP04-EN-P
IndraWorks OPC UA Communication

Index

Service hotline.................................................. 133


Signal alert symbol.............................................. 10
Signal words....................................................... 10
SoftwareComponentSet...................................... 64
SoftwareComponentType................................... 63
Suggestions........................................................ 12
Support............................................................. 133
Symbols.............................................................. 12

T
The Bosch Rexroth OPC UA server
Configuration by the client............................. 25
Configuration of the OPC UA server of
the MTX......................................................... 22
Configuration of the OPC UA server of
the XLC/MLC................................................. 23
General information....................................... 21
Properties of the Bosch Rexroth OPC UA
server............................................................. 21
Security configuration.................................... 24
Server address spaces.................................. 26
Tool description
Overview.................................................. 51, 59
Type description............................................ 51, 59
AutomationConditionType.............................. 52
AutomationDiscreteAlarmType...................... 53
AutomationErrorType..................................... 53
AutomationWarningType............................... 53
BaseEventType.............................................. 56
ComponentType............................................ 62
ConditionType................................................ 54
DiscreteAlarmType........................................ 54
HardwareComponentType............................. 63
RexrothDeviceType....................................... 60
SoftwareComponentType.............................. 63
Type plate........................................................... 59
General information....................................... 59
Typeplate
Type description............................................. 59

U
Unintended use
Consequences, non-liability........................... 13
Introduction.................................................... 13

W
Warnings............................................................. 10
DOK-IWORKS-OPC*UA*****-AP04-EN-P Bosch Rexroth AG 137/137
IndraWorks OPC UA Communication

Notes
Bosch Rexroth AG
Electric Drives and Controls
P.O. Box 13 57
97803 Lohr, Germany
Bgm.-Dr.-Nebel-Str. 2
97816 Lohr, Germany
Phone +49 9352 18 0
Fax +49 9352 18 8400
www.boschrexroth.com/electrics

*R911379309*
R911379309

DOK-IWORKS-OPC*UA*****-AP04-EN-P

Potrebbero piacerti anche