140 KiB
Interface
Operation Manual
Manual revision: 0
Publishing date: 26.09.2022
AS-55126-STD-en Language: English Original
AS-50126-STD-eng
Imprint
AutoStore AS
Stokkastrandvegen 85
N-5578 Nedre Vats
Norway
Tel: +47 5276 3660
http://www.autostoresystem.com/
Imprint
page 3
Copyright, Intellectual Property, and Disclaimer
All rights reserved. This manual is protected by applicable copyright law and international treaty provisions. AutoStore Technologies AS is the sole proprietary owner of this manual, its contents and related intellectual property, including, but not limited to, creative work, designs, patents and trademarks. No parts of this work, including but not limited to, design, technical solutions, trademarks, graphic, electronic or mechanical, may be reproduced in any form or by any means whether by photocopying, recording, taping, information storage and retrieval systems or otherwise, without the written permission of AutoStore Technologies AS.
This manual and its contents and specifications are subject to change without notice. While every precaution has been taken in the preparation of this document, neither AutoStore Technologies AS nor any other company within the AutoStore Group (affiliates, subsidiaries or parent companies of AutoStore Technology AS) assume any responsibility or liability for errors or omissions, or for any personal injury, loss or damages resulting from the use of or reliance on the information contained in this document or from the use of programs and source code that may accompany it.
AutoStore is a certified product. Modules and parts of the AutoStore system must not be modified, altered, or installed, operated or used in a way not explicitly endorsed by the official documentation. To the fullest extent permissible under applicable law, in no event shall AutoStore Technologies AS or any other company within the AutoStore Group be liable for any claim, loss of profit or any other economic or physical damage caused or alleged to have been caused directly or indirectly by this document.
All specifications provided in this manual follow European standards and may not reflect applicable local standards. If applicable local standards deviate from the ones stated in this manual, then the strictest specifications should be followed.
It is the responsibility of the distributor to ensure that local requirements are followed.
page 4
Copyright, Intellectual Property, and Disclaimer
Contents
Imprint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Copyright, Intellectual Property, and Disclaimer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
- Read this first. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.1 About this manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.2 Conventions and Standards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.3 Contacting us. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 Signs and Notices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.5 Changes to the Manual. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.6 General Safety Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.7 General Precautions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
- Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1 Task Interface and Bin Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.1.1 Task Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.2 Bin Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.1.3 Comparison. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2 Technical Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.1 XML Message Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.2 Using the AutoStore Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3 Feature Compatibility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.1 Features that require AS Router. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.2 Software Release October 2022. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.3 Software Release April 2023. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.4 Software Release October 2023. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
- Basic Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1 Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.1 Bin Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.2 State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.1.3 Bin Content Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.4 Automatic Preparation of Empty Bins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2 Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.1 Port Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.2.2 Port Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.3 Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
- Task Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.1 Basic Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.1.1 Task Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.1.2 Task. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.1.3 Port Properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2 Balancing Categories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.3 Performance Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.4 Port Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.4.1 Open Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.4.2 Open Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.4.3 Close Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.4.4 Close Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.4.5 Insert Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.4.6 Remove Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.4.7 Update Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.4.8 Get Port Status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.5 Task Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.5.1 Create Taskgroup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Contents
page 5
4.5.2 Update Taskgroup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.5.3 Cancel Taskgroup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.5.4 Add Task. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.5.5 Cancel Task. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.6 Query Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.6.1 Get Bin Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.6.2 Get Bin Location. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.6.3 Get Bin State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.6.4 Get Task Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.6.5 Get Next Task Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.7 Controlling the Sequence of Task Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.7.1 Overriding the next Task Group. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.7.2 Implementing Cut-Off Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.7.3 Synchronizing with the Task Group Sequence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.7.4 Specifying a Strict Sequence of Task Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5. Bin Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.1 Basic Concepts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.1.1 Bin Preparation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.1.2 Port Queue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.2 Port Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.2.1 Open Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.2.2 Open Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.2.3 Close Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.2.4 Close Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.2.5 Insert Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 5.2.6 Remove Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 5.2.7 Update Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5.3 Bin Preparation Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.3.1 Prepare Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.3.2 Insert Prepare Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 5.3.3 Cancel Prepare Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 5.3.4 Set Port Queue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.3.5 Append to Port Queue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.3.6 Begin Group in Port Queue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.3.7 End Group in Port Queue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.4 Query Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.4.1 Get Bin Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.4.2 Get Bin Location. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.4.3 Get Bin State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.4.4 Get Preparation Queue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5.4.5 Get Port Queue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 6. Port Processes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.1 Standard Port Flows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.1.1 Putaway Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 6.1.2 Picking Process with Task Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.1.3 Picking Process with Bin Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 6.2 PickUpPort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.2.1 Get Drawer State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 6.3 Fusion Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6.3.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.3.2 Pick-To-Light API. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 6.3.3 Show Pick-To-Light. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 6.3.4 Hide Pick-To-Light. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 6.3.5 Compartment Definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.3.6 Pick-To-Light Example. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 6.4 MultiPort configuration of the Fusion Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.4.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.4.2 Enable MultiPort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
page 6
Contents
6.4.3 Disable MultiPort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6.5 Miscellaneous Port Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.5.1 Configure Port. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6.5.2 Get Port Configuration. . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.5.3 Get Port Weight. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6.5.4 Flush Port Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7. Forecast Bin Preparation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 7.1 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 7.1.1 Bin Mode Forecast. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 7.2 Forecast Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 7.2.1 Forecast Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 7.2.2 Cancel Forecast Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 7.3 Guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 8. Controlling Bin Locations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8.1.1 Bin Content Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8.1.2 Cell Content Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 8.1.3 Content Code Ranges. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 8.1.4 Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 8.2 Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 8.2.1 Main Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 8.2.2 Content Consumers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 8.3 Interface Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 8.3.1 Update Cell and Bin Content. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 8.4 Managing Frozen Zone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 8.4.1 Defining the Zones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 8.4.2 Controlling Bin time outside its Zone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 9. Port Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 9.1 Port Process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 9.1.1 Allocate Cell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 9.1.2 Exchange Bins to and from Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 9.2 Message Flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 9.2.1 Port Retrieve Bin from Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 9.2.2 Port Deliver Bin to Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 9.2.3 Port Exchange Bin with Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 9.3 Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 9.3.1 Port with Outgoing Bins to Conveyor Belt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 9.3.2 Port with Outgoing Bins to Conveyor Belt (mode AUTO). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 9.3.3 Port with Incoming Bins from Conveyor Belt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 9.3.4 Port Exchange Bins to and from Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 9.4 Error Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 9.4.1 Failure when Port Retrieves Bin from Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 9.4.2 Failure when Port Deliver Bin To Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 9.5 Port Interface Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 9.5.1 Port Cell Allocate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 9.5.2 Port Location Ready. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 9.5.3 Port Bin Ready. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 9.5.4 Port Bin mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 10. Connecting Grids with Bin Lift. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 10.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 10.2 Exchanging Bins between the Grids. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 10.3 Transfer Bins to the other Grid. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 11. Miscellaneous Interface Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 11.1 Bin Definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 11.1.1 Create Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 11.1.2 Delete Bins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 11.2 System Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 11.2.1 Force Charge. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Contents
page 7
11.2.2 Set Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 11.3 Query Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 11.3.1 Get System State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 12. Log Publisher Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 12.1 Technical Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 12.2 Initial Download. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 12.3 Event Segments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 12.3.1 Download Start. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 12.3.2 Download Complete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 12.3.3 Time. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 12.3.4 Time Factor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 12.3.5 Bin Location. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 12.3.6 Bin Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 12.3.7 Port Location Failed. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 12.3.8 Port Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 12.3.9 Port Definition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 12.3.10 Cell Lock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 12.3.11 Lift Cell Lock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 12.3.12 Port Error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 12.3.13 Robot Charging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 12.3.14 Robot Error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 12.3.15 Robot Unavailable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 12.3.16 Port Task Groups. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 12.3.17 Pick To Light. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 12.3.18 Drawer State. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 12.3.19 System Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 12.3.20 Alert. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 12.4 Value Codes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 13. AutoStore Internals and Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 13.1 Port Carousel Behavior. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 13.2 Port Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 13.3 Behavior when few available Tasks or Bins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 14. Appendix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 14.1 Error Code Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 14.2 Property Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 15. Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
page 8
Contents
- Read this first
This part of the manual explains the structure and use of this AutoStore manual. Reading the following sub- chapters in detail will help you to get the most out of your AutoStore system.
1.1 About this manual
This Operation Manual contains comprehensive information related to all aspects Interface operation.
The manual is intended for use by category 3 and 4 AutoStore service technicians, who are qualified service personnel approved by AutoStore AS.
NOTICE
For a description of the different user categories see the Safety Concepts manual.
1.2 Conventions and Standards
This section describes the typographical conventions that have been established for AutoStore manuals.
Data Input
Throughout this manual, the following conventions indicate data input and output via the computer:
▪ Messages displayed on the screen are represented by capitalizing the initial letter of each word and by
italicizing each word. For example, "Close The Robot Door".
▪ Statuses and modes are written in capital letters. For example, RUNNING. ▪ Input that is entered by keyboard is identified by quotation marks: single quotes for single characters,
double quotes for strings.
▪ For brevity, expressions such as “choose File -> Directories” are used rather than “pull down the File menu
and choose Directories.”
▪ Any command is enclosed in angle brackets < > represents a single keystroke. For example, “press ”
means press the key labeled F1.
▪ Any command that requires pressing two or more keys simultaneously is shown with a plus sign connecting the keys. For example, “press + ” means press and hold the key and then press the key.
▪ Any button that you click on the screen or on a physical panel is represented in bold face letters. For
example, “click Close” or "push Retry".
Measurements
Unless specified otherwise:
▪ All measurements are metric ▪ Diagrams are read from left to right ▪ All time references are in UTC
Read this first
page 9
1.3 Contacting us
There are several ways to contact AutoStore:
Assistance
For technical support and ordering information, visit us on the Web:
www.autostoresystem.com
Telephone: +47 5276 3660
1.4 Signs and Notices
These WARNING signs were prepared to enhance your personal safety. You should carefully read and follow ALL procedures and recommendations provided through these WARNING, CAUTION, and NOTICE signs.
WARNING
A WARNING indicates a situation that could result in harm, serious bodily injury, or death if the warning is ignored.
CAUTION
A CAUTION indicates a situation that could result in damage to the module if the caution is ignored.
NOTICE
A NOTICE indicates that interesting or helpful information is being provided.
1.5 Changes to the Manual
In order to suggest changes to this manual, please forward comments (preferably in English) to:
Editors, Technical Documentation AutoStore AS Stokkastrandvegen 85 5578 Nedre Vats Norway
Alternatively, please send an e-mail message to the Technical Editors at:
documentation@autostoresystem.com
You are encouraged to report errors or omissions in the text or index.
1.6 General Safety Information
In accordance with our commitment to customer service and safety, this module complies with the EEA requirements governing the CE Mark including the Low Voltage Directive.
Designed, manufactured, and tested in an ISO9001 registered facility, this module has been shipped to you from our manufacturing facility in a safe condition.
This module must be used as described in this manual. Any use of this module in a manner other than that described here may result in damage and/or injury.
page 10
Read this first
General Notice on Lifting and Handling of AutoStore modules
CAUTION
Always follow local safety guidelines!
For your safety, and in compliance with international regulations, the physical handling of the modules requires an adequate lifting device for lifting and/or moving. Modules may be too heavy and/or bulky for one person alone to handle safely.
Personal Protective Equipment
▪ Always use personal protective equipment where applicable
Notice on the Proper Use of AutoStore modules
In compliance with international regulations: if this product is used in a manner not specified by AutoStore, the protection provided by the product could be impaired.
1.7 General Precautions
Observe the following safety precautions when you install, operate, or carry out work on an AutoStore module:
▪ The system shall be operated by trained personnel only. Read the manuals before starting the system and
make sure that you are familiar with the warnings and safety precautions!
▪ The module can only operate at full capacity if the system is in good condition and properly set up. ▪ Only use fuses specified by type and current rating. Do not use modified fuses and do not short-circuit the
fuse holder.
▪ For modules where a power cord is supplied, this must be inserted into a power outlet with a protective
earth contact (ground). When using an extension cord, make sure that the cord also has an earth contact.
▪ Do not change the external or internal grounding connections. Tampering with or disconnecting these
connections could endanger you and/or damage the system.
▪ The module is properly grounded in accordance with regulations when shipped. ▪ Never run the system without the covering mounted. Permanent damage can occur. When leaving the
system, make sure that all protective covers and doors are properly connected and closed, and that moving parts are covered or marked in order to provide protection for unqualified personnel!
▪ Do not turn the module on if you suspect that it has incurred any kind of electrical damage. Instead,
disconnect the power cord and contact your distributor for a product evaluation. Do not attempt to use the module until it has been evaluated (electrical damage may have occurred if the system shows visible signs of damage, or has been subjected to severe stress).
▪ Damage can also result if the module is stored for prolonged periods under adverse conditions (e.g.,
subjected to heat, water, etc.).
▪ Unless instructed otherwise, always disconnect the power cord before attempting any type of maintenance. ▪ Do not place any objects – especially containers with liquids – on the module. Leaking liquids can come into
contact with electronic components and cause a short circuit.
Read this first
page 11
- Introduction
WARNING
Users must have fulfilled the mandatory AutoStore Interface training course before implementing the AutoStore Interface.
AutoStore provides an Application Programming Interface (API). It enables the customer's warehouse management system (WMS) to integrate with AutoStore.
AutoStore supports two different levels of integration:
▪ Task Interface ▪ Bin Interface
The Task Interface operates at a picking list level and offers a higher level of abstraction than the Bin Interface.
The Bin Interface operates at a lower level and gives the WMS more control of the process. It places more responsibility for grouping, preparation, and optimization logic on the WMS.
Each installation must choose to use either the Task Interface or the Bin Interface. The two alternatives are further compared in the next section (see Task Interface and Bin Interface on page 12).
NOTICE
Task Interface and Bin Interface cannot be combined!
The AutoStore Interface includes a Port Interface API that enables the integration of custom port implementation. The Port Interface API is a set of methods that are available via the Task Interface as well as the Bin Interface.
When standard AutoStore Port hardware is used, the Bin exchange process in the Ports is handled by AutoStore and the Port Interface is not needed.
When an installation uses customized Port solutions, such as conveyor belts into the ports or special Port hardware, the Port Interface is required. In these cases, the Port Interface synchronizes the insertion and removal of Bins between the Grid and the Ports.
The Port Interface is described in the Port Interface (on page 117) chapter and applies to both the Task Interface and the Bin Interface.
The AutoStore Log Publisher is a separate module that provides feedback from AutoStore to the WMS. It sends an event stream that includes information about the physical Bin locations and preparation status. This information is required for WMS implementations that use the Bin Interface. WMS implementations that use the Task Interface may use this information for certain optimizations, but this is not required. The Log Publisher Interface is further described in Log Publisher Interface (on page 140) chapter.
2.1 Task Interface and Bin Interface
The Task Interface offers integration at a higher level of abstraction than the Bin Interface. The Task Interface uses concepts like tasks, categories, and shipment.
When you use the Task Interface:
▪ the WMS maintains a queue of picking lists (task groups) ▪ AutoStore handles the Bin preparation ▪ AutoStore plans the jobs for each Port ▪ the WMS sets the properties of the task groups and Ports to specify priorities and requirements
The Bin Interface offers integration at a lower level and gives the WMS more control of the process.
page 12
Introduction
When you use the Bin Interface:
▪ the WMS specifies the exact Bin sequence at all Ports ▪ the WMS handles the Bin grouping ▪ the WMS plans the jobs for each port
With the Bin Interface, the WMS takes a bigger responsibility for the performance. Many optimizations that are usually provided by the Task Interface must now be handled by the WMS.
2.1.1 Task Interface
The WMS maintains a queue of picking lists (task groups). A task group specifies a collection of Bins (tasks) that should be picked together. A task specifies the delivery of one specific Bin. Tasks are always grouped into a task group structure.
A task group has a set of properties that specify its priority and requirements. It is possible to restrict which Ports may handle the task group (by its category), and multiple task groups can be grouped together (by the shipment property). The sequence and grouping within a task group may be specified by properties on the tasks. The properties of task group and task are further explained in the chapter Basic Concepts (on page 23).
AutoStore decides the task group sequence at the Ports. AutoStore will usually follow the priorities of the task groups. AutoStore will always aim to optimize the total throughput, and may therefore occasionally choose lower priority jobs. If Bins with a high priority are busy or blocked by other jobs, AutoStore will select other task groups in order to avoid waiting time in the Ports.
2.1.2 Bin Interface
The WMS specifies a preparation queue with Bins that should be prepared for use (i.e. placed in a position where they are readily accessible).
Introduction
page 13
For each Port, the WMS specifies a Port queue that defines the Bins that should be delivered to the Port. Therefore, the WMS must handle the grouping of Bins and resolve conflicts when the same Bin is needed at several Ports. The WMS must consider the physical positions and preparation status of the Bins in order to achieve optimum performance.
2.1.3 Comparison
Task Interface:
▪ Easier to implement. Simple interface (picking list model) ▪ Covers most standard requirements ▪ Some advanced/specific requirements can be difficult to implement efficiently ▪ AutoStore decides the picking sequence
Bin Interface:
▪ The WMS has full control of the Bin sequence ▪ Possible to implement advanced requirements/scenarios that are difficult to express with the Task Interface ▪ More complex to implement ▪ Requires good understanding of AutoStore behavior, such as preparation/digging/transportation costs ▪ WMS must plan Bin preparations and Port queues ▪ More responsibility for the WMS: the WMS implementation and strategies will have big impact on
performance/throughput
The Task Interface covers the most usual requirements. Many warehouse processes follow the picking list model, and the properties of the task groups support many common requirements. However, there are scenarios that do not fit the model supported by the Task Interface. Some examples can be production processes or batch picking processes where the Ports combine multiple picking lists.
The Bin Interface is more flexible and gives the WMS full control of the Bin sequence.
NOTICE
Batch picking processes may still use the Task Interface when the picking lists can be combined into task groups in advance. However, the Bin Interface allows a more dynamic approach since the grouping can be decided later.
2.2 Technical Interface
This document does not describe the installation and configuration of the AutoStore software modules.
page 14
Introduction
The software architecture and the software modules are described in AS-50127 - Operation Manual - Software.
The AutoStore Interface consists of:
▪ An XML interface via HTTP where the WMS makes method calls to AutoStore.
The Bin Interface and Task Interface have different specifications of the XML messages.
▪ A stream interface via TCP where AutoStore sends information to the WMS.
This stream of information is provided by the Log Publisher interface.
2.2.1 XML Message Format
Each message must:
▪ be well-formed XML ▪ begin with an XML declaration that specifies
▪ the XML version (1.0) ▪ the encoding (optional, iso-8859-1 and utf-8 are supported)
The message format is loosely based on XML-RPC. It supports named parameters with types that are not defined globally but rather on a per method basis. Naming conventions also differ from XML-PRC.
2.2.1.1 Request
The root element of the method request is , and the name of the method is given as a string in the first level child element . The method parameters are given in the first level child element . The method parameters are specific to each method.
XML request example:
<?xml version="1.0"?>add_task
<taskgroup_id>123004</taskgroup_id>
<task_id>420233</task_id> <bin_id>23255</bin_id>
2.2.1.2 Response
The root element of the returned XML document is always .
If the method call is successful, a child element named will be created. It contains the returned data. If no data is returned, will be empty.
XML response example:
<?xml version="1.0"?>Introduction
page 15
If the method call is not successful a child element named will be created . It will contain another
child element named that contains the numeric error code.
XML fault response example:
<?xml version="1.0"?>
1009
2.2.2 Using the AutoStore Interface
Messages are sent as HTTP POST requests to one of the following URLs:
Interface
URL
Task Interface
http:///AsInterfaceHttp/AutoStoreHttpInterface.aspx
Bin Interface
http:///AsInterfaceHttp/BinInterface.aspx
If the default virtual directory (AsInterfaceHttp) was overridden during installation, then that part of the URL will
change as well.
WARNING
Do not use the WSDL file. We do not support the SOAP interface. It will be removed in future releases. You
shall only use HTTP POST method enclosing the XML messages that are specified in the Interface
Specification.
WARNING
Never use Task Interface and Bin Interface in the same implementation!
2.3 Feature Compatibility
The functionality and API specifications in this manual applies to the October 2022 software release.
This manual also describes some features and functionality that is planned for future software releases.
Integration and simulation of future features and functionality are supported by release candidates of the
corresponding software releases and WMS SDKs.
2.3.1 Features that require AS Router
The following features and modules are not supported by AS Planner:
▪ Strict sequence of task groups (port mode = SEQUENCE)
▪ Fusion Port
▪ PickUpPort
▪ Configurable look-ahead visibility (getnexttaskgroups)
▪ Frozen Zone and Multi Temperature Grid installations
▪ AutoFlush in port
page 16
Introduction
2.3.2 Software Release October 2022
The following features was changed in the October 2022 software release:
▪ Controlling Bin Location supported by AS Router.
▪ The features that are marked as deprecated are not supported by AS Router.
▪ AS Router only supports one code per cell. Use ranges when multiple codes are needed.
▪ The method flushportbin can also be used in open ports.
2.3.3 Software Release April 2023
The following features will be changed in the April 2023 software release:
▪ Add support for PickUpPort
▪ Add support for controlling strict sequence of task groups (port mode = SEQUENCE)
▪ The method getportweight
▪ Support Bin ID up to 4.000.000
2.3.4 Software Release October 2023
The following features will be changed in the October 2023 software release:
▪ Add support for Fusion Port
▪ Add support for MultiPort configuration
Introduction
page 17
- Basic Concepts
This section describes basic concepts that are common to both interfaces (Task Interface and Bin Interface).
3.1 Bin
The Bins are the storage locations inside the AutoStore system.
Every Bin has a unique identifier that is assigned by the AutoStore system. The WMS should use this identifier
to identify storage locations.
The WMS must keep track of the inventory of each Bin. AutoStore does not maintain detailed information
about the Bin content, such as products and quantities.
Every Bin has an actual state that includes its physical location, preparation state, and mode in port. The
WMS may receive the current state through the Log Publisher Interface.
3.1.1 Bin Properties
bin_id:
The bin_id is the unique identifier of each Bin.
content:
The content code assigned to the bin. The content code is updated by the WMS.
bin_type:
The type of the Bin as specified by the following codes:
bin_type
Description
1
2
5
Standard Bin. Height 330 mm
Standard Bin. Height 220 mm
Standard Bin. Height 425 mm
3.1.2 State
Physical Location:
The current physical location of a bin includes xpos, ypos, depth, and grid_id. If the bin is being moved by a
robot, then only the grid_id is set.
Bin Mode:
The current bin_mode reflects both the preparation status and if the bin is open in a port. The bin mode can be
one of the following:
Mode
Description
page 18
Basic Concepts
GRID
Bin is in a Grid.
FORECAST
Bin is in a Grid and is forecast.
PREPARED
Bin is prepared in a Grid.
PORT
TOGRID
OPEN
CLOSED
OUTSIDE
Bin is in a Port, ready to be opened.
Same as PORT, but the bin is requested back to Grid because it is needed
elsewhere.
Bin is open in a Port.
Bin is in a Port, ready to be returned to Grid.
Bin is removed (temporary) from the system.
Normally, a bin changes mode from GRID to PREPARED to PORT to OPEN to CLOSED and back to GRID.
3.1.3 Bin Content Code
Every bin is assigned a content code. This property, an integer between 1 and 32767, is assigned and
maintained by the WMS.
The WMS may define its own set of content codes. A standard convention is to build the content code of the
number of compartments in the bin together with the number of used compartments. If the installation uses
different bin types (e.g. ESD and non ESD), then the content code would normally also reflect the bin type.
The content code may be used to let AutoStore select an actual bin. This is intended to be used in situations
where many bins are equal from the WMS's point of view and where many of these bins also are normally
available without preparation. Typically, this is used during the putaway process when the WMS just wants an
empty bin.
3.1.3.1 Content Code Example
The content code can be used to indicate whether a Bin is empty or not. Conventionally, the code represents
the number of compartments inside the Bin as well as the number of compartments with goods inside.
See the table below for examples:
Content Code
10
11
20
21
22
40
41
42
43
Bin Division
Undivided Bin
Undivided Bin
Bin Usage
Empty Bin
Goods in Bin
Divided into 2 compartments
Both compartments are empty
Divided into 2 compartments
Goods in one compartments
Divided into 2 compartments
Goods in both compartments
Divided into 4 compartments
All compartments are empty
Divided into 4 compartments
Goods in one compartments
Divided into 4 compartments
Goods in two compartments
Divided into 4 compartments
Goods in three compartments
Basic Concepts
page 19
44
Divided into 4 compartments
Goods in all compartments
NOTICE
The WMS can define its own set of content codes and semantics.
3.1.4 Automatic Preparation of Empty Bins
AutoStore provides automatic preparation of empty Bins. This background process operates with both the
Task Interface and the Bin Interface.
The purpose of this preparation process is to ensure that a number of empty Bins are available (prepared) for
the putaway process. When the WMS uses content codes to control the putaway process, then the WMS does
not explicitly request preparation of these Bins in advance.
AutoStore will by default prepare Bins with content code 0. If the WMS wants to use a different content code,
or multiple content codes, this can be configured by using the AutoStore Console. In the case of multiple
content codes it is possible to configure the relative distribution between them.
It is possible for the WMS to control the putaway process without using content codes. The WMS can handle
the putaway process in a similar way to the picking process. In such cases, the WMS will use the standard
preparation queue to ensure that there are empty Bins available (or if the Task Interface is used, the WMS will
create task groups for the putaway process). In cases where the WMS controls the putaway process without
using content codes, the automatic preparation of empty Bins should be disabled.
During the initial ramp-up phase (initial inventory insertion phase) more empty bins are consumed. Therefore,
it is recommended to configure a higher value for empty bins preparation during this phase, and restore to
normal value after this phase.
3.1.4.1 Configurations
Empty Bin Content
This configuration allows a list of content codes to be set that AutoStore should consider empty and prepare
for the putaway process.
Empty Bins Factor
This configuration sets the ratio between the content codes used for empty Bins. A factor is specified for each
content code.
Planner Prepare Empty Bins
This configuration sets how many of the storage cells in the grid should be used for empty bin preparation.
Changing this value could impact the putaway performance versus the picking performance.
3.2 Port
A Port is the operator workstation where Bins are delivered, removed, or inserted.
One or more grid cells belong to the Port and are used when Robots delivers Bins to and gets Bins from the
Port.
3.2.1 Port Properties
The following properties are common for both Task Interface and Bin Interface. (Properties that are interface
dependant are described in the respective chapters.)
port_id:
page 20
Basic Concepts
The port_id is a unique identifier that identifies a port.
port_mode:
The current mode of operation.
The port_mode is set by the openport method.
The port_mode is set to CLOSED by the closeport method.
selected_bin:
The selected_bin is the next Bin to be handled in the Port. It can be the current open bin in the Port or on the
way to be delivered in the Port.
The selected_bin property is set to the bin_id returned by the openbin method.
The selected_bin property is cleared by the closebin, removebin, and c
t will not signal or trigger error on overload)
6.5.2.3 Message Format
Compact syntax (Request):
element methodcall {
Port Processes
page 101
element name { "getportconfig" },
element params {
element port_id { xsd:int { minInclusive = "1" } }
}
}
Compact syntax (Response):
element response {
element params {
element weight_equipment { xsd:int },
element weight_config { xsd:int }
}
}
Request example:
<?xml version="1.0"?>
getportconfig
<port_id>4</port_id>
Response example:
<?xml version="1.0"?>
<weight_equipment>2</weight_equipment>
<weight_config>1</weight_config>
6.5.2.4 Error Codes
Error Code
Description
1003
1004
Mandatory parameter port_id is missing.
Parameter port_id is not valid (invalid format or out of range).
6.5.3 Get Port Weight
The getportweight method retrieves weight information from the specified Port.
NOTICE
This description applies to the April 2023 software release.
6.5.3.1 Parameters
port_id (mandatory):
Identifies the Port.
page 102
Port Processes
timeout_mode:
Determines if one should wait for precision. Can be set to "L" (for Low/unstable precision), "H" (for High/stable
precision) or not set at all if one should not wait for precision.
timeout_value:
Specifies the timeout in milliseconds. If not defined, the default value for timeout_value is 0 milliseconds.
6.5.3.2 Response
weight_status:
Determines if the weight is set with "L" (Low precision), "H" (High precision), "W" (Waiting for precision), or
“NA” (Not available: weight_value is locked to 0 gram).
weight_value:
The weight in grams.
weight_overload:
Determines if the Bin is overloaded (1) or if the Bin is not overloaded (0).
6.5.3.3 Message Format
Compact syntax (Request):
element methodcall {
element name { "getportweight" },
element params {
element port_id { xsd:int { minInclusive = "1" } },
element timeout_mode { "L" | "H" } ?,
element timeout_value { xsd:int } ?
}
}
Compact syntax (Response):
element response {
element params {
element portweight {
element weight_status { "L" | "H" | "W" | "NA },
element weight_value { xsd:int },
element weight_overload { 1 | 0 }
}
}
}
Request example:
<?xml version="1.0"?>
getportweight
<port_id>4</port_id>
<timeout_mode>L</timeout_mode>
<timeout_value>10</timeout_value>
Response example:
<?xml version="1.0"?>
Port Processes
page 103
<weight_status>L</weight_status>
<weight_value>370</weight_value>
<weight_overload>0</weight_overload>
6.5.3.4 Error Codes
Error Code
Description
1003
1004
1092
1093
Mandatory parameter port_id is missing.
Parameter port_id is not valid (invalid format or out of range).
Invalid parameter timeout_mode.
Invalid parameter timeout_value.
6.5.4 Flush Port Bin
The flushportbin method requests AutoStore to move the specified Bin from a closed position of the port into
the grid.
6.5.4.1 Parameters
port_id: (mandatory)
Identifies the Port where the bin is.
bin_id: (mandatory)
Identifies the Bin that should be moved.
6.5.4.2 Message Format
Compact syntax:
element methodcall {
element name { "flushportbin" },
element params {
element port_id { xsd:short { minInclusive = "1" } },
element bin_id { xsd:int { minInclusive = "1" } }
}
}
Request example:
<?xml version="1.0"?>
flushportbin
page 104
Port Processes
<port_id>5</port_id>
<bin_id>14861</bin_id>
6.5.4.3 Error Codes
Error Code Description
1000
1002
1003
1004
1010
1011
1024
1072
1079
1087
The specified Port is not available.
The specified Port is already open.
Mandatory parameter port_id is missing.
Parameter port_id is not valid (invalid format or out of range).
Parameter bin_id is not valid (invalid format or out of range).
The specified Bin does not exist.
Mandatory parameter bin_id is missing.
The specified position does not belong to the specified Port.
Illegal Bin mode.
Illegal Port type.
Port Processes
page 105
- Forecast Bin Preparation
The forecast concept enables the WMS to request low priority Bin preparation. The concept is supported by
both the Bin Interface and the Task Interface.
7.1 Description
The forecasting concept comes in addition to existing functionality. Existing concepts (such as preparation
queue and task groups) are not changed.
Forecasting adds the possibility of low priority preparation of Bins. Forecast Bins will be prepared when there
is free capacity. Forecast Bins will not occupy available Transit/Prepare positions. Typically, forecast Bins will
float to a higher level (not necessarily the top level).
7.1.1 Bin Mode Forecast
The Bin mode FORECAST behaves like bin mode GRID, except that the Bin will be moved towards the upper
levels based on available digging capacity.
A Bin will leave the FORECAST mode if it changes to another mode, for example if the Bin is put into a Port,
or if the Bin has been prepared (due to the preparation queue), or if the forecast mode is canceled (using the
cancelforecastbin method).
A Bin is never defined as 'finished forecast prepared'. The current position of the Bin (and its Bin mode) is
continuously available from the Log Publisher module.
7.2 Forecast Methods
7.2.1 Forecast Bin
The forecastbin method requests one or multiple Bins to be changed to bin mode forecast.
Even though it is possible to forecast as many Bins as one would like, no more than 1000 bins can be forecast
in a single forecastbin message.
7.2.1.1 Parameters
bin_id: (optional)
If the parameter bin_id is provided, only that specific Bin will be requested to be changed to mode forecast.
It is possible to provide multiple bin_id elements, in order to request an array of Bins to be changed to mode
forecast. The maximum number of Bins to forecast in one array is 1000.
min_bin_id: (optional)
If the parameter min_bin_id is provided, only Bins with bin_id greater than or equal to min_bin_id, and bin_id
less than or equal to max_bin_id, are requested to be changed to mode forecast.
The maximum number of Bins to be forecast in one message is 1000, meaning that the difference between
min_bin_id and max_bin_id can be no more than 1000.
page 106
Forecast Bin Preparation
max_bin_id: (optional)
If the parameter max_bin_id is provided, only Bins with bin_id less than or equal to max_bin_id, and bin_id
greater than or equal to min_bin_id, are requested to be changed to mode forecast.
The maximum number of Bins to be forecast in one message is 1000, meaning that the difference between
max_bin_id and min_bin_id can be no more than 1000.
7.2.1.2 Message Format
Compact syntax (Request):
element methodcall {
element name { "forecastbin" },
element params {
( element bin_id { xsd:int { minInclusive = "1" } } ?,
| ( element min_bin_id { xsd:int { minInclusive = "1" } } ?,
element max_bin_id { xsd:int { minInclusive = "1" } } ?
)
)
}
}
Request example (Single bin):
<?xml version="1.0"?>
forecastbin
<bin_id>14861</bin_id>
Request example (Array of bins):
<?xml version="1.0"?>
forecastbin
<bin_id>14861</bin_id>
<bin_id>14863</bin_id>
<bin_id>14864</bin_id>
Request example (Range of bins):
<?xml version="1.0"?>
forecastbin
<min_bin_id>14861</min_bin_id>
<max_bin_id>14864</max_bin_id>
7.2.1.3 Error Codes
Error Code Description
Forecast Bin Preparation
page 107
1010
1011
1024
1049
1078
1079
1080
Parameter bin_id is not valid (invalid format or out of range).
The specified Bin does not exist.
Mandatory parameter bin_id is missing.
Response overflow.
Bin is in Port.
Illegal Bin mode.
Method not supported.
7.2.2 Cancel Forecast Bin
The cancelforecastbin method requests one or multiple Bins to leave bin mode forecast.
Even though the number of Bins with bin mode forecast can be as high as one would like, it is not possible to
cancel the forecast of more than 1000 Bins in a single cancelforecastbin message.
7.2.2.1 Parameters
bin_id: (optional)
If the parameter bin_id is provided, only that specific Bin will be requested to leave mode forecast.
It is possible to provide multiple bin_id elements, in order to request an array of Bins to leave mode forecast.
The maximum number of Bins that can be requested to leave mode forecast in one array is 1000.
min_bin_id: (optional)
If the parameter min_bin_id is provided, only Bins with bin_id greater than or equal to min_bin_id, and bin_id
less than or equal to max_bin_id, are requested to leave mode forecast.
The maximum number of Bins that can be requested to leave mode forecast is 1000, meaning that the
difference between min_bin_id and max_bin_id can be no more than 1000.
max_bin_id: (optional)
If the parameter max_bin_id is provided, only Bins with bin_id less than or equal to max_bin_id, and bin_id
greater than or equal to min_bin_id, are requested to leave mode forecast.
The maximum number of Bins that can be requested to leave mode forecast is 1000, meaning that the
difference between max_bin_id and min_bin_id can be no more than 1000.
7.2.2.2 Message Format
Compact syntax:
element methodcall {
element name { "cancelforecastbin" },
element params {
( element bin_id { xsd:int { minInclusive = "1" } } ?,
| ( element min_bin_id { xsd:int { minInclusive = "1" } } ?,
element max_bin_id { xsd:int { minInclusive = "1" } } ?
)
)
}
}
Request example (Single bin):
page 108
Forecast Bin Preparation
<?xml version="1.0"?>
cancelforecastbin
<bin_id>14861</bin_id>
Request example (Array of bins):
<?xml version="1.0"?>
cancelforecastbin
<bin_id>14861</bin_id>
<bin_id>14863</bin_id>
<bin_id>14864</bin_id>
Request example (Range of bins):
<?xml version="1.0"?>
cancelforecastbin
<min_bin_id>14861</min_bin_id>
<max_bin_id>14864</max_bin_id>
7.2.2.3 Error Codes
Error Code Description
1010
1011
1024
1049
1078
1079
1080
Parameter bin_id is not valid (invalid format or out of range).
The specified Bin does not exist.
Mandatory parameter bin_id is missing.
Response overflow.
Bin is in Port.
Illegal Bin mode.
Method not supported.
7.3 Guidelines
The recommended maximum number of Bins to forecast is 25% of the total number of Bins in the system. This
maximum number (unique Bins) should include all kinds of preparation requests (forecasting, task groups,
preparation queue, Port queues).
In a scenario with nightly forecast preparation, it is recommended to only forecast the Bins that are needed
next day. If they are needed on a later date, then the forecast should be delayed until the night before they are
needed.
It is possible to forecast at any time. Forecasting will mainly use spare Robot capacity.
Forecast Bin Preparation
page 109
Pay attention to the precision of the forecast. Forecast Bins that are not needed will have a negative impact
(Bins floating up displace other Bins).
page 110
Forecast Bin Preparation
- Controlling Bin Locations
This chapter describes the concepts and features for controlling the physical Bin locations.
NOTICE
Avoid using the features marked as Deprecated. Features marked as deprecated are not supported by AS
Router.
NOTICE
AS Router only supports one code per cell. Use ranges when multiple codes are needed.
8.1 Introduction
The features and concepts described in this chapter make it possible to assign specific grid areas to store
specific bins or SKUs. One use case is to assign one area of the grid for ESD bins and another area for non-
ESD bins.
These features also enable installations to operate without bin preparation or digging for the normal
processes. This is supported by not mixing different SKUs in the same stack, so that outgoing bins can always
be taken from the top. Please note that such use cases will typically cause a lower fill rate in the grid as many
stacks will be partially filled.
8.1.1 Bin Content Code
Every AutoStore Bin is assigned a content code. Previously, the content codes specified whether a Bin is
empty or not (and possibly also compartment information). They were used for the put-away process. The
WMS may request bins (in the port queue) by specifying content codes instead of specific Bin IDs.
The same Bin content code is central in Controlling the Location of Bins, but depending on the use case, the
Bin content code may also reflect the inventory of the Bin (SKU or batch).
The Bin content code is controlled by the WMS, and is updated via the interface. The mapping between SKU/
batch and content codes is defined by the WMS. The Bin content code may identify a SKU or a group of
SKUs. The WMS may also use multiple content codes per SKU to control the bin flow.
8.1.2 Cell Content Code
Each cell (stack) in the grid can be associated with one or multiple cell content codes.
In cells that have cell content code(s), AutoStore will only store bins that have Bin content code equal to one
of the cell's cell content codes.
When assigning cell content codes to a cell, the following applies:
▪ Cell content code is the same datatype as the Bin content code (integer, range [1-32767]).
▪ Content code ranges may be used in cases where multiple content codes per cell is needed.
▪ AS Router supports a single value per cell. A content code or a content range.
▪ AS Planner supports up to 8 cell content codes in a cell.
Empty cells without content code are available for bins with any Bin content code (except the case when this
is restricted by the OverflowToFreeCell configuration).
Controlling Bin Locations
page 111
The cell content code is controlled by the WMS and can be updated via the interface during operation. The
cell content code can also be configured by using the AutoStore Console.
8.1.3 Content Code Ranges
A Content Code Range defines a group that incudes a specified range of content codes.
This group can be used as a cell's cell content code and addresses the limitation that a cell only can have up
to 8 cell content codes.
Content code ranges cannot be used instead of content codes in port queues or in openport parameters.
Content code ranges are defined by using AutoStore Console.
8.1.4 Interface
The functionality for Controlling the Location of Bins is available in both Bin Interface and Task Interface.
Much of the behavior is controlled by static configurations.
The Bin content code is set by using the interface methods: closebin, insertbin, and updatebin.
A new method is introduced: updatecellandbincontent. This method updates the content code of a specified
cell and all the Bins that are stored in that cell. (This method is often not required; it is only needed for some
specific use cases.) Using the AutoStore Console, it will be possible to update the cell content code without
changing the content code of the Bins that are stored in the cell.
NOTICE
See section Feature Compability about feature support in ASPlanner and ASRouter.
8.2 Configurations
8.2.1 Main Configurations
AutoStore includes the following main configurations to control the behavior:
Configuration
Value
Description
OverflowToFreeCells
True or False
A Bin cannot be placed in a cell without
content code when there exist cells that have a
cell content code equal to the given Bin's
content code, unless this setting is enabled.
In other words: A Bin can be placed in an
empty stack without cell content code if, and
only if, either:
(a) There are no cells with cell content code
equal to the Bin's content code.
(b) Configuration OverflowToFreeCells==True.
UniqueContentInStack
True or False
UniqueContentInStack feature is deprecated.
When this setting is enabled, different Bin
content codes cannot be mixed in the same
stack.
page 112
Controlling Bin Locations
StackFifoTimeStamp
True or False
StackFifoTimeStamp feature is deprecated.
When this setting is enabled, incoming Bins
will be placed in locations according to the
timestamp of the cell (newest cell timestamp),
and outgoing Bins are selected based on the
timestamp of each cell (oldest cell timestamp).
This configuration can only be True if
UniqueContentInStack is also enabled.
ContentRandomTarget
True or False
ContentRandomTarget feature is deprecated.
This setting affects the location where inserted
Bins are placed. If several options remain after
searching for the target with lowest consumer
distance, the selection can be random or by
shortest driving distance. Random will spread
the content throughout the Grid, beneficial if it
is inserted at one location, but used at
multiple. Shortest driving distance will make it
greedy, choosing the option that is most
effective at the actual moment in time.
8.2.1.1 Terms
The features UniqueContentInStack and StackFifoTimeStamp that support these terms are deprecated.
STACKFIFO means that UniqueContentInStack=True and StackFifoTimeStamp=True.
In this mode, Bins with different content code cannot be stored in the same stack.
Each cell includes a time stamp that is set when the first Bin is stored (in an empty stack), and cleared when
the stack becomes empty. When Bins are inserted, they will be stored in the newest stack that is used by that
content code. Hence, the stacks are filled one by one. When a new empty stack is needed, AutoStore will
dynamically select one (according to cell content restrictions and content consumer configurations). When
Bins are taken out, they will be taken from the oldest stack that is used by the content code. Stacks are
emptied one by one – by FIFO based on the cells' time stamp.
Empty Bins are treated specially by AutoStore. A specific content code must be reserved for empty Bins.
Empty Bins do not follow FIFO.
BATCHFIFO means that UniqueContentInStack=True and StackFifoTimeStamp=False.
This mode is similar to STACKFIFO, but does not use the cell time stamp. Typically, the WMS assigns a
content code to each batch (instead of each SKU), and in the picking process the WMS requests a specific
batch to be used. This gives AutoStore more flexibility, because there is no FIFO requirements between the
stacks that belong to the same batch.
8.2.2 Content Consumers
The Content Consumers feature is deprecated.
The Content Consumers configuration specifies where (which ports) the different Bin content codes are
expected to be used (consumed).
Content code ranges can be used in the configuration. A content code range can be associated with a list of
Ports (consumers) where the Bins are expected to be delivered. The configuration may contain many such
associations. The same content code may only be included in one association (no overlapping ranges).
AutoStore will use the Content Consumers configuration when it selects among legal storage location in the
Grid for a Bin.
Controlling Bin Locations
page 113
The Content Consumer configuration does not control which Ports the Bins are delivered to. The Content
Consumer configuration only tells AutoStore where the recommended storage locations in the Grid are. The
WMS can request the Bins in any Port independent of the Content Consumer configurations. For best
performance, they should be requested in Ports close to their current position.
A Bin is considered being placed in the Proximity of its configured consumers if it is placed among the 50
nearest cells of any of its consumers. Nearest means shortest Manhattan traveling distance (L-shape route).
8.3 Interface Methods
8.3.1 Update Cell and Bin Content
The updatecellandbincontent method updates the content code of a specified cell and the Bins that are stored
in that cell.
Normally, this method is not required.
The purpose of this method is to support scenarios where the WMS provides the "StackFifo" logic. The WMS
can use three content codes (incoming, storage, outgoing) per SKU. Bins are inserted with the content code
for incoming, and selected to the Port with the content code for outgoing. The WMS then uses this method to
change the mode of each stack.
8.3.1.1 Parameters
x: (mandatory)
Specifies the X position.
y: (mandatory)
Specifies the Y position.
content: (mandatory)
Specifies new content code.
8.3.1.2 Message Format
Compact syntax:
element methodcall {
element name { "updatecellandbincontent" },
element params {
element x { xsd:short { minInclusive = "1" } },
element y { xsd:short { minInclusive = "1" } },
element content { xsd:short { minInclusive = "1" } }
}
}
Request example:
<?xml version="1.0"?>
updatecellandbincontent
41
17
535
page 114
Controlling Bin Locations
8.3.1.3 Error Codes
Error Code Description
1006
1066
1067
1068
1069
Parameter content is not valid (invalid format or out of range).
Mandatory parameter x is missing.
Parameter x is not valid (invalid format or out of range).
Mandatory parameter y is missing.
Parameter y is not valid (invalid format or out of range).
8.4 Managing Frozen Zone
In a solution that supports frozen and chilled temperature storage areas in the same grid, it is critical that the
bins are stored in the correct area. This is controlled by using content codes.
NOTICE
Installations with different temperature zones in the same Grid require AS Router. Although AS Planner
supports cell content codes, AS Planner will to a greater extent allow bins to temporarlily be in another
zone.
8.4.1 Defining the Zones
Normally, different content codes are used to reflect if the bins are empty or not, and the number of available
compartments in the bins. In a multi-temperature environment, the content code must also reflect which zone
the bin belongs. Each temperature zone shall be assigned a range of content codes. The Content Ranges
shall not overlap.
▪ Each temperature zone shall have it's specific Content Code Range.
▪ Each grid storage cell shall be defined with Cell Content = its zone's Content Code Range.
▪ Every bin shall belong to one and only one zone and use content codes that belongs to its zone's Content
Code Range.
It is the responsibility of the WMS to maintain a correct bin content code. Assigning wrong content code to a
bin may cause the bin to be stored in the wrong temperature zone and may damage the bin's content.
8.4.2 Controlling Bin time outside its Zone
In order to preserve the quality of the stored inventory, the WMS must control the time a bin spends outside its
storage zone. The WMS should monitor that the handling time in the port is compatible with the inventory of
the bin, and also consider total time outside the zone within a time interval if the bin is used several times.
To avoid that a bin is stuck in a port because the operator has left the port, the WMS should implement some
kind of timeout and automatical log out. If the port is not being used, it is important to close the bin and close
the port so that the bin can be returned to its storage zone.
To avoid that bins stay too long in the port, AutoStore has introduced a port configuration: AutoFlush. When
AutoFlush is enabled, the system will, after a certain period with idle time (time since the port had a selected
bin), automatically flush the bins in the port so that they are returned to their storage zone. The feature does
not flush the bins with bin mode OPEN. Bins that are open are controlled by the WMS and should be handled
by some timeout functionality in the WMS.
Controlling Bin Locations
page 115
AutoFlush can be configured for each port, and can have a different timeout value for each port. AutoFlush
can be configured via AS Console, and should normally be set in the initial setup. It is important that
AutoFlush is enabled in multi-temperature solutions.
page 116
Controlling Bin Locations
- Port Interface
The Port Interface controls the physical exchange of Bins between AutoStore and external Port
implementations. The Port Interface can be used with the Bin Interface as well as with the Task Interface. The
current version of the Port Interface only supports single cell Ports.
The Ports that are controlled by the Port Interface must be configured as port type CUSTOM.
9.1 Port Process
9.1.1 Allocate Cell
In order to get Bins delivered to the Port, the Port must allocate cells for Bin reception. The purpose of the cell
allocation is to let AutoStore plan the flow of Bins to the Port. Cells are normally allocated before the Port is
ready to physically receive the Bin.
One cell can only have one pending allocation. A new allocation request will override the previous one. The
WMS normally sends the next allocation request immediately after AutoStore has confirmed the Bin operation
(bintoport/binfromport).
(If a Port includes multiple port cells, the Port must allocate the cells in the same sequence as that in which it
wants the Bins delivered. However, the Port Interface does not support Ports with multiple port cells.)
Normally, when a Bin is delivered to a Port another Bin is returned from the Port. However, if the Port uses
separate cells for returning the Bins to the Grid, the Port needs to allocate these cells as well. The purpose of
such announcements is to let AutoStore plan the flow of empty Robots to the Port. The two allocation
sequences (delivery and fetching) are independent of each other.
The Port allocates cells for interaction with AutoStore by sending the portcellallocate message.
9.1.2 Exchange Bins to and from Grid
Cell allocation alone does not permit AutoStore to physically use a cell.
The Port allows AutoStore to physically deliver a Bin to a cell by sending the portlocationready message. The
Port allows AutoStore to physically retrieve a Bin from a cell by sending the portbinready message.
The portlocationready message indicates whether AutoStore should just deliver a Bin, or if it should also
retrieve a returned Bin (Bin exchange).
AutoStore confirms the physical operations in a cell via the Log Publisher Interface.
The logical message bintoport is sent as an ordinary BL segment (new Bin location) in the Port's position. It
confirms that a Bin has been delivered to a cell, and AutoStore relinquishes control of that cell.
The logical message binfromport is sent as an ordinary BL segment (Bin on Robot or in another position) of
the Bin specified by portbinready. It confirms that a Bin has been retrieved from a cell, and AutoStore
relinquishes control of the cell.
Please note that the BL segment that reflects the binfromport may specify a Grid position that is different from
the Port. The BL segment may confirm the Bin on a robot (no position), but it may also directly specify the next
position without first sending a BL without position. Both these cases should be interpreted as binfromport.
Port Interface
page 117
9.2 Message Flow
9.2.1 Port Retrieve Bin from Grid
9.2.2 Port Deliver Bin to Grid
page 118
Port Interface
9.2.3 Port Exchange Bin with Grid
9.3 Examples
9.3.1 Port with Outgoing Bins to Conveyor Belt
We assume that a process of preparing Bins and planning Bins for the Ports is active. This process may
cause the following communication:
WMS: preparebin ( 15001, 15002, 15221, 15227, 15238, 15287, 16802 )
LPI: BM,15002,T
LPI: BM,15238,T
LPI: BM,15001,T
WMS: appendportqueue( port_id=3, bin_id=15001, 15002, 15238 )
The process should continuously add new Bins to the "prepare" queue and the port queues during operation.
If the Task Interface is used, the process should continuously add task groups instead. The rest of this
example applies to both Task Interface and Bin Interface.
A Port, (Port number 3) located at position (15,12), handling incoming Bins going out to an external belt
system can cause the following communication:
WMS: openport( port_id=3 )
The Port is activated. Default mode is OPEN.
WMS: portcellallocate( port_id=3, x=15, y=12 )
The WMS requests a Robot to the Port.
WMS: openbin( port_id=3 )
WMS: portlocationready( port_id=3, x=15, y=12 )
The WMS confirms that the position (15,12) is ready , and relinquishes control of the cell.
LPI: BL,15001,1,15,12,1,P
AutoStore confirms via the Log Publisher Interface that Bin 15001 is put in the cell, and relinquishes control of
the cell. Note that the depth should be ignored in the Port cell.
WMS: removebin( port_id=3, bin_id=15001 )
The WMS confirms that the Bin is removed from the Port.
WMS: portcellallocate( port_id=3, x=15, y=12 )
Port Interface
page 119
The WMS requests a Robot to the Port.
WMS: openbin( port_id=3 )
WMS: portlocationready( port_id=3, x=15, y=12 )
The WMS confirms that the position (15,12) is ready, and relinquishes control of the cell.
LPI: BL,15002,1,15,12,1,P
AutoStore confirms via the Log Publisher Interface that Bin 15002 is put in the cell, and relinquishes control of
the cell.
WMS: removebin( port_id=3, bin_id=15002 )
The WMS confirms that the Bin is removed from the Port.
The process is repeated as long as the Port is active.
WMS: closeport( port_id=3 )
When the Port is no longer in use, the WMS should use closeport to release the resources that AutoStore
plans for the open Ports.
9.3.2 Port with Outgoing Bins to Conveyor Belt (mode AUTO)
This example illustrates the use of Port mode AUTO. If this mode is used, the WMS should be especially
aware of the fact that Bins are automatically set to OUTSIDE mode after they are delivered to the Port. The
WMS must be able to allow for the fact that bins may be delivered and enter OUTSIDE mode while the Log
Publisher connection is closed. (It is recommended to use mode OPEN instead of mode AUTO.) Port mode
AUTO cannot be used with the Task Interface.
We assume that a process of preparing Bins and planning Bins for the ports is active. This process may cause
the following communication:
WMS: preparebin ( 15001, 15002, 15221, 15227, 15238, 15287, 16802 )
LPI: BM,15002,T
LPI: BM,15238,T
LPI: BM,15001,T
WMS: appendportqueue( port_id=3, bin_id=15001, 15002, 15238 )
The process should continuously add new Bins to the "prepare" queue and the Port queues during operation.
A Port, (Port number 3) located at position (15,12), handling incoming Bins going out to an external belt
system can cause the following communication:
WMS: openport( port_id=3 )
The Port is activated. The AUTO mode tells AutoStore to provide a stream of Bins to the Port, according to the
Port's queue.
WMS: portcellallocate( port_id=3, x=15, y=12 )
The WMS requests a Robot to the Port.
WMS: portlocationready( port_id=3, x=15, y=12 )
The WMS confirms that position (15,12) is ready , and relinquishes control of the cell.
LPI: BL,15001,1,15,12,1,P
AutoStore confirms via the Log Publisher Interface that Bin 15001 is put in the cell, and relinquishes control of
the cell. Note that the depth should be ignored in the Port cell.
WMS: portcellallocate( port_id=3, x=15, y=12 )
The WMS requests a Robot to the Port.
WMS: portlocationready( port_id=3, x=15, y=12 )
The WMS confirms that position (15,12) is ready, and relinquishes control of the cell.
LPI: BL,15002,1,15,12,1,P
page 120
Port Interface
AutoStore confirms via the Log Publisher Interface that Bin 15002 is put in the cell, and relinquishes control of
the cell.
The process is repeated as long as the Port is active.
WMS: closeport( port_id=3 )
When the Port is no longer in use, the WMS should use closeport to release the resources that AutoStore
plans for open Ports.
9.3.3 Port with Incoming Bins from Conveyor Belt
A Port (Port number 4) located at position (15,16), handling incoming Bins from an external belt system can be
involved in the following communication:
WMS: openport( port_id=4, mode=INSERT )
The Port is activated. The mode parameter tells AutoStore that the Port is used to insert bins.
WMS: portcellallocate( port_id=4, x=15, y=16, getbin=1 )
The WMS requests an empty Robot to the Port.
WMS: portbinready( port_id=4, x=15, y=16, bin_id=12345 )
The WMS confirms that Bin 12345 is ready at position (15 ,16), and relinquishes control of the cell.
LPI: BL,12345,1
AutoStore confirms via the Log Publisher Interface that the Bin is fetched by a Robot, and relinquishes control
of the cell.
WMS: portcellallocate( port_id=4, x=15, y=16, getbin=1 )
The WMS requests an empty Robot to the Port.
WMS: portbinready( port_id=4, x=15, y=16, bin_id=22456 )
The WMS confirms that Bin 22456 is ready at the position (15,16), and relinquishes control of the cell.
LPI: BL,22456,1
AutoStore confirms via the Log Publisher Interface that the Bin is fetched by a Robot, and relinquishes control
of the cell.
The process is repeated as long as the Port is active.
WMS: closeport( port_id=4 )
When the Port is no longer in use, the WMS should use closeport to release the resources that AutoStore
plans for the open Ports.
9.3.4 Port Exchange Bins to and from Grid
This example illustrates Bin exchange in a conveyor belt Port where the bin is delivered to the middle position.
We assume that a process of preparing Bins and planning Bins for the Ports is active. Alternatively tasks can
be added via Task Interface.
This process may cause in the following communication:
WMS: create_taskgroup( taskgroup_id=1, ... , task_id=11, bin_id=1218,
task_id=12, bin_id=1200, task_id=13, bin_id=1136 )
The process should continuously add new tasks during operation.
Alternatively, the process could continuously add new Bins to the preparation queue and the Port queues
during operation.
Port Interface
page 121
9.3.4.1 Normal Process
We start with an empty Port:
Port number 1 located at position (31,6) can cause the following communication:
WMS: openport( port_id=1 )
The Port is activated. Default mode is OPEN.
WMS: portcellallocate( port_id=1, x=31, y=6 )
The WMS requests a Robot to the Port.
WMS: openbin( port_id=1 )
WMS: portlocationready( port_id=1, x=31, y=6 )
The WMS confirms that position (31,6) is ready and relinquishes control of the cell.
LPI: BL,1218,1,31,6,1,P
AutoStore confirms via the Log Publisher Interface that Bin 1218 is in Port.
Physical: Port moves bin Middle -> Open
The belt moves Bin 1218 from Middle to Open.
WMS/PI: portbinmode( port_id=1, bin_id=1218, bin_mode=OPEN )
LPI: BM,1218,O
The Port declares that Bin 1218 is OPEN, and AutoStore forwards the confirmation via the Log Publisher
Interface.
WMS: portcellallocate( port_id=1, x=31, y=6 )
The WMS requests the next Robot to the Port.
Then the bin is exchanged with a new bin:
WMS: closebin( port_id=1, bin_id=1218, task_id=11, taskcomplete=1 )
Physical: Port moves Bin Open -> Closed
The belt moves Bin 1218 from Open to Closed.
WMS/PI: portbinmode( port_id=1, bin_id=1218, bin_mode=CLOSED,
content=1 )
LPI: BM,1218,C
The Port declares that Bin 1218 is CLOSED, and AutoStore forwards the confirmation via the Log Publisher
Interface.
WMS: openbin( port_id=1 )
WMS: portlocationready( port_id=1, x=31, y=6, getbin=1 )
The WMS confirms that the position (31,6) is ready , and relinquishes control of the cell.
LPI: BL,1136,1,31,6,1,P
AutoStore confirms via the Log Publisher Interface that Bin 1136 is in Port.
Physical: Port moves next Bin Middle -> Open, and previous Bin Closed -> Middle
The belt moves Bin 1136 from Middle to Open and Bin 1218 from Closed to Middle.
WMS/PI: portbinmode( port_id=1, bin_id=1136, bin_mode=OPEN )
LPI: BM,1136,O
The Port declares that Bin 1136 is OPEN, and AutoStore forwards the confirmation via the Log Publisher
Interface.
WMS/PI: portbinready( port_id=1, x=31, y=6, bin_id=1218 )
The WMS confirms that the previous Bin is ready to be fetched by Robot.
page 122
Port Interface
LPI: BL,1218,1,29,21,471,G
AutoStore confirms via Log Publisher Interface that Bin 1218 is moved to Robot or a position different than the
Port's position.
WMS: portcellallocate( port_id=1, x=31, y=6 )
The WMS requests a Robot to the Port.
Then the Bin is exchanged with a new Bin:
WMS: closebin( port_id=1, bin_id=1136, task_id=13, taskcomplete=1 )
Physical: Port moves bin Open -> Closed
The belt moves Bin 1136 from Open to Closed.
WMS/PI: portbinmode( port_id=1, bin_id=1136, bin_mode=CLOSED,
content=1 )
LPI: BM,1136,C
The Port declares that Bin 1136 is CLOSED, and AutoStore forwards the confirmation via the Log Publisher
Interface.
WMS: openbin( port_id=1 )
WMS: portlocationready( port_id=1, x=31, y=6, getbin=1 )
The WMS confirms that the position (31 ,6) is ready , and relinquishes control of the cell.
LPI: BL,1200,1,31,6,1,P
AutoStore confirms via the Log Publisher Interface that Bin 1200 is in Port.
Physical: Port moves next Bin Middle -> Open, and previous Bin Closed -> Middle
The belt moves Bin 1200 from Middle to Open and Bin 1136 from Closed to Middle.
WMS/PI: portbinmode( port_id=1, bin_id=1200, bin_mode=OPEN ) LPI:
BM,1200,O
AutoStore confirms via the Log Publisher Interface that Bin 1200 is OPEN.
WMS/PI: portbinready( port_id=1, x=31, y=6, bin_id=1136 )
The WMS confirms that the previous Bin ready to be fetched by Robot.
LPI: BL,1136,1,31,1,141,G
AutoStore confirms via Log Publisher Interface that Bin 1136 is moved to Robot or a position different than the
Port's position.
WMS: portcellallocate( port_id=1, x=31, y=6 )
The WMS requests a Robot to the Port.
The process of exchanging Bins is repeated.
The last Bin in the process is closed.
WMS: closebin( port_id=1, bin_id=1200, task_id=12, taskcomplete=1 )
Physical: Port moves bin Open -> Closed
The belt moves Bin 1200 from Open to Closed.
WMS/PI: portbinmode( port_id=1, bin_id=1200, bin_mode=CLOSED,
content=1 )
LPI: BM,1200,C
AutoStore confirms via the Log Publisher Interface that Bin 1200 is CLOSED.
WMS: closeport( port_id=1 )
When the Port is no longer in use, the WMS should use closeport to release the resources that AutoStore
plans for the open Ports.
Port Interface
page 123
9.3.4.2 Repeated Bin
If the next openbin is the same as previous closebin, the Port will move the closed Bin instead of relinquishing
control of the Port cell.
WMS: openbin( port_id=1 )
Physical: Port moves Bin Closed -> Open
The belt moves Bin 1200 from Closed to Open.
WMS/PI: portbinmode( port_id=1, bin_id=1200, bin_mode=OPEN )
LPI: BM,1200,O
AutoStore confirms via the Log Publisher Interface that Bin 1200 is OPEN.
WMS: closebin( port_id=1, bin_id=1200, task_id=21, taskcomplete=1 )
Physical: Port moves Bin Open -> Closed
The belt moves bin 1200 from Open to Closed.
WMS/PI: portbinmode( port_id=1, bin_id=1200, bin_mode=CLOSED,
content=1 ) LPI: BM,1200,C
AutoStore confirms via the Log Publisher Interface that Bin 1200 is CLOSED.
9.3.4.3 Starting with Bin in Port
We start the process with a port that has a Bin. We assume that Bin 1200 is in Port number 1.
WMS: openport( port_id=1, mode=OPEN )
The Port is activated. Default mode is OPEN.
WMS: portcellallocate( port_id=1, x=31, y=6 )
The WMS requests a Robot to the Port.
WMS: openbin( port_id=1 )
WMS: portlocationready( port_id=1, x=31, y=6, getbin=1 )
The WMS confirms that the position (31,6) is ready, and relinquishes control of the cell.
LPI: BL,1152,1,31,6,1,P
AutoStore confirms via the Log Publisher Interface that bin 1152 is in Port.
Physical: Port moves Bin Middle -> Open, and the Bin that was already in the Port Closed -> Middle
The belt moves Bin 1152 from Middle to Open and bin 1200 from Closed to Middle.
WMS/PI: portbinmode( port_id=1, bin_id=1152, bin_mode=OPEN ) LPI:
BM,1152,O
AutoStore confirms via the Log Publisher Interface that bin 1152 is OPEN.
WMS/PI: portbinready( port_id=1, x=31, y=6, bin_id=1200 )
The Port confirms that the previous bin is ready to be fetched by robot.
LPI: BL,1200,1,31,1,1,G
AutoStore confirms via Log Publisher Interface that Bin 1200 is moved to Robot or a position different than the
Port's position.
WMS: portcellallocate( port_id=1, x=31, y=6 )
The WMS requests a Robot to the Port.
The process of exchanging Bins is repeated.
page 124
Port Interface
9.4 Error Handling
The WMS will be notified via the Log Publisher Interface when a Port operation fails which requires the Port to
ensure that the location or Bin is available and properly aligned.
Instead of issuing a confirmation of the operation, the WMS will be notified by a different segment and
AutoStore will relinquish control of the cell.
Not all Port failures will result in these notifications being issued. However, one will be issued should the Port
should retry an operation (such for instance as realigning the Bin). Other failures can be handled by Super
Users via the CONSOLE and the WMS can receive confirmation after the problem is solved.
9.4.1 Failure when Port Retrieves Bin from Grid
When the Port retrieves a Bin from the Grid, it waits for confirmation by a BL segment:
WMS: portcellallocate( port_id=3, x=15, y=12 )
WMS: portlocationready( port_id=3, x=15, y=12 )
LPI: BL,15001,1,15,12,1,P
If the operation fails, AutoStore will respond with a Port Location Failed segment instead of confirming the
operation:
WMS: portcellallocate( port_id=3, x=15, y=12 )
WMS: portlocationready( port_id=3, x=15, y=12 )
LPI: LF,1,15,12
When AutoStore reports Port Location Failed, the WMS should check and ensure that the location is ok (no
other Bins blocking the physical position), and retry the operation.
The following communication reflects one failure before a successful retrieval:
WMS: portcellallocate( port_id=3, x=15, y=12 )
WMS: portlocationready( port_id=3, x=15, y=12 )
LPI: LF,1,15,12
WMS: portlocationready( port_id=3, x=15, y=12 )
LPI: BL,15001,1,15,12,1,P
9.4.2 Failure when Port Deliver Bin To Grid
When the Port delivers a Bin to the Grid, it waits for confirmation by a BL segment:
WMS: portcellallocate( port_id=4, x=15, y=16, getbin=1 )
WMS: portbinready( port_id=4, x=15, y=16, bin_id=12345 )
LPI: BL,12345,1
If the operation fails, AutoStore will respond with a Bin mode TOGRID segment instead of confirming the
operation:
WMS: portcellallocate( port_id=4, x=15, y=16, getbin=1 )
WMS: portbinready( port_id=4, x=15, y=16, bin_id=12345 )
LPI: BM,12345,R
When AutoStore reports this failure, the WMS should check and ensure that the Bin is available and properly
aligned, and retry the operation.
The following communication reflects one failure before a successful delivery:
WMS: portcellallocate( port_id=4, x=15, y=16, getbin=1 )
WMS: portbinready( port_id=4, x=15, y=16, bin_id=12345 )
LPI: BM,12345,R
WMS: portbinready( port_id=4, x=15, y=16, bin_id=12345 )
LPI: BL,12345,1
Port Interface
page 125
9.5 Port Interface Methods
9.5.1 Port Cell Allocate
The portcellallocate message requests delivery of a Bin to, or retrieval of a bin from, a specific port cell. It
announces the next cell where a Bin should be delivered to or fetched from. These messages define the
sequence of the Port cells to where AutoStore should deliver or fetch bins from.
9.5.1.1 Parameters
port_id: (mandatory)
Specifies the Port.
x: (mandatory)
Specifies the X position of the announced cell.
y: (mandatory)
Specifies the Y position of the announced cell.
getbin: (optional)
Specifies if a Bin should be fetched from the cell. Default false.
9.5.1.2 Message Format
Compact syntax:
element methodcall {
element name { "portcellallocate" },
element params {
element port_id { xsd:short { minInclusive = "1" } },
element x { xsd:short { minInclusive = "1" } },
element y { xsd:short { minInclusive = "1" } },
element getbin { xsd:boolean } } ?
}
}
Request example:
<?xml version="1.0"?>
portcellallocate
<port_id>1</port_id>
26
18
1
9.5.1.3 Error Codes
Error Code Description
page 126
Port Interface
1000
1001
1003
1004
1009
1048
1066
1067
1068
1069
1070
1071
1072
1074
The specified Port is not available.
The specified Port is closing.
Mandatory parameter port_id is missing.
Parameter port_id is not valid (invalid format or out of range).
The specified Port is not open.
System is not available.
Mandatory parameter x is missing.
Parameter x is not valid (invalid format or out of range).
Mandatory parameter y is missing.
Parameter y is not valid (invalid format or out of range).
Mandatory parameter getbin is missing.
Parameter getbin is not valid (invalid format or out of range).
The specified position does not belong to the specified Port.
Location is ready.
9.5.2 Port Location Ready
The portlocationready message declares that AutoStore can deliver a Bin to the specified position. The Port
relinquishes control of the cell.
The message includes a flag that indicates whether or not AutoStore should retrieve another Bin from the cell
immediately after the Bin has been delivered.
9.5.2.1 Parameters
port_id: (mandatory)
Specifies the Port.
x: (mandatory)
Specifies the X position of the ready location.
y: (mandatory)
Specifies the Y position of the ready location.
getbin: (optional)
Specifies if another Bin should be fetched from the cell after the Bin has been put. Default false.
9.5.2.2 Message Format
Compact syntax:
element methodcall {
element name { "portlocationready" },
element params {
element port_id { xsd:short { minInclusive = "1" } },
element x { xsd:short { minInclusive = "1" } },
element y { xsd:short { minInclusive = "1" } },
Port Interface
page 127
element getbin { xsd:boolean } } ?
}
}
Request example:
<?xml version="1.0"?>
portlocationready
<port_id>1</port_id>
26
18
1
9.5.2.3 Error Codes
Error Code Description
1000
1001
1003
1004
1009
1048
1066
1067
1068
1069
1070
1071
1072
The specified Port is not available.
The specified Port is closing.
Mandatory parameter port_id is missing.
Parameter port_id is not valid (invalid format or out of range).
The specified Port is not open.
System is not available.
Mandatory parameter x is missing.
Parameter x is not valid (invalid format or out of range).
Mandatory parameter y is missing.
Parameter y is not valid (invalid format or out of range).
Mandatory parameter getbin is missing.
Parameter getbin is not valid (invalid format or out of range).
The specified position does not belong to the specified Port.
9.5.3 Port Bin Ready
The portbinready message confirms that the Bin is ready in the cell, and can be fetched by AutoStore.
The Port relinquishes control of the cell.
9.5.3.1 Parameters
port_id: (mandatory)
Specifies the Port.
x: (mandatory)
page 128
Port Interface
Specifies the X position of the cell.
y: (mandatory)
Specifies the Y position of the cell.
bin_id: (mandatory)
Identifies the Bin that is ready in the cell.
content: (optional, but mandatory when bin_type is set)
Sets the Bin's content. If this parameter is omitted, the bin will keep its previous content.
bin_type: (optional, but mandatory if the bin is not defined yet)
Specifies the Bin's type.
This parameter is mandatory if the Bin is not defined (the first time the Bin is inserted). In installations where
Bins are removed and inserted, the bin_type parameter is not required in subsequent inserts.
9.5.3.2 Message Format
Compact syntax:
element methodcall {
element name { "portbinready" },
element params {
element port_id { xsd:short { minInclusive = "1" } },
element x { xsd:short { minInclusive = "1" } },
element y { xsd:short { minInclusive = "1" } },
element bin_id { xsd:int { minInclusive = "1" } },
element content { xsd:short { minInclusive = "1" } } ?,
element bin_type { xsd:short { minInclusive = "1" } } ?
}
}
Request example:
<?xml version="1.0"?>
portbinready
<port_id>1</port_id>
26
18
<bin_id>25738</bin_id>
9.5.3.3 Error Codes
Error Code Description
1000
1001
1003
1004
1006
The specified Port is not available.
The specified Port is closing.
Mandatory parameter port_id is missing.
Parameter port_id is not valid (invalid format or out of range).
Parameter content is not valid (invalid format or out of range).
Port Interface
page 129
1009
1010
1024
1029
1048
1058
1066
1067
1068
1069
1072
The specified Port is not open.
Parameter bin_id is not valid (invalid format or out of range).
Mandatory parameter bin_id is missing.
The specified Bin is already inserted.
System is not available.
Bin is still outside.
Mandatory parameter x is missing.
Parameter x is not valid (invalid format or out of range).
Mandatory parameter y is missing.
Parameter y is not valid (invalid format or out of range).
The specified position does not belong to the specified Port.
9.5.4 Port Bin mode
The portbinmode message sets the Bin mode to either OPEN, CLOSED, or OUTSIDE.
9.5.4.1 Parameters
port_id: (mandatory)
Identifies the Port.
bin_id: (mandatory)
Identifies the Bin.
bin_mode: (mandatory)
Sets the Bin mode. Can be OPEN, CLOSED, or OUTSIDE.
Setting the Bin mode to OUTSIDE is only allowed if the current Bin mode is TOGRID.
content: (optional)
Sets the Bin content.
If this parameter is not provided then the Bin's content is not changed.
9.5.4.2 Message Format
Compact syntax:
element methodcall {
element name { "portbinmode" },
element params {
element port_id { xsd:short { minInclusive = "1" } },
element bin_id { xsd:int { minInclusive = "1" } },
element bin_mode { "OPEN" | "CLOSED" | "OUTSIDE" },
element content { xsd:short { minInclusive = "1" } } ?
}
}
Request example:
page 130
Port Interface
<?xml version="1.0"?>
portbinmode
<port_id>1</port_id>
<bin_id>22344</bin_id>
<bin_mode>CLOSED</bin_mode>
1
9.5.4.3 Error Codes
Error Code Description
1000
1001
1003
1004
1006
1009
1010
1024
1048
1075
The specified Port is not available.
The specified Port is closing.
Mandatory parameter port_id is missing.
Parameter port_id is not valid (invalid format or out of range).
Parameter content is not valid (invalid format or out of range).
The specified Port is not open.
Parameter bin_id is not valid (invalid format or out of range).
Mandatory parameter bin_id is missing.
System is not available.
Parameter bin_mode is not valid (invalid format or out of range).
Port Interface
page 131
- Connecting Grids with Bin
Lift
AutoStore supports connecting two grids together with Bin Lifts, and exchange bins between the grids.
This chapter describes the integration of two systems that are connected with Bin Lifts.
Both Task Interface and Bin Interface support this functionality.
10.1 Introduction
The two Grids are two separate AutoStore systems with their own Control System and application servers
(API endpoints). The WMS must integrate with both systems separately.
In the two separate grids, the transfer positions that are connected with a Bin Lift are handled like Ports, and
two Ports connected with a Bin Lift must have the same port_id. Opening, inserting and removing bins to/from
grids is done automatically by the system, but the WMS must define jobs (taskgroups or port queues) for
these G2G transfer ports.
It is WMS responsibility to ensure that the balance of bins between the grids is maintained correctly.
The WMS must use Log Publisher in both systems to be able to be able to confirm and complete tasks
fulfilled.
10.2 Exchanging Bins between the Grids
To activate the bin exchange between two grids, both ports must be opened in mode SWAP.
Using Bin Interface: Both ports must have a Port Queue that specifies which bins to move to the other grid.
Using Task Interface: Both ports must be opened with categories having task groups that specify which bins to
move to the other grid.
Using port mode SWAP will ensure that the bin balance between grids are kept stable. Please note that at a
complete restart, the balance could become 1 off, so the WMS should monitor the bin balance between the
grids. To make the process run, both ports must be activated and both ports must have a work queue
(taskgroups or port queue). If one of the ports runs out of work, then the exchange process will stop and wait.
10.3 Transfer Bins to the other Grid
To transfer bins from one grid to the other grid (stream of bins in one direction), the port in the source grid
must be opened in mode OPEN, and the port in the destination grid must be opened in mode INSERT.
Using Bin Interface: The port in the source grid must have a port queue that specifies which bins to move to
the other grid.
Using Task Interface: The port in the source grid must be opened with categories having task groups that
specify which bins to move to the other grid.
To make the process run, both ports must be activated and the port in the source grid must have a work
queue (taskgroups or port queue).
page 132
Connecting Grids with Bin Lift
- Miscellaneous Interface
Methods
This chapter describes miscellaneous interface methods that are normally not required by the WMS.
These methods are available for both the Bin Interface and the Task Interface.
11.1 Bin Definition
11.1.1 Create Bin
The createbin method defines a new Bin. The new Bin is defined with Bin mode OUTSIDE.
The specified Bin must not already exist.
Normally, new Bins are defined when the Bins are first inserted by using the insertbin method (or portbinready
for custom Ports).
In rare cases (typically during development), it is desirable that the Bin is defined before it is first inserted. It is
not possible to use an undefined Bin in a Port queue or task group. If the bin is added to a Port queue before it
is inserted it is more likely that the Bin is transferred directly to that Port instead of first being put temporarily in
the Grid.
11.1.1.1 Parameters
bin_id: (mandatory)
Identifies the Bin that should be defined.
bin_type: (mandatory)
Specifies the Bin type of the new Bin.
11.1.1.2 Message Format
Compact syntax:
element methodcall {
element name { "createbin" },
element params {
element bin_id { xsd:int { minInclusive = "1" } },
element bin_type { xsd:short { minInclusive = "1" } }
}
}
Request example:
<?xml version="1.0"?>
createbin
Miscellaneous Interface Methods
page 133
<bin_id>14861</bin_id>
<bin_type>2</bin_type>
11.1.1.3 Error Code
Error Code Description
1010
1024
1029
1073
1086
Parameter bin_id is not valid (invalid format or out of range).
Mandatory parameter bin_id is missing.
The specified Bin is already inserted.
Parameter bin_type is not valid (invalid format or out of range).
Mandatory parameter bin_type is missing.
11.1.2 Delete Bins
The deletebin method deletes the definition of a Bin.
The specified Bin must have Bin mode OUTSIDE.
11.1.2.1 Parameters
bin_id: (mandatory)
Identifies the Bin that should be deleted.
11.1.2.2 Message Format
Compact syntax:
element methodcall {
element name { "deletebin" },
element params {
element bin_id { xsd:int { minInclusive = "1" } }
}
}
Request example:
<?xml version="1.0"?>
deletebin
<bin_id>14861</bin_id>
page 134
Miscellaneous Interface Methods
11.1.2.3 Error Codes
Error Code Description
1010
1011
1024
1076
Parameter bin_id is not valid (invalid format or out of range).
The specified Bin does not exist.
Mandatory parameter bin_id is missing.
Bin is not outside.
11.2 System Configuration
11.2.1 Force Charge
The forcecharge method sets the percentage of robots that should be forced to charge batteries.
The only allowed percentages are 0% (default), 50% and 100%.
This configuration only applies to the R5 robots. If the installation has a mix of robot types, the number of R5
robots is calculated as 100%.
11.2.1.1 Parameters
charge_percent: (optional)
If the parameter charge_percent is provided, the percentage of Robots that should be forced to charge is set
to the specified percentage.
If the parameter charge_percent is not provided, the percentage of Robots that should be forced to charge is
set to the default value ( 0% ).
11.2.1.2 Message Format
Compact syntax (Request):
element methodcall {
element name { "forcecharge" },
element params {
element charge_percent { xsd:int { minInclusive = "0" } } ?,
}
}
Compact syntax (Response):
element response {
element params { }
}
Request example:
<?xml version="1.0"?>
forcecharge
<charge_percent>50</charge_percent>
Miscellaneous Interface Methods
page 135
Response example:
<?xml version="1.0"?>
11.2.1.3 Error Codes
Error Code Description
1088
Parameter charge_percent is not valid (invalid format or out of range).
11.2.2 Set Configuration
The setconfiguration method updates the configurations of the Planner module.
The following settings can be updated:
Configuration Name
Configuration Value
preparationspan
prepareemptybin
emptybincontent
emptybinfactor
Integer value that specifies the maximum amount of Bins
prepared, calculated as a percentage of the defined grid
storage cells.
Integer value that specifies the amount of empty bins
(content=0) prepared, calculated as a percentage of the
defined grid storage cells.
Integer value that specifies the content code used for
specifying an empty bin. Multiple content codes can be
specified by separating these with a comma (,).
String value used to override the default emptybin distribution.
The value consists of the content code and the factor for this
content code. These values are separated by a comma (,).
11.2.2.1 Parameters
configname: (mandatory)
The name of the configuration that should be updated.
configvalue: (mandatory)
The new value of the specified configuration.
11.2.2.2 Message Format
Compact syntax:
element methodcall {
page 136
Miscellaneous Interface Methods
element name { "setconfiguration" },
element params {
element configname { xsd:string },
element configvalue { xsd:string }
}
}
Request example (preparationspan configuration):
<?xml version="1.0"?>
setconfiguration
preparationspan
10
Request example (prepareemptybin configuration):
<?xml version="1.0"?>
configureport
prepareemptybin
10
Request example (emptybincontent configuration):
<?xml version="1.0"?>
configureport
emptybincontent
99
Request example (emptybinfactor configuration):
<?xml version="1.0"?>
configureport
emptybinfactor
99,10
11.2.2.3 Error Codes
Error Code Description
1084
1085
Invalid parameter configname.
Invalid parameter configvalue.
Miscellaneous Interface Methods
page 137
11.3 Query Methods
11.3.1 Get System State
The getsystemstate method retrieves information about the current mode of the system, and the currently set
forcecharge setting.
11.3.1.1 Parameters
No parameters are required for this method.
11.3.1.2 Response
mode:
The current mode of the system.
Mode
Description
Running
Service
Alert
Stopped
20
30
35
70
stopcode:
A stop code that could provide information about why the system stopped.
chargepercent:
The currently set percentage of robots that should be forced to charge batteries.
11.3.1.3 Message Format
Compact syntax (Request):
element methodcall {
element name { "getsystemstate" }
}
Compact syntax (Response):
element response {
element params {
element mode { xsd:int },
element stopcode { xsd:int },
element chargepercent { xsd:int }
}
}
Request example:
<?xml version="1.0"?>
page 138
Miscellaneous Interface Methods
getsystemstate
Response example:
<?xml version="1.0"?>
20
0
50
Miscellaneous Interface Methods
page 139
- Log Publisher Interface
Every event in the AutoStore system is reflected in the AutoStore Log.
The Log Publisher Interface provides an event stream that is a selected subset of AutoStore Log. External
modules such as the WMS may listen to this event stream.
12.1 Technical Interface
The Log Publisher Interface provides a TCP/IP server that sends the event stream to its clients.
A client that connects to this server on a specified port will receive a stream of data that reflects the AutoStore
Log.
This data stream contains readable characters, so it is possible to connect with a standard telnet client in
order to view it.
Each event (event segment) consists of:
▪ a tag that identifies an event
▪ optional parameters separated by commas and terminated by a newline (CRLF)
12.2 Initial Download
When a client connects to the system, the Log Publisher Interface will send a set of event segments that
reflects the current state of the AutoStore system. This enables the client to have a complete copy of the
current state.
12.3 Event Segments
Overview of Supported segments
Event Segment
Download Start
Download Complete
Time
Time Factor
Bin Location
Bin Mode
Port Location Failed
Port Mode
Cell Lock
Lift Cell Lock
Robot Error
Tag
DS
DC
T
F
BL
BM
LF
PM
CL
LCL
RE
page 140
Log Publisher Interface
Robot Charging
Robot Unavailable
Port Mode
Port Error
Port Definition
Port Task Groups
Pick To Light
Drawer State
System Mode
Alert
RC
R
PM
PE
PD
PTG
PTL
PDS
SM
AL
12.3.1 Download Start
The Download Start segment indicates that a new initial download has started.
DS
12.3.2 Download Complete
The Download Complete segment indicates that the initial download has completed (segments for all Bins are
sent).
DC
12.3.3 Time
The Time segment is published every second. The Time segment that is published every minute will also
include the current unixtime.
Time factor speed-up during simulation will be reflected by this segment (will appear more often).
T // one second increment
T,unixtime
// sets current time
12.3.4 Time Factor
The Time Factor segments reflects the speed of simulation. (100 = normal).
F,timefactor
The Time Factor segment is always included in the initial download.
12.3.5 Bin Location
The Bin Location segment reflects changes in the physical location of the Bin.
When the Bin is on a Robot, then the position (xpos,ypos) is omitted or zero (0,0).
BL,bin_id,grid_id
// bin on robot
Log Publisher Interface
page 141
BL,bin_id,grid_id,xpos,ypos,depth
BL,bin_id,grid_id,xpos,ypos,depth,mode
BL,bin_id,grid_id,xpos,ypos,depth,mode,content,height
// new bin location
The depth for a given Bin is measured in mm from the top of the Grid framework to the top of the Bin.
Specifically, the top of the Grid track is at height 0. If a Bin is temporarily placed on top of the Grid, for instance
while Bins are being reshuffled during a digging operation, then the Bin has a negative depth value.
The Bins at the same level will have approximately the same depth, but this will vary due to the bins and the
floor. The bins at the upper normal level (not on top of the Grid) will normally have a depth between 105 mm
and 145 mm.
In a Port cell, the depth parameter will not reflect the actual depth and should be ignored.
The height corresponds with the bin_type.
12.3.6 Bin Mode
The Bin Mode segment reflects changes in the Bin Mode only.
BM,bin_id,mode
Bin Mode PREPARED is normally only used for Bin Interface, but it is possible to activate this mode for Task
Interface in order to monitor the preparation process.
12.3.7 Port Location Failed
The Port Location Failed segment indicates that AutoStore was unable to deliver a Bin to the specified
location.
LF,grid_id,xpos,ypos
12.3.8 Port Mode
The Port Mode segment reflects changes in the port mode.
PM,port_id,mode
12.3.9 Port Definition
The Port Definition segment contains the location and type of the ports.
PD,port_id,port_type,xpos,ypos
PD,port_id,port_type,xpos,ypos,xpos,ypos
PD,port_id,port_type,xpos,ypos,...,xpos,ypos // Port with multiple
cells
// Port with two cells
// Port with one cell
12.3.10 Cell Lock
The Cell Lock segment reflects changes in the accessibility of grid cells. If a robot displays an error, all cells
that might be occupied by this robot are locked for other robots. It is also possible to lock specific cells
manually. These cells are reported via the Cell Lock segment. Once these cells are available again, another
Cell Lock segment will be sent out with a "clear" flag.
CL,1,L,xpos,ypos // Cell temporarily locked by Delayed Stop
CL,1,P,xpos,ypos // Cell manually locked by user
CL,1,C,xpos,ypos // Clear cell lock
page 142
Log Publisher Interface
Cells are manually locked by the Cell Lock wizard in the Console. Cell mode "Blocked" (Grid Definition) is not
reflected by the CL segment.
The cell lock state for unlocked cells is not transmitted on the initial download. Therefore all cell locks must be
cleared when receiving a DS segment. The cells which are still locked will be transmitted during the initial
download.
12.3.11 Lift Cell Lock
The Lift Cell Lock segment reflects changes in the lifting accessibility of grid cells. When a lifting operation
fails, for instance because of an overfilled bin, the system can suspend the cell for lifting until the problem is
resolved.
LCL,xpos,ypos,BOTH // Cell is locked for lifting operations
LCL,xpos,ypos,CLEAR // Cell is no longer locked for lifting operations
The lift cell lock state for unlocked cells is not transmitted on the initial download. Therefore all lift cell locks
must be cleared when receiving a DS segment. The cells which are still locked for lifting will be transmitted
during the initial download.
12.3.12 Port Error
The Port Error segment reflects the error status of a port.
PE,port_id,1 // Port has an error
PE,port_id,0 // Error solved; Port has no error
12.3.13 Robot Charging
The Robot Charging segment reflects the charge status of a robot.
RC,robot_id,1 // Robot charging
RC,robot_id,0 // Robot not charging
12.3.14 Robot Error
The Robot Error segment reflects the error status of a robot.
RE,robot_id,1 // Robot has an error
RE,robot_id,0 // Error solved; Robot has no error
12.3.15 Robot Unavailable
The Robot Unavailable segment reflects the status of a robot. A robot is designated as unavailable if the
robotmode is SERVICE, PARKED, or CONSOLE
R,robot_id,1
R,robot_id,0
// Robot unavailable
// Robot available
12.3.16 Port Task Groups
The Port Task Groups segments list the next Task Groups of the corresponding port.
PTG,port_id,taskgroup_1,taskgroup_2,........,taskgroup_x
Log Publisher Interface
page 143
12.3.17 Pick To Light
The Pick To Light segments reflects changes to the Pick-To-Light visualization requests.
PTL,source_port_id,target_port_id,source_bin_id,target_bin_id,
source_compartment,target_compartment,quantity,status
PTL,source_port_id,target_port_id // delete PTL
The status is one of: 'R' (Registered), 'A' (Active), 'C' (Confirmed).
Implicit deletion of PTL caused by the methods closebin and closeport is not reflected by Log Publisher.
12.3.18 Drawer State
The Drawer State segments reflect changes in the Port's physical drawer state.
PDS,port_id,drawer_position,snap_lock
PDS,1,O,E // port 1, drawer open, lock enabled
PDS,1,C,D // port 1, drawer closed, lock disabled
PDS,1,U,U // port 1, unknown position and lock state
12.3.19 System Mode
The System Mode segment reflects changes in the System Mode.
SM,systemmode
12.3.20 Alert
The Alert segment is sent if the connection to the AutoStore system or Backup module is lost (or delayed).
When the connection to AutoStore is re-established the current system mode is published.
If the connection between AutoStore Log Publisher and AutoStore Driver is lost for more than 20 seconds, the
event code NOC is published.
If the connection between AutoStore Driver and AutoStore Backup is either too slow or lost for more than 60
seconds, the event code BCK is published.
In some error situations, the AutoStore XHandler may postpone stopping the system. The event code DSTP is
published in this case.
AL,code
12.4 Value Codes
Most of the parameters that belong to the event segments are integer values.
Some parameters that have a string representation in the XML interface are encoded as single characters in
the Log Publisher Interface in order to have a compact format.
Bin Mode:
Mode
GRID
PREPARED
page 144
Code in Log Publisher Interface
G
T
Log Publisher Interface
P
R
O
C
X
F
PORT
TOGRID
OPEN
CLOSED
OUTSIDE
FORECAST
Port Mode:
Mode
OPEN
INSERT
AUTO
CLOSED
SEQUENCE
DISABLED
Code in Log Publisher Interface
O
I
A
C
S
D
MULTIPORT_PUPPET M
Port Type:
Type
Code in Log Publisher Interface
Conveyor Port
Carousel Port
Swing Port
Relay Port
Transfer Cell /
Custom Port
Fusion Port
MultiPort
PickUpPort
System Mode:
CO
CA
SW
RE
TC
FU
MU
PI
System mode
Code in Log Publisher Interface
RUNNING
SERVICE
ALERT
STOPPING
STOPPED
Alert:
RUN
SVC
ALT
DSTP
STP
Code
Code in Log Publisher Interface
Log Publisher Interface
page 145
NO_CONNECTION NOC
BACKUP_SEQ
BCK
DELAYED_STOP
DSTP
page 146
Log Publisher Interface
- AutoStore Internals and
Configurations
This chapter contains miscellaneous topics about AutoStore functionality and configurations that WMS
developers should be aware of.
13.1 Port Carousel Behavior
Due to the way the carousel arms work together, repeating the same Bin with only one other Bin in between is
very inefficient.
It is strongly recommended to avoid the following Bin sequence on Port Carousels:
... Bin A - Bin B - Bin A ...
NOTICE
Even though the above sequence will work, and may sometimes be required by the WMS, it should be
avoided whenever possible in order to obtain optimal performance.
13.2 Port Configurations
Robot Queue
This configuration specifies how many Bins that will be queued towards each Port. (This configuration was
previously called Port Queue.)
For Planner, the default value is 2. For Router, the default is Automatic. Router will automatically adjust the
muber of robots allocated to a port, but that can be overruled by this configuration.
The value has an upper limit that is equal to the number of Port cells and buffer cells at the Port.
Value
Description
0
1
2
This would cause no Robots to stand and wait. So when a new Bin is requested a
Robot would pick it up and then deliver it. This will cause long delivery times and is only
appropriate for very slow inspection or putaway Ports.
This allows one Robot to wait above the Port with the next bin. This is appropriate for
most putaway operations which usually take longer on the user side.
This allows one Robot to wait above the Port and the second above the buffer position.
This is the current default, and appropriate for medium performance Ports.
3 or more
This is for fast-picking Ports. (The value is often about the same as the number of picks
per minute, but other considerations may also apply.)
Minimum Cycle Time
Theoretical minimum time a Bin spends in a Port (in seconds). Default value is 8.
AutoStore Internals and Configurations
page 147
13.3 Behavior when few available Tasks or Bins
AutoStore is optimized for a high throughput environment that has sufficient work for the open ports.
In situations where there are very few task groups in the system, or very few bins that corresponds with the
requested content codes, AutoStore may assign the work to one of the ports, instead of balancing them on
multiple open ports. In these situations some ports are not receiving bins, because the few bins or task groups
are already internally assigned to another port.
This behavior can typically be observed during simple tests with the WMS SDK.
page 148
AutoStore Internals and Configurations
- Appendix
14.1 Error Code Overview
Error Code Description
1000
1001
1002
1003
1004
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
The specified Port is not available.
The specified Port is closing.
The specified Port is already open.
Mandatory parameter port_id is missing.
Parameter port_id is not valid (invalid format or out of range).
Parameter content is not valid (invalid format or out of range).
Parameter category is not valid (invalid format or out of range).
Parameter req_time is not valid (invalid format or out of range).
The specified Port is not open.
Parameter bin_id is not valid (invalid format or out of range).
The specified Bin does not exist.
Parameter task_id is not valid (invalid format or out of range).
Parameter taskgroup_id is not valid (invalid format or out of range).
Parameter shipment is not valid (invalid format or out of range).
There are no tasks or Bins that fulfill the Port select requirements.
There are no Bins ready that fulfill the Port select requirements.
The specified task does not exist.
The specified task group does not exist.
The specified task group is selected by another Port.
The openbin conflicts with a previous openbin call that is not yet closed.
The openbin conflicts with the Port's selected shipment.
The openbin conflicts with the Port's selected task group.
Multiple selection parameters are not allowed.
Mandatory parameter bin_id is missing.
Parameter taskcomplete is not valid (invalid format or out of range).
The Port does not have a selected Bin.
The Bin is not yet ready in the Port.
The Bin and task parameters conflict with the open Bin and task.
The specified Bin is already inserted.
Appendix
page 149
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
The Port has a selected Bin.
Mandatory parameter taskgroup_id is missing.
The task group already exists.
The task already exists.
Mandatory parameter category is missing.
Mandatory parameter req_time is missing.
Mandatory parameter priority is missing.
Parameter priority is not valid (invalid format or out of range).
Parameter start_time is not valid (invalid format or out of range).
Parameter suspended is not valid (invalid format or out of range).
Mandatory parameter task_id is missing.
Parameter item is not valid (invalid format or out of range).
Parameter order is not valid (invalid format or out of range).
The task group has no tasks.
The task group is selected by a Port.
The task is selected by a Port.
XML parsing error.
Unknown method.
System is not available.
Response overflow.
Too many categories or content codes.
Conflicting category and content.
Parameter suspendtaskgroup is not valid (invalid format or out of range).
Parameter mintaskgroupid is not valid (invalid format or out of range).
Parameter maxtaskgroupid is not valid (invalid format or out of range).
Parameter min_bin_id is not valid (invalid format or out of range).
Parameter max_bin_id is not valid (invalid format or out of range).
Parameter estpicktime is not valid (invalid format or out of range).
Bin is still outside.
Too many tasks included.
Parameter port_mode is not valid (invalid format or out of range).
Parameter target_grid is not valid (invalid format or out of range).
Port queue is full.
The maximum size of a port's port queue is 1000 bins.
1063
Bin preparation queue is full.
The maximum size of the bin preparation queue is 20000 bins.
1064
Mandatory parameter element Bins are missing.
page 150
Appendix
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
Parameter all is not valid (invalid format or out of range).
Mandatory parameter x is missing.
Parameter x is not valid (invalid format or out of range).
Mandatory parameter y is missing.
Parameter y is not valid (invalid format or out of range).
Mandatory parameter getbin is missing.
Parameter getbin is not valid (invalid format or out of range).
The specified position does not belong to the specified Port.
Parameter bin_type is not valid (invalid format or out of range).
Location is ready.
The message portlocationready has been sent. Before sending the next
portcellallocate for the same cell, the Bin must be confirmed in the Port (confirmation
from Log Publisher).
Parameter bin_mode is not valid (invalid format or out of range).
Bin is not outside.
Maximum number of Bins already inserted.
Bin is in Port.
The messages forecastbin and cancelforecastbin will be rejected if the Bin is in a Port.
1079
Illegal Bin mode.
The message forecastbin will be rejected if the current bin mode is not GRID. The message
cancelforecastbin will be rejected if the current bin mode is not FORECAST.
1080
Method is not supported.
1081
1082
1083
1084
1085
1086
1087
1088
9997
9998
9999
The method is not supported by some of the other modules. For example, the method
may requires a newer version of AutoStore Driver or AutoStore Planner.
Mandatory parameter index is missing.
Parameter index not valid (invalid format or out of range).
No room for given content.
Invalid parameter configname.
Invalid parameter configvalue.
Mandatory parameter bin_type is missing.
Illegal Port type.
Parameter charge_percent is not valid (invalid format or out of range).
Undefined error (internal server error).
Unknown reject code.
Driver timeout.
The method may or may not have been completed. The WMS must handle both
situations.
The interface did not receive confirmation from the driver within the time limit (might be
a network issue between application server and ASCS).
Appendix
page 151
In a simulation environment, this fault can be caused by a too high time factor or
workload on the simulation server.
14.2 Property Overview
Name
bin_id
Data Type
Description
Integer between 1 and 1000000.
Identifies a bin.
category
Integer between 1 and 32767.
Category code.
content
Integer between 1 and 32767.
Content code.
item
order
port_id
priority
req_time
Integer between 1 and 2147483647.
Task grouping within a task group.
Integer between 1 and 2147483647.
Task order within a task group.
Integer between 1 and 1024.
Identifies a port.
Integer between 1 and 32767.
Task group priority.
Date and time.
Between 1971.01.01 and 2038.01.18.
Requested time.
shipment
Integer between 1 and 2147483647.
Identifies a shipment.
start_time
Date and time.
Between 1971.01.01 and 2038.01.18.
Earliest pick time.
suspended
Boolean.
Task group suspended.
task_id
Integer between 1 and 2147483647.
Identifies a task.
taskgroup_id
Integer between 1 and 2147483647.
Identifies a task group.
page 152
Appendix
- Index
A
About this manual 9
Add Task 43
Alert 144
Allocate Cell 117
Alternative flow 97
Append Port Sequence 58
Append to Port Queue 75
Appendix 149
Connecting Grids with Bin Lift 132
Contacting us 10
Content Code Example 19
Content Code Ranges 112
Content Consumers 113
Controlling Bin Locations 111
Controlling Bin time outside its Zone 115
Controlling the Sequence of Task Groups 55
Conventions and Standards 9
Automatic Preparation of Empty Bins 20
Copyright, Intellectual Property, and
AutoStore Internals and Configurations 147
B
Balancing Categories 25
Basic Concepts 60, 18, 23
Begin Group in Port Queue 77
Behavior when few available Tasks or Bins
148
Bin 18
Bin Content Code 111, 19
Bin Definition 133
Bin Interface 60, 13
Bin Location 141
Bin Mode 142
Bin Mode Forecast 106
Bin Preparation 60
Bin Preparation Methods 70
Bin Properties 18
C
Cancel Forecast Bin 108
Cancel Prepare Bin 72
Cancel Task 44
Cancel Taskgroup 42
Cell Content Code 111
Cell Lock 142
Changes to the Manual 10
Close Bin 64, 30
Close Port 65, 31
Comparison 14
Compartment Definition 95
Configurations 112, 20
Configure Port 99
Disclaimer 4
Create Bin 133
Create Taskgroup 38
D
Defining the Zones 115
Delete Bins 134
Description 106
Disable MultiPort 98
Download Complete 141
Download Start 141
Drawer State 144
E
Enable MultiPort 98
End Group in Port Queue 77
Error Code 67, 70, 134
Error Code Overview 149
Error Codes 42, 44, 45, 46, 48, 50, 53, 55, 58,
59, 62, 64, 65, 66, 69, 71, 72, 73, 75, 76, 77,
78, 80, 81, 84, 85, 86, 90, 93, 95, 98, 99, 101,
102, 104, 105, 107, 109, 115, 126, 128, 129,
131, 135, 136, 137, 27, 29, 31, 32, 33, 35, 36,
37, 39, 41
Error Handling 125
Event Segments 140
Examples 119
Exchange Bins to and from Grid 117
Exchanging Bins between the Grids 132
F
Failure when Port Deliver Bin To Grid 125
Failure when Port Retrieves Bin from Grid 125
Index
page 153
Feature Compatibility 16
74, 76, 77, 78, 79, 81, 83, 84, 85, 89, 92, 94,
Features that require AS Router 16
98, 99, 100, 101, 103, 104, 107, 108, 114,
Flush Port Bin 104
Force Charge 135
Forecast Bin 106
126, 127, 129, 130, 133, 134, 135, 136, 138,
26, 28, 30, 32, 33, 34, 35, 37, 38, 41, 42
Miscellaneous Interface Methods 133
Forecast Bin Preparation 106
Miscellaneous Port Methods 99
Forecast Methods 106
Fusion Port 90
G
General Precautions 11
General Safety Information 10
Get Bin Information 45, 78
Get Bin Location 47, 80
Get Bin State 49, 82
Get Drawer State 89
Get Next Task Groups 53
Get Port Configuration 101
Get Port Queue 85
Get Port Status 36
Get Port Weight 102
Get Preparation Queue 84
Get System State 138
Get Task Information 51
Grid 22
Guidelines 109
H
Hide Pick-To-Light 94
I
Implementing Cut-Off Time 55
Imprint 3
Initial Download 140
Insert Bin 66, 32
Insert Prepare Bin 71
Interface 112
Interface Methods 114
MultiPort configuration of the Fusion Port 97
N
Normal Process 122
O
Open Bin 62, 27
Open Port 61, 26
Overriding the next Task Group 55
P
Parameters 43, 44, 45, 47, 49, 51, 54, 57, 58,
61, 63, 64, 66, 67, 68, 69, 70, 71, 73, 74, 75,
77, 77, 78, 80, 82, 84, 85, 89, 92, 94, 98, 98,
100, 101, 102, 104, 106, 108, 114, 126, 127,
128, 130, 133, 134, 135, 136, 138, 26, 28, 30,
31, 32, 34, 35, 36, 38, 40, 42
Performance Guidelines 26
Pick To Light 144
Picking Process with Bin Interface 88
Picking Process with Task Interface 88
Pick-To-Light API 91
Pick-To-Light Example 95
PickUpPort 89
Port 20
Port Bin mode 130
Port Bin Ready 128
Port Carousel Behavior 147
Port Cell Allocate 126
Port Configurations 147
Port Definition 142
Port Deliver Bin to Grid 118
Introduction 12, 91, 97, 111, 132
Port Error 143
L
Lift Cell Lock 143
Log Publisher Interface 140
M
Main Configurations 112
Managing Frozen Zone 115
Message flow 96
Message Flow 118
Message Format 43, 44, 45, 47, 49, 52, 54,
57, 59, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73,
Port Exchange Bin with Grid 119
Port Exchange Bins to and from Grid 121
Port Interface 117
Port Interface Methods 126
Port Location Failed 142
Port Location Ready 127
Port Methods 61, 26
Port Mode 21, 142
Port Mode SEQUENCE 56
Port Process 117
Port Processes 87
page 154
Index
Port Properties 20, 24
Port Queue 60
Port Queue Group 61
Port Retrieve Bin from Grid 118
Port Task Groups 143
T
Task 24
Task Group 23
Task Group Properties 23
Task Interface 13, 23
Port with Incoming Bins from Conveyor Belt
Task Interface and Bin Interface 12
121
Task Methods 38
Port with Outgoing Bins to Conveyor Belt 119
Technical Interface 14, 140
Terms 113
Time 141
Time Factor 141
Transfer Bins to the other Grid 132
U
Update Bin 69, 35
Update Cell and Bin Content 114
Update Taskgroup 40
Using the AutoStore Interface 16
V
Value Codes 144
X
XML Message Format 15
Port with Outgoing Bins to Conveyor Belt
(mode AUTO) 120
Prepare Bin 70
Properties 24
Property Overview 152
Putaway Process 87
Q
Query Methods 45, 78, 138
R
Read this first 9
Remove Bin 68, 34
Repeated Bin 124
Request 15
Response 45, 47, 49, 51, 54, 63, 79, 80, 82,
15, 84, 85, 89, 101, 103, 138, 28, 36
Robot Charging 143
Robot Error 143
Robot Unavailable 143
S
Select Requirements 24
Selected Bin 25
Set Configuration 136
Set Port Queue 74
Set Port Sequence 57
Show Pick-To-Light 92
Signs and Notices 10
Software Release April 2023 17
Software Release October 2022 17
Software Release October 2023 17
Specifying a Strict Sequence of Task Groups
56
Standard Port Flows 87
Starting with Bin in Port 124
State 18
Synchronizing with the Task Group Sequence
56
System Configuration 135
System Mode 144
Index
page 155
page 156
Index
This text must be present to make sure the back page is generated correctly during publishing.
Use the style 'Last Page Text' to make sure the text is not visible in the PDF.
autostoresystem.comAutoStore ASStokkastrandvegen 855578 Nedre Vats, NOTel: +47 52 76 35 00AutoStore System Inc.3 Corporate Park Drive03038 Derry NH USATel. +1(603) 404-3479