IStorageDriver interface : LookupLocations method

LookupLocations method
Description
VWorks software calls the LookupLocations method to get the names from the plugin of all the locations to which or from which the robot can move labware.
Note: The internal location is the location on the storage device, which is considered inside the system. The external location is the location outside the system.
IMPORTANT VWorks software always calls the LookupLocations method before the LoadPlate and UnloadPlate methods. See “LoadPlate method” and “UnloadPlate method” .
Syntax
 
HRESULT LookupLocations(
[in] VARIANT_BOOL Load,
[in] BSTR Labware,
[in] enum PlateFlagsType PlateFlags,
[in] BSTR StorageLocationXML,
[out] BSTR *ExternalLocationsXML,
[out,retval] enum ReturnCode *retVal
);
Parameters
 
-1 = The labware is about to be loaded
 0 = The labware is about to be unloaded
0 = The labware does not have a lid and is not sealed
1 = The labware has a lid
2 = The labware is sealed
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)
LookupLocations method input
VWorks software passes a StorageLocation XML block into the StorageLocationsXML parameter of the LookupLocations method.
StorageLocation XML block
The StorageLocation XML block contains the StorageLocation element and all its children. This XML block provides information about the location on the storage device, including the cassette/slot coordinates, that is used for a Load or Unload task.
XML structure
The value of the file attribute for the Velocity11 element is MetaData. See “Velocity11 element” .
 
<StorageLocation>
<Coordinates>
<StorageLocationCoordinate Name='Cassette' ... />
<StorageLocationCoordinate Name='Slot' ... />
</Coordinates>
<Location />
</StorageLocation>
StorageLocation element
The StorageLocation element has two children: Coordinates and Location.
Coordinates element
The Coordinates element contains two StorageLocationCoordinate elements.
StorageLocationCoordinate element
Each StorageLocationCoordinate element has one of the following pairs of Name and Value attributes.
 
The value Cassette.
Location element
The Location element contains information about the location on the storage device. The Location element is defined in “Location element” .
Example of LookupLocations method input
The following sample code is a StorageLocation XML block that is received by the plugin from VWorks software as a string in the StorageLocationXML parameter of the LookupLocations method. When the value of the Load parameter is -1, VWorks software asks the plugin for all the locations on the storage device at which the robot can load the specified labware.
 
<StorageLocation >
<Coordinates >
<StorageLocationCoordinate Name='Cassette' Value='1' />
<StorageLocationCoordinate Name='Slot' Value='1' />
</Coordinates>
<Location Group='0' MaxStackHeight='460' Offset='0' Type='1' />
</StorageLocation>
LookupLocations method output
The plugin returns a LocationVector XML block in the ExternalLocationsXML parameter of the LookupLocations method.
LocationVector XML block
The LocationVector XML block contains the LocationVector element and all its children. This XML block provides information about the external location that is to be used for a Load or Unload task.
XML structure
The value of the file attribute of the Velocity11 element is MetaData. See “Velocity11 element” .
 
<LocationVector>
<Locations>
<Location />
...
</Locations>
</LocationVector>
LocationVector element
The LocationVector element contains one Locations element.
Locations element
The Locations element contains one or more Location elements.
Location element
The Location element contains information about the external location. The Location element is defined in “Location element” .
Example of LookupLocations method output
The following sample code is a LocationVector XML block that is returned to VWorks software by the plugin as a string in the ExternalLocationsXML parameter of the LookupLocations method. The code returns information about Primary (Load/Unload) Pad, which is one of the StoreX device’s external locations.
 
<LocationVector >
<Locations >
<Location Group='0' MaxStackHeight='460' Name='Primary (Load/Unload) Pad'
Offset='0' Type='4' />
</Locations>
</LocationVector>
Related information