This drive will wait until, the given drive compleates execution, until this method is called.

Namespace: EAL.EALConnection
Assembly: EAL (in EAL.dll) Version: 1.1.5.0 (1.1.5.0)

Syntax

C#
public void WaitDone(
	IEALConnection ealConnection
)
Visual Basic
Public Sub WaitDone ( 
	ealConnection As IEALConnection
)
Visual C++
public:
virtual void WaitDone(
	IEALConnection^ ealConnection
) sealed

Parameters

ealConnection
Type: EAL.Interfaces..::..IEALConnection
EAL connection to refer

Implements

IEALConnection..::..WaitDone(IEALConnection)

Remarks

This method is useful in the asynchronous method only.

Examples

 Copy imageCopy
private static void Sample()
{
    using (IEALConnection ealConnection1 = new EALConnection(true))
    {
        using (IEALConnection ealConnection2 = new EALConnection(true))
        {
            // Connects axis1
            ealConnection1.Connect("192.168.0.22");
            // Connects axis1
            ealConnection2.Connect("192.168.0.254");
            IAxis axis1 = ealConnection1.Motion.Axes[0];        // Gets axis
            IAxis axis2 = ealConnection2.Motion.Axes[0];        // Gets axis
            // Clears error
            axis1.ClearError();
            // Clears error
            axis2.ClearError();
            // Sets Axis state to active
            axis1.SetCondition(AxisCondition.AXIS_CONDITION_ACTIVE);
            // Sets Axis state to active
            axis2.SetCondition(AxisCondition.AXIS_CONDITION_ACTIVE);
            // Powers on
            axis1.Movement.Power(true);
            // Powers on
            axis2.Movement.Power(true);
            // Homes axis1
            axis1.Movement.Home();
            // Homes axis2
            axis2.Movement.Home();
            // Moves to absolute zero position
            axis1.Movement.MoveAbsolute(0, 100, 100, 100, 0);
            // Waits until last movement command completes
            axis1.Movement.Wait(10000);
            // Moves to absolute zero position
            axis2.Movement.MoveAbsolute(0, 100, 100, 100, 0);
            // Waits until last movement command completes
            axis2.Movement.Wait(10000);
            // Waits until axis1's queue completes
            ealConnection1.WaitUntilQueueComplete();
            // Waits until axis2's queue completes
            ealConnection2.WaitUntilQueueComplete();
            for (int i = 0; i != 10; i++)
            {
                // Moves axis1
                axis1.Movement.MoveAbsolute(100 * i, 100, 100, 100, 0);
                // Waits until last movement command completes
                axis1.Movement.Wait(10000);
                // Axis2 waits for axis1's task to completes
                ealConnection2.WaitDone(ealConnection1);
                // Moves axis2
                axis2.Movement.MoveAbsolute(100 * i, 100, 100, 100, 0);
                // Waits until last movement command completes
                axis2.Movement.Wait(10000);
                // Axis1 waits for axis1's task to completes
            }
            // Waits until all tasks of axis1 completes
            ealConnection1.WaitUntilQueueComplete();
            // Waits until all tasks of axis2 completes
            ealConnection2.WaitUntilQueueComplete();
        }
        Console.WriteLine("Press enter to close the window.");
        Console.ReadLine();
    }
}

See Also