4. Configuration
175
ATTENTION:
Notice that the communication performance presented in this chapter are examples using a CPU
with only one MODBUS TCP Server device. Thus, there is not any logic in the application that
could delay the communication. Therefore, take these performances as maximum ones.
As to cycle times equal or larger than 20 ms, the increase of the response rate is linear. The following
formula calculates it:
N
=- C x (Z – (Z / (T x 1000)))
Z
= 1 / T
Where:
“N” is the average number of responses per second, “C” is the number of connections and T is the
cycle time of the MODBUS task (in seconds).
Taking the example of a MODBUS Server with connection and cycle time of 50 ms:
C
= 1;
T
= 0,05 s;
Z
= 1 / 0,05 = 20;
N
= 1 x (20 – (20 / (0,05 x 1000))) = 1 x (20 – (20 / 50)) = 1 x (20 – 0,4) = 1 x 19,6
N
= 19,6
Thus, in this configuration, the MODBUS Server will is able to respond 19 requests per second
(average).
If you multiply this value by the number of bytes in each request, you will get an n-byte transfer rate.
DNP3 Communication Performance
DNP3 Server
The CPU runs the DNP3 Server driver in the same way as other communication Server drivers, i.e.,
in background, cyclically, and with a priority below the user application. The task of this driver
specifically runs at every 50ms, and just 1 run cycle of the driver is enough to process and respond
requests. However, due to the fact it is a low priority task, it may not be able to run with the same
frequency, as it depends on the percentage of free CPU and also on the competition with tasks of
other protocols configured on the CPU. The percentage aforementioned is given by the difference
between the MainTask interval and the time that the user application takes to run.
To help in the comprehension of the DNP3 Server driver performance, check below the result of tests
carried out with a DNP3 Client simulator, connected to a HX3040 with a DNP3 Server driver. The
configured database consisted of 4000 digital points and 500 analog points (all with quality and time
stamp). The MainTask execution time was 70ms (interval of 100 ms).
Time to complete an integrity polling: less than one second
Time to transfer 4.000 digital 500 analog events: 4 seconds
DNP3 Client
As the DNP3 Server, the CPU also runs the DNP3 Client driver in background and cyclically, at each
50ms. Its priority is below the user application and it needs 3 run cycles to accomplish the remaining
requests. Unlike the MODBUS Client driver, this task period is fixed in 50 ms, regardless of the
polling period set in the requests. Thus, the polling period effectively executed by the driver may
have an inaccuracy of up to 150ms.