During our testing with the Easy Automation Library (EAL), we see an added communciation delay time while waiting for a move around 150ms. This added delay is in addition to the motion profile, and since the Movement.Wait command is tied to the drive's internal motion interpolator (S437 bit 0), it should not have anything to do with settling time on the axis.
Is there a way to improve this?
Regular read/write request for non motion commands take less than 5ms.
I should mention our tests were running with a straight connection from our PC to the drive, no ethernet switch, and the application is very minimum:
EAL SDK 2.0
Thank you in advance,
I performed some additional tests with the EAL library. As a correction of the reporting of Nate, I do use a GB switch between the PC and the drive. And I use the .NET library (just like our customer).
I adapted the code for an absolute move to also measure the duration of the motion command:
And I made a Move absolute that polls S-0-0342 (Is the same as S-0-0437 bit 0, but this one does not require any bit-masking to check a single bit).
The this.TargetPositionAttained is a property of my axis class, it actually reads parameter S-0-0342 and returns a true value when this parameter is equal to 1.
The results are:
So if there is a way in reducing the overhead, it has to come from:
I guess there is no possibility to improve this behavior because a move absolute is not only a single write parameter command. Its more a sequence with lots of parameters which needs to be written.
Also keep in mind EAL is using a non real time communication, so your measured time can be correct for today but tomorrow when there is i.e. more traffic on your network the time can change.
So if you need a real time communication we recommend to use a fielbus like EtherCAT or Sercos.