(0)| 1/31/2024 10:44 AM | |
|
Posts: 7 Rating:
|
Hello. I saw that when a DB is larger than the PDU size, the DB is splitted into multiple of PDU size during the transfers, hence a delay is introduced at each split. Snap7 Homepage (sourceforge.net) I did a test with a DB containing 328 variables of type DTL (system time) which gets a result of 328*12=3936 bytes. Figure 1 shows the time difference between current variable from the next variable. Indeed the PDU shows up, for each 38th (38*12=456) or 39th (39*12=468), it's means I negotiate a PDU size of 480 (480-18=462), it occurs 8 time (3936/462=8.52) which is accurate, the time diff is expressive and has an average of 3.5ms. Figure 2 shows the time diff don't occurs at each PDU, which I need an explanation. I also noticed a delay of 2µs between each variable, it may du to the generation of variable inside the PLC's process. Figure 3 and 4 is the same test as above but with a less performed PLC : PDU delay 4.6ms, process delay : 8µs. Then I did 2 another tests, first is a DB of 1682 variables of various type with 6440 bytes, second is a DB of 654 variables of various type with 1840 bytes. I specify a multiple reading rate and record the arrivale time difference of each reading. Figure 5 shows the result of the 2 tests with performed PLC. I noticed there is a minimum reading rate. Figure 6 shows the result of the 2 tests with less performed PLC. There is also a minimum reading rate. More, after certain rate, the deviation (fluctuation of "arrivale time diff" from the average) is minimum. This "certain rate" is estimate from the PDU test : PDU_split * PDU_delay + variable_number * process_delay. performed PLC & bigger DB : int(6440/462) * 3.5 + 1682 * 0.002 = 49ms performed PLC & smaller DB : int(1840/462) * 3.5 + 654 * 0.002 = 12ms less performed PLC & bigger DB : int(6440/462) * 4.6 + 1682 * 0.008 = 74ms less performed PLC & smaller DB : int(1840/462) * 4.6 + 654 * 0.008 = 19ms This rate means the max time diff from the fist to the last variable if PDU delay occurs at each PDU split. The reason of this test is to determine the "best" reading rate. So, in order to have a max frequency of reading and less fluctuation for the arrival time, the "certain rate" is the answer. But it's not the case for the performed PLC, I'm thankful if anyone provide more information on this topic. Regards. Traveleur3 |
Last edited by: Traveleur3 at: 01/31/2024 10:57:08Last edited by: Jen_Moderator at: 02/01/2024 07:11:53Text formatting optimized. |
|
Follow us on