OPC-Datentransfer via BatchRead alle 30 Sekunden
In diesem Datentransfertest haben wir in einer OPC Router-Instanz 640.000 OPC Datenpunkte angebunden und alle 30 Sekunden an MQTT und InfluxDB übertragen. Die durchschnittliche Datenübertragungsrate lag dabei bei 21.209 Datenpunkten pro Sekunde.
Systeme
OS: Windows Server 2019 Standard 1809
RAM: 16GB
Prozessor: 64bit 2,6GHz (4 Kerne)
OPC Router: 5.3.5007.156
OS: Windows Server 2019 Standard 1809
RAM: 12GB
Prozessor: 64bit 2,6GHz (4 Kerne)
KEPServerEx: V6.16.203.0
OS: Windows 10 Pro N 22H2
RAM: 12GB
Prozessor: 64bit 2,6GHz (4 Kerne)
KEPServerEx: V6.16.203.0
Projekte
Zwei KEPServerEx-Projekte
- mit jeweils einem Kanal (Simulator)
- mit jeweils einem Gerät (16 Bit Device)
- mit jeweils 20 Tag-Gruppen
- mit jeweils 100 Unter-Tag-Gruppen
- mit jeweils 200 Tags
OPC Router-Projekte
Für die beiden Testfälle wurden zwei Projekte mit gleichem Aufbau, aber unter schiedlicher Verbindungs- und somit Datenpunktanzahl erstellt. Beschreibung des einfachen Projektes:
- Vier OPC-UA-Client-Anbindungen (Jeweils 2 Plug-ins je KEPServerEx)
- Jedes Plug-in wird in jeweils 400 Template-Instanzen für jeweils ein „Batch Read”-Transferobjekt verwendet
- Jedes „Batch Read”-Transferobjekt fragt alle 30 Sekunden 200 Tags ab und schreibt diese nach MQTT und Influx-DB
Zusammengefasst: Im Testfall 1 wurden alle 30 Sekunden 320.000 Tags gelesen und an MQTT sowie Influx übergeben.
Testfall 2: Hierin werden statt 400 Template-Instanzen pro Plugin 800 Template-Instanzen betrieben. Hierdurch sollen alle 30s s 640.000 Tags abgefragt werden.
.png)
OPC-UA-Client-Anbindung
Abweichungen vom Default:
- Quickstart – Timeout (ms): 240000
- Sicherheit – Server Application Uri validieren: true
- Subscription – OPC-Tags beim Start registrieren: true
- Erweitert – Timeout (ms): 240000
- Erweitert – Maximale Datenpunktanzahl je Abfrage aktivieren: true
- Erweitert – Maximale Datenpunktanzahl je Abfrage: 2500
- Erweitert – Max Items per Subscription Softlimit: 1500
- Erweitert – OPC-Lesemodus: Asynchron
Auswertung
Testfall 1
Es wurden auf vier Plug-ins verteilt alle 30s 320.000 Datenpunkte gelesen und nach MQTT und InfluxDB geschrieben. Nach 30min Lauftzeit wurde geprüft, wie viele Daten in die InfluxDB geschrieben worden sind.
 (1).png)
Testfall 2
Es wurden auf vier Plug-ins verteilt alle 30s 640.000 Datenpunkte gelesen und nach MQTT und InfluxDB geschrieben. Nach 30min Laufzeit wird geprüft, wie viele Daten in die InfluxDB geschrieben worden sind.
 (1) (1).png)