Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

OPC UA in RoboDK

Is there any documentation about how to connect and interact with OPC UA signals?
We have a plugin that you can use to make RoboDK behave as an OPC-UA server or an OPC-UA client. You can follow these steps to activate it:
  1. Select Tools-Plug-Ins
  2. Select Load Plug-In
  3. Select OPC-UA
You should see an additional menu with some OPC-UA options.

Among other things, RoboDK's OPC-UA server exposes access to station parameters by using the nodes StationParameter and StationValue. You can set the station parameter you want to see or modify in StationParameter field and view/modify the value using StationValue. You can also retrieve items by name (like you can do with the API) and retrieve or update the position of robots and mechanisms.

You'll find the station parameters by right clicking the station root and selecting "Station Parameters". When you use Inputs and Outputs some IO parameters are automatically created and updated.


You may need to customize the plugin if you want to use RoboDK as an OPC-UA client (it currently retrieves the station parameters of a RoboDK server as an example). This plugin is open source and available on GitHub (it uses the OPC-UA Open62541 library).
Can you use OPC UA to:
  • Run an existing simulation program created using the GUI
  • Execute an existing program instruction created using the GUI.  What is the difference between the setJoints method in the UA interface and a MoveJ instruction?  I would like to be able to call an existing MoveJ instruction using OPC UA.
  • Execute an off-line python program?
I can modify the OPC UA server source code if needed to add a variable to control the program.  Is there an example of calling a simulation program built using the GUI from an external python program?

We are trying to link Robodk with Unity3D. The goal is to create a simulation of our laboratory which consists of several different robot systems, conveyorbelt systems tooling machines and so on...
Therefore we tried to establish a OPC UA communication between RoboDK and Unity. First we tried it with the built in OPC UA server in RoboDK- and failed.
So we wrote a very basic, simple Server in Python and we were able to establish a communication. However, this very basic OPC Server we wrote does not support subscribe, authentication and so on. 

So I was wondering what where we went wrong when we tried to use the RoboDK OPC UA server.
So when I activate the plug in and start the server I can access it with UA Expert client.
But how do I have to enter the parameters in the station.
You explained, that if I want to access objects, robots or anything else from the station, that it is similar to the python method.
So I opened the station parameters and tried several different options but none did work

Can you please give an example on how to set the parameters for accessing the joints of a robot...

Thomas Schichl
I have been trying to get some assistance for the attached concerns via the web form. I was asked to post the question in this forum. 
Could you kindly assist me with these difficulties that I am facing (see the attachment) with when configuring OPC UA feature in RoboDK? 

Thank you

Attached Files
.pdf   7th June 2023 observations.pdf (Size: 95.02 KB / Downloads: 177)

Users browsing this thread:
1 Guest(s)