Referenz

OPC-UA-StatusCodes

Jeder OPC-UA-StatusCode, dem ein Ingenieur tatsächlich begegnet, mit Bedeutung, den echten Ursachen nach Häufigkeit und der Behebung. Derzeit sind 127 von 273 Codes der normativen StatusCode-Liste dokumentiert, priorisiert danach, wie oft sie ein Projekt aufhalten.

So nutzen Sie das.Arbeiten Sie mit dem Code, den Sie tatsächlich bekommen haben, nicht mit dem, den Sie erwartet haben. OPC UA gibt den spezifischsten Code zurück, den es kann, und dieser spezifische Code benennt meist das eigentliche Problem, denn ein Zertifikatsfehler ist fast nie ein Netzwerkfehler. Wenn überhaupt keine Verbindung zustande kommt, beginnen Sie beiBadConnectionRejected; wenn die Session zustande kommt und dann abbricht, beginnen Sie beiBadSecurityChecksFailed.
127 Seiten

Zertifikate 14

BadCertificateChainIncompleteEin von einer CA ausgestelltes Zertifikat scheitert an der Prüfung, obwohl dem Root-CA vertraut wird, und der Fehler nennt eine unvollständige oder nicht aufbaubare Kette statt eines VBadCertificateHostNameInvalidDer Channel öffnet weit genug, um das Zertifikat zu validieren, und scheitert dann mit einer Domain- oder Hostnamen-Abweichung, typischerweise direktBadCertificateInvalidDer Handshake scheitert sofort ohne brauchbare Details, und das Zertifikat in den Trusted-Store zu verschieben ändert überhaupt nichts.BadCertificateIssuerRevocationUnknownDie Prüfung des Partnerzertifikats gelingt, scheitert aber an einem der darüberliegenden CA-Zertifikate, typischerweise in einer zweistufigen PKI, in der nur die CRL der Sub-CABadCertificateIssuerRevokedJede Anwendung, deren Zertifikat von einer bestimmten CA stammt, kann sich auf einen Schlag nicht mehr verbinden, während Anwendungen mit ZertifikatenBadCertificateIssuerTimeInvalidJede von einer CA zertifizierte Anwendung hört im selben Moment auf, sich zu verbinden, und die einzelnen Anwendungszertifikate liegen alle deutlich innerhalb ihrer eigenen GBadCertificateIssuerUseNotAllowedZertifikate, die von einer funktionierenden Unternehmens-CA ausgestellt wurden - anderswo im Unternehmen vertrauenswürdig, für TLS problemlos -, werden von OPC-UA-Anwendungen mit einem IssuerBadCertificatePolicyCheckFailedEin älteres Gerät oder ein Legacy-Client wird beim Handshake abgewiesen, während moderne Gegenstellen sich normal mit demselben Endpunkt verbinden, und das Zertifikat selbst istBadCertificateRevocationUnknownEin korrekt verkettetes, gültiges, richtig benanntes Zertifikat wird mit einem sperrbezogenen Fehler abgewiesen, und der crl-Ordner in Ihrer PKI ist leer oder enthältBadCertificateRevokedEine zuvor funktionierende Verbindung scheitert im Handshake mit diesem Code, und das Zertifikat der Gegenstelle landet im Rejected Store, während derBadCertificateTimeInvalidEine Verbindung, die monatelang lief, scheitert über Nacht, oder ein fabrikneues Gerät scheitert sofort beim ersten Verbindungsaufbau mit einem Fehler zur Zertifikatsgültigkeit.BadCertificateUntrustedDie Verbindung stirbt während OpenSecureChannel, der Client zeigt einen Vertrauensdialog oder einen Zertifikatsfehler, und eine Kopie des beanstandeten Zertifikats taucht aufBadCertificateUriInvalidDie Zertifikatsprüfung kommt an Vertrauens- und Hostnamensprüfung vorbei und scheitert dann an der Application URI, oft unmittelbar nachdem jemand eine KonfiguratiBadCertificateUseNotAllowedEin Zertifikat, dem vertraut wird, das gültig und korrekt benannt ist, wird dennoch abgewiesen, und die Meldung zeigt auf die Schlüsselverwendung stat

Sicherheit 7

Authentifizierung 4

Sessions 4

Channels 4

Verbindung 17

BadConnectionClosedLaufende Anforderungen, insbesondere lange gehaltene Publish-Aufrufe, schließen alle im selben Moment mit demselben Fehler ab, und der Zustand des Clients geht auf ReconneBadConnectionRejectedDer Client scheitert sofort mit einem Verbindungsfehler und ohne OPC-UA-Details - keine Endpunktliste, keine Zertifikatsabfrage, keine Session.BadEndpointUrlInvalidDie Verbindung scheitert vor jeder Zertifikats- oder Benutzerabfrage, meist innerhalb einer Sekunde, und der Client meldet die URL statt eines Netzwerk- oder SicherheiBadProtocolVersionUnsupportedDie TCP-Verbindung wird angenommen und innerhalb von Millisekunden wieder abgebaut, vor jeder Endpunktliste, jedem Zertifikatsdialog und jeder SessionBadRequestInterruptedMehrere laufende Anforderungen scheitern gemeinsam genau in dem Moment, in dem ein Reconnect beginnt, ohne dass einer von ihnen ein serverseitiger Fehlergrund beiliegt.BadRequestTimeoutEine Art von Aufruf - ein großes Browse, ein Sammel-Read, eine Methode, die die Feldebene berührt - läuft konsistent in einen Timeout, während kleine Aufrufe auf derselben Session zBadServerHaltedDie Verbindung kommt zustande oder baut sich sauber wieder auf, aber jeder Service-Aufruf wird mit demselben Code abgewiesen, und das bleibt so, bis jemand eingreift odeBadServerNotConnectedEntweder scheitert jeder Aufruf eines Clients sofort und ganz ohne Netzwerkverkehr, oder eine Teilmenge der Tags auf einem Gateway wird gemeinsam ungüBadServerTooBusyAnforderungen werden auf einer ansonsten gesunden Verbindung schnell und sauber abgewiesen, in Schüben, die mit dem Anlagenhochlauf, einem Serverneustart oder einemBadShutdownAlle offenen Anfragen werden auf einen Schlag mit demselben Code abgeschlossen, die Verbindung bricht unmittelbar danach ab, und der Server ist für kurzeBadTcpEndpointUrlInvalidDie TCP-Verbindung wird angenommen und dann sofort mit einem Fehler-Frame geschlossen, sodass der Client in deutlich unter einer Sekunde einen FehlerBadTcpMessageTooLargeKleine Operationen funktionieren problemlos, aber ein bestimmter Aufruf scheitert jedes Mal: ein breites Read, ein großes Write, ein Browse eines großen Ordners oder eine Subscription-BenachrichtiguBadTcpMessageTypeInvalidEin für Reverse Connect konfigurierter Server protokolliert wiederholte Ablehnungen von der Client-Adresse und stellt die Versuche ein, während der Client eine unerwartete NachriBadTcpNotEnoughResourcesVerbindungen oder große Anfragen scheitern auf einem Server, der schon eine Weile läuft, oft zusammen mit Fehlern bei Subscriptions und beim Browsen,BadTcpSecureChannelUnknownNachrichten werden auf der Framing-Ebene abgewiesen, unmittelbar nach einem scheinbar erfolgreichen Reconnect oder unmittelbar nach einem Serverneustart, während derBadTcpServerTooBusyNeue Verbindungen werden beim Handshake abgewiesen, während bestehende Clients weiterarbeiten, und die Abweisungen häufen sich beim Anlagenhochlauf oder nach einem Serverneustart.BadTimeoutOperationen scheitern nach einem festen Intervall, das einem SDK-Standardwert entspricht, und die Verbindung erholt sich oft kurz darauf von selbst, was ein Sägezahnmuster von F

Adressraum 12

BadAttributeIdInvalidEin Read liefert auf Service-Ebene Good, aber ein Eintrag im Ergebnis-Array trägt diesen Status, meist der Eintrag für einen Ordner oder ein Objekt, dBadBrowseDirectionInvalidEin Browse-Aufruf scheitert für jeden Knoten sofort mit diesem Code, auch für bekannte Knoten wie den Objects-Ordner, während ein Read auf derselben SessionBadContinuationPointInvalidEine große Browse- oder History-Abfrage funktioniert für die ersten Seiten und scheitert dann mittendrin, häufiger auf einem belasteten Server oder wBadNoContinuationPointsBrowse oder HistoryRead scheitert auf einem ausgelasteten Server bei jedem Client, und die Fehler verschwinden nach einem Neustart der Clients statt nach irgendeiner ServerBadNoMatchEin Browse-Pfad, der sich gegen eine Maschine auflösen lässt, liefert gegen eine scheinbar identische keinen Treffer, oder eine Abfrage, die in einem Testsystem funktionierte, liefertBadNodeClassInvalidEine bestimmte Operation scheitert an einem Knoten, der sich einwandfrei browsen und lesen lässt, meist ein Methodenaufruf Call oder eine Event-Subscription.BadNodeIdInvalidJede Anfrage, die einen bestimmten Knoten berührt, scheitert auf gleiche Weise, und der fehlerhafte Wert im Log sieht oft sichtbar falsch aus - eine lBadNodeIdUnknownEin Client, der monatelang funktioniert hat, scheitert plötzlich an einigen oder allen seinen Knoten, direkt nach einem Steuerungsdownload, einem Firmware-Update oder einer Server-NeukonfBadNotFoundEin Eintrag im Ergebnis einer Browse-Pfad-Übersetzung ist bad, während die anderen aufgelöst werden, oder ein ganzer Pfad scheitert an einem bestimmten Element, das Sie deutlich inBadObjectDeletedEine Teilmenge von Knoten, die eben noch funktionierte, beginnt zu scheitern, während der übrige Adressraum unberührt bleibt, oft nachdem ein AuftragBadReferenceTypeIdInvalidEin Browse- oder AddReferences-Aufruf, der gegen einen Server funktioniert, scheitert gegen einen anderen, und das Browse liefert gar nichts statt einer leeren Ergebnismenge.BadTooManyMatchesEine Pfadübersetzung oder Abfrage scheitert nur gegen die größten Maschinen oder die am stärksten belasteten Server, während dieselbe Anforderung auf einem kleinen Test-Adressra

Datenzugriff 14

BadDataEncodingInvalidEin Read oder CreateMonitoredItems auf einer strukturierten Variablen scheitert mit BadDataEncodingInvalid, während skalare Knoten auf demselben Server sauber gelesen werden.BadDataEncodingUnsupportedStrukturierte Werte lassen sich mit der Standardcodierung problemlos lesen, scheitern aber, sobald der Client XML oder JSON anfordert, auf einem Server, der sich sonst normal verhältBadDecodingErrorEin bestimmter Knoten oder ein bestimmter Service-Aufruf lässt sich nicht decodieren, während alles andere auf derselben Session funktioniert, oder eiBadEncodingLimitsExceededLesevorgänge oder Abonnement-Benachrichtigungen funktionieren für kleine Mengen und scheitern, sobald ein Stapel wächst, ein großes Array hinzukommt oder ein Export des Adressraums versucht wird.BadIndexRangeInvalidEin Read oder Write mit IndexRange scheitert sofort, während dieselbe Anforderung ohne IndexRange gelingt und das gesamte Array zurückgibt.BadIndexRangeNoDataEin Read mit IndexRange, der gestern noch funktionierte, liefert jetzt BadIndexRangeNoData, meist nachdem das zugrunde liegende Array geschrumpft ist oder der Server mit einem leeren PBadNotReadableBeim Browsen sind der Knoten und seine Attribute sauber zu sehen, aber jedes Lesen des Value-Attributs und jeder Versuch, ihn einem Abonnement hinzuzufügen, liefert BadNotReaBadNotWritableEin Write liefert sofort BadNotWritable, ohne Verzögerung und ohne Wirkung auf den Wert, während Lesevorgänge auf demselben Knoten einwandfrei funktionieren.BadOutOfRangeEin Write mit einem plausiblen Wert wird abgewiesen, während ein kleinerer oder größerer Wert auf demselben Knoten durchgeht, und das Lesen des KnotenBadRequestTooLargeEin Sammel-Read, -Write oder -CreateMonitoredItems scheitert komplett und ohne Ergebnisse je Item, während dieselbe Operation in zwei Hälften geteilt gelingt.BadResponseTooLargeEin Browse eines großen Ordners, ein HistoryRead über ein langes Fenster oder ein Publish während eines Bursts scheitert, während derselbe Aufruf über einen kleineren Umfang normalBadStructureMissingEin Service-Aufruf scheitert sofort mit BadStructureMissing und ohne Ergebnisse je Item, meist beim ersten Einsatz einer handgebauten oder generierten Anfrage.BadTypeMismatchEin Write, das korrekt aussieht, liefert für ein Item BadTypeMismatch, während die anderen Items derselben Anfrage gelingen, und das Zurücklesen desselben Knotens funktionierBadWriteNotSupportedEin Write scheitert mit BadWriteNotSupported, obwohl AccessLevel CurrentWrite zeigt, und derselbe Wert gelingt, wenn er aus einem anderen Werkzeug geschrieben wird.

Gerät 6

Subscriptions 13

BadDeadbandFilterInvalidItems mit einem Deadband werden abgewiesen, während identische Items mit DeadbandType None akzeptiert werden, und die Ablehnung hängt am Knoten und nicht am ClienBadEventFilterInvalidDer Versuch, Events am Server-Objekt oder an einem Alarmbereich zu abonnieren, scheitert sofort, und es werden nie Events geliefert, obwohl der ServerBadFilterNotAllowedCreateMonitoredItems oder ModifyMonitoredItems weist ein bestimmtes Item mit diesem Code zurück, während identische Items ohne Filter angenommen werden.BadFilterOperandInvalidEine Event-Subscription wird abgelehnt und die Antwort trägt ein EventFilterResult mit einem Bad-Status gegen einen bestimmten Select- oder Where-OpeBadMonitoredItemFilterUnsupportedDerselbe Filter, der gegen einen Server funktioniert, wird von einem anderen abgelehnt, meist einer SPS oder einem eingebetteten Gateway, während das Item selbst erfolgreich angelegtBadMonitoredItemIdInvalidModifyMonitoredItems, SetMonitoringMode, SetTriggering oder DeleteMonitoredItems liefert diesen Code für einige Items, während andere Items im selben Aufruf gelinBadMonitoringModeInvalidSetMonitoringMode oder CreateMonitoredItems weist das Item mit diesem Code zurück, und das Item meldet entweder nie oder bleibt in dem Modus, in dem eBadNoSubscriptionDie Publish-Schleife liefert diesen Code sofort und wiederholt, und zwar in einer Session, die sauber zustande kommt und normal lesen und browsen kann.BadSubscriptionIdInvalidPublish-Aufrufe, die bisher funktionierten, liefern bei jedem Versuch diesen Code zurück, und es kommen keine weiteren Datenänderungsbenachrichtigungen mehr an, während ein einfaches Read auf demBadTooManyMonitoredItemsCreateMonitoredItems gelingt für den ersten Teil eines großen Stapels und liefert für den Rest diesen Code, sodass ein Abonnement mit weniger Items hochkommtBadTooManyOperationsEin großer Read-, Write-, Browse- oder CreateMonitoredItems-Aufruf wird rundweg mit diesem Code als Fehler der gesamten Anfrage abgewiesen, während diBadTooManyPublishRequestsEin Client, der gegen einen Server funktioniert, protokolliert diesen Code gegen einen anderen dauerhaft, manchmal zusammen mit gelegentlichen Datenlücken, während alles andere anBadTooManySubscriptionsCreateSubscription scheitert, sobald ein System eine Weile läuft oder die letzten Clients in Betrieb genommen werden, während bestehende Abonnements weiter funktionie

Historie 6

Methoden 5

Server 9

BadInternalErrorEine reproduzierbare Anfrage scheitert, während alles andere in derselben Session funktioniert, und das Server-Log enthält zum selben ZeitpuBadInvalidStateDerselbe Aufruf gelingt manchmal und scheitert ein anderes Mal, und der Unterschied folgt dem, was die Maschine oder das Objekt in diesem Moment gerade tat.BadNotImplementedEin Service oder eine Operation, die in der Spezifikation definiert und in Ihrem SDK sichtbar ist, liefert bei jedem Versuch dieselbe Ablehnung, an jBadNotSupportedEin Service, der mit Standardparametern funktioniert, scheitert, sobald Sie eine bestimmte Option, einen Filter, eine Codierung oder ein Flag setzen.BadNothingToDoEin Service-Aufruf scheitert sofort und ganz ohne Ergebnisse je Operation, meist direkt nach einem Konfigurationsladen oder einem Filterschritt im Client.BadOutOfMemoryAnforderungen beginnen unter Last zu scheitern, während kleinere Anforderungen weiterhin gelingen, und der Server erholt sich möglicherweise von selbst, sobald die Clients zurückstecken.BadResourceUnavailableEin Teil des Adressraums funktioniert normal, während ein Zweig, ein Service oder ein Gerät durchgehend scheitert, oft beginnend zu einem Zeitpunkt, dBadServiceUnsupportedEin bestimmter Aufruf scheitert jedes Mal gleich und von jedem Client, während Sessions, Browsen und Lesen normal funktionieren.BadUnexpectedErrorEine Operation scheitert mit einem Status, der nichts Konkretes sagt, manchmal sporadisch, und der Client hat keine weiteren Informationen, auf die er reagieren kann.

Uncertain 6

Good 6

Zuletzt geprüft am 7. September 2026 gegen OPC UA 1.05.07. OPC UA Connect ist ein unabhängiges Bildungsangebot und steht in keiner Verbindung zur OPC Foundation.

Kostenloser Download
OPC-UA-StatusCode-Diagnosebaum
Eine 15-seitige Diagnosereferenz, die jeden normativen StatusCode danach gruppiert, was tatsächlich schiefgegangen ist, mit der ersten Maßnahme zu jedem und den vier Fragen, die die meisten Fehler klären, bevor Sie einen einzigen Code lesen.
Den kostenlosen Diagnosebaum holen →
Kostenlos, kein Kurs, kein Login