Implementation with UaExpert

You can use UaExpert software to test the connectivity with the RoboDK OPC UA Server.

You can download the free version of the UaExpert software from the Unified Automation website: https://www.unified-automation.com/downloads/opc-ua-clients.html.

OPC UA - Image 8

Add Server

Launch the UaExpert and Click the “+” Button to Add the RoboDK OPC UA Server.

OPC UA - Image 9

Expand the Custom Discovery and select the <Double clicks to Add Server.> option to add the RoboDK OPC UA Server.

OPC UA - Image 10

Enter the URL of the OPC UA server, opc.tcp://127.0.0.1:48440 which you configured in the previous step. 

OPC UA - Image 11

Connect the OPC UA Server with “None” Security.

OPC UA - Image 12

Server is configured.

OPC UA - Image 13

Connect to the Server

Now you can connect to the RoboDK OPC UA Server from UaExpert.

OPC UA - Image 14

You can see the Nodes and Methods when the connection is established.

OPC UA - Image 15

Nodes

There are some nodes inside the RoboDK OPC UA server to let you exchange some basic information about your station.

RoboDK

RoboDK node is a Node that provides the Actual Version of your RoboDK Software.

OPC UA - Image 16

The version RoboDK 64 Bit v5.5.3.23031 was used in this example.

OPC UA - Image 17

SimulationSpeed

Simulation Speed is a node that shows the actual Simulation Speed and allows the user to overwrite the current Simulation Speed.

OPC UA - Image 18

The node value is referenced to the Slide bar of simulation speed.

The current Simulation can be read from this node and can overwrite the simulation speed.

OPC UA - Image 19

Station

Station Node is a node that allows the user to get the current name of the Station in RoboDK.

OPC UA - Image 20

As you see below, the Station node is referenced to your “Station Name” in RoboDK.

OPC UA - Image 21

Station parameters/Station Value

Station Parameter and Station Value are a pair set Node that allows the user to get or set any parameters inside your Station. The RoboDK OPC UA Server will continuously monitor the actual value of “StationParameter” and return the Value of that “StationParameter”, from the Station Value Node.

OPC UA - Image 22

You can view your Station parameters by Right Click your RoboDK Station>Station parameters.

OPC UA - Image 23

In the Constant parameters field, you can see the default station parameters and their value.

OPC UA - Image 24

Station parameter is referenced to the “Parameter” field and Station Value is referenced to the “Value” field.

OPC UA - Image 25

And we can create our own Parameters by clicking the “Add” Button.

OPC UA - Image 26

A new Station parameter is added.

OPC UA - Image 27

Enter your Parameter name and the Parameter Value, then press Apply to save it.

OPC UA - Image 28

You can get your own station parameter as well.

OPC UA - Image 29

Time

The node time is a node that allows you to get the current time of the RoboDK Station.

OPC UA - Image 30

A value with DataTime format is returned.

OPC UA - Image 31

And this Node is updated continually.

OPC UA - Image 32

Methods

RoboDK OPC UA Server is also provided with some methods to allow the user to access the RoboDK station ‘s Data dynamically.

We can just right click the Method>Call to execute the method.

OPC UA - Image 33

getItem

getItem is a Method that allows the user to get the pointer of your Item.

OPC UA - Image 34

For the InputArguments, Device Name is required, you can image the Device Name is your Station Name,Robot Name..etc.. And Item ID is the OutputArguments that return the Pointer of that Device.

OPC UA - Image 35

In this Example, I received the Item ID (Pointer) of my ABB Robot that is named as “ABB_RB1”.

OPC UA - Image 36

0 is returned if the Item Name is invalid or does not exist inside your station.

OPC UA - Image 37

getJoints

getJonits is a method that allows the user to get the joint value of the robot from the station, based on the Item ID.

OPC UA - Image 38

The Item ID is the pointer value of your Item, and you can get it from getItem() Method.

OPC UA - Image 39

We will get the Item ID with this “ABB_RB1” Item name, and a UInt64 value is returned.

OPC UA - Image 40

Joints value is returned while passing the Item ID in the method that we got in the previous.

OPC UA - Image 41

getJointsStr

getJointsStr is a method that allows the user to get the Joints value based on a String Value.

OPC UA - Image 42

We can pass the Robot name (String) in this method.

OPC UA - Image 43

In My Station, ABB_RB1 is my robot’s name.

OPC UA - Image 44

We can just pass “ABB_RB1” in the Robot name parameter and call the method - The joint value in String format is returned.

OPC UA - Image 45

setJointsStr

setJointsStr is a method that allows the user to set the Joints value of the Robot, based on a String Value.

OPC UA - Image 46

In the Robot name, ABB_RB1 is passed, and we can just pass a string with the joint value in the Joints parameter.

For example:-0.000000,0.000000,-0.000000,-0.000000,-0.0,-0.000000

OPC UA - Image 47