1
Open Discussion / Re: How Fast is AdvancedHMI CLX driver?
« on: October 29, 2015, 02:29:05 PM »
Hello,
I'm writing a HMI for some presses my company uses. I was curious about the read/write speed of the CLX driver so I set up a small experiment of my own using the EthernetIPforCLX driver and some vb.net code.
I have some tags in the Allen Bradley CompactLogix L45 designated for handshaking bits and some data to gather over every press cycle.
Since these tags aren't necessarily related and won't always be accessed at the same time, I tried timing out individual tag reads instead of a large array read. The tag in question had a string 23 characters long in it.
Setup:
CompactLogix L45
i5 4300u 1.9 - 2.5 Ghz / 4GB Ram
I consistently got 5.2 - 5.4 seconds for 1000 independent reads.
I hope this doesn't confuse anybody since it is in fact a very different test than what you had done.
~5ms for a discreet tag read is plenty good for me. Have you ever timed out individual reads/writes yourself? I assume there is a good bit of overhead involved in calling a read/write that you only experience once in your test and I experience 1000 times in mine.
If I knew how to time stuff out with wireshark, or even how to declare and allocate a Dint array of size 1000 (not a PLC person myself) I'd try and duplicate your test.
I'm writing a HMI for some presses my company uses. I was curious about the read/write speed of the CLX driver so I set up a small experiment of my own using the EthernetIPforCLX driver and some vb.net code.
I have some tags in the Allen Bradley CompactLogix L45 designated for handshaking bits and some data to gather over every press cycle.
Since these tags aren't necessarily related and won't always be accessed at the same time, I tried timing out individual tag reads instead of a large array read. The tag in question had a string 23 characters long in it.
Code: [Select]
initialTicks = My.Computer.Clock.TickCount
For i = 0 To 999
junk = newPLC.ReadPLC("Info_Part_Description")
Next
endTicks = My.Computer.Clock.TickCount
deltaTicks = endTicks - initialTicks
TextBox5.Text = deltaTicks
Setup:
CompactLogix L45
i5 4300u 1.9 - 2.5 Ghz / 4GB Ram
I consistently got 5.2 - 5.4 seconds for 1000 independent reads.
I hope this doesn't confuse anybody since it is in fact a very different test than what you had done.
~5ms for a discreet tag read is plenty good for me. Have you ever timed out individual reads/writes yourself? I assume there is a good bit of overhead involved in calling a read/write that you only experience once in your test and I experience 1000 times in mine.
If I knew how to time stuff out with wireshark, or even how to declare and allocate a Dint array of size 1000 (not a PLC person myself) I'd try and duplicate your test.