2016-10-19 4 views
2

Das Client-Abonnement in node-opcua hat eine Option mit dem Namen priority. Es ist ein numerisches Feld. Ich bin nicht in der Lage zu verstehen, ob das Abonnement mit Priotity=1 eine höhere Priorität erhält als Priority=10 oder niedriger.Wie benutzt man node-opcua Subscription priority?

Die Standardpriorität im Quellcode ist 1. Also ist es die niedrigste oder die höchste? Welches wird bevorzugt, 1 oder 10 oder 100?

Antwort

1

Dies ist ein Zitat aus der Beschreibung (v1.03 Teil 4. Tabelle 86)

Gibt die relative Priorität des Abonnements. Wenn mehr als ein Abonnement Benachrichtigungen senden muss, sollte der Server eine Veröffentlichungsanfrage an das Abonnement mit der höchsten Prioritätsnummer aus der Warteschlange entfernen (je größer die Nummer, desto höher die Priorität). Für Abonnements mit gleicher Priorität sollte der Server Publish Anfragen in einer Round-Robin-Art herausnehmen. Wenn die Keep-Alive-Periode für ein Abonnement abläuft, hat sie unabhängig von ihrer Priorität Vorrang, um zu verhindern, dass das Abonnement abläuft.

Ein Client, der keine speziellen Prioritäten erfordert, sollte diesen Wert auf Null setzen.

Ich habe nicht sehr viel Erfahrung, wie die Server tatsächlich die Priorität in der Praxis unterstützen. Es sollte nur dann eine Rolle spielen, wenn der Server viele Datenänderungen zur gleichen Zeit in die Warteschlange gestellt hat. In den meisten Fällen können Sie den Parameter ignorieren.

EDIT: Die Spezifikationen von https://opcfoundation.org/developer-tools/specifications-unified-architecture verfügbar sind (Sie werden nur an die OPC Foundation Website registrieren müssen, um sie herunterzuladen)

+0

Ich denke, „die die Zahl größer, desto höher ist die Priorität“ beantwortet meine Frage. Können Sie den Link angeben, von dem Sie das Angebot erhalten haben? –

+0

Der Link zur Antwort hinzugefügt –