IWorksAsyncDriver interface : Retry method

Retry method
Description
VWorks software calls the Retry method as follows:
1
The plugin calls the ErrorAbortRetryIgnoreNonBlocking update to notify VWorks software that an error occurred and to provide a literal string that describes the error.
2
VWorks software does the following:
a
b
The Abort, Ignore and Continue…, Retry, and Diagnostics buttons
The figure on page 41 shows a standard error dialog box.
3
If the user clicks the Retry button, VWorks software calls the Retry method to tell the plugin to retry the asynchronous task.
Because VWorks software assumes the user manually solved the problem that caused the error, the plugin should try to restart the task. The plugin should record the state of the task and retry from the point in the task that makes the most sense given the current state.
For example, a single-column dispenser that encounters an error after partially filling a labware should not start over, because the dispenser might deliver too much reagent to the already-covered wells. The dispenser should continue as close to the point of interruption as possible to avoid over-dispensing or under-dispensing the wells that were being filled at the time the error occurred.
Syntax
 
HRESULT Retry(
[in] BSTR AsyncXML,
[out,retval] enum ReturnCode *retVal
);
Parameters
 
[in] An Asynchronous Task Command XML block that identifies the asynchronous task and describes the error that occurred.
0 = The request was completed (RETURN_SUCCESS)
1 = Something was wrong with the input, so the request was not completed (RETURN_BAD_ARGS)
2 = The request was not completed (RETURN_FAIL)
Retry method input
VWorks software passes an Asynchronous Task Command XML block into the AsyncXML parameter of the Retry method.
Asynchronous Task Command XML block
The Asynchronous Task Command XML block contains the Command element and an AsyncParameters child element and all its children. This XML block identifies the asynchronous task to be retried and the error that occurred.
XML structure
The value of the file attribute for the Velocity11 element is MetaData. See “Velocity11 element” .
 
<Command>
<AsyncParameters>
<AsyncParameter Name='Async_ErrorDescription' ... />
<AsyncParameter Name='Async_TaskID' ... />
<AsyncParameter Name='Async_TaskVWorksID' ... />
<AsyncParameter Name='Async_Location' ... />
</AsyncParameters>
</Command>
XML elements and attributes
See “Asynchronous Task Command XML block components” .
Example of Retry method input
The following code is an Asynchronous Task Command XML block received by the plugin from VWorks software as a string in the AsyncXML parameter of the Ignore method. VWorks software tells the plugin to retry the asynchronous task named MakeLocationAvailable, whose plugin-generated task ID is 1, after an error occurs at the location named Location.
 
<Command Compiler='0' Editor='0' Name='MakeLocationAvailable'
NextTaskToExecute='1' RequiresRefresh='0' TaskRequiresLocation='1'
VisibleAvailability='1' Description='MakeLocationAvailable'
ProtocolName='Protocol File - 1.pro'>
<AsyncParameters >
<AsyncParameter Name='Async_ErrorDescription'
Value='No response received from the pipette controller. It is recommended that you
click Retry. Ignoring this error may result in an unpredictable move.' />
<AsyncParameter Name='Async_TaskID' Value='1' />
<AsyncParameter Name='Async_TaskVWorksID' />
<AsyncParameter Name='Async_Location' Value='Location' />
</AsyncParameters>
</Command>
Related information