Skip to main content
Version: 5.6

OPC Data Transfer via Multi-Datachange Trigger

tip

In our performance benchmark, we were able to simultaneously transfer approximately 28,500 OPC data points per second to MQTT and InfluxDB. The transfer rate was limited by the processing capacity of the OPC server, which became the limiting factor under higher load.

Systems

OS: Windows Server 2019 Standard 1809
RAM: 16GB
Processor: 64-bit 2.6GHz (4 cores)
OPC Router: 5.3.5008.157

OS: Windows Server 2019 Standard 1809
RAM: 12GB
Processor: 64-bit 2.6GHz (4 cores)
KEPServer: V6.16.203.0

OS: Windows 10 Pro N 22H2
RAM: 12GB
Processor: 64-bit 2.6 GHz (4 cores)
KEPServer: V6.16.203.0

Projects

2 KEPServerEx projects

  • Each with one channel (simulator)
  • Each with one device (16-bit device)
  • Each with two tag groups
  • Each with 40 sub-tag groups
  • Each with 200 tags (random 1,000)

Total: 32,000 tags

OPC Router Project

  • Four OPC UA client connections (2 plug-ins per KEPServerEx)
  • Each plug-in is used in 40 template instances in the Multi-Datachange trigger
  • Each Multi-Datachange trigger monitors one tag group (each with 200 tags)
  • The values read when the triggers are fired are written to Influx and via MQTT

In summary: Monitoring and reading of 8,000 tags

OPC UA Client Connection

Deviations from the default:

  • Subscription – Register OPC tags on startup: true
  • Advanced – Sample Rate (ms): 1000

Multi-Data-Change Trigger

Deviations from the default:

  • Update items: false

 Connection instance generated from template:

Evaluation

The average time interval between executions of the respective Multi-Data-Change triggers was examined.

ConnectionsData PointsPlug-insOPC ServerAverage Trigger IntervalPlug-in
16032000421100msKEPServerEx 1
Connection #1
16032000421027msKEPServerEx 1
Connection #2
16032000421204msKEPServerEx 2
Connection #1
16032000421101msKEPServerEx 2
Connection #2
warning

As the number of data points to be transferred increased further, the OPC server proved to be the limiting factor. The performance analysis revealed that the server’s processing capacity was insufficient to efficiently handle higher loads, thereby limiting the overall transfer rate.

Project Files

Download Benchmark_Multidatachange.rpe

Benchmark_KepServer1 (ZIP)

Benchmark_Kepserver2 (ZIP)

:::note[[ [Extract before importing]] The KEPServer project files are provided as a ZIP archive. Extract the archive before importing the included .opf file into KEPServer Ex. :::