Yaskawa OPC UA Server: Installation Manual
Yaskawa OPC UA Server: Installation Manual
ROBOTICS
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
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.1.1 Requirements
3 -6
OPC UA Server setup
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.
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
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 - 10
OPC UA Server setup
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
3 - 12
Connecting OPC UA Server on port 16448
4 - 13
Connecting OPC UA Server on port 16448
4 - 14
OPC UA Address space / Information model
A MotionDeviceSystem consists of
one controller and depending on con-
figuration 1..n MotionDevices.
5 - 15
OPC UA Address space / Information model
5.1.2 ProzessData
5.1.3 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.
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.
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.
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.
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
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
5 - 23
OPC UA Address space / Information 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
Security
None: 1 // no encryption
Basic128Rsa15: 0
Basic256: 0
Basic256Sha256: 0
Network
Port1: 1 // OPC UA server listens on port 1
Port2: 0
UTC: 0
ProcessData: Empty
VendorSettings: Empty
/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
...
'"CertStore":"0",
...
...
'"UserAccess": {
'"Anonymous":"1",
'"Custom":"0"
'}
...
...
'"Security": {
'"None":"1",
'"Basic128Rsa15":"0",
'"Basic256":"0",
'"Basic256Sha256":"0"
'}
...
6 - 28
Configuration file OPCCONFIG.JBI
On DX200 Port1=CN104
On YRC1000 Port1=CN106 (LAN2)
Port2=CN107 (LAN3)
...
'"Network": {
'"Port1":"1",
'"Port2":"0"
'}
...
...
'"UTC":"+1"
...
...
'"DisableMethods":"0"
...
6 - 29
Configuration file OPCCONFIG.JBI
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
...
'"SystemInfo": {
'"CSName":"Test Cell",
'"Name":"Yaskawa",
'"Location":"Allershausen"
'}
...
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
/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.1 Requirements
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
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.
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.
6 - 37
Configuration file OPCCONFIG.JBI
Add custom data to the DeviceInfo node of each device and controller.
6 - 38
Configuration file OPCCONFIG.JBI
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 - 40
Configuration file OPCCONFIG.JBI
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.
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
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.
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
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.
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