Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

PI Interface for DNP3

I/O Thread pool

  • Last UpdatedSep 28, 2022
  • 1 minute read

With the I/O completion port model, the interface uses a thread pool to manage I/O with the connected RTU. By default, the thread pool size is two times the number of logical processors on the interface node. For example, a two- processor computer will create 4 threads to process I/O and a four-processor computer will create 8 threads. In general, the default thread pool size should be sufficient for an interface with several connected RTUs. However, an interface with several hundred RTUs may require a higher thread pool size. Therefore, a /IOPool startup parameter has been included to allow the user to use the PI ICU to define a specific thread pool size for the interface. Refer to the Startup command files section of this manual for additional details about how to configure this parameter. In a field test with nearly 500 connected RTUs, a thread pool size of 5 was more than sufficient to process 40 data points from each of the connected field devices at a scan rate of once a minute.

The I/O thread pool is always used to retrieve data from the communication medium. The same thread pool, by default, is used to parse and process the DNP3 message packet. The processed packets are then passed to the main interface thread so the values can be sent to PI. Alternatively, the user can specify the I/O thread pool to pass only the received message packet or fragment to a Worker thread pool where parsing and processing of the DNP3 packet takes place.

Related Links
TitleResults for “How to create a CRG?”Also Available in