Dieser Abschnitt enthält Beispiele für die OPC-UA Überwachungsanfrage-Abonnements
|
Achtung Der Statuscode eines Frames kann entweder “Good” oder “Bad” zurückgeben. Wenn letzteres der Fall ist, wird auch die OPC-UA-Fehlermeldung zurückgegeben! |
Anfrage mit Reporting 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 Anfrage abonniert die Knoten “myNode” und “myOtherNode”, die sich im Namensraum 2 des OPC-UA-Servers befinden, der die letzten 2 Änderungen nach 1 Sekunde meldet. Der zurückgegebene Nachrichtenrahmen enthält den Anwendungsserver, den OPC-UA-Server und die Quellzeitstempel. Das älteste Element wird verworfen.
Zurückgegebene Nachrichtenrahmen
{
“frameType”:”data”,
“subscriptionKey”:”bb827118-f1b0-2170-9937-f8c7e1620107″,
“content”:{“data”:{
“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”:”Good”},
“success”:true}
}
{
“frameType”:”data”,
“subscriptionKey”:”bb827118-f1b0-2170-9937-f8c7e1620107″,
“content”:{“data”:{
“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”:”Good”},
“success”:true}
}
Anfrage mit Reporting des Quellzeitstempels
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 Anfrage abonniert die Knoten “myNode” und “myOtherNode”, die sich im Namensraum 2 des OPC-UA-Servers befinden, der die letzte Änderung nach 500 Millisekunden meldet. Der zurückgegebene Nachrichtenrahmen enthält den Anwendungsserver und die Quellzeitstempel. Das älteste Element wird verworfen, aber das spielt keine Rolle, da die Warteschlange nur ein Element enthalten kann.
Zurückgegebene Nachrichtenrahmen
{
“frameType”:”data”,
“subscriptionKey”:”aa827118-f1b0-2170-9937-f8c7e1620107″,
“content”:{“data”:{
“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”:”Good”},
“success”:true}
}
{
“frameType”:”data”,
“subscriptionKey”:”aa827118-f1b0-2170-9937-f8c7e1620107″,
“content”:{“data”:{
“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”:”Good”},
“success”:true}
}
Anfrage mit Reporting des Server-Zeitstempels
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 Anfrage abonniert die Knoten “myNode” und “myOtherNode”, die sich im Namensraum 2 des OPC-UA-Servers befinden, der die letzten 20 Änderungen nach 2 Sekunden meldet. Der zurückgegebene Nachrichtenrahmen enthält den Anwendungsserver und die OPC-UA-Server-Zeitstempel. Das älteste Element wird nicht verworfen.
Rückgabe des Nachrichtenrahmens
{
“frameType”:”data”,
“subscriptionKey”:”cc827118-f1b0-2170-9937-f8c7e1620107″,
“content”:{“data”:{
“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”:”Good”},
“success”:true}
}
{
“frameType”:”data”,
“subscriptionKey”:”cc827118-f1b0-2170-9937-f8c7e1620107″,
“content”:{“data”:{
“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”:”Good”},
“success”:true}
}
Anfrage ohne Reporting von Zeitstempeln
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 Anfrage abonniert die Knoten “myNode” und “myOtherNode”, die sich im Namensraum 2 des OPC-UA-Servers befinden, der die letzten 5 Änderungen nach 100 Millisekunden meldet. Der zurückgegebene Nachrichtenrahmen enthält nur den Zeitstempel des Anwendungsservers. Das älteste Element wird verworfen.
Zurückgegebene Nachrichtenrahmen
{
“frameType”:”data”,
“subscriptionKey”:”dd827118-f1b0-2170-9937-f8c7e1620107″,
“content”:{“data”:{
“nodeName”:”myNode”,
“namespaceIndex”:2,
“value”:”448828042″,
“appServerTime”:”Wed Oct 19 19:37:42 CEST 2016″,
“statusCode”:”Good”},
“success”:true}
}
{
“frameType”:”data”,
“subscriptionKey”:”dd827118-f1b0-2170-9937-f8c7e1620107″,
“content”:{“data”:{
“nodeName”:”myOtherNode”,
“namespaceIndex”:2,
“value”:”22223421″,
“appServerTime”:”Wed Oct 19 19:37:43 CEST 2016″,
“statusCode”:”Good”},
“success”:true}
}
Anfrage mit Sampling
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 Anfrage abonniert die Knoten “myNode”, die sich im Namensraum 2 des OPC-UA-Servers befinden, 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 verworfen.
Zurückgegebener Nachrichtenrahmen
{
“frameType”:”data”,
“subscriptionKey”:”ff827118-f1b0-2170-9937-f8c7e1620107″,
“content”:{“data”:{
“nodeName”:”myNode”,
“namespaceIndex”:2,
“value”:”448828043″,
“appServerTime”:”Wed Oct 19 19:37:42 CEST 2016″,
“statusCode”:”Good”},
“success”:true}
}











