OPC Datentransfer via Transferobjekt
Systeme
Host
Betriebssystem: Windows 11
RAM: 32 GB
Prozessor: Intel i7-8700
Virtuelle Maschinen
OPC Router
Betriebssystem: Windows Server 2022
RAM: Dynamisch, bis zu 16GB
Virtuelle Prozessoren: 8
OPC Router: 5.3.5008.157 (inraySDK-Version: 3.32.6002.24)
Testserver
Betriebssystem: Windows Server 2025
RAM: 8 GB
Virtuelle Prozessoren: 6
OPC Server: IoT Edge OPC UA PLC in Docker
Testaufbau
In den Verbindungen wurde mit einem Batch Read Transferobjekt oder einem Data Access Transferobjekt je 10 Datenpunkte gelesen. Die Daten werden an MQTT gesendet und zusätzlich in eine Influx Datenbank geschrieben.
Es wurde mit Datachange Triggern, Time Triggern und Cron Triggern getrennt getestet. Die Performance wurde ermittelt, indem die erwartete Anzahl der Ausführungen mit der tatsächlichen Anzahl der Ausführungen verglichen wurde.
OPC-UA Client Plug-in Einstellungen
Für den Test wurden im Plug-in einige Eistellungen angepasst.
Einstellung | Wert |
---|---|
OPC Tags beim Start registrieren | Aktiv |
OPC Read Mode | Asynchron |
In diesem Test haben wir den OPC Router und den verwendeten OPC-Server bewusst an und über ihre Leistungsgrenzen geführt. Dabei wurden Datenraten von mehr als 19.500 Tags pro Sekunde erreicht.
Ergebnisse bei Verwendung des Cron Triggers
Mit dem Batch Read TO

Verbindungen | Datenpunkte (ges) | Trigger Intervall | Ø Ausführungen / Min | Erwartet |
---|---|---|---|---|
1000 | 10000 | 1 Sekunde | 60 | 60 |
Mit dem OPC Data Access TO

Verbindungen | Datenpunkte (ges) | Trigger Intervall | Ø Ausführungen / Min | Erwartet |
---|---|---|---|---|
1000 | 10000 | 1 Sekunde | 60 | 60 |
Ergebnisse bei Verwendung des Datachange Triggers
Bei einer Datenänderungsrate von 250 ms wurde die Sample Rate im Plug-in auf 250 ms herabgesetzt.
Mit Batch Read Transferobjekt

Verbindungen | Datenpunkte (ges) | Datenänderungen | Ø Ausführungen / Min | Erwartet |
---|---|---|---|---|
1000 | 10000 | 500 ms | 118,9 | 120 |
500 | 5000 | 500 ms | 120 | 120 |
500 | 5000 | 250 ms | 192,2 | 240 |
250 | 2500 | 250 ms | 198 | 240 |
100 | 1000 | 250 ms | 199,4 | 240 |
Mit OPC Data Access Transferobjekt

Verbindungen | Datenpunkte (ges) | Datenänderungen | Ø Ausführungen / Min | Erwartet |
---|---|---|---|---|
1000 | 10000 | 500 ms | 118,1 | 120 |
500 | 5000 | 500 ms | 120 | 120 |
Ergebnisse bei Verwendung des Time Triggers
Bitte beachten Sie, dass der Time-Trigger Zyklus die Zeit ist, die zwischen den Ausführungen gewartet wird.
Mit dem Batch Read Transferobjekt

Verbindungen | Datenpunkte (ges) | Zyklus | Ausführungen / Min |
---|---|---|---|
1000 | 10000 | 500 ms | 114 |
500 | 5000 | 500 ms | 114 |
500 | 5000 | 250 ms | 215 |
Mit dem OPC Data Access Transferobjekt

Verbindungen | Datenpunkte (ges) | Zyklus | Ausführungen / Min |
---|---|---|---|
1000 | 10000 | 500 ms | 114 |
500 | 5000 | 500 ms | 114 |
500 | 5000 | 250 ms | 214 |
250 | 2500 | 250 ms | 214 |
Projektdateien
Download Benchmark_CronTrigger_BatchRead_1000.rpe
Download Benchmark_CronTrigger_DataAccess_1000.rpe
Download Benchmark_DatachangeTrigger_BatchRead_1000.rpe
Download Benchmark_DatachangeTrigger_DataAccess_1000.rpe
Download Benchmark_TimeTrigger_BatchRead_1000.rpe