0% found this document useful (0 votes)
14 views48 pages

Yaskawa OPC UA Server: Installation Manual

The document is an installation manual for the Yaskawa OPC UA Server, detailing its setup, functionalities, and requirements for various controllers. It outlines the advantages of using OPC UA for industrial automation, including security, scalability, and compatibility with Industry 4.0. The manual also includes sections on server configuration, connection protocols, and maintenance data access.

Uploaded by

rogelioperezmart
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views48 pages

Yaskawa OPC UA Server: Installation Manual

The document is an installation manual for the Yaskawa OPC UA Server, detailing its setup, functionalities, and requirements for various controllers. It outlines the advantages of using OPC UA for industrial automation, including security, scalability, and compatibility with Industry 4.0. The manual also includes sections on server configuration, connection protocols, and maintenance data access.

Uploaded by

rogelioperezmart
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 48

Variable "Auftragsnummer" not defined.

ROBOTICS

Yaskawa OPC UA Server


V 1.0

Installation Manual

189623-1CD
1
Created on: 2019-11
Revision: 02
Document number: E1102000291GB02 Author: DD\WOE

Modifications made:
Rev. 01: Revised version of the original OPC UA Server Manual
Rev. 02: Revision of the chapters 3 "OPC UA Server setup" and 6.3 "Introduction to the
OPCUA Config Editor"

© Copyright 2019
This documentation (or parts of it) must not be reproduced or made available to third parties without
the express approval of YASKAWA Europe "Robotics Division GmbH”.
We have checked the content of this publication for compatibility with the hardware described.
Nevertheless, discrepancies cannot be ruled out. Therefore, we cannot guarantee full compliance.
However, the information given in this publication is checked regularly and any necessary corrections
will be made in subsequent editions.
Subject to technical modifications.
Table of contents

Table of contents

1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Implementation details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 OPC UA Server setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6


3.1 Install OPC UA server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.1.2 Load the OPCUA.out application file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1.3 Server certificate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2 Licensing OPC UA server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.1 Checking for a valid license . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.2 Request a license file from Yaskawa Europe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.3 License activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4 Connecting OPC UA Server on port 16448 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5 OPC UA Address space / Information model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


5.1 General overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.1 MotionDevices and controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.1.2 ProzessData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1.3 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.2 NodeSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

6 Configuration file OPCCONFIG.JBI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27


6.1 Configuration default setting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.2 Basic structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.2.1 AppSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6.2.2 VendorSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.3 Introduction to the OPCUA Config Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.3.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.3.2 App settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.3.3 Editing ProcessData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3.4 Editing DeviceInfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.3.5 Editing SystemInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6.4 Information for manual editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

7 Secured connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.1 Encrypted connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.1.1 Preparing certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.2 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
7.2.1 Files to add user settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

8 Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.1 Third party licenses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.1.1 OPC UA Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
8.1.2 OPCUA Config Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

9 Imprint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3
Introduction

1 Introduction
OPC Unified Architecture (OPC UA) is a machine to machine communication protocol for
industrial automation developed by the OPC Foundation. It has already become the de
facto standard for the automation market and Industry 4.0.
Advantages of OPC UA:
• Platform independence and scalability Ensures the seamless flow of information among
devices from multiple vendors.
• Robust security Authentication and encryption capabilities for data protection.
• A sophisticated information model Defines any model from simple to complex.
Yaskawa’s OPC UA server is an optional function which extends the controller by the OPC
UA communication protocol to get it ready for industry 4.0. The information model used
implements the VDMA’s Robotics companion specification 1.0, which was created by the
VDMA Robotics Initiative. This is a working group within VDMA robotics where Yaskawa
was also actively involved alongside other robotics vendors.
Yaskawa’s OPC UA server provides the following functionalities and advantages:

• Server runs on the controller using its standard ethernet interface (no additional
hardware is required).
• Implements basic OPC UA functionalities (Encryption, Authentication, Subscriptions,
Methods,...).
• Structured view of the robot system.
• Read, write access to robot data (Variables, IO’s).
• Access to maintenance data.
• Information model can be expanded by custom data.
• Methods for remote control of the robot (Servo, JobStart, …).
For connecting the server Unified Automations UAExpert is used as the client throughout
this document.

1 -4
Implementation details

2 Implementation details
Property Value
Supported controllers DX200
YRC1000
YRC1000m
Max number of sessions 2
Max subscriptions per session 5
Max monitored items per session 600
Minimum Sampling Interval for process data/ 250 / 1000 ms
other data
Supported security modes None
Basic128Rsa15
Basic256
Protocol Binary protocol
opc.tcp://<IPServer>:16448
Port 16448
Number of endpoints 1
Access to variables B,I,R,D,S (r,w)
Access to IOs All IOs (r)
General Outputs (w)
Network Inputs (w)
Companion spec VDMA Robotics companion specifica-
tion version V1.0

2 -5
OPC UA Server setup

3 OPC UA Server setup


This chapter describes the installation of the OPC UA Server. Normally the controller is
already delivered with the OPC UA function activated. In this case this chapter can be
skipped.

3.1 Install OPC UA server

3.1.1 Requirements

• DX200 (Software >= DN2.14.01)


• YRC1000 or YRC1000 micro
• Activated MotoPlus Runtime
• Valid license
• FTP function
– Standard setting (Encrypted FTP is not supported)
– Additional parameters/settings
RS005=1
RS007=2
RS029=1
IO=>Pseudo Input Signal=>Command Remote=ON
– If using password protection function the standard administrator password must not
be changed
– The standard password for maintenance mode must not be changed in order to
read maintenance data correctly

The following system versions support any FTP setting

3 -6
OPC UA Server setup

• YRC1000 with software >= 2.60.10. Set S2C1402 = 3


• YRC1000 micro with software >= 2.10.00. Set S2C1402 = 3

3.1.2 Load the OPCUA.out application file

Start the controller in Maintenance mode


• Holding Main Menu key during startup
Then set the security mode to Management mode.
Copy the OPCUA.out file to the root folder of a CompactFlash/SD card or USB stick and
attach it to the Programming Pendant. Then follow installation procedure given below:
1. Select the main menu “MotoPlus APL.”.
2. Select the right device to load the application from

3. Select Load (User Application)

3 -7
OPC UA Server setup

4. Move the cursor and press [SELECT]. Then, the selection indicator appears on the left
of the OPCUA.out file

5. Press [ENTER], then the following confirmation box appears. To load the file, select
“YES”. If the OPCUA.out file is already available to the controller the “Overwrite
confirmation box” ap-pears. Select YES to overwrite the existing file.

3.1.3 Server certificate

By default, the server creates his own certificate which is used for the connection with
clients. The certificate is stored inside an inform job on the pendant (OPCCERT.JBI) or on
a connected USB storage device (pki/own/). For configuration of the storage path see
"CertStore Tag" in the configuration file.
A new certificate is automatically created when no certificate is found in the defined
location.

NOTICE
Please note that controller time provides the start time of the certificate. In case the
controller time is set to a wrong time a connection might not be possible
(BadCertificateTimeInvalid). The certificate is valid for ten years.

3 -8
OPC UA Server setup

3.2 Licensing OPC UA server

3.2.1 Checking for a valid license

If you already have installed the OPC UA Server, the license state can be checked using
the following procedure:
1. Connect to the OPC UA server as shown in Connecting OPC UA server.
2. In the node tree browse to Server.VendorServerInfo and select the LicenseState node.
3. Depending on your license state, the value should be either ‘invalid’ or ‘valid’.
4. If your license is valid you can skip this chapter. Otherwise the license must be
requested by Yaskawa and activated.

3 -9
OPC UA Server setup

3.2.2 Request a license file from Yaskawa Europe

Note: (Only if purchased through YASKAWA Europe)


If a license file is already to hand, these steps can be skipped.
On the controller:
• Upgrade security level to Management.
• Touch [System Info] > [Network Service].
• Write down the MAC address displayed on the pendant for the network card.
(In case of YRC1000 use the MAC of the first Network card)

• Send the MAC address along with the purchase information to


[email protected].
You will receive the “MotoPlusApp.lic” file via email.

3 - 10
OPC UA Server setup

3.2.3 License activation

3.2.3.1 DX200/YRC1000
After obtaining a license file follow these steps to activate it on the controller:
• Power off the controller.
• Remove the CF/SD card from the YCP01 board inside the controllers cabinet.
• Place the license file “MotoPlusApp.lic” into the root folder of the CF/SD card.

• Put the CF/SD card back into the YCP01 board on the controller.
• Boot the controller into MAINTENANCE mode by holding down the MAIN MENU button
on the pendant while powering on the controller.
• Upgrade the security level to Management.
• Touch [MotoPlus APL] > [License File] > [Load].

3 - 11
OPC UA Server setup

• Confirm the dialog.


• Perform CPU reset and boot into normal mode.
The OPC UA license is now activated.

3.2.3.2 YRC1000 micro


• Place the license file “MotoPlusApp.lic” onto the root of a usb or sd card.
• Insert the memory card into the teach pendant.
• Boot the controller into normal mode.
• Elevate the security mode to ‘MANAGEMENT’ (9’s).
• Select ‘EX. MEMORY’.
• Ensure the proper device is selected.
• Select ‘LOAD’, ‘USER FILE’.
• Select/load the license file “MotoPlusApp.lic” from the list.

3 - 12
Connecting OPC UA Server on port 16448

4 Connecting OPC UA Server on port 16448


• Open UA Expert and right click on Server->Add.

• Double-click to add a new server.


• Enter the URL of the server. The Port is fixed at 16448. The IP address depends on the
LAN settings of the controller.

4 - 13
Connecting OPC UA Server on port 16448

• Navigate the available server endpoints. Depending on the configuration, secured or


non-secured endpoints are available. For an easy start select None (no encryption).

• Server is added. If not already connected, right-click on the server to connect.

You are now connected to the Yaskawa OPC UA Server.

4 - 14
OPC UA Address space / Information model

5 OPC UA Address space / Information model


The Address Space is based on VDMA’s Robotics Companion Specification. For further
information please check this specification.

5.1 General overview


After successfully installing and activating your OPC UA Server, you will be able to browse
the OPC UA Address Space by using UA Expert.

The root directory should look like this.


Robot data is located in
DeviceSet.MotionDeviceSystem.

A MotionDeviceSystem consists of
one controller and depending on con-
figuration 1..n MotionDevices.

5.1.1 MotionDevices and controllers

Depending on the controller configu-


ration, there can be more than one
MotionDevice that stands for an inde-
pendent motion device according to
the VDMA Robotics spec. In our mod-
el it can be a robot or a single axis
(turntable, …).
In the case of controller, there is al-
ways only one available.

5 - 15
OPC UA Address space / Information model

5.1.2 ProzessData

The process data configurable by the


user can be found under
DeviceSet.Controllers.Control-
ler_1.ProcessData

5.1.3 Methods

Depending on the configuration, a set


of methods to control the robot re-
motely is available at
Controllers.Controller_1.Methods

5 - 16
OPC UA Address space / Information model

5.1.3.1 ExportNodeset
Exports all nodes of the MotionDeviceSystem as a .csv file to a USB device connected to
the internal USB connector.

On DX200 use CN106, left


port
On YRC1000 use CN102
On YRC1000 micro use the
USB port on the front

5.1.3.2 GetAvailableJobs
Provides a list of all available jobs on the controller.

5.1.3.3 Hold
Turns ON/OFF the hold function.

If the hold function is activat-


ed by this method, it can’t be
released from PP.
To release it, call this method
again with the checkbox un-
checked.

5.1.3.4 ResetAlarm
Resets a robot alarm.

5 - 17
OPC UA Address space / Information model

5.1.3.5 ResetError
Resets a robot error.

5.1.3.6 SetJob
Sets the job name and line number to the current job of the master task.

JobName has to exist on the


Controller and JobLine must
be an Integer between 0 and
the job length.

5.1.3.7 SetServo
Turns ON/OFF of the servo power. Controller must be in remote state.

5.1.3.8 StartJob
Starts a job. Controller must be in remote state.

If a JobName is entered the


execution will start at the first
line of the job.
Otherwise the execution of
the current job is continued
from the cur-rent position.

5 - 18
OPC UA Address space / Information model

5.2 NodeSet
The following list provides an overview of the current used address space. Maintenance
data, number of MotionDevices and Axes might differ depending on controller and robot
setup.
There are two namespaces used:
• NS4 is used for nodes coming from the OPC UA for Robotics Companion Specification
• NS5 is used for nodes that are specific to Yaskawa robots.
Name-
Type Path Description
space
Object 4 MotionDeviceSystem
Variable 4 MotionDeviceSystem.ComponentName Name of the Motion
Device System. Can be
overridden by
OPCCONFIG.JBI
Object 4 MotionDeviceSystem.Controllers Contains the set of con-
trollers in the motion
device system. This is
always 1.
Object 4 MotionDeviceSystem.Controllers.Controller_1
Variable 4 MotionDeviceSystem.Controllers.Controller_1. Name of the controller.
ComponentName Can be overridden by
OPCCONFIG.JBI
Object 4 MotionDeviceSystem.Controllers.Controller_1.
CurrentUser
Variable 4 MotionDeviceSystem.Controllers.Controller_1. The current logged in
CurrentUser.Level user level
Variable 4 MotionDeviceSystem.Controllers.Controller_1. Controller vendor
Manufacturer
Variable 4 MotionDeviceSystem.Controllers.Controller_1. Controller model
Model
Object 4 MotionDeviceSystem.Controllers.Controller_1.
ParameterSet
Variable 4 MotionDeviceSystem.Controllers.Controller_1. The date and time of
ParameterSet.StartUpTime the last startup of the
controller.
Variable 4 MotionDeviceSystem.Controllers.Controller_1. The total accumulated
ParameterSet.TotalPowerOnTime time the controller was
powered on.
Variable 5 MotionDeviceSystem.Controllers.Controller_1. IP address(es) of the
ParameterSet.IpAddress controller
Variable 5 MotionDeviceSystem.Controllers.Controller_1. True if the robot is run-
ParameterSet.IsRunning ning
Variable 5 MotionDeviceSystem.Controllers.Controller_1. True if the robot is in
ParameterSet.IsPlayback playback mode
Variable 5 MotionDeviceSystem.Controllers.Controller_1. True if the robot is in
ParameterSet.IsEnergySaving energy saving mode
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Accumulated moving
ParameterSet.MovingTime time of all devices
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Accumulated applica-
ParameterSet.OperatingTime tion specific operating
time of all devices
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Accumulated time of
ParameterSet.PlaybackTime playback state of each
devices
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Total servo on time of
ParameterSet.ServoOnTime all devices
Variable 4 MotionDeviceSystem.Controllers.Controller_1. The product code of the
ProductCode device
Variable 4 MotionDeviceSystem.Controllers.Controller_1. The serial number of
SerialNumber the device

5 - 19
OPC UA Address space / Information model

Object 4 MotionDeviceSystem.Controllers.Controller_1.
Software
Object 4 MotionDeviceSystem.Controllers.Controller_1.
Software.Software_1
Variable 4 MotionDeviceSystem.Controllers.Controller_1. Software name
Software.Software_1.ComponentName
Variable 4 MotionDeviceSystem.Controllers.Controller_1. Software manufacturer
Software.Software_1.Manufacturer
Variable 4 MotionDeviceSystem.Controllers.Controller_1. Software revision
Software.Software_1.SoftwareRevision
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Type of robot applica-
Software.Software_1.ApplicationType tion
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Configured languages
Software.Software_1.Language
Object 4 MotionDeviceSystem.Controllers.Controller_1. TaskControls is a con-
TaskControls tainer for one or more
instances of TaskCon-
trolType
Object 4 MotionDeviceSystem.Controllers.Controller_1.
TaskControls.TaskControl_1...16
Variable 4 MotionDeviceSystem.Controllers.Controller_1. Name of the task. Mas-
TaskControls.TaskControl_1...16.ComponentName ter
Object 4 MotionDeviceSystem.Controllers.Controller_1. Flat list of parameters
TaskControls.TaskControl_1...16.ParameterSet
Variable 4 MotionDeviceSystem.Controllers.Controller_1. Execution mode of the
TaskControls.TaskControl_1...16.ParameterSet. task control
ExecutionMode
Variable 4 MotionDeviceSystem.Controllers.Controller_1. The TaskProgramLoad-
TaskControls.TaskControl_1...16.ParameterSet. ed variable is TRUE if a
TaskProgramLoaded task program is loaded
in the task control,
FALSE otherwise
Variable 4 MotionDeviceSystem.Controllers.Controller_1. Task name (Master,
TaskControls.TaskControl_1...16ParameterSet. Sub1..Sub15)
TaskProgramName
Variable 5 MotionDeviceSystem.Controllers.Controller_1. The current line number
TaskControls.TaskControl_1...16.ParameterSet. of task
TaskProgramLine
Variable 5 MotionDeviceSystem.Controllers.Controller_1. The current step num-
TaskControls.TaskControl_1...16.ParameterSet. ber of task
TaskProgramStep
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Alarms
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Alarms.Alarm1…4
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Alarm message
Alarms.Alarm1…4.AlarmText
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Affected axes if availa-
Alarms.Alarm1…4.AxisData ble
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Alarm code
Alarms.Alarm1…4.Code
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Affected control group if
Alarms.Alarm1…4.ControlGroup available
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Alarm date
Alarms.Alarm1…4.Date
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Job line number
Alarms.Alarm1…4.JobLine
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Name of the job where
Alarms.Alarm1…4.JobName the alarm occurred if
available

5 - 20
OPC UA Address space / Information model

Variable 5 MotionDeviceSystem.Controllers.Controller_1. Alarm mode


Alarms.Alarm1…4.Mode
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Job step number
Alarms.Alarm1…4.StepNo
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Alarm sub code
Alarms.Alarm1…4.SubCode
Variable 5 MotionDeviceSystem.Controllers.Controller_1 Alarm task number
.Alarms.Alarm1…4.TaskNo
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Alarm type
Alarms.Alarm1…4.Type
Variable 5 MotionDeviceSystem.Controllers.Controller_1. True if an alarm is ac-
Alarms.AlarmActive tive otherwise false
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Number of active
Alarms.AlarmCount alarms (1…4)
Variable 5 MotionDeviceSystem.Controllers.Controller_1. True if an error is active,
Alarms.ErrorActive otherwise false
Object 5 MotionDeviceSystem.Controllers.Controller_1. Custom device info
DeviceInfo coming from
OPCCONFIG.JBI
Object 5 MotionDeviceSystem.Controllers.Controller_1. Node containing custom
ProcessData process data coming
from OPCCONFIG.JBI
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Maintenance
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Maintenance.ServoRacks
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Maintenance.ServoRacks.ServoRack_1…n
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Maintenance.ServoRacks.ServoRack_1…n.
Amplifiers
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Maintenance.ServoRacks.ServoRack_1…n.
Amplifiers.Amplifier_1…n
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Axis name
Maintenance.ServoRacks.ServoRack_1…n.
Amplifiers.Amplifier_1…n.Axis
Variable 5 MotionDeviceSystem.Controllers.Controller_1. ControlGroup name
Maintenance.ServoRacks.ServoRack_1…n.
Amplifiers.Amplifier_1…n.ControlGroup
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Design lifetime in cycle
Maintenance.ServoRacks.ServoRack_1…n. of operations
Amplifiers.Amplifier_1…n.DesignLifetime
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Remaining lifetime in
Maintenance.ServoRacks.ServoRack_1…n cycle of operations
Amplifiers.Amplifier_1…n.RemainingLifetime
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Maintenance.ServoRacks.ServoRack_1…n.
Capacitors
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Maintenance.ServoRacks.ServoRack_1…n.
Capacitors.Capacitor_1…n
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Design lifetime in hours
Maintenance.ServoRacks.ServoRack_1…n.
Capacitors.Capacitor_1…n.DesignLifetime
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Remaining lifetime in
Maintenance.ServoRacks.ServoRack_1…n. hours
Capacitors.Capacitor_1…n.RemainingLifetime
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Maintenance.ServoRacks.ServoRack_1…n.
Contactors

5 - 21
OPC UA Address space / Information model

Object 5 MotionDeviceSystem.Controllers.Controller_1.
Maintenance.ServoRacks.ServoRack_1…n.
Contactors.Contactor_1…n
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Design lifetime in cycle
Maintenance.ServoRacks.ServoRack_1…n. of operations
Contactors.Contactor_1…n.DesignLifetime
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Remaining lifetime in
Maintenance.ServoRacks.ServoRack_1…n. cycle of operations
Contactors.Contactor_1…n.RemainingLifetime
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Maintenance.ServoRacks.ServoRack_1…n.
Fans
Object 5 MotionDeviceSystem.Controllers.Controller_1.M .
aintenance.ServoRacks.ServoRack_1…n.
Fans.CPSFan
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Design lifetime in hours
Maintenance.ServoRacks.ServoRack_1…n.
Fans.CPSFan.DesignLifetime
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Remaining lifetime in
Maintenance.ServoRacks.ServoRack_1…n. hours
Fans.CPSFan.RemainingLifetime
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Maintenance.ServoRacks.ServoRack_1…n.
Fans.ControllerBoxFan
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Design lifetime in hours
Maintenance.ServoRacks.ServoRack_1…n.
Fans.ControllerBoxFan.DesignLifetime
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Remaining lifetime in
Maintenance.ServoRacks.ServoRack_1…n. hours
Fans.ControllerBoxFan.RemainingLifetime
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Maintenance.ServoRacks.ServoRack_1…n.
Fans.RegenerativeFan
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Design lifetime in hours
Maintenance.ServoRacks.ServoRack_1…n.
Fans.RegenerativeFan.DesignLifetime
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Remaining lifetime in
Maintenance.ServoRacks.ServoRack_1…n. hours
Fans.RegenerativeFan.RemainingLifetime
Object 5 MotionDeviceSystem.Controllers.Controller_1.
Maintenance.ServoRacks.ServoRack_1…n.
Fans.ManipulatorFan
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Design lifetime in hours
Maintenance.ServoRacks.ServoRack_1…n.
Fans.ManipulatorFan.DesignLifetime
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Remaining lifetime in
Maintenance.ServoRacks.ServoRack_1…n. hours
Fans.ManipulatorFan.RemainingLifetime
Object 5 MotionDeviceSystem.Controllers.Controller_1. Available methods
Methods
Method 5 MotionDeviceSystem.Controllers.Controller_1. Resets the current
Methods.ResetAlarm alarm
Method 5 MotionDeviceSystem.Controllers.Controller_1. Resets the current error
Methods.ResetError
Method 5 MotionDeviceSystem.Controllers.Controller_1. Exports the current
Methods.ExportNodeset nodeset to a USB de-
vice connected inside
the cabinet
Method 5 MotionDeviceSystem.Controllers.Controller_1. Turns the controllers
Methods.SetServo servo on or off

5 - 22
OPC UA Address space / Information model

Variable 5 MotionDeviceSystem.Controllers.Controller_1. Set servo input argu-


Methods.SetServo.InputArguments ment.
Method 5 MotionDeviceSystem.Controllers.Controller_1. Sets the job and line
Methods.SetJob number to the current
job of the master task
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Set job input argument.
Methods.SetJob.InputArguments
Method 5 MotionDeviceSystem.Controllers.Controller_1. This function executes
Methods.StartJob the specified job from
the beginning. If job-
name is empty, the
current suspended job
is resumed
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Start job input argu-
Methods.StartJob.InputArguments ment.
Method 5 MotionDeviceSystem.Controllers.Controller_1. Activates/Resets the
Methods.Hold hold function
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Hold input argument.
Methods.Hold.InputArguments
Method 5 MotionDeviceSystem.Controllers.Controller_1. Returns all available
Methods.GetAvailableJobs robot jobs
Variable 5 MotionDeviceSystem.Controllers.Controller_1. Get available jobs out-
Methods.GetAvailableJobs.OutputArguments put argument
Object 4 MotionDeviceSystem.MotionDevices
Object 4 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n
Object 4 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.Axes
Object 4 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.Axes.Axis_1…n
Variable 4 MotionDeviceSystem.MotionDevices. Axis name. In case of
MotionDevice_1…n.Axes.Axis_1…n. robot (SLURBT)
ComponentName
Variable 4 MotionDeviceSystem.MotionDevices. The kind of axis motion,
MotionDevice_1…n.Axes.Axis_1…n. as defined with the Ax-
MotionProfile isMotionProfileEnumer-
ation.
Object 4 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.Axes.Axis_1…n.
ParameterSet
Variable 4 MotionDeviceSystem.MotionDevices. The axis position
MotionDevice_1…n.Axes.Axis_1…n.
ParameterSet.ActualPosition
Variable 4 MotionDeviceSystem.MotionDevices. Degree [deg]
MotionDevice_1…n.Axes.Axis_1…n.
ParameterSet.ActualPosition.EngineeringUnits
Variable 4 MotionDeviceSystem.MotionDevices. The axis speed on load
MotionDevice_1…n.Axes.Axis_1…n. side (after gear/spindle)
ParameterSet.ActualSpeed inclusive Unit.
Variable 4 MotionDeviceSystem.MotionDevices. Degree per second
MotionDevice_1…n.Axes.Axis_1…n. [deg/s]
ParameterSet.ActualSpeed.EngineeringUnits
Object 5 MotionDeviceSystem.MotionDevices. Maintenance parent
MotionDevice_1…n.Axes.Axis_1…n. node.
Maintenance
Object 5 MotionDeviceSystem.MotionDevices. SpeedReducer parent
MotionDevice_1…n.Axes.Axis_1…n. node.
Maintenance.SpeedReducer
Variable 5 MotionDeviceSystem.MotionDevices. Design lifetime in hours
MotionDevice_1…n.Axes.Axis_1…n.
Maintenance.SpeedReducer.DesignLifetime

5 - 23
OPC UA Address space / Information model

Variable 5 MotionDeviceSystem.MotionDevices. Remaining lifetime in


MotionDevice_1…n.Axes.Axis_1…n. hours
Maintenance.SpeedReducer.RemainingLifetime
Variable 4 MotionDeviceSystem.MotionDevices. Custom name of the
MotionDevice_1…n.ComponentName robot. Can be overrid-
den by
OPCCONFIG.JBI
Object 4 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.FlangeLoad
Variable 4 MotionDeviceSystem.MotionDevices. The weight of the load
MotionDevice_1…n.FlangeLoad.Mass mounted on the flange
Variable 4 MotionDeviceSystem.MotionDevices. Grams [g]
MotionDevice_1…n.FlangeLoad.Mass.
EngineeringUnits
Variable 4 MotionDeviceSystem.MotionDevices. Device manufacturer
MotionDevice_1…n.Manufacturer
Variable 4 MotionDeviceSystem.MotionDevices. Device model
MotionDevice_1…n.Model
Variable 4 MotionDeviceSystem.MotionDevices. The variable MotionDe-
MotionDevice_1…n.MotionDeviceCategory viceCategory provides
the kind of motion de-
vice defined by Mo-
tionDeviceCatego-
ryEnumeration based
on ISO 8373.
Object 4 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.ParameterSet
Variable 4 MotionDeviceSystem.MotionDevices. Servo on state
MotionDevice_1…n.ParameterSet.InControl
Variable 4 MotionDeviceSystem.MotionDevices. SpeedOverride provides
MotionDevice_1…n.ParameterSet.SpeedOverride the current speed set-
ting in percent of pro-
grammed speed (0 -
100%).
Variable 5 MotionDeviceSystem.MotionDevices. Signals if the device is
MotionDevice_1…n.ParameterSet.IsMoving moving
Variable 5 MotionDeviceSystem.MotionDevices. Total moving time of the
MotionDevice_1…n.ParameterSet.MovingTime robot since initialization
of the system
Variable 5 MotionDeviceSystem.MotionDevices. Total playback time of
MotionDevice_1…n.ParameterSet.PlaybackTime the robot since initializa-
tion of the system
Variable 5 MotionDeviceSystem.MotionDevices. Total servo on time of
MotionDevice_1…n.ParameterSet.ServoOnTime the robot since initializa-
tion of the system
Object 4 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.PowerTrains
Object 4 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.PowerTrains.PowerTrain_1…n
Object 4 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.PowerTrains.PowerTrain_1…n.
Motors
Object 4 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.PowerTrains.PowerTrain_1…n.
Motors.Motor_1
Variable 4 MotionDeviceSystem.MotionDevices. Motor manufacturer
MotionDevice_1…n.PowerTrains.PowerTrain_1…n.
Motors.Motor_1.Identification.Manufacturer
Variable 4 MotionDeviceSystem.MotionDevices. Motor model
MotionDevice_1…n.PowerTrains.PowerTrain_1…n.
Motors.Motor_1.Identification.Model

5 - 24
OPC UA Address space / Information model

Object 4 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.PowerTrains.PowerTrain_1…n.
Motors.Motor_1.ParameterSet
Variable 4 MotionDeviceSystem.MotionDevices. Encoder temperature
MotionDevice_1…n.PowerTrains.PowerTrain_1…n.
Motors.Motor_1.ParameterSet.
MotorTemperature
Variable 4 MotionDeviceSystem.MotionDevices. Degree [deg]
MotionDevice_1…n.PowerTrains.PowerTrain_1…n.
Motors.Motor_1.ParameterSet.
MotorTemperature.EngineeringUnits
Variable 4 MotionDeviceSystem.MotionDevices. Motor product code
MotionDevice_1…n.PowerTrains.PowerTrain_1…n.
Motors.Motor_1.Identification.ProductCode
Variable 4 MotionDeviceSystem.MotionDevices. Motor serial number
MotionDevice_1…n.PowerTrains.PowerTrain_1…n.
Motors.Motor_1.Identification.SerialNumber
Variable 4 MotionDeviceSystem.MotionDevices. Device product code
MotionDevice_1…n.ProductCode
Variable 4 MotionDeviceSystem.MotionDevices. Device serial number
MotionDevice_1…n.SerialNumber
Object 5 MotionDeviceSystem.MotionDevices. Custom device info
MotionDevice_1…n.DeviceInfo coming from
OPCCONFIG.JBI
Variable 5 MotionDeviceSystem.MotionDevices. Name of the control
MotionDevice_1…n.DeviceInfo.ControlGroupName group
(R1..Rx,B1..Bx,S1,..Sx)
Object 5 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.Maintenance
Object 5 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.Maintenance.
Inspection
Object 5 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.Maintenance.
Inspection.GreaseSupply
Variable 5 MotionDeviceSystem.MotionDevices. Design lifetime in hours
MotionDevice_1…n.Maintenance.
Inspection.GreaseSupply.DesignLifetime
Variable 5 MotionDeviceSystem.MotionDevices. Remaining lifetime in
MotionDevice_1…n.Maintenance.Inspection. hours
GreaseSupply.RemainingLifetime
Object 5 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.Maintenance.Inspection.
WireHarnessExchange
Variable 5 MotionDeviceSystem.MotionDevices. Design lifetime in hours
MotionDevice_1…n.Maintenance.Inspection.
WireHarnessExchange.
DesignLifetime
Variable 5 MotionDeviceSystem.MotionDevices. Remaining lifetime in
MotionDevice_1…n.Maintenance.Inspection. hours
WireHarnessExchange.
RemainingLifetime
Object 5 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.Maintenance.Inspection.
BatteryExchange
Variable 5 MotionDeviceSystem.MotionDevices. Design lifetime in hours
MotionDevice_1…n.Maintenance.Inspection.
BatteryExchange.DesignLifetime
Variable 5 MotionDeviceSystem.MotionDevices. Remaining lifetime in
MotionDevice_1…n.Maintenance.Inspection. hours
BatteryExchange.RemainingLifetime

5 - 25
OPC UA Address space / Information model

Object 5 MotionDeviceSystem.MotionDevices.
MotionDevice_1…n.Maintenance.Inspection.
Overhaul
Variable 5 MotionDeviceSystem.MotionDevices. Design lifetime in hours
MotionDevice_1…n.Maintenance.Inspection.
Overhaul.DesignLifetime
Variable 5 MotionDeviceSystem.MotionDevices. Remaining lifetime in
MotionDevice_1…n.Maintenance.Inspection. hours
Overhaul.RemainingLifetime
Object 4 MotionDeviceSystem.SafetyStates
Object 4 MotionDeviceSystem.SafetyStates.
SafetyState_1
Variable 4 MotionDeviceSystem.SafetyStates. Safety state name
SafetyState_1.ComponentName
Object 4 MotionDeviceSystem.SafetyStates.
SafetyState_1.ParameterSet
Variable 4 MotionDeviceSystem.SafetyStates. The EmergencyStop
SafetyState_1.ParameterSet.EmergencyStop variable is TRUE if one
stop functions in the
robot system are active,
and FALSE otherwise.
Variable 4 MotionDeviceSystem.SafetyStates. The OperationalMode
SafetyState_1.ParameterSet.OperationalMode variable provides infor-
mation about the cur-
rent operational mode.
Allowed values are
described in Opera-
tionalModeEnumera-
tion, see ISO 10218-
1:2011 Ch.5.7 Opera-
tional Modes.
Variable 4 MotionDeviceSystem.SafetyStates. The ProtectiveStop
SafetyState_1.ParameterSet.ProtectiveStop variable is TRUE if one
or more of the enabled
protective stop functions
in the system are active,
FALSE otherwise.
Object 5 MotionDeviceSystem.SystemInfo Custom system info
coming from
OPCCONFIG.JBI

5 - 26
Configuration file OPCCONFIG.JBI

6 Configuration file OPCCONFIG.JBI


Configuration of the server is done by editing OPCCONFIG.JBI which contains information
in JSON format. The name is fixed to OPCCONFIG.JBI. To edit you can use the OPCUA
Config Editor or edit it manually, though this is not recommended.

6.1 Configuration default setting


If no OPCCONFIG.JBI file exists, or the present OPCCONFIG.JBI is corrupted or contains
errors, these default settings are used to start the OPC UA Server.
Users
Anonymous: 1 // enable anonymous login
Custom: 0

Security
None: 1 // no encryption
Basic128Rsa15: 0
Basic256: 0
Basic256Sha256: 0

CertStore 0 // store certificate in job (CERT.JBI)

DisableMethods 0 // show available methods

Network
Port1: 1 // OPC UA server listens on port 1
Port2: 0

UTC: 0

ProcessData: Empty

VendorSettings: Empty

6.2 Basic structure

/JOB
//NAME OPCCONFIG
//POS
///NPOS 0,0,0,0,0,0
//INST
///DATE 2019/01/10 09:31
///ATTR SC,RW
NOP
'{
'"AppSettings": {
...
'},
'"VendorSettings": {
...
'}
'}
END

All tags discussed here must be separated by a comma, for clarification see Example
OPCCONFIG.JBI.

6 - 27
Configuration file OPCCONFIG.JBI

6.2.1 AppSettings

6.2.1.1 CertStore Tag


Selects where to store the certificates for client and server
• 0: Stores certificate in the CERT.JBI file
(Only available if security mode is set to none. In this case only the server’s certificate
is stored. The certificates from clients are not re-quired).
• 1: Stores certificate on a USB connected to the USB connector
(This mode is required if encrypted connections are used). Make sure to plug a USB
storage device into the USB port:
– On DX200 CN106, left port (inside cabinet)
– On YRC1000 CN102 (inside cabinet)
– On YRC micro use the USB port on the front

...
'"CertStore":"0",
...

6.2.1.2 UserAccess Tag


Selects user logon mode, available tags:
• Anonymous: enables anonymous login.
• Custom: enables custom user login (see Authentication).

...
'"UserAccess": {
'"Anonymous":"1",
'"Custom":"0"
'}
...

6.2.1.3 Security Tag


Selects which encryption to use for connecting. Only one can be active at the same time.
In case more than 1 is activated the first one is active. For setup see Encrypted
connections.
• None Allows non-encrypted connections.
• Basic128Rsa15 Enables Basic128Rsa15 encryption for connections.
• Basic256 Enables Basic256 encryption for connections.
• Basic256Sha256 Enables Basic265Sha256 encryption for connections.

...
'"Security": {
'"None":"1",
'"Basic128Rsa15":"0",
'"Basic256":"0",
'"Basic256Sha256":"0"
'}
...

6 - 28
Configuration file OPCCONFIG.JBI

6.2.1.4 Network Tag


Selects, which network interface to use. If none is selected, or Port 2 is disabled, it defaults
to Port 1.
• Port1 Enables network interface 1.
• Port2 Enables network interface 2 (only YRC1000).

On DX200 Port1=CN104
On YRC1000 Port1=CN106 (LAN2)
Port2=CN107 (LAN3)

...
'"Network": {
'"Port1":"1",
'"Port2":"0"
'}
...

6.2.1.5 UTC Tag


Sets your current time zone in relation to UTC. It must be an Integer between -24 and +24.
The displayed time on the controller side is always the local time. Since OPC UA
timestamps are transferred in UTC you must provide your local UTC time shift. Keep in
mind that you must manually adjust for daylight savings time.
Example:
You are located in Berlin, therefore your time shift according to UTC is ‘+1’:

...
'"UTC":"+1"
...

6.2.1.6 DisableMethods Tag


Selects whether to show Methods in
DeviceSet.MotionDeviceSystem.Controllers.Controller_1.Methods
The Value can either be 0 for showing Methods or 1 for hiding them. Note that the folder
…Controller_1.Methods will exist either way.

...
'"DisableMethods":"0"
...

6 - 29
Configuration file OPCCONFIG.JBI

6.2.1.7 ProcessData Tag


Configures the robot variables and IOs which should be added to the “ProcessData” node
of the controller. Variables can have read or write access.
Note that the available range of variables depends on your controller configuration:
• B000 ..xxx Variable(s) of type Byte
• I000 ..xxx Variable(s) of type Integer
• D000 ..xxx Variable(s) of type Double
• R000 ..xxx Variable(s) of type Real
• M000 ..xxx Register(s)
• S000 ..xxx Variable(s) of type String
For IOs use the IO numbers as on the robot side. This makes it possible to add the complete
address space from 00010 to 87017.
Please note that only General Purpose Outputs and Network Inputs allow read/write
access. All others are read-only.
• 00010 General Purpose Input 1
• 10010 General Purpose Output1
By using the name tag a custom name can be assigned to the variable. This name as well
as the name of the ProcessData Group cannot exceed 31 characters. If no name tag is
specified the variable/IO name is used.
To import a group of variables/IOs at once replace the last digit by ‘x’.
• 0001x Imports General Input Group 1 (00010.. 00017)
• B00x Imports B000 to B009

Examples

...
'"Variables":{ Import User variables B001, R001 and R002
'"B001" :{ with a custom name and B002 with its default
'"Name": "PartCounter", name.
'"Rights": [{
All variables are writeable.
'"Access": "w"}]},
'"B002" :{
'"Rights": [{
'"Access": "w"}]},
'"R001" :{
'"Name": "PartLocationX",
'"Rights": [{
'"Access": "w"}]},
'"R002" : {
'"Name": "PartLocationY",
'"Rights": [{
'"Access": "w"}]}
'}
...

6 - 30
Configuration file OPCCONFIG.JBI

...
'"Variables":{
'"I00x" :{ Import Integer Group I00 to l09 with prefix
'"Name": "I_Vars_", ‘I_Vars_’ and R001 and R002 with a custom
'"Rights": [{ name.
'"Access": "r"}]}, All variables are read-only.
'"R001" :{
'"Name": "PartLocationX",
'"Rights": [{
'"Access": "r"}]},
'"R002" : {
'"Name": "PartLocationY",
'"Rights": [{
'"Access": "r"}]}
'}
...

...
'"IOs":{
'"10012" :{ IOs 3 and 5 of group 1, as well as IOs 2 and
'"Name": "IOGroup1_3", 7 of group 3
'"Rights": [{
'"Access": "r"}]},
'"10014" :{
'"Name": "IOGroup1_5",
'"Rights": [{
'"Access": "r"}]},
'"10031" :{
'"Name": "IOGroup3_2",
'"Rights": [{
'"Access": "r"}]},
'"10036" : {
'"Name": "IOGroup3_7",
'"Rights": [{
'"Access": "r"}]}
'}
...

6 - 31
Configuration file OPCCONFIG.JBI

...
'"System": {
'"50070" : { The folder should be called ‘System’ and the
'"Name":"RUN (Start Lamp)", IOs named after the following list:
'"Rights": [{ <50070 >RUN (Start Lamp)
'"Access": "r"}]}, <50071>HOLD (Hold Lamp)
'"50071" : {
'"Name":"HOLD (Hold Lamp)", <50073>Servo On
'"Rights": [{ <50074>I/O Simulated
'"Access": "r"}]}, <50075>Job Edit Inform
'"50073" : {
'"Name":"Servo On", <50076>Jog Opn Inform
'"Rights": [{ <50077>OT Release
'"Access": "r"}]},
'"50074" : {
'"Name":"I/O Simulated",
'"Rights": [{
'"Access": "r"}]},
'"50075" : {
'"Name":"Job Edit Inform",
'"Rights": [{
'"Access": "r"}]},
'"50076" : {
'"Name":"Jog Opn Inform",
'"Rights": [{
'"Access": "r"}]},
'"50077" : {
'"Name":"OT Release",
'"Rights": [{
'"Access": "r"}]}
'}
...

6 - 32
Configuration file OPCCONFIG.JBI

6.2.2 VendorSettings

6.2.2.1 SystemInfo Tag


Allows adding of custom tags to the MotionDeviceSystem.SystemInfo folder. The tag is
limited to 31 characters and the value is limited to a max of 127 characters.
If CSName is specified as tag, the MotionDeviceSystem.ComponentName is overwritten.
E.g. :

...
'"SystemInfo": {
'"CSName":"Test Cell",
'"Name":"Yaskawa",
'"Location":"Allershausen"
'}
...

6.2.2.2 DeviceInfo Tag


Allows adding of custom tags to the
MotionDeviceSystem.MotionDevices.MotionDevice_x.DeviceInfo folder.
The tag is limited to 31 characters and the value is limited to a max of 127
characters.CSSerialNr overwrites
MotionDeviceSystem.MotionDevices.MotionDevice_X.SerialNumber
CSModel overwrites
MotionDeviceSystem.MotionDevices.MotionDevice_X. Model
CSProductCode overwrites
MotionDeviceSystem.MotionDevices.MotionDevice_X. ProductCode
CSName overwrites
MotionDeviceSystem.MotionDevices.MotionDevice_X.ComponentName

Example

...
'"DeviceInfo": { The Control group the device info is ap-
'"R1": { plied to is R1,
'"InstallDate": "05/10/2018",
Install Date 10.05.2018,
'"Description":"YaskawaRobot",
'"ProductionDate":"05/10/2018", Description is YaskawaRobot,
'}} Production Date is 10.05.2018
...

6 - 33
Configuration file OPCCONFIG.JBI

6.2.2.3 Example OPCCONFIG.JBI

/JOB
//NAME OPCCONFIG
//POS
///NPOS 0,0,0,0,0,0
//INST
///DATE 2019/05/28 09:19
///ATTR SC,RW
NOP
'{
'"AppSettings": {
'"CertStore": "1",
'"UserAccess": {
'"Anonymous": "1",
'"Custom": "0"},
'"Security": {
'"None": "0",
'"Basic128Rsa15": "1",
'"Basic256": "0",
'"Basic256Sha256": "0"},
'"Network": {
'"Port1": "1",
'"Port2": "0"},
'"UTC": "+1",
'"DisableMethods":"0",
'"ProcessData": {
'"Variables": {
'"B00X": {
'"Name": "B_Vars_",
'"Rights": [{
'"Access": "w"}]},
'"I00X": {
'"Name": "I_Vars_",
'"Rights": [{
'"Access": "r"}]},
'"D00X": {
'"Name": "D_Vars_",
'"Rights": [{
'"Access": "w"}]},
'"M00x": {
'"Name": "Register_",
'"Rights": [{
'"Access": "r"}]}}}},
'"VendorSettings": {
'"SystemInfo": {

6 - 34
Configuration file OPCCONFIG.JBI

'"Name": "Yaskawa",
'"Location": "Allershausen",
'"CSName": "Test Cell"},
'"DeviceInfo": {
'"R1": {
'"SerialNr": "34343355",
'"OrderNr": "234246634",
'"InstallDate": "10.05.2018",
'"CSPowerTrain1": {
'"CSMotor1": {
'"CSSerialNr": "K18365-371-1",
'"CSModel": "ERAS-1000-06VXH-3"}
'}},
'"R2": {
'"SerialNr": "45454466",
'"OrderNr": "234246634",
'"InstallDate": "10.05.2018"}
'}}}
END

6 - 35
Configuration file OPCCONFIG.JBI

6.3 Introduction to the OPCUA Config Editor


The OPCUA Config Editor is a standalone PC application. It simplifies the generation of a
configuration file for the OPC UA server. For any changes made in the app to take effect
save the config and upload it to the controller.
Please register to our download portal (http://www.yaskawa.eu.com/en/service/robotics-
software-download/) to get the latest version (Only if purchased through YASKAWA
Europe).

6.3.1 Requirements

.Net 4.5 Framework.

6.3.2 App settings

ConfigTimestamp:
Timestamp of last edit. Automatically
updated when config is saved.
Security:
The used encryption method of the
OPC UA server
Network:
The network interface
On DX200 Port1=CN104
OnYRC1000 Port1=CN106 (LAN2).
Port2=CN107 (LAN3).
On YRC1000 micro ethernet port on
the front
UTC:
UTC Offset of the controller time
(see UTC Tag)
Certificate Storage:
Location where the certificates are
stored on the controller
(see CertStore Tag)
DisableMethods:
Displays or hides the methods in
…Controllers.Controller_1.Methods

6 - 36
Configuration file OPCCONFIG.JBI

6.3.3 Editing ProcessData

By clicking „New…“ a dialog box is opened, where a group name for a new set of process
data can be entered. Once a group is created it can be renamed by clicking “Rename…” or
deleted.

If a ProcessData group is selected


from the drop-down menu, a vari-
able or IO can be added by select-
ing the corresponding checkbox
and typing a number into the text-
box. By typing ‘x’ for the last digit, a
group of variables can be im-
ported.

To add I010 to I019 select the ‘I’ checkbox, type ‘1x’ and click add. By selecting a
ProcessData item from the list the values can be modified or deleted. The naming of the
IOs is the same as displayed on the teach pendant 10010….87017.

On OPC Server side the groups and variables


are displayed in the ProcessData node of the
Controller.
MotionDeviceSystem.Controllers.
Controller_1.ProcessData

6 - 37
Configuration file OPCCONFIG.JBI

6.3.4 Editing DeviceInfo

Add custom data to the DeviceInfo node of each device and controller.

To create a device section click on


„New…“ and select the device from
the drop-down box.

To add a custom tag enter the tag


name and value and click “Add”.
By selecting a tag from the list, the
values can be modified or deleted.

On the OPC Server side the added


values are displayed in the Devi-
ceInfo node of the selected device
or controller.

6 - 38
Configuration file OPCCONFIG.JBI

This section makes it possible to


overwrite some existing tags of the
address space. These tags start
with ‘CS’ and are displayed by click-
ing the Defaults button.
E.g. CSName overrides the Com-
ponentName of the device.

Changes made to
R1.CSPowerTrain1
are displayed in
MotionDeviceSytem.MotionDe-
vice_1.PowerTrains.Power-
Train_1.Motor_1

6 - 39
Configuration file OPCCONFIG.JBI

6.3.5 Editing SystemInfo

Add custom data to the SystemInfo node of the MotionDeviceSystem.

To add a custom tag enter the tag


name and value and click “Add”.
By selecting a tag from the list the
values can be modified or deleted.

All changes in the tab SystemInfo


will be visible in
MotionDeviceSystem.SystemInfo
If tag CSName is defined, it will
over-write
MotionDeviceSytem.Component-
Name.

6 - 40
Configuration file OPCCONFIG.JBI

6.4 Information for manual editing


To edit the OPCCONFIG.JBI file manually, follow these steps:
• If you already have an OPCCONFIG.JBI, export it from the controller to a USB drive
• Edit the OPCCONFIG.JBI according to this manual
• Save the OPCCONFIG.JBI to any USB drive
• Plug the USB drive into the pendant of the controller
• Import OPCCONFIG.JBI as you would with any other job file
• For the changes to take effect reboot the controller

Note that JBI files must comply with the following:


• Each line cannot exceed 33 characters
• A line must contain some characters
• All lines between “NOP” and “END” must begin with an apostrophe
• May not contain any vowels with diacritics (e.g. “ü”).

Please note:
There is no guarantee your config will be loaded correctly by the server or OPCUA Config
Editor, if edited manually.

6 - 41
Secured connections

7 Secured connections
If an endpoint with encryption is being used, additional setup is required to establish a
connection.

7.1 Encrypted connections

7.1.1 Preparing certificates

When connecting for the first time, certificates are exchanged between the client and the
server. In UA Expert to trust a server you must click ‘Trust Server Certificate’, then
‘Continue’.

7 - 42
Secured connections

After the first connection from the client side, the client’s certificate is automatically stored
in the rejected certificates path. To grant the client access to the server the certificate must
be manually moved to the trusted location. Please follow the steps below.
1. Power on the controller.
2. Connect to the server in UA Expert. Your attempt will not succeed. This is normal.

3. Shutdown controller.
4. Remove USB drive and move the client’s certificate from /pki/rejected/

to /pki/trusted/certs/

5. Plug the USB drive back into the controller and restart.
6. Try connecting again. Now you should be able to log in to the server.

7 - 43
Secured connections

7.2 Authentication

7.2.1 Files to add user settings

In order to specify custom usernames and passwords, two additional files need to be edited
in the root directory of the USB drive: group and passwd. To do so:
• Make sure the controller is turned off.
• Remove the USB drive from controller.
• Plug the USB drive into the computer.
• Right click the file you want to edit>Open.
• Select Editor and edit the file according to this manual.
• When finished click File>Save.
• Plug the USB drive back into controller and start.

7.2.1.1 group
Defines groups and which users are part of this group according to the scheme:
<GroupID> <GroupName> <all UserNames belonging to the Group separated by
commas>

NOTICE
Double-check for unnecessary white spaces; UserNames are only separated by a comma,
if a UserName contains a white space use quotation marks.

GroupID is numbered consecutively, starting with 0, GroupName and UserNames are


arbitrary.
Example:
User root is part of group root, users John and Jane are part of operators, Ron Roe is in
users:
0 root root
1 operators John,Jane
2 users "Ron Roe

7.2.1.2 passwd
Defines passwords for the users mentioned in the group file according to the scheme:
<UserID> <GroupID> <UserName> <Password encrypted in SHA1 >
UserID is numbered consecutively, starting with 1, UserName has to match one UserName
from group file, if it contains a white space use quotation marks. To obtain the SHA1 encrypt
of a password use any online tool, for this example all passwords are “secret”, except for
Ron Roe, which is “terces”.
Example:
1 0 root e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4
2 1 John e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4
3 1 Jane e5e9fa1ba31ecd1ae84f75caaa474f3a663f05f4
4 2 "Ron Roe" 4db00e8b8e3445bb6c0bc7bdd4ca5608c20b563b

7 - 44
Appendix

8 Appendix

8.1 Third party licenses

8.1.1 OPC UA Server

LICENSE STATEMENT
This software includes the following third party software licensed under the MIT license
cJSON
Copyright (c) 2009-2017 Dave Gamble and cJSON contributors Permission is hereby
granted, free of charge, to any person obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/
or sell copies of the Software, and to permit persons to whom the Software is furnished to
do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

8.1.2 OPCUA Config Editor

LICENSE STATEMENT
This software includes the following third party software licensed under the MIT license
Json.NET
Copyright (c) 2007 James Newton-King
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to
whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FIT-NESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIA-BILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

8 - 45
Imprint

9 Imprint
Yaskawa Europe GmbH
Yaskawastraße 1
85391 Allershausen
Germany
Phone 00498166900
Fax 0049816690103

9 - 46
Imprint

9 - 47

You might also like