Basically, my system consists of a GPIB IEEE488.2 that connects to 2 Newport MM4006 controllers that have two different GPIB address. The first controller controls 1 axis of a precision stage, and the second one takes care of the other 2 axes.
However, it is known that GPIB interface can only issue commands in a serial way, to one controller at the time, but very rapidly. Therefore, when we try to send commands to both of the controllers so that the stage can move in all axis directions exactly at the "same time", there still should be a time delay between the starting time of the motion on different axes.
This delay might, however, be critical in our applications. We are not too sure about the following possible
solution:
By creating an appropriate delay time between the issuing of the first command to controller #1 and its actual execution, we might be able to compensate the short time that the computer needs to issue the second command to controller #2 after sending the first command. This will hopefully make the commands executing at the same time so that the two axes controlled by these 2 different controllers can move exactly at the same time.
The challenge also includes obtaining the exact quantity of this delay time; but the time is probably very different every time. I am not sure if there is a way to let controller #1 to execute the command as soon as controller #2 has received its own command and is also ready to execute it.
Do you have any clue or solution to this timing problem?