18:30, EEST
January 27, 2022
Hi everyone,
we are using Prosys’ OPC UA SDK for Java and we are sometimes getting “Bad_CommunicationError – A low level communication error occurred.” error when trying to subscribe for updates from a given PLC (all communication goes through a third-party OPC server – Tani). Can someone provide additional information about what this error means and how it can be fixed?
Thanks! 🙂
8:36, EEST
Moderators
February 11, 2020
Hello,
The OPC UA Specification defines the following use case for StatusCode Bad_CommunicationError:
For Subscriptions that contain Conditions for which the failure applies, the effected Conditions generate an Event, if the Retain field is set to True. These Events shall have their Event fields that are associated with the communication failure contain a StatusCode of Bad_CommunicationError for the value. (https://reference.opcfoundation.org/Core/Part9/v104/docs/5.15)
That is the only defined use case for Bad_CommunicationError in the “core” OPC UA specification. Companion Specifications might define additional use cases.
The general definition for StatusCode Bad_CommunicationError is: “A low level communication error occurred” (https://reference.opcfoundation.org/Core/Part4/v104/docs/7.34.2). The specification does not define more specifically in which situations this StatusCode should be used. In the case of Prosys OPC UA SDK for JAVA, the StatusCode is used parsing a ByteString from the received chunk fails or when all SecurityTokens of a SecureChannel have expired for example. Server applications developed by other manufacturers could be using this StatusCode in different situations.
Therefore, Bad_CommunicationError does not have a well defined meaning and it is practically impossible to tell the exact error based solely on it.
Do you have any additional information on the error such as logs from the Client or the Server? Or a Wireshark capture of messages exchanged between the applications? If you do, you can send those to uajava-support at prosysopc.com so that we can take a look them.
Since you mentioned that you’re trying to subscribe to data from a PLC via a 3rd party OPC UA Server, it could be possible that this StatusCode is used to indicate that there is some communication error between that Server and the PLC, but this is purely a speculation and the real error could be something else. Though, I would recommend you to also contact the manufacturer of the 3rd party Server about this error as well.
Most Users Ever Online: 1919
Currently Online:
46 Guest(s)
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Heikki Tahvanainen: 402
hbrackel: 144
rocket science: 88
pramanj: 86
Francesco Zambon: 83
Ibrahim: 78
Sabari: 62
kapsl: 57
gjevremovic: 49
Xavier: 43
Member Stats:
Guest Posters: 0
Members: 726
Moderators: 7
Admins: 1
Forum Stats:
Groups: 3
Forums: 15
Topics: 1529
Posts: 6471
Newest Members:
gabriellabachus, Deakin, KTP25Zof, Wojciech Kubala, efrennowell431, wilfredostuart, caitlynfajardo, jeromechubb7, franciscagrimwad, adult_galleryModerators: Jouni Aro: 1026, Pyry: 1, Petri: 0, Bjarne Boström: 1032, Jimmy Ni: 26, Matti Siponen: 349, Lusetti: 0
Administrators: admin: 1