HomeInterfacesRecipesChangelogFAQ
Log In
Interfaces

Confirm Pick To Light (PTL)

Summary

The AutoStore FusionPort features integrated lights for Pick To Light (PTL) operations and a display to indicate the quantity to be picked. This functionality is activated by the ShowPickToLight API method, which is part of the regular Interface.

The ShowPickToLight API method instructs the AutoStore system to display the specified quantity and activate the lights in the designated compartment(s) of the specified bin(s) when these bins arrive at the indicated port(s). A successful invocation of the ShowPickToLight method triggers a PTL R (REGISTERED) event, logged in LogPublisher. When the corresponding request becomes ACTIVE (meaning the specified bin(s) have reached the designated port(s)), a PTL A (ACTIVE) event is logged.

Upon the appearance of a PTL A event and activation of lights and displayed quantity in the FusionPort, the operator is required to confirm the completion of the picking process by pressing a button on the Port. This action generates a PTL C (CONFIRMED) event in LogPublisher.

In a simulation environment, where physically pressing a button is not feasible, an API request is used to 'simulate' this button press. The Confirm Pick To Light method replicates the functionality of the physical button press.
When an ACTIVE PTL event is confirmed via this method, a PTL C (CONFIRMED) event should be observable in LogPublisher.

The parameters for the Confirm Pick To Light method mirror those of the corresponding ShowPickToLight method from the regular interface.

Endpoint

http://<server>:44002/api/v1/simulation

Request parameters

ParameterMandatory?Data typeDescription
source_port_idTrueInt
(1-2000)
The port id of the port to show lights and pick from.
target_port_idFalseInt
(1-2000)
The port id of the port to show lights and pick to.
source_bin_idTrueInt
(1-4000000)
The bin in the source port to show PTL on.
target_bin_idFalseInt
(1-4000000)
The bin in the source port to show PTL to.
source_compartmentTrueInt
(Calculated)
The compartment of the bin to pick from. Decides whichs lights should be shown. See PTL Compartment Calculation.
target_compartmentFalseInt
(Calculated)
The compartment of the bin to pick to. Decides whichs lights should be shown. See PTL Compartment Calculation.
quantityTrueInt
(0-1000)
The number on the display to show how many items to pick

Request example

//Interface installation location(Ip adress)
string ip = "127.0.0.1";
//The URL to the task interface
string url = "http://" + ip + ":44002/api/v1/simulation";
//XML that will be POST'ed
string xmlData = string.Format(
@"<?xml version=""1.0""?>
<methodcall>
  <name>confirm_pick_to_light</name>
  <params>
    <source_port_id>3</source_port_id>
    <target_port_id>4</target_port_id>
    <source_bin_id>15575</source_bin_id>
    <target_bin_id>20501</target_bin_id>
    <source_compartment>83</source_compartment> 
    <target_compartment>11</target_compartment>
    <quantity>1</quantity>
  </params>
</methodcall>");
//POST to interface
HttpResponseMessage response = await new HttpClient().PostAsync(url, new StringContent(xmlData,
        Encoding.UTF8, "application/xml"));
string responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString);
# Interface installation location (IP address)
ip = "127.0.0.1"
# The URL to the task interface
url = f"http://{ip}:44002/api/v1/simulation"
# XML that will be POST'ed
xmlData ="""<?xml version="1.0"?>
<methodcall>
  <name>confirm_pick_to_light</name>
  <params>
    <source_port_id>3</source_port_id>
    <target_port_id>4</target_port_id>
    <source_bin_id>15575</source_bin_id>
    <target_bin_id>20501</target_bin_id>
    <source_compartment>83</source_compartment> 
    <target_compartment>11</target_compartment>
    <quantity>1</quantity>
  </params>
</methodcall>"""
# POST to interface
response = requests.post(url, data=xmlData.encode('utf-8'), headers={"Content-Type": "application/xml"})
print(response.text)
const ip = "127.0.0.1";
const url = `http://${ip}:44002/api/v1/simulation`;
const xmlData = 
`<?xml version="1.0"?>
<methodcall>
  <name>confirm_pick_to_light</name>
  <params>
    <source_port_id>3</source_port_id>
    <target_port_id>4</target_port_id>
    <source_bin_id>15575</source_bin_id>
    <target_bin_id>20501</target_bin_id>
    <source_compartment>83</source_compartment> 
    <target_compartment>11</target_compartment>
    <quantity>1</quantity>
  </params>
</methodcall>`;

fetch(url, {
    method: 'POST',
    body: xmlData,
    headers: {
        'Content-Type': 'application/xml'
    }
})
    .then(response => response.text())
    .then(responseString => console.log(responseString));
<?xml version="1.0"?>
<methodcall>
  <name>confirm_pick_to_light</name>
  <params>
    <source_port_id>3</source_port_id>
    <target_port_id>4</target_port_id>
    <source_bin_id>15575</source_bin_id>
    <target_bin_id>20501</target_bin_id>
    <source_compartment>83</source_compartment> 
    <target_compartment>11</target_compartment>
    <quantity>1</quantity>
  </params>
</methodcall>

Response parameters

This method has no response parameters.

Response example

<?xml version="1.0"?>
<response>
  <params />
</response>

Error Codes

None