OPC UA DataTypeDictionary Error

I am trying to create my first PLC project using a Beckhoff PLC, simulated in TwinCAT, connected via OPC UA to Ignition, however I am unable to read the variables I created in TwinCAT.

Here are the Bad quality tags when trying to read the custom variables:

Looking into the Ignition logs, I found the following DataTypeDictionary error:

To attempt debugging the issue I gathered a wireshark capture of the OPC UA communication and realized none of the OPC UA requests or responses were being included in the packets:

I am currently able to read all variables and device states besides those that I created within TwinCAT.

I tried adding the configuration images and connection setup within Ignition, but am restricted to 3 uploads for this post. If any of that information is essential to understanding the bug please let me know and I can include them in a reply.

I have searched countless forum posts on this site and can’t seem to find anyone with a similar error or even an example of connecting a Beckhoff PLC to Ignition to verify that I configured the server properly. I am now at the end of the road on my Ignition debugging knowledge and am hoping someone is familiar with my bug and can help.

The requests are there but you need to set the connection up without security so that you can actually read them.

It seems there’s some kind of error reading the DataTypeDictionary from the server.

If you can do two things it would help diagnose:

  1. set the logger you find searching for “DataTypeDictionaryReader” to TRACE (see Diagnostics - Logs - Ignition User Manual 8.1 - Ignition Documentation)
  2. turn security for the connection off, start another Wireshark capture, then do an edit/save on the connection to force a reconnect and capture that entire sequence.

Share the logs and Wireshark capture once you have them.

Here is the unencrypted PCAP, sorry I didn’t connect that the security setting was for encryption scheme.

I simplified the PLC program to only contain a single variable nInt inside the MAIN program.

The OPC UA connection initialization:

The ReadRequest for nInt:

The ReadResponse for nInt:

And the OPC UA Quick Client still shows Bad(“Unknown: Unknown”)

Wrong first image:

I’m going to DM you a dropbox link you can upload to.

That said, it looks like a problem with the server that logs and a capture aren’t going to help me with - you are getting back an unknown StatusCode just trying to read a simple integer (presumably) type value, which means the failure to read the DataTypeDictionary is irrelevant.

How did you initiate that ReadRequest? Scripting?

From Beckhoff Information System - English

TF6100 Setup Version 4.x: this status indicates a missing license. Check whether you have activated a valid TF6100 license.

Sounds like your server isn't licensed.

Bless you, that was my problem! Will doublecheck my licenses henceforth.