Groov OPC Client

I have a specific application where the Groov is communicating with a version of Prosys Java OPC Server, for some unknow reason Groov is not able read AB UDTs from the server but any other OPC-UA client that I tried can read it without issue.

I know Kepware is the recommended OPC Server but it will be helpful for me to know what is Groov OPC client base on.

Thanks for your help.

Hello mflr,

Welcome to the OptoForums! I’m sorry you’re having trouble with groov. To answer your specific question, the version of the OPC-UA client can change from version to version of groov, but groov 3.0 (the current version as I type this) uses Prosys Java client version 2.1.0-436.

However, getting to the actual problem you’re trying to solve, I know our engineering team would like to sort that out, especially since other OPC-UA clients work fine. A few thoughts:

  • You mentioned UDT (User Data Types, yes?) which could complicate things. Were you able use any other data types successfully? Are there other variations of your data types you could try (perhaps a single element if you're using an array, or an array of 1 if you're using a single element)? All this extra info would help our groov team narrow down the real issue.
  • Are you familiar with Wireshark (or some other packet-sniffing tool)? Since you have a client that works, a packet sniff of "working" vs. "non-working" could also be very helpful.
  • Does your AB device communicate via any other protocols, e.g. Modbus? If so, you might be able to skip the extra OPC-UA layer(s) by having groov communicate directly.

In any case, we’d like to get to the bottom of that “unknown reason”! Also remember our product support is free (best to contact them via email: support @


My understanding on this OPC-UA client-server compatibility question is that if your client (in this case groov, currently using Prosys Java client version 2.1.0-436) is a different version that your server you could have issues. Best to make sure you have the latest-and-greatest version of both the client and the server.

Did you get this working?

The problem was solved updating/modifying the server portion, my understanding is that the server was running the last version of Prosys Java Server and there was a compatibility issue, the server was sending the UDTs in a flat format which seems to be more efficient but some clients wont be able to read them.

Everything is running now and both teams (Opto22 on the client side) and the server manufacturer were helpful to solve the issue.