Dieser Abschnitt enthält Beispiele für die OPC-UA Monitoring Request Subscriptions
AchtungDer Statuscode eines Frames kann im späteren Fall entweder “Gut” oder “Schlecht” zurückgeben, dann wird auch die OPC-UA Error Message zurückgegeben! |
Anforderung mit Meldung beider Zeitstempel
var requestData = {
"operation": "MONITORING_SUBSCRIBE",
"nodes": ["myNode","myOtherNode"],
"namespaceIndices": [2,2],
"publishingInterval":1000.0,
"clientHandlingID": 1,
"samplingInterval": 1000.0,
"queueSize": 2,
"discardOldestItem": true,
"monitoringMode": "Reporting",
"returnedTimestamps": "Both"
}
Diese Anforderung subskribiert die Knoten “myNode” und “myOtherNode”, die sich im Namespace 2 befinden, für den OPC-UA-Server, der die letzten 2 Änderungen nach 1 Sekunde meldet.
Der zurückgegebene Message-Frame enthält den Anwendungsserver, den OPC-UA-Server und die Quellzeitstempel.
Das älteste Element wird fallen gelassen.
Zurückgeben von Nachrichtenrahmen
{
“frameType”:”data”, “subscriptionKey”:”bb827118-f1b0-2170-9937-f8c7e1620107″, “content”:{
“Daten”:{
“nodeName”:”myNode”, “namespaceIndex”:2, “value”:”448828049″, “appServerTime”:”Wed Oct 19 19:37:42 CEST 2016″, “OPCUAServerTime”:”Mon Jan 01 01:00:00 CET 1601″, “OPCUASourceTime”:”Mon Jan 01 01:00:00 CET 1601″, “statusCode”:”Gut”
}, “Erfolg”:wahr
}
}
{
“frameType”:”data”, “subscriptionKey”:”bb827118-f1b0-2170-9937-f8c7e1620107″, “content”:{
“Daten”:{
“nodeName”:”myOtherNode”, “namespaceIndex”:2, “value”:”22223423″, “appServerTime”:”Wed Oct 19 19:37:43 CEST 2016″, “OPCUAServerTime”:”Mon Jan 01 01:00:00 CET 1601″, “OPCUASourceTime”:”Mon Jan 01 01:00:00 CET 1601″, “statusCode”:”Gut”
}, “Erfolg”:wahr
}
}
Anforderung mit Zeitstempel der Berichtsquelle
var requestData = {
"operation": "MONITORING_SUBSCRIBE",
"nodes": ["myNode","myOtherNode"],
"namespaceIndices": [2,2],
"publishingInterval":500.0,
"clientHandlingID": 1,
"samplingInterval": 1000.0,
"queueSize": 1,
"discardOldestItem": true,
"monitoringMode": "Reporting",
"returnedTimestamps": "Source"
}
Diese Anforderung subskribiert die Knoten “myNode” und “myOtherNode”, die sich im Namespace 2 befinden, für den OPC-UA-Server, der die letzte Änderung nach 500 Millisekunden meldet.
Der zurückgegebene Nachrichtenrahmen enthält die Zeitstempel des Anwendungsservers und der Quelle.
Das älteste Element wird gelöscht, aber das spielt keine Rolle, da die Warteschlange nur ein Element enthalten kann.
Zurückgeben von Nachrichtenrahmen
{
“frameType”:”data”, “subscriptionKey”:”aa827118-f1b0-2170-9937-f8c7e1620107″, “content”:{
“Daten”:{
“nodeName”:”myNode”, “namespaceIndex”:2, “value”:”324234″, “appServerTime”:”Wed Oct 19 19:37:42 CEST 2016″, “OPCUASourceTime”:”Mon Jan 01 01:00:00 CET 1601″, “statusCode”:”Gut”
}, “Erfolg”:wahr
}
}
{
“frameType”:”data”, “subscriptionKey”:”aa827118-f1b0-2170-9937-f8c7e1620107″, “content”:{
“Daten”:{
“nodeName”:”myOtherNode”, “namespaceIndex”:2, “value”:”2333543″, “appServerTime”:”Wed Oct 19 19:37:43 CEST 2016″, “OPCUASourceTime”:”Mon Jan 01 01:00:00 CET 1601″, “statusCode”:”Gut”
}, “Erfolg”:wahr
}
}
Anforderung mit Zeitstempel des Berichtsservers
var requestData = {
"operation": "MONITORING_SUBSCRIBE",
"nodes": ["myNode","myOtherNode"],
"namespaceIndices": [2,2],
"publishingInterval":2000.0,
"clientHandlingID": 1,
"samplingInterval": 1000.0,
"queueSize": 20,
"discardOldestItem": false,
"monitoringMode": "Reporting",
"returnedTimestamps": "Server"
}
Diese Anforderung subskribiert die Knoten “myNode” und “myOtherNode”, die sich im Namespace 2 befinden, für den OPC-UA-Server, der die letzten 20 Änderungen nach 2 Sekunden meldet.
Der zurückgegebene Message-Frame enthält die Zeitstempel des Anwendungsservers und des OPC-UA-Servers.
Das älteste Element wird nicht fallen gelassen.
Returning Nachrichtenrahmen
{
“frameType”:”data”, “subscriptionKey”:”cc827118-f1b0-2170-9937-f8c7e1620107″, “content”:{
“Daten”:{
“nodeName”:”myNode”, “namespaceIndex”:2, “value”:”4488280898″, “appServerTime”:”Wed Oct 19 19:37:42 CEST 2016″, “OPCUAServerTime”:”Mon Jan 01 01:00:00 CET 1601″, “statusCode”:”Gut”
}, “Erfolg”:wahr
}
}
{
“frameType”:”data”, “subscriptionKey”:”cc827118-f1b0-2170-9937-f8c7e1620107″, “content”:{
“Daten”:{
“nodeName”:”myOtherNode”, “namespaceIndex”:2, “value”:”22223425″, “appServerTime”:”Wed Oct 19 19:37:43 CEST 2016″, “OPCUAServerTime”:”Mon Jan 01 01:00:00 CET 1601″, “statusCode”:”Gut”
}, “Erfolg”:wahr
}
}
Anforderung mit Berichterstattung ohne Zeitstempel
var requestData = {
"operation": "MONITORING_SUBSCRIBE",
"nodes": ["myNode","myOtherNode"],
"namespaceIndices": [2,2],
"publishingInterval":100.0,
"clientHandlingID": 1,
"samplingInterval": 1000.0,
"queueSize": 5,
"discardOldestItem": true,
"monitoringMode": "Reporting",
"returnedTimestamps": "Neither"
}
Diese Anforderung subskribiert die Knoten “myNode” und “myOtherNode”, die sich im Namespace 2 befinden, für den OPC-UA-Server, der die letzten 5 Änderungen nach 100 Millieconds meldet.
Der zurückgegebene Nachrichtenrahmen enthält nur den Zeitstempel des Anwendungsservers.
Das älteste Element wird fallen gelassen.
Zurückgeben von Nachrichtenrahmen
{
“frameType”:”data”, “subscriptionKey”:”dd827118-f1b0-2170-9937-f8c7e1620107″, “content”:{
“Daten”:{
“nodeName”:”myNode”, “namespaceIndex”:2, “value”:”448828042″, “appServerTime”:”Wed Oct 19 19:37:42 CEST 2016″, “statusCode”:”Gut”
}, “Erfolg”:wahr
}
}
{
“frameType”:”data”, “subscriptionKey”:”dd827118-f1b0-2170-9937-f8c7e1620107″, “content”:{
“Daten”:{
“nodeName”:”myOtherNode”, “namespaceIndex”:2, “value”:”22223421″, “appServerTime”:”Wed Oct 19 19:37:43 CEST 2016″, “statusCode”:”Gut”
}, “Erfolg”:wahr
}
}
Anfrage mit Bemusterung
var requestData = {
"operation": "MONITORING_SUBSCRIBE",
"nodes": ["myNode"],
"namespaceIndices": [2],
"publishingInterval":1000.0,
"clientHandlingID": 1,
"samplingInterval": 100.0,
"queueSize": 10,
"discardOldestItem": true,
"monitoringMode": "Sampling",
"returnedTimestamps": "Neither"
}
Diese Anforderung subskribiert den Knoten “myNode”, der sich im Namespace 2 befindet, für den OPC-UA-Server, der den Knoten alle 100 Millisekunden abtastet und die letzten 10 Änderungen nach 1 Sekunde zurückgibt.
Der zurückgegebene Nachrichtenrahmen enthält nur den Zeitstempel des Anwendungsservers.
Das älteste Element wird fallen gelassen.
Zurückgeben eines Nachrichtenrahmens
{
“frameType”:”data”, “subscriptionKey”:”ff827118-f1b0-2170-9937-f8c7e1620107″, “content”:{
“Daten”:{
“nodeName”:”myNode”, “namespaceIndex”:2, “value”:”448828043″, “appServerTime”:”Wed Oct 19 19:37:42 CEST 2016″, “statusCode”:”Gut”
}, “Erfolg”:wahr
}
}