I have a similar problem. I am also using a ESP300 controller with LabVIEW 7.0. But, I am just trying to send a simple command such as "1MO" (motor on axis 1) which works fine. When I try to send another command such as "2MO" I get a timeout error. I will keep getting a time out error unless I restart labVIEW and the motion controller.
My NI-VISA version is 3.0
I am using as Agilent 82357A USB/GPIB interface
Hi, there was a known timeout issue with the ESP300 and the official newport libraries. Maybe it is the problem you are facing. Use one of the attached libraries that were modified. You might find more about the problem here on the forum if you search. If it does't help: are you sure you command the right axis? = is there really a stepper mottor attached to the second axies?
I looked back at my code, and it looks like I used the tried and true solution of adding manual delays.
My VI sends a program to the ESP300 one line at a time, with a 10 ms delay after sending each line.
Is there a file which solves the problem with VISA commands instead of GPIB?
Look here in the forum for various threads that contain the term ESP300. There is at least one version of an ESP300 library posted that is actually using VISA. Not sure if it solves all the problems this instrument seems to have in terms of its GPIB interface implementation but it's a start. If you use it through GPIB I would recommend to enable the GPIB->Unadressing property after initializing the resource as this instrument seems otherwise to get into hickups after some time of intensive communication.
I had a similar problem to that posted by imperfection, and have now succeeded in solving it.
Ceties, the solution you posted has some bugs: (1) the "greater or equal" function should actually be a "less or equal" function, and (2), in my case, the true-false array leading into the "not exclusive or" function was also incorrect, and needed to be fixed. There is a more thorough discussion of this in the string Ceties has linked in the 1-14-2009 post.
In any case, neither of these solutions did very much to solve my problem. It kept on timing out even after implementing revised "Send" and "Read" functions. What did help was combining the new "send" and "read" functions with the following changes:
(1) Upgrade firmware from version 3.03 to version 3.09 (see the link in Ceties's 1-14-2009 post).
(2) Verify that autopolling is deactivated in my PCI-GPIB NI Max communication settings (see the link in Ceties's 1-14-2009 post).
(3) Select a reasonable GPIB cable length in my PCI-GPIB NI Max communication settings.
I unfortunately don't have the patience to figure out which combination of these changes is the minimal solution, but hopefully the list will be helpful to anyone else having similar problems in the future. I suspect that the primary issue was the firmware.