Copyright © 2001‑2025 All rights reserved. Woodgrove Digital Engineering P⁄L. Last revised:21st May 2025
CREDITS
LINKS
Woodgrove Digital Engineering






MOVEMENT CONTROLLER

          This version incorporates all changes up to Change 433
                                                  Date 25-MAR-20


OPERATOR'S MANUAL



                     Copyright 1984-2020

             WOODGROVE DIGITAL ENGINEERING PTY. LTD.
          Australian Business Number (ABN) 44002794452

                      All rights reserved.

Contents

+

Prologue

 

    Using this Document

 

    Introduction

+

General Instructions

+

    Entering Information

 

        Typing Instructions

+

        Microsoft Windows Operation

 

            Starting the Operator Interface

 

            Switching Windows

 

            Window Repositioning

 

            Window Resizing

 

            Raising, Lowering and Minimising Windows

 

            Widgets and Drawing Areas

 

            Button Operation

 

            Scroll Bar Operation

+

        Data

 

            Moving the Cursor Through the Field

 

            Deleting Characters from the Field

 

            Select, Cut, and Paste

 

        Name

 

        Character

 

        Numeric

 

        Date

 

        Time

 

        Symbolic Numeric

 

        Symbolic Name

 

        Where

 

        Current Time

 

        Password

 

        Screen Editing

+

        Memo

 

            Key Assignments

 

            Basic Editing

 

            Cursor Movement

 

            Screen Movement

 

            Find

 

            Find and Replace

 

            Insert or Overtype Mode

 

            Deleting Text

 

            Select, Cut and Paste

 

            Key Sequence Macros - Learning

 

            Repeating Key Strokes and Macros

 

            Exiting from the Editor

 

        Attribute

 

        Miscellaneous Data

 

        Baud Rates

 

        Store Reference

 

        Crane and Palletiser Alarms

 

        Load Detection Indices

 

        Photocell Arrangement

 

        Fault Assistance

 

        Destination

 

        Heavy-Unit-Load Conveyor Device Condition

 

        Heavy-Unit-Load Conveyor Device Character

 

        Heavy-Unit-Load Conveyor Device I/O Comments

 

        Heavy-Unit-Load Conveyor Device Pause Need

 

        Turn Peg Pattern

 

        Layer Arrangement

 

        Phone Number

 

        Post Code and Post Code Mask

 

        Pick Area Reference

 

        Pick Area Type Division's Address Offset

 

        Pick Area Address Patches

 

        Pick-to-Light Unit Internal Memory Address

 

        Compartment References

 

        Pick Compartment Length and Width

 

        Response Codes

 

        TCP-IP Host

 

        TCP-IP Port

 

        Key

 

    Set of Fields

+

    Menus

 

        When Using the More DOS-Like Interface

 

        Setting Function Keys to Access the Menus

+

    Viewing Data

+

        General

 

            Menu Bar

 

            What's On the Display

 

            Moving the Window Around the File

 

            Expanding Record Details

+

            Restricting the Records Displayed

 

                Given Text in Any Field ([CONTROL F])

 

                Given Text in a Field (Restrict/Match)

 

                A Run of Records (First/Last)

 

                A Given Group in Linked Lists

+

                Records Satisfying an Expression

 

                    Modify All Satisfying Records

 

            Move Up/Down in Linked Lists

 

            Copy or Cut from Linked Lists

+

        Maintenance Viewing Data

 

            Changing the Field Contents

 

            Editing the Entire Record and Deleting

 

            Add New Records (Insert)

 

            Restrict to a Single Record

 

            Multiple Record Editing (Kollecting)

 

            Refreshing the Display

 

        Report Viewing Data

+

    Help

 

        Display Format

 

        Moving by Lines and Columns

 

        Moving by Pages

 

        Moving to Beginnings and Ends

 

        Moving to References

 

        Moving to an Arbitrary Section

 

        Help on Using Help

 

        Moving Directly to the Encompassing Sections

 

        Changing Manuals

 

        Exitting

+

    Changing the Colours

+

        Select the Colour for the Chosen Purpose

 

            Edit the Shade of the Colour

 

            Edit the Colour's Palette Directly

 

            Edit the Colour's Name

+

            Edit the Colour's Purpose

 

                Finish Changing the Purpose

 

            Finish Changing the Colours

+

    Select the Font

 

        Edit Bitmap (Button) Font

 

        Finish Selecting the Font

+

Specific Instructions

 

    Single Display Function Mode

 

    Main Menu

 

    Log Off

+

    Operations

+

        Heavy-Unit-Load Conveyors

 

            Push Buttons

 

            Presentation of Loads

+

            Presentation of the Plant

 

                Details of Conveyor or Device

+

                Devices for Americold

 

                    Access Gate Status

 

                    Emergency Stops

 

                    Sirens

 

                    Various Lamps

 

                    Detierers, Their Doors & Consoles

 

                    Fork lift Detection Loops

 

                    Sizing Stations

 

                    Board Checkers

 

                    Controlled Doors

 

                    Alignment Bars

 

                    Pallet Stands

 

                    Crane Fork Detection, Guard Photocells

 

                    Fire Alarms

 

                    Smoke Detectors

 

                    Scissor Lifts

 

                    Start/Stop Push-Buttons

 

                    Barcode Readers

 

                    Hold on MCR

 

                Stacks of Pallets

+

            Control of Loads

 

                Additional Details for Americold

 

                Modifying Several (KOLLECT TO EDIT)

 

            Zoomed Display

+

            Push Button Control of the Plant: Overview

 

                Control of Standard Devices

+

                Controlling Devices for Americold

 

                    Sirens

 

                    Various Lamps

 

                    Detierers

 

                    Controlled Doors

 

                    Alignment Bars

 

                    Pallet Stands

 

                    Scissor Lifts

 

                    Barcode Readers

 

                    Hold on MCR

 

            Push Button Control of the Plant: Zoomed

+

            Deleting and Creating Loads

 

                Deleting Loads Unknown to the System

 

            Presentation of the Cranes

 

            Keep No-Reads at Scanner (HOLD NO READ)

 

            Retrieve Empty Pallets (FETCH EMPTIES)

 

            Reject Control (1/2 REJECT FREEZER/CHILLER)

 

            Fast Putaway (GO ANY-WHERE)

 

            Trunk Line Purge (TRUNK PURGE)

 

            Outfeeding Loads (OUTFEED LOAD)

 

            Multilevel Conveyor Systems (LEVEL CHANGE)

 

            Displaying Conveyor Alarms (ALARM LIST)

 

            Changing the Appearance (EDIT DIAGRAM)

 

            Conveyor Mode (CONVEYOR MODE)

 

            Archive Log Files (FLOPPY ARCHIVE)

 

            Pick Face Loads Not Seen

 

            Checking the Linked Lists

 

            Checking the Communications Ports

+

        Conveyor Alarms

 

            Communications Failure Alarms

 

            Task Killed Alarms

+

        Stores Diagram

+

            Graphical Representation

+

                Presentation of the Locations

 

                    Full and Part Loads

 

                    Total Numbers of Loads & Vacancies

 

                    Presenting Vacant, Disabled, Etc

 

                    Pallet Detection System

 

                    Bad Configuration Data

 

                    Movement Class and Product Group

 

                Presentation of the Crane

 

            Moving the Window About the Store

 

            Moving the Cursor About the Store

+

            Examining and Modifying Location

+

                Displaying the Full Location Details

 

                    Pallet Coming to Location

+

                Modifying the Location Details

 

                    Prioritising Replenishment

 

                Modifying Several Locations At Once

 

                Deleting and Inserting Loads

 

            Inhibited Locations

 

            Changing the Appearance

 

            Select Loads for Retrieval

 

            Restricting the Display

+

        Crane Commands and Alarms

+

            Status List

 

                LT in/out of position

 

                HL in low/in high/out of position

 

                Forks position

 

                Manual

 

                Out Of Service

 

                Light Curtain

 

                Conveyor Alarm

 

                Alarm change

 

                Loaded Status

 

                MCR deenergised

 

                LT no speed enable

 

                HL no speed enable

 

                Key switch manual

 

                Correction limit

 

                Catching dev bypass

 

                Off-centre to left

 

                Off-centre to right

 

                Bin occupied left

 

                Bin occupied right

 

                Bin occ'd far left

 

                Bin occ'd far right

 

                Hoist down stop

 

                Hoist up stop

 

                LT reverse stop

 

                LT forward stop

 

                LT drive failure

 

                HL drive failure

 

                Forks drive failure

 

                Hoist safety fault

 

                MCC 24V Power Fail

 

                24V supply failure

 

                No conveyor system

 

                Communications fail

 

                Cabinet too cold

 

                Cabinet too warm

 

                Full current bypass

 

                Cabin position

 

                Over-height 1

 

                Over-height 2

 

                Over-height 3

 

                Over-height 4

 

                Over-height 5

 

                Over-height 6

 

                Over-height 7

 

                Over-height 8

 

                Long Travel Motion

 

                Hoist Motion

 

                Forks Motion

 

            Graphical Status

+

            Alarms

 

                MCR is off

 

                24VDC is off

 

                HL circuit breaker

 

                LT circuit breaker

 

                Forks circuit b'ker

 

                HL drive fault

 

                LT drive fault

 

                Forks drive fault

 

                HL thermal overload

 

                LT thermal overload

 

                Forks thermal O/L

 

                HL thermistor trip

 

                LT thermistor trip

 

                Forks thermistor tr

 

                Cabin too cold

 

                Cabin too warm

 

                Load Off Centre

 

                Load correct'n fail

 

                Off-centre fouled

 

                Load seems too wide

 

                Catch block set

 

                Slack rope

 

                Rope overload

 

                Hoist over-speed

 

                Speed govenor trip

 

                Hoist whole current

 

                Hoist too slow

 

                HL hunting too slow

 

                LT too slow

 

                LT hunting too slow

 

                Forks 2 slow left

 

                Forks 2 slow right

 

                Hoist too high

 

                Hoist too low

 

                LT overrun

 

                Cabin door open

 

                Gate is open

 

                Trolley problems

 

                Communications bad

 

                Pickup got nothing

 

                Deposit still loaded

 

                Pickup but loaded

 

                Deposit but no load

 

                Forbidden slot

 

                Bad command

 

                LT location bad

 

                HL location bad

 

                Empty or blocked

 

                Location empty

 

                Location full

 

                HL bad screen

 

                LT bad screen

 

                HL stalled

 

                LT stalled

 

                LT stalled/centred?

 

                Lost fork limit sw.

 

                Forks switch lost

 

                Overall Watchdog

 

                High load manual

 

                High load automatic

 

                Cabin too slow down

 

                Pickup not going

 

                Empty Pallet in Way

 

                Cabin too slow up

 

                Pickup not centred

 

                Deposit not centred

 

                LT wrong card

 

                Hoist wrong card

 

                Can't centre forks

 

                Fork recovery fail

 

                Off LT when forking

 

                Off HL when forking

 

                LT reader blocked

 

                HL reader blocked

 

                LT brake release on

 

                Buffer shifted back

 

                Buffer shifted fwd.

 

                Emergency stop

 

                LT at both ends

 

                HL at both ends

 

                Cabin up and down

 

                HL at low & hi stop

 

                HL wrong for magnet

 

                LT wrong for magnet

+

            Automatic Command Queue

 

                Command Presentation Format

 

                Governing Command

 

                Checking Software Messages

+

            Turning Off and On Automatic Commands

 

                Inhibiting the Crane

 

            Turning Off and On Retrieval Commands

 

            Putting the Crane Back Service

+

            Operator Commands

+

                Non-Motion Commands

 

                    Reset alarms

 

                    Energise main contactor

 

                    Set out of service

 

                    Set in service

 

                    Abort current cycle

 

                    Kill next cycle

+

                Motion Commands

 

                    Movement test cycle

 

                    Pickup test cycle

 

                    Deposit test cycle

 

                    Goto crane infeed

 

                    Goto crane outfeed

 

                    Park at Maintenance Bay

 

                    Store a load

 

                    Retrieve a load

 

                    Deposit the load on board

 

                    Relocate a load in the rack

 

                    Run test cycles

 

                Modify Current Command

 

                Kill Governing Command

 

                Remote Manual Crane Control

 

                Initialise Crane PLC

 

                Save Crane PLC Configuration

 

                Restore Crane PLC Configur'n

+

        Retrieve from Stores by Location (new)

 

            Creating Retrieval Requests

 

            Deleting Retrieval Requests

 

            Prioritise, Modify, or Delete

 

            Submitting the Schedule

+

        Retrieve from Stores by Location

 

            Reading Schedules

 

            Creation of Schedules

 

            Modification of Schedules

 

            Sequencing Schedules

 

            Deleting Schedules

+

        Review Loads Being Retrieved

 

            Prioritise, Modify, or Delete

+

        Enter Orders for Picking

 

            Reading Schedules

 

            Creation of Schedules

 

            Modification of Schedules

 

            Sequencing Schedules

 

            Using Templates

+

        Replenish the Pick Areas

 

            Reading Schedules

 

            Creation of Schedules

 

            Modification of Schedules

 

            Sequencing Schedules

 

            Using Templates

+

        Cartons Within the Conveyor System

 

            Reading Schedules

 

            Creation of Schedules

 

            Modification of Schedules

 

            Sequencing Schedules

+

        Carton Conveyor System

 

            Push Buttons

 

            Carton Conveyor System Status

 

            Alarms

 

            Tally of Cases

 

            Conveyor Mode

 

            Device Mode

 

            Setting Case Lengths

 

            Pick-To-Light System Status

+

            Pick Area Mode

+

                Examining a Pick Area

+

                    Monitor Memory

 

                        Read-Write

 

            Changing the Appearance

 

            Defining Views of the Conveyor System

+

        Palletiser Status and Commands

 

            Push Buttons

 

            Alarms

 

            Tally of Cases

 

            Finish Load

 

            Reject Pallet

 

            Palletiser Semi-Automatic

+

            Palletiser Manual Mode

 

                Motors Versus Solenoids

 

                Palletiser Gates

 

                Palletiser Compress

 

                Palletiser Pilot Lamps

 

            Edit Cartons

 

            Running Without a Barcode Reader

 

            Disabling the Glue Spray

 

            Writing Pattern Data

 

            Accessing the Pallet Conveyor System

 

            Accessing the Carton Conveyor System

+

        Machine Status Display

+

            Configuration for Americold

 

                Controls

+

    Produce Reports

 

        Event Log Historic Report

 

        Load Log Historic Report

 

        Conveyor Alarm Summary Report

 

        Produce Report Listing Store Occupancy

 

        Produce Report Showing Store Matrix

 

        Crane Alarm Summary Report

 

        Crane Movement Tally Report

 

        Crane Cycle Log Report

+

    Communication Reports

 

        Opening a Communications Report Window

 

        Leaving a Communications Report Window

 

        Help with the Protocol

 

        PLC Communications Report

 

        Produce Report of Pick-to-Light Comm's

 

        Produce Report of Barcode Scanner Comm's

 

        Produce Report of TCP-IP Communications

+

    Configuration

+

        Control Mode of Operation

 

            Full Description of this Window

+

            The Variables Intended to be Presented

 

                Override Palletiser Barcode Scanner

 

                Stacker Crane To Find Vacancy

 

                Stacker Crane Store:Retrieve Ratio

 

                High Level Crane Inhibiting

 

                Alarm Summary Period

 

        Enter or Modify the Conveyor Alarms

 

        Enter or Modify Products

 

        Enter or Modify the Crane Alarms

 

        Enter or Modify the Crane States

 

        Enter or Modify the Countries

 

        Enter or Modify the States/Provinces

 

        Enter or Modify the Towns/Suburbs/Cities

 

        Enter or Modify the Customers

 

        Enter or Modify the Products

 

        Enter or Modify Palletiser Alarms

+

        Enter or Modify Palletiser Patterns

 

            Edit Row Definition

 

            Viewing Patterns

 

            Applying the Patterns

 

        Enter or Modify Palletiser Product Data

 

        Enter or Modify Machine States

 

        Enter or Modify Machine Alarms

 

        Enter or Modify Machine Controls

+

    Maintenance

+

        Set Network Definition Data

 

            Full Description of this Window

+

            The Variables Intended to be Presented

 

                TCP-IP Addresses

 

                TCP-IP Ports

 

                FTP User Text Fields

 

                Directories for Host Communications

 

        Set Current Time and Date

 

        Modify List of Users

 

        Archive List of Events to Floppy Disc

 

        Archive Load Movements to Floppy Disc

 

        Backup Database to Floppy

 

        Restore Database from Floppy

+

    System Definition

+

        Initial Software Configuration

 

            Full Description of this Window

+

            The Variables Intended to be Presented

 

                Selection of Communications Boards

 

                Presentation of Loads

 

                Defining the Conveyor System

 

                Delay Between Crane Test Cycles

+

        Defining the Heavy-Unit-Load Conveyor System

 

            PLC Source code

 

            Graphical Representation

 

            Steps in the System Definition

+

        Enter or Modify Device Types

 

            Navigating the Selection Windows

 

            Modify, Add and Cancel Lines

 

            Defining the Device Type

 

            Defining the Device Type's Alarm

 

            Defining the Device Type's Output

 

            Defining the Device Type's Input

+

            Defining the Device Input's Condition

 

                Specifying Device Condition Matching

 

                Overview Image Colour

 

                Overview Image Pixel Editing

+

                Zoomed Image Editing

 

                    Circles

 

                    Characters

 

                    Lines

 

                    Rectangles

 

                    Semi-Circles

 

                    Numeric Display

 

                    Bargraph

 

                    Change or Add Specifications

 

                    Conveniently Add Text Strings

 

                    Reordering Image Specifications

 

                    Relocating the Entire Image

 

                Duplicating Images

+

        Fast Definition of Conveyor System

 

            Erase System Definition

+

            Enter Run of Conveyors

 

                Enter the Details of Rear Conveyor

 

                Select Forward or Reverse Transfers

 

                Enter Names of Subsequent Conveyors

 

                Ending the Run of Conveyors

 

                Repeat for the Next Run

 

                Must Be Turntable or Elevator

 

                Ending the Last Run of Conveyors

 

                Multi-Load Two-Way Conveyors Notes

 

            Conveyor Lengths and Rise-Falls

 

            Enter Destinations for Decision Points

 

            Enter or Modify the Devices

 

        Enter or Modify the Conveyors

 

        Enter or Modify the Transfers

 

        Enter or Modify the P.E. Placement

 

        Enter or Modify Explicit Device Alarm

+

        Create, Edit, Compile and Execute

+

            Overview of the Steps

 

                Overview of the Generation Step

 

                Overview of the Editing Step

 

                Overview of the Compilation Step

 

                Overview of the Listing Step

 

                Overview of the Loading Step

+

            Syntax of the PLC Source Code

+

                Program Header

 

                    PLC-5 Series

 

                    SLC-500 Series

 

                Program Tail

 

                Setting the Ladder File's Name

 

                Making the Emulator's Task Easier

 

                Specifying Which Data Files to Use

 

                Definition of Program Constants

 

                Declaring Data Elements

 

                Setting Values into Data Elements

 

                Include Source Code from other Files

+

                PLC Rung Statements

 

                    Branches

 

                    Test Instructions

 

                    Output and File Instructions

 

                    Subroutines

 

                    Jumps and Labels

 

                    Instruction Shorthand

 

                    Unsupported or New Instructions

 

                    Arithmetic Expressions

 

                    Boolean Expressions

 

                    Precedence of Instructions

 

                    Examples of Instructions

 

                Breaking Data Elements into Components

 

                Referencing Subroutines Outside of JSR

 

                Remarks - Comments

 

                Conditional Compilation

 

                Repeated Compilation

 

                Macros

 

                Evaluating Constants Earlier

 

                Embedding Macro Calls into Symbols

+

            Create PLC Code and Operator Interface

 

                Single Step

+

            Edit Boolean File

 

                Key Assignments

 

                Basic Editing

 

                Cursor Movement

 

                Screen Movement

 

                Scroll Bars

 

                Find

 

                Find and Replace

 

                Insert or Overtype Mode

 

                Deleting Text

 

                Select, Cut and Paste

 

                Key Sequence Macros - Learning

 

                Repeating Key Strokes and Macros

 

                Edit Other Source Files

 

                Exiting from the Editor

+

            Compile Conveyor Code

 

                List of Errors

 

            List the Compiler Log File

 

            Load PLC Emulator

+

        Define the Crane and Rack Arrangement

 

            Erase Previous Crane and Rack Definition

 

            Set the Number of Cranes

 

            Define the Racking

 

            Define the Conveyor System Infeeds

 

            Define the Conveyor System Outfeeds

+

        Enter or Modify the Carton Conveyors

 

            Push Buttons

 

            Record List

 

            Defining the Conveyor Types

 

            Naming the Zones

+

            Defining the Conveyors

 

                Interactive Conveyor Editing

 

            Placing the Devices

 

            Setting Compartment Sizes

 

            Format of Pick Area Types

 

            Defining the Pick Areas

+

            Addressing the Pick Areas

 

                Harness Wiring

 

                Setting Adjacency

 

                Running the Wires

 

                Patch the Shelves

 

                Setting the Addresses

 

                Allocating Communications Channels

 

                Writing to the Field

+

            Global Editing

 

                Just Do Some

 

            Changing the Appearance

 

        Enter or Modify the Palletisers

+

        Enter or Modify Machine Definition

 

            Navigating the Selection Windows

 

            Modify, Add and Cancel Lines

 

            Defining the Machine

 

            Defining the Window Areas

 

            Select/Organise Inputs for an Area

+

            Defining the Machine Input's Condition

 

                Specifying Machine Condition Matching

+

                Machine Image Editing

 

                    Circles

 

                    Characters

 

                    Lines

 

                    Rectangles

 

                    Semi-Circles

 

                    Numeric Display

 

                    Bargraph

 

                    Change or Add Specifications

 

                    Conveniently Add Text Strings

 

                    Reordering Image Specifications

 

                    Relocating the Entire Image

 

                Duplicating Images

 

            Viewing the Assembled Display

+

    Special Functions

+

        Edit Databases

 

            Screen Attributes

 

            Menu Text and Security

 

            Database Privilege

 

            Crane Commands and Security

 

            Crane Manual Commands

 

            Crane Bit Descriptions

 

            Palletiser Commands

 

            Carton Conveyor Commands

 

            Path Names

 

            Configuration Data

 

            Fault Assistance

 

            Carton Conveyor Alarms

 

            Terminal Configuration

 

            Carton Conveyor PLCs

 

            Conveyor PLC Definition

 

            Zone Channel Definition

 

            Standby Channel Definition

 

            Channel Setup

 

            PLC Setup

 

            Conveyors from which to Zoom

 

            Barcode Scanners

 

            Terminal Locations

+

            General

 

                Small Words

 

        Monitor Communications

 

        Terminal Interface Via Serial Port

+

        Monitor and Adjust the PLC Memory

 

            Ladder Program Display

 

            Emulation Break-Points

 

        Monitor Securing to Standby

 

        Monitor Threads of Execution

+

        Restore Factory Default Settings

 

            Restore text for this list

 

            Erase data restrictions & function keys

 

            Erase record of PLC data et cetera

 

            Set time standards and current standard

 

            Set database prompts and privileges

 

            Set user database

 

            Set names for the lists of loads

 

            Initialise log files: events, comms etc.

 

            Initialise communications log files

 

            Set prompts for the configuration data

 

            Set the configuration data itself

 

            Set text and character graphics colours

 

            Set graphic shape names and colours

 

            Set menu text and associated privilege

 

            Set menu structure

 

            Set small words for non-capitalisation

 

            Set default keys for the editor

 

            Set terminal locations

 

            Set types of PLCs

 

            Set PLC communications hardware options

 

            Set heavy-unit-load device pause scenarios

 

            Set Heavy-Unit-Load Conveyor names

 

            Set Heavy-Unit-Load Conveyor alarm names

 

            Erase crane retrievals

 

            Set crane command, status and alarm text

 

            Set crane manual commands

 

            Set crane bit descriptions

 

            Set shelf digit and special request data

 

            Set PTL RAM memory location descriptions

 

            Set carton conveyor device types

 

            Set carton conveyor alarms

 

            Set carton command names & security

 

            Set barcode scanner fixed data

 

            Set palletiser alarm text

 

            Set palletiser command names & security

 

            Set channel names

 

            Set baud rate definitions

 

            Set Allen-Bradley file definitions

 

            Set customisation option text

 

        Import to and Export from the Database

 

        Save and Restore Crane PLC Configuration

 

    Exit

Prologue

This document is the "Operator's Manual" for the "Movement Controller". Also associated with this system are the "Technical Manual" and the "Software Manual".

This section includes the two introductory sections: "Using this Document", and "Introduction".

The "Using this Document" section gives an overview of each section of the document.

The "Introduction" gives a brief overview of the plant, its function, and an overview of this software.

Using this Document

This section gives an overview of each section of the document.

This document is divided into three major sections.  These are:

  • Prologue
  • General Instructions
  • Specific Instructions

The "Prologue" includes the two introductory sections: "Using this Document", and "Introduction".  The "Using this Document" section (this section) gives an overview of each section of the document, while the "Introduction" section gives a brief overview of the system's function.

The "General Instructions" describe the features of the Movement Controller software common to all or several windows.  Much of the information in this section may be second nature to persons with personal computer experience, whereas the more unique sections are best referred to when referenced from the "Specific Instructions".

The "Specific Instructions" describe the operation of individual windows.  This section is arranged in the same way as the windows are presented in the Movement Controller software.  This section should be read in conjunction with operating the windows to which they relate.  References are made throughout this section to the various subsections of the "General Instructions".  It should be sufficient to refer to these references the first time they are encountered.

Note: The term, "windows" is used to refer to the Microsoft Windows "windows" as well as occasional selection windows within "drawing areas".

In the printed document, cross-section references are made using the section and subsection numbers, separated by dots, followed by the final subsection name, and the entire string enclosed in double quotation marks.  When presented via the Movement Controller's help system, cross-section references are made using the final subsection name, enclosed in double quotation marks and highlighted as a hyper-text link.  When presented via an HTML rendering program, cross-section references are made using the final subsection name rendered as a hyper-text link.  For example, this section would be referred to as the section titled: "Using this Document".

Introduction

This manual describes the operation of Woodgrove Digital Engineering's "Movement Controller" software.

The software is designed to control: Heavy-Unit-Load Conveyors, carton conveyors, palletisers and other machines, load storage and retrieval cranes (herein referred to as just "cranes"), and pick-to-light systems.

The major functions of the software are:

  • communications to the various sub-systems,
  • issuing instructions to and monitoring status from these sub-systems,
  • coordination of the interaction between these sub-systems,
  • interfacing to the operator,
  • logging of alarms, operator actions, and load movements,
  • definition of the sub-systems and the operator interface,
  • provision of diagnostic windows.

The major function of the system definition is to configure:

  • the Heavy-Unit-Load Conveyors PLC code and operator interface,
  • the carton conveyors and pick-to-light control algorithms and operator interface,
  • the palletiser patterns,
  • the cranes and load storage racking configuration,
  • the definition of graphics, alarms and status for other types of machines.

Please note that there is also available an HTTP interface to the Movement Controller. This interface is available to any HTTP client (that is an Internet browser such as Internet Explorer, Firefox, Google Chrome, Opera, Safari, ...) by entering the URL: "http://###.###.###.###/8080", where "###.###.###.###" is the IP address of the main computer.  This manual does not describe the use of this interface, but, once you are familiar with the standard operator interface described here, you should not need further help to navigate and use the HTTP interface.

Although there is no operator instructions available for the HTTP interface, considerable technical information is available in the section of the SOFTWARE MANUAL titled: "HTTP (Web or Internet) Interface".

General Instructions

This section describes the features of the Movement Controller software common to all or several windows.

Much of the information in this section may be second nature to persons with personal computer experience, whereas the more unique sections are best referred to when referenced from the "Specific Instructions" section.

Entering Information

This section describes, firstly, the way the rest of the document will refer to the keys, then goes on to describe the general methods of entering data via the Movement Controller software.

Typing Instructions

Throughout this manual, instructions to type a sequence of keys will be followed by a string of characters contained within a pair of double quotation marks or a pair of square brackets.  If the quotation marks are used the enclosed characters are to be typed in as presented.

Certain keys (or modified keys) do not correspond to characters, so the keys are instead described within the square brackets.  Examples are: [RETURN], [ENTER], [BACKSPACE], [INSERT], [DELETE], [UP], [DOWN], [LEFT], [RIGHT], [PAGE UP], [PAGE DOWN], [HOME], [END], [F1] to [F10], [GREY PLUS], and [GREY MINUS].

[UP], [DOWN], [LEFT], and [RIGHT] are collectively referred to as the cursor control keys, and are grouped together and labelled with arrows pointing in the appropriate direction.

[HOME], [END], [PAGE UP], [PAGE DOWN], [INSERT], and [DELETE] are labelled as described or abbreviated.

[HOME], [END], [PAGE UP], [PAGE DOWN], [INSERT], [DELETE] and the cursor control keys are provided on the numeric key-pad, sharing real estate with the numbers "0" to "4", "6" to "9" and the dot.  The function performed by these keys is governed by the "Num Lock" key and the "Shift" key.  If the keyboard also provides these control keys on separate keypads, it is better to leave the "Num Lock" engaged and use the numeric key-pad to enter numbers.  In cases where you are not expected to enter numbers or text, the keys on the numeric key-pad will be treated as though the "Num Lock" had not been engaged.

In some instances the Movement Controller will treat the use of the cursor keys provided with the numeric key-pad differently to those with the separate key-pad.  Where a distinction is to be made, the key name will be preceded by the word NUMERIC or SEPARATE to refer to the key with the numeric key-pad or separate key-pad respectively.  For example, the [RIGHT] key will be referred to as [NUMERIC RIGHT] or [SEPARATE RIGHT].

[GREY PLUS] and [GREY MINUS] are those associated with the numeric key-pad and marked "+" and "-" respectively, and are not equivalent with similarly marked keys on the main key-pad.

[ESCAPE] is usually marked "Esc", while [RETURN] may be labelled with the word "Enter" or with a left arrow with a bent shaft.

[BACKSPACE] is usually marked with a left arrow and sometimes with the word "Backspace", and is positioned at the top right hand corner of the main key-pad, directly above the [RETURN] key.

[ENTER] is associated with the numeric key-pad and usually labelled with the word "Enter"

[F1] to [F10] are always marked thus and are either to the left of the main key-pad or above it.  Some keyboards also offer [F11] and [F12].

[CAPS LOCK] and [NUM LOCK] are always marked thus and are toggle keys, whose current state is shown using appropriately labelled lamps on the keyboard, generally towards the top right.

The modifier keys are referred to herein as SHIFT, CONTROL and ALTERNATE.  To type a modified key, first press the appropriate modifier key, keeping it down while the key to be modified is typed in the usual manner.  The SHIFT key(s) are usually labelled with an up arrow or the word "Shift".  The CONTROL and ALTERNATE keys are usually labelled with the letters "Ctrl" and "Alt" respectively.  On some keyboards with two keys marked "Alt" the left-hand key might be the only suitable key.

Where alphabetic characters are to be entered, they should be entered from the correct case.

Microsoft Windows Operation

If you have opted for the more DOS-like interface, much of this section will be irrelevant.  For information on configuring a user for the more DOS-like interface and its impact, please refer to the section titled: "Modify List of Users".

The windows concept is intended to provide a more instinctive operator interface.  The result is that there are many ways to do most things, making the descriptions of these much more complex.  If you find this aspect of the manual baffling, you are probably best to ignore it and follow your instincts.

Another aspect of the windows concept is that the operator is much more in the driver's seat, telling the system what to do rather than being led by the system.  This provides added flexibility at the cost of simplicity.

Starting the Operator Interface

Before starting the operator interface, the "main" program must be running on the main computer and, unless you are wanting to run the operator interface on the main computer, the "connect" program must be running on the computer from which you wish to run the operator interface.

The "main" program is generally opened by double-clicking on the icon corresponding to this, and sporting the title: "Woodgrove MAIN".  This icon would simply run the "main" program without any command line arguments, from the directory (folder/library) containing the database.  There are command line arguments that can be used, and these are described in the section of the TECHNICAL MANUAL titled: "Command Line Parameters".

Similarly, the "connect" program is generally opened by double-clicking on the icon corresponding to this, and sporting the title: "Woodgrove CONNECT".  This icon would simply run the "connect" program with two command line arguments, the IP address of the main computer and the port number to be used (usually 129).

Once the "main" and "connect" programs are running, you may start the operator interface.  You would, generally, do this by double-clicking on the icon corresponding to it, and sporting the title: "Woodgrove OPERATOR".  This icon would simply run the "winmain" program without any command line arguments, from the directory (folder/library) from which "main" or "connect" had been run.  There are command line arguments that can be used, and these are described in the section of the TECHNICAL MANUAL titled: "Operator Interface in Single Display Function Mode" and the section of the TECHNICAL MANUAL titled: "Automatic Logging On".

When the operator interface is run, it will be presented as a bar across the top of the screen, sporting a title and, below that, a minimal meny bar containing the single item "File" and, below that, three status panes.  The first of these will be used to present any messages that may need to be given the operator.  The next two indicate who is logged in (initially no one, so it is left blank) and the privilege level associated with that operator (0 to 3).

Switching Windows

Once this application has been started, you can switch between this application and others that you might have open by a number of means including:

  • Moving the mouse pointer to window title bar of another application (you may need to first minimise this application to view other windows), then clicking on it (or anywhere within the window),
  • Moving the mouse pointer to the task-bar then clicking on the button describing the application you wish to switch to, and
  • Holding down the [ALTERNATE] key as you type [TAB] a number of times until the icon, of the application to which you wish to switch, is highlighted.

As well as there being windows for alternate applications, the Movement Controller's application window may have a number of windows open within it.  You will need to switch between these windows as well, which you can do a number of ways, including:

  • Moving the mouse pointer to window title bar of another window within the application, then clicking on it (or anywhere within the window - though this could cause an unintended action).
  • Typing the function key corresponding to the window you wish to switch to.
  • Holding down the [CONTROL] key as you type [TAB] a number of times until the window, to which you wish to switch, is presented in the foreground.
  • Holding down both the [CONTROL] and [SHIFT] keys as you type [TAB] to take you back to the previous window.
  • Typing the "`" (the back apostrohe, backtick, grave, back quote key) will switch focus to the main window, that which includes the "File" and "View" menu items, which can not be called up when cycling through the windows using the [CONTROL TAB] and [CONTROL SHIFT TAB] keys, but those keys can be used, subsequently,to return focus to one of the other windows.

Window Repositioning

This is generally achieved by moving the mouse to the window title, holding down the left mouse button and dragging the window to a new location.  The location of any main window - not dialogue windows and the like - will be remembered for the logged in user and used next time the window is created.

Window Resizing

This is generally achieved by moving the mouse to an edge or corner of the window, where the mouse pointer image is changed to a both ways arrow.  You are to then hold down the left mouse button and drag the edge or corner so as to set the size you desire.  The size of any main window - not dialogue windows and the like - will be remembered for the logged in user and used next time the window is created.

Raising, Lowering and Minimising Windows

The presentation of windows generally allows windows to overlap one another, with the result that one will be obscured by the other.  The obscured window is the "lower" window, while the other is the "upper".

It is, generally, sufficient to click any visible part of a window to raise it to the top.

Widgets and Drawing Areas

Items, such as windows, buttons, scroll bars, et cetera, are collectively known as "widgets".  Also numbered among the widgets is what is known as a "drawing area".  Most main windows include this widget, and present within it a mixture of text and drawings.

Drawings and fields of text behave similarly to widgets, in that they to can receive "focus" (indicated by a change of background colour or the presence of a cursor), however this focus is independent of the widget focusing, as only one widget is focused at any one time, whereas within a single drawing area there may be a focused drawing, and associated with that focused drawing may be several lines of text, with one of the lines also focused.

Button Operation

There are two types of button presented by the Movement Controller.  The operating-system-painted buttons, which are rectangular (of varying sizes), very light grey, and inscribed, and the buttons depicted using uniform rectangular drawings on a drawing area, providing two lines of text, with the first character enlarged.

Both sets of buttons indicate how they can be pressed using the keyboard.  In the case of the operating-system-painted buttons this is usually explicit, whereas in the case of the button drawings, this is indicated by the first, enlarged, character presented in the button.

Both button types can also be clicked.  The operating-system-painted buttons will depress, and will indicate that it is in operation by remaining depressed, while the button drawings will change colour to indicate that they are in operation.

Certain buttons (of either type) perform opposite operations depending upon whether the [SHIFT] key is used or not.  The corresponding mouse behaviour to using the [SHIFT] key with typing, is to click the righthand button, rather than the left, though you can also hold down the [SHIFT] key while left-clicking the mouse to achieve the same thing.  Note, though, that you can not use right-clicking to emulate the [SHIFT] key modification of a typed key when that key is activating a menu item rather than a button; to emulate the [SHIFT] key modification, when clicking on a menu item, you must to hold the [SHIFT] key while left-clicking; right-clicking does nothing.

Throughout this manual the key strokes needed to perform certain operations are described.  There will typically be a operating-system-painted button, inscribed with the key-stroke (and further text if required) to perform the same function.

Scroll Bar Operation

Most main windows are capable of providing a scroll bar if sized too small to present all the information.  These scroll bars are operated by a number of means, including:

  • moving the mouse to the slider in the middle of the scroll bar and holding down the left mouse button, and dragging it either up and down or left and right depending on whether it is a horizontal or vertical scroll bar.
  • moving the mouse to the area before or after the slider and clicking with the left mouse button, to advance the slider by a window width or height as the case may be.
  • moving the mouse to the arrows at either end of the scroll bar and either clicking or holding down the left mouse button to advance the slider towards the arrow in finer increments (usually corresponding to a line or column).
  • often the vertical scroll bars may be operated using the [PAGE UP], [PAGE DOWN], [CONTROL HOME], and [CONTROL END] keys to advance the slider up or down a page, or to the top or bottom of the file.  Often the horizontal scroll bars may be operated using the [CONTROL PAGE UP], [CONTROL PAGE DOWN], [HOME], and [END] keys, to advance the slider by a window width left or right, or to the extreme left or right.  However sometimes these keys serve other purposes for the windows and so are not available for this.  Other times there may be three or more scroll bars associated with a window, in many of these cases, there will be a horizontal and vertical scroll bar associated with one drawing area, and another pair associated with the second; in these cases the separate cursor and [HOME], [END], ...  keys can be used to control the scrollbars for the upper drawing area, and those on the numeric keypad can be used to control the other scrollbars.
  • often the scroll bars may be operated directly or indirectly with the cursor control keys.  These keys may manipulate the position of a cursor (or reverse video field in many cases, or a drawing background colour in some other cases), however as the cursor is, typically, moved past the edge of the window, the slider may be advanced by a row or column as the case may be.  If the scroll bars can not be operated by the cursor keys, due to their use for other purposes, try holding the CONTROL key down whilst operating the cursor keys.
  • if the mouse has a wheel, this can be used to operate the vertical scrollbar for the drawing area over which the mouse is positioned.  It is not necessary to click into the drawing area.  If it does not seem to operate, check where you have the mouse positioned.
  • if the mouse has a wheel, this can be used to operate the horizontal scrollbar for the drawing area over which the mouse is positioned, by holding the [SHIFT] key down while working the wheel.  It is not necessary to click into the drawing area.  If it does not seem to operate, check where you have the mouse positioned.

Data

All information is entered into the Movement Controller by typing characters into entry areas in dialogue windows, referred to herein as "fields".

When the focus falls upon a field, the current value is presented in the field shaded, indicating that the entire field's contents are "selected" and hence any character key you type is likely to replace this existing data.

If the field contents are not to be modified, the entry should be terminated appropriately, without typing any characters into the field.  [TAB] may always be used to terminate the entry, however other keys may also be used to terminate the entry, close the dialogue window, then direct subsequent actions. Refer to the section titled: "Set of Fields".

There is a "cursor" provided within the field with focus.  This is generally presented as a blinking vertical line between to characters within the field. When you type characters into a field, they will generally be entered at the cursor, moving the cursor one place to the right.  Had there been characters "selected" at the time you typed your character, those characters would have been deleted.

If the field contents are not to be modified, the entry should be terminated appropriately, without typing any characters into the field.  [RETURN] or [ENTER] may always be used to terminate the entry, however other keys may also be used to direct subsequent actions.  Refer to the section titled: "Set of Fields".

If a new entry is to be made, simply type the new entry, then terminate the entry appropriately.  Refer to the section titled: "Set of Fields".

The term "enter" is used throughout this document to imply typing in data then terminating the entry, usually with [RETURN] or [ENTER].

If the field contents are to be erased, type [GREY MINUS].

If the old entry is to be modified, type the [GREY PLUS] or [CONTROL Z], which moves the cursor to the end of the old entry, so that it may be altered.  Had you been editing this, the original field contents (those at the time the field received focus) will be restored.

The interpretation of the characters typed into these fields depends on the type of field.  Subsequent sections describe this interpretation for each of the field types.  These sections are intended as references for the subsequent sections.

Note: The window title is provided at the top of each window, and there is a single error line provided just below the main menu bar, usually located at the top left of the screen.

Moving the Cursor Through the Field

The [LEFT] and [RIGHT] keys may be used to move the cursor, backwards or forwards respectively, through the field to a position where you may wish to insert characters.

The [CONTROL LEFT] and [CONTROL RIGHT] keys may be used to move the cursor, backwards or forwards respectively, through the field, a word at a time, to a position where you may wish to insert characters.  In this context, a word is a contiguous sequence of alphabetic or numeric characters, all other characters are deemed space.

The [HOME] key can be used to move to the beginning of a field, while the [END] key can be used to move to the end of the field.

The cursor can also be placed at an artitary position in the field, by clicking there with the mouse.

Deleting Characters from the Field

Entries can then be edited by typing [BACKSPACE], to remove the portion to be reentered, then typing in the desired value.  Each time [BACKSPACE] is typed, it removes the character to the left of the cursor, moving the cursor one place left unless the cursor is at the beginning of the field, in which case, [BACKSPACE] has no effect.

After deleting the required characters, the replacement characters may be typed in, moving the cursor one place right, unless the cursor is at the end of the field, in which case the characters typed in have no effect.

The [CONTROL BACKSPACE] and [CONTROL DELETE] keys may be used to delete entire words from the cursor position, backwards or forwards respectively.  Again, in this context, a word is a contiguous sequence of alphabetic or numeric characters, all other characters are deemed space.

Select, Cut, and Paste

In modifying the field contents, you can make use of the "select, cut, and paste" function by first selecting a portion (or all) of the contents, then type a control character combination to either copy or cut it to the "clipboard".  The text copied to the clipboard can subsequently be pasted into another field, or, if you so desire, another application altogether such as an editor or word processor.

To do this, you need to, first, create a "selection".  A "selection" is a contiguous set of characters within the field, which you highlight to copy, delete or replace.

You can create a selection area within a field in a number of ways:

  • position the cursor at the start of the area, and hold down the [SHIFT] key while using any of a number of keys, to move the cursor to the end of the area,
  • double clicking with the mouse on a word to create a selection field about that word, or
  • position the mouse at the start of the area, and hold down the left mouse button as you move the mouse to the end of the area,

A selection area is shown using a blue rather than a white background.

Once the "selection" has been defined (i.e. a shaded area in the entry field exists with some or all of the field contents included), these characters can be "copied" or "cut" to the "clipboard", or deleted.  "Copying" leaves the exisiting field contents in tact, whilst "cutting" removes the selection from the field.  In both these cases, the characters in the selection are written to the "clipboard".  The clipboard is a system-wide location from where these characters can be later retrieved by this or any other application.  If, instead of copying or cutting the characters, you decide to delete the characters, the characters will be removed from the field, just as they are when cut, but they are not copied to the clipboard, and so can not be redeemed.  If you type any regular character key while a selection is in effect, the characters within the selection are replaced by the character typed.

To do any of these actions:

  • type [CONTROL C] to copy the contents of the selection area to a clipboard, for subseqent pasting elsewhere,
  • type [BACKSPACE] or [DELETE] to delete the contents of the selection area,
  • type any regular character key to delete the contents of the selection area and replace it with that character,
  • type [CONTROL X] to copy the contents of the selection area to a clipboard, and to delete its contents from the field being edited.

To use the characters you have copied to the clipboard, position the cursor within this field, or some other field (generally the corresponding field for another record within the same database), at the point at which you require the characters to be inserted.  You can then type [CONTROL V] to redeem these characters.

Name

A name field is one in which any string of characters, referred to herein as a "name", may be entered.

If the final character of the prompt is "a", "s" or "t" then the alphabetic characters entered will be conditionally capitalised.

If the final character is an "a" (for "all"), all alphabetic characters will be capitalised.

If the final character is an "s" (for "sentence"), only the first character, if alphabetic, will be capitalised.

If the final character is a "t" (for "title"), only the first character of each word, if alphabetic, is capitalised, unless the word is a "small word".  The "small words" are defined in a database.  Refer to the section titled: "Edit Databases", and its sub-section, "General" and its sub-section, "Small Words".

To defeat the capitalisation of the character you are about to type, precede the typing of the character with the typing of a "`", (the open single-quote, or acute symbol - just above the [TAB] on most keyboards).  To defeat the de-capitalisation of the first character of a "small word", after typing the word and before typing the subsequent [SPACE], type "`".

In some contexts the name is required to be unique.  In these cases, if the name typed in includes non-blank characters and has been used already then the message "Name already exists" will be displayed in the error line.

Character

Character fields contain a single character, being one of those presented in the list of the prompt for the field.  No other character can be entered into these fields.

Numeric

A numeric field is one in which a value is to be entered.

Once the value has been entered, it is interpreted as a value, so the entry is assumed to end on the first occurrence of a character that is neither a digit nor a decimal-point.

If the value entered is not in the inclusive range indicated in the prompt, the entry is not accepted.  The expression of the lower limit indicates the number of significant digits following the decimal-point, so any digits entered after these will be ignored.

If there is no range specified in the prompt, the value may range from 0 and should include no decimal places.

If the final character of the prompt is "x", "o" or "b" then the entry is to be made in hexadecimal, octal or binary notation, respectively.

If your entry begins with a "0", you will override the selection of the base. Instead the base will be hexidecimal if the character following the "0" is an "x", decimal if a "d", binary if a "b", or else octal.  There is just enough room in the field to type the value in the form expected, so if you use one of these base specifiers, the field may need to horizontally scroll as you type in extra characters.

You may also enter an arithmetic expression, using Allen-Bradley PLC ladder opcodes.  Among these are included addition, subtraction, multiplication, division, and parentheses, "(" and ")".  The usual symbols are associated with these operations except that Allen-Bradley use "|" in place of the more usual "/" for division, however, "/" will also be recognised in this context as division.

Once an expression is detected, the base, as designated by the final character of the prompt, is disregarded and all values are interpreted as decimal, unless they have a leading zero.  You may no longer use "0d" to specify decimal, and anyway it is now redundant.

Although the only operators you are likely to use are "+", "-", "*", "/", "(", and ")", for the record, the full list of operations, in order of precedence are:

  • Negate
    Symbols: ".NEG.".  Result: multiplies the left hand operand (or 1 if no such operand) by the negated value of the right hand operand. Example: ".NEG.25" returns -25.
  • Integer
    Symbols: ".INT.".  Result: multiplies the left hand operand (or 1 if no such operand) by the truncated integer part of the right hand operand. Example: ".INT.25.7" returns 25.
  • Sine
    Symbols: ".SIN.".  Result: multiplies the left hand operand (or 1 if no such operand) by the trigonometric sine of the right hand operand interpreted as a number of radians. Example: ".SIN.0.524" returns 0.5.
  • Cosine
    Symbols: ".COS.".  Result: multiplies the left hand operand (or 1 if no such operand) by the trigonometric cosine of the right hand operand interpreted as a number of radians. Example: ".COS.0.524" returns 0.866.
  • Tangent
    Symbols: ".TAN.".  Result: multiplies the left hand operand (or 1 if no such operand) by the trigonometric tangent of the right hand operand interpreted as a number of radians. Example: ".TAN.0.524" returns 0.578.
  • ArcSine
    Symbols: ".ASN.".  Result: multiplies the left hand operand (or 1 if no such operand) by the angle, in radians, whose trigonometric sine is the right hand operand. Example: ".ASN.0.500" returns 0.524.
  • ArcCosine
    Symbols: ".ACS.".  Result: multiplies the left hand operand (or 1 if no such operand) by the angle, in radians, whose trigonometric cosine is the right hand operand. Example: ".ACS.0.866" returns 0.524.
  • ArcTangent
    Symbols: ".ATN.".  Result: multiplies the left hand operand (or 1 if no such operand) by the angle, in radians, whose trigonometric tangent is the right hand operand. Example: ".ATN.0.578" returns 0.524.
  • ToDegrees
    Symbols: ".DEG.".  Result: multiplies the left hand operand (or 1 if no such operand) by the angle, in radians, represented by the right hand operand interpreted as a number of degrees. Example: ".DEG.0.524" returns 30.
  • ToRadians
    Symbols: ".RAD.".  Result: multiplies the left hand operand (or 1 if no such operand) by the angle, in degrees, represented by the right hand operand interpreted as a number of radians. Example: ".DEG.30" returns 0.524.
  • NaturalLog
    Symbols: ".LN.".  Result: multiplies the left hand operand (or 1 if no such operand) by the natural logarithm (base e) of the right hand operand. Example: ".LN.2.72" returns 1.
  • LogBase10
    Symbols: ".LOG.".  Result: multiplies the left hand operand (or 1 if no such operand) by the base 10 logarithm of the right hand operand. Example: ".LOG.10" returns 1.
  • SquareRoot
    Symbols: ".SQR.".  Result: multiplies the left hand operand (or 1 if no such operand) by the square root of the right hand operand. Example: "0.5.SQR.3" returns 0.866.
  • RaiseToPower
    Symbols: ".XPY." or "**".  Result: finds the value of the left hand operand raise to the power of the right hand operand.  Example: "2**3" returns 8.
  • Scale
    Symbols: ".SCL.".  Result: multiplies the left hand operand (or 1 if no such operand) by the first right hand operand, then divides the result by ten thousand then subtracts the second right hand operator. Example: "1270.SCL.500,20" returns (1270*500)/10000-20=43.5.
  • Multiply
    Symbols: ".MUL." or "*".  Result: multiplies the left hand operand (or 1 if no such operand) by the right hand operand. Example: "1270*500" returns 635000.
  • Divide
    Symbols: ".DIV." or "|" or "/".  Result: divides the left hand operand by the right hand operand (or by "1" if the right hand operand is "0"). Example: "635000/10000" returns 63.5.
  • Add
    Symbols: ".ADD." or "+".  Result: adds the left hand operand (or 0 if no such operand) by the right hand operand. Example: "43.5+20" returns 63.5.
  • Subtract
    Symbols: ".SUB." or "-".  Result: subtracts the right hand operand from the left hand operand (or 0 if no such operand). Example: "63.5-20" returns 43.5.
  • Complement
    Symbols: ".NOT." or "~".  Result: multiplies the left hand operand (or 1 if no such operand) by the one's (bit-wise) complement of the thirty-two bit value represented by the right hand operand. Example: "~0x55" returns 0xFFFFFFAA=a large number.
  • Mask
    Symbol: ".AND.".  Result: performs the bit-wise "and"ing if the left hand operand with the right hand operand. Example: "0xFF.AND.0xFFFFFF55" returns 0x55=85.
  • ExclusiveOr
    Symbol: ".XOR.".  Result: performs the bit-wise exclusive "or"ing if the left hand operand with the right hand operand. Example: "0xFFFFFF0B.AND.0xFFFFFF55" returns 0x5E=94.
  • Set
    Symbol: ".OR.".  Result: performs the bit-wise "or"ing if the left hand operand with the right hand operand. Example: "0xFFFFFF0B.AND.0xFFFFFF55" returns 0xFFFFFF5F=a large number.
  • LessThan
    Symbols: ".LES." or "<".  Result: rounds both the left and right operands to the nearest integer, then returns "1" if the left hand operand is less than the right or "0" otherwise. Example: "5.4<5.45" returns 0 as both round to "5" and are therefore equal.
  • GreaterThan
    Symbols: ".GRT." or ">".  Result: rounds both the left and right operands to the nearest integer, then returns "1" if the left hand operand is greater than the right or "0" otherwise. Example: "6>5" returns 1.
  • Limit
    Symbol: ".LIM.".  Result: rounds the left hand operand and both right hand operands to the nearest integer, then returns "1" if the first right hand operand is in the inclusive range of the other operands, or if the second right hand operand is less than the left hand operand, returns "1" if the first right hand operand is not in the exclusive range of the other operands.  Returns "0" otherwise. Examples: "4.LIM.5,6", "4.LIM.4,6", and "4.LIM.6,6" all return 1; "4.LIM.3,6", "4.LIM.7,6" both return 0; "6.LIM.3,4", "6.LIM.4,4", "6.LIM.6,4", and "6.LIM.7,4" all return 1; "6.LIM.5,4" returns 0.
  • MaskEqualTo
    Symbol: ".MEQ.".  Result: rounds the left hand operand and both right hand operands to the nearest integer, then exclusive "or"s the left hand operand with the second right hand operand, and "and"s this result with the first right hand operand, then returns "1" if this result is "0" and "0" otherwise. Example: "0x1234.MEQ.0x00F0,0x2131" returns 1;
  • EqualTo
    Symbols: ".EQU.", "=", or "==".  Result: rounds both the left and right operands to the nearest integer, then returns "1" if the left hand operand is equal to the right or "0" otherwise.  Example: "6.3=6.2" returns 1 as both are rounded to "6".
  • NotEqualTo
    Symbols: ".NEQ.", "<>", or "!=".  Result: rounds both the left and right operands to the nearest integer, then returns "1" if the left hand operand is not equal to the right or "0" otherwise.  Example: "6!=7" returns 1.
  • GreaterThanOrEqualTo
    Symbols: ".GEQ." or ">=".  Result: rounds both the left and right operands to the nearest integer, then returns "1" if the left hand operand is greater than or equal to the right or "0" otherwise. Example: "6>=5" returns 1.
  • LessThanOrEqualTo
    Symbols: ".LEQ." or "<=".  Result: rounds both the left and right operands to the nearest integer, then returns "1" if the left hand operand is less than or equal to the right or "0" otherwise. Example: "5<=6" returns 1.
  • Not
    Symbol: "!".  Result: returns "1" if the value is less than "0.5", or "0" otherwise, so the values returned by the above boolean expressions, "1" and "0" would be reversed. Example: "!5<=6" returns 0.
  • And
    Symbol: "&&".  Result: compares the left and right hand operands to "0.5", and returns "1" if both are greater than or equal to this value, or "0" otherwise. Example: "4<5&&5<=6" returns 1.
  • Or
    Symbol: "||".  Result: compares the left and right hand operands to "0.5", and returns "1" if either is greater than or equal to this value, or "0" otherwise. Example: "5<4&&5<=6" returns 1.

Also note that a value appearing before a left hand parenthesis, "(", will be multiplied by the result of the parenthesised expression.  For example: 25(2+3) returns 125.

When the value is entered, it is interpreted then rewritten into the field, right-justified.  The value "0" will be displayed as blank, however, to enter this value, type "0" so as to instruct the Movement Controller not to retain the old value.

In some contexts the value is required to be unique.  In these cases, if the value typed in is other than the lower limit and has been used already then the message "Value already exists" will be displayed in the error line.

Date

Date fields contain a date, expressed in the form "24-OCT-53". They may be altered as described in the section titled: "Data", with some differences.

[BACKSPACE] does not remove characters, it only moves the cursor.  If, by typing [BACKSPACE], the cursor would be left adjacent to a hyphen, then the cursor is moved an additional place left.

If, as characters are being typed, the cursor would be in the position of a hyphen, then the cursor is moved an additional place right.  When typing the replacement characters, colons, spaces and hyphens may be used to delimit sub-fields prior to typing the full sub-field, and all other characters are converted to either digits or upper case letters as appropriate.

The entry may be terminated while the cursor is in any position in the field.

Time

Time fields contain the time and date, expressed in the form "06:30:26 24-OCT-53".  They may be altered as described in the section titled: "Data", with some differences.

[BACKSPACE] does not remove characters, it only moves the cursor.  If, by typing [BACKSPACE], the cursor would be left adjacent to a colon, space or hyphen, then the cursor is moved an additional place left.

If, as characters are being typed, the cursor would be in the position of a colon, space or hyphen then the cursor is moved an additional place right.  When typing in the replacement characters, the colons, spaces, and hyphens may be used to delimit sub-fields prior to typing the full sub-field, and all other characters are converted to either digits or upper case letters as appropriate.

The entry may be terminated while the cursor is in any position in the field.

The number of seconds must be even or will be made so.

Symbolic Numeric

Symbolic numeric fields may contain only values from a previously defined set, or else must be blank. Presentation and editing is as described for "Numeric" fields. Refer to the section titled: "Numeric".

An alternative method of making this entry is to select the name from the previously defined set.  To do this click the arrow at the extreme right of the field and a drop-down (or up) menu is provided from which the desired number may be selected.  There may be a scroll bar associated with this menu, should the database be a large one.  To select a number, use the cursor keys to highlight, or click on it with the mouse, then press [ENTER] or double click on it with the mouse.

If an attempt is made to enter a non-existent value (no match can be found) then either the message, "No match found for this entry", or the message, "Unknown: If correct, confirm by pressing [SHIFT F11], - depending upon your privilege - will be displayed in the error line.

It is expected that the values to be entered into these fields be previously defined, however the provision to define these values at this point is provided if you have sufficient privilege.

For information on setting the privilege levels of users and the objects they are to use, please refer to the sections titled: "Modify List of Users", "Edit Databases", and its sub-sections "Menu Text and Security", "Database Privilege", and "Configuration Data".

To do this, after typing the value and encountering the message, "Unknown: If correct, confirm by pressing [SHIFT F11], press [SHIFT F11] This will open a window, through which the referenced database entity will be presented for editing.  It may also be accompanied by other fields had you been editing a "Key" field.  Refer also to the section titled: "Key".

Symbolic Name

Symbolic name fields may contain only names from a previously defined set, or else must be blank.

As characters are removed or typed in, the set of names is scanned for a match.  The remaining characters from the first match found are displayed from the cursor to the end of the field.  Typing [DOWN] will present the remaining characters of the next match, while typing [UP] will present the remaining characters of the previous match.

If the name presented is the desired name, typing [RIGHT] will save typing in the remaining characters, placing the cursor after the last character.  Alternatively, typing the [CONTROL RIGHT] will accept the remaining characters individually, moving the cursor one place right each time.

The [UP], [DOWN], and [RIGHT] keys only serve the above functions when the cursor is not in the left-most position. [CONTROL UP] and [CONTROL DOWN] can be used in place of [UP] and [DOWN] when the cursor is at the left-most position.

An alternative method of making this entry is to select the name from the previously defined set.  To do this click the arrow at the extreme right of the field and a drop-down (or up) menu is provided from which the desired name may be selected.  There may be a scroll bar associated with this menu, should the database be a large one.  To select a name, use the cursor keys to highlight, or click on it with the mouse, then press [ENTER] or double click on it with the mouse.

If a non-existent name is typed in (no match can be found) then either the message, "No match found for this entry", or the message, "Unknown: If correct, confirm by pressing [SHIFT F11], - depending upon your privilege - will be displayed in the error line.

It is expected that the names to be entered into these fields be previously defined, however the provision to define these names at this point is provided if you have sufficient privilege.

To do this, after typing the name and encountering the message, "Unknown: If correct, confirm by pressing [SHIFT F11], press [SHIFT F11] This will open a window, through which the referenced database entity will be presented for editing.  It may also be accompanied by other fields if you had been editing a "Key" field. Refer to the section titled: "Key".

Where

This presentation is used when entering an expression to restrict the presentation of database records.  For more details on viewing database records and restricting this view with an expression, please refer to the section titled: "Viewing Data" and its subsection "Records Satisfying an Expression".

Generally, the editing of these fields is as described earlier in the section titled: "Data", with some differences.

Note that, generally, any spaces entered will be ignored.

Some characters entered into this field have special significance as regards the editing.

The "[" and "]" delimit the database names.  The database names are listed as "Database name for "Where"" in the "Database Privilege" database.  This field is described in the section titled "Database Privilege".  Within the "[" and "]" characters the characters typed are treated as a symbolic reference to this field, and so the editing is as described in the previous section, "Symbolic Name".  Also, when you type "[", the "]" will also be entered ahead of the cursor, and when you type "]", instead of entering another "]", the cursor will be moved ahead of the next "]".  If you use [BACKSPACE] to delete the final "]", all text from the preceeding "[" up to and including the "]" will be removed, while using [DELETE] to remove the "[", will also remove all text from the "[" up to and including the following "]".  As text is typed between the brackets, the case will be adjusted to match a database name.

The double quotation marks (") delimit the text strings.  Normally, any spaces entered into this field will be ignored, except when between a pair of double quotation marks.  Also, when you type a double quotation mark, a second will also be entered ahead of the cursor, and when you type a double quotation mark from within a pair, instead of entering another double quotation mark, the cursor will be moved ahead of the next double quotation mark.  If you use [BACKSPACE] to delete the final double quotation mark, all text from the preceeding double quotation mark up to and including that double quotation mark will be removed, while using [DELETE] to remove the first double quotation mark, will also remove all text between and including the double quotation mark.

The dots ("."), when not within the specification of a number, can delimit operator names.  When you type a dot, a second will also be entered ahead of the cursor, and when you type a dot from within a pair, instead of entering another dot, the cursor will be moved ahead of the next dot.  All text between the pairs of dots will be capitalised.  If you preceed a dot with a number, it will be treated as a decimal point, however, if this is, then followed by a letter, then the second dot will be entered ahead of the letter that you typed.

The parentheses ("(" and ")") are used to override the normal order of operations.  When you type "(", the ")" will also be entered ahead of the cursor, and when you type ")", instead of entering another ")", the cursor will be moved ahead of the next ")".  If you use [BACKSPACE] to delete the final ")", the preceeding "(" will also be removed, while using [DELETE] to remove the "(", will also remove the following ")".

Also note that when the field is entered, it will be converted to a binary expression that is incomprehensible.  This binary expression may be presented briefly as the entry is made; please ignore this if you notice it.

Current Time

Current time fields present the current time and date, and by editing these fields the current time and date may be adjusted.

Presentation and editing is as described for "Time" fields. Refer to the section titled: "Time".

Password

Password fields are used to enter or set the passwords.

Presentation and editing is as described for "Name" fields except that when editing the password, the characters are echoed using spaces.  Refer to the section titled: "Name".

Screen Editing

These fields appear as "Name" fields.  However as an attempt is made to edit the field, a window is opened in the current window through which a number lines are displayed.

The first line corresponds to the database field initially presented, while the additional lines present the corresponding records from the subsequent database fields.

These lines may be edited using the cursor control keys and [RETURN], [ENTER], [BACKSPACE], [DELETE], [HOME], and [END] to provide their natural function, and using the character keys in insert mode. [RETURN] and [ENTER] provide for a carriage return and line feed but do not insert a blank line.

The cursor may be moved by clicking on the point to which it is to be moved.

Memo

These fields appear as "Name" fields. However as an attempt is made to edit the field, a window is opened through which a number lines are displayed.

The first line corresponds to the database field initially presented, while the additional lines present the remainder of the contents of a file.

The file name is comprised of three digits representing the database field number, followed by five digits representing the record number, followed by the file name extension ".MEM".  For example, the filename corresponding to record 1 of database field number 73 would be "07300001.MEM".  Please note that these files are outside the database and are therefore not backed up with the database; you will need to care for these explicitly.

The database field number is the option number given on the menu presented by the Edit Databases screen after selecting the final option from the first menu presented by this screen.  Refer to the section titled: "Edit Databases".

A special feature of these fields, is that, when you perform a "Match" (refer to the section titled: "Viewing Data"), not only is the database searched, but also the entire contents of the associated file.  This is could prove to be quite a powerful feature, but may also become slow as the number of files to be searched grows.

When you start to edit the file, it is loaded into the editor's memory and any edits you make are applied to this memory - not to the file itself. When you exit the editor, these changes will be written to the file, and the first line to the database field.

The format of this file is simple ASCII, except that new-lines (carriage returns and line feeds) are reserved for terminating a paragraph, so the lines are, typically, very long.

Key Assignments

The editor allows you to allocate upto three keys to each function and supports two modes of "select, cut and paste" in an attempt to allow the editor to be configured to roughly mimic your usual editor.

This section describes the method to display and set these assignments. While this may seem a rather esoteric point to embark on the description of the editor, we begin here so that you will be able to configure the editor to best match your previous experience, thereby reducing the level of learning required to use it.

If you press [F1], you will be presented with a list of the key assignments.

Below is a rough text-representation of this window:

Edit boolean file Enter 1c0d e00d Copy 4e2b Up 4800 48e0 Cut 4a2d Down 5000 50e0 Paste 5230 Left 4b00 4be0 Skip word forward 7400 74e0 Right 4d00 4de0 Skip word backward 7300 73e0 Page Up 4900 49e0 Learn 2600 4100 Page Down 5100 51e0 Terminate 1400 Beg Line/Screen/File 4700 47e0 Execute 2d00 4200 End Line/Screen/File 4f00 4fe0 Repeat 1300 Insert Overstrike 5200 52e0 Quit 1000 11b Delete This Char 5300 53e0 Edit Macro File 1200 Delete Previous Char e08 Set Up Keys 1f00 3b00 Delete To End Line 2500 Find 3f00 2100 Delete Entire Line 2000 1519 Find Next 5900 3100 Select 532e Find and Replace 4000 Select Up 4838 Edit Address Comment 1e00 Select Down 5032 Select Left 4b34 Select Right 4d36 Select Page Up 4939 Select Page Down 5133 Editing POCOLDMEine 1 Column 1 Insert

This displays the key assignments in two columns.  Each line of each column corresponds to one key function.  For each key function, the name of the function and the scan codes of upto three keys are displayed.  The three scan codes are displayed in three columns, with one scan code highlighted.

On the right of the fourth bottom line on the window, the scan code highlighted is explained.  In the above case, the highlighted scan code is 1c0d, with the text "Return" displayed in the lower right area of the window.

The cursor can be moved to each scan code position to present its translation or to change the key for the function.

If you are calling up this window for help rather than to alter the key assignments, you can have presented, next to each function description, one of the key descriptions for the function.  The key description presented will be dependent upon which column the highlighted scan code is in.  To call this up, type [F1] again.

Below is a rough text-representation of this window:

Edit boolean file Enter Return Copy Grey Plus Up 8/Up Cut Grey Minus Down 2/Down Paste SHIFT 0/Insert Left 4/Left Skip Word Forward CONTROL 6/Right Right 6/Right Skip Word Backward CONTROL 4/Left Page Up 9/Page Up Learn ALTERN' L Page Down 3/Page DownTerminate ALTERN' T Beg Line/Screen/File 7/Home Execute ALTERN' X End Line/Screen/File 1/End Repeat ALTERN' R Insert Overstrike 0/Insert Quit ALTERN' Q Delete This Char ./Delete Edit Macro File ALTERN' E Delete Previous Char BackSpace Set Up Keys ALTERN' S Delete To End Line ALTERN' K Find F5 Delete Entire Line ALTERN' D Find Next SHIFT F6 Select SHIFT ./Delete Find and Replace F6 Select Up SHIFT 8/Up Edit Address Comment ALTERN' A Select Down SHIFT 2/Down Select Left SHIFT 4/Left Select Right SHIFT 6/Right Select Page Up SHIFT 9/Page Up Select Page Down SHIFT 3/Page Down Editing POCOLDMEine 1 Column 1 Insert

To change the key assignment for a given function, move the highlight to the function, and across to the required scan code column, then type [ENTER], then type the key you wish to use for this function (or [SPACE] if you change your mind about wanting to change the key assignment).

Once you have finished interrogating or changing the key assignments, type [ESCAPE] to return to editing you file.

This function is the "Set Up Keys" function, which, according to the above screen dump, can be called up by typing [ALTERNATE S], whereas this section has instructed you to type the [F1] key to call up this function.  You will notice on the previous window that two scan codes were presented for this function, 1f00 and 3b00.  These scan codes correspond to [ALTERNATE S] and [F1] respectively.

Because of the flexibility of this editor, instructions for using it throughout the rest of the sections of the document will refer to the keys by their function.

Basic Editing

Most keys, when typed, result in their associated ASCII character being added to the file's buffer and the appropriate character being displayed on the window at the cursor position, moving the cursor one place to the right.

Cursor Movement

The cursor may be moved about the window using the specified keys for the "Up", "Down", "Left" and "Right" functions, in the natural manner.

Pressing any of the keys specified for the "Enter" function, will move the cursor to the start of the next line, possibly scrolling the window upwards.

The cursor may be moved to the beginning or end of the current line by typing a key specified for "Beg Line/Screen/File" or "End Line/Screen/File" function respectively when not at the beginning or end of the line respectively.

The cursor may be moved to the beginning or end of the window by typing a key specified for the "Beg Line/Screen/File" or "End Line/Screen/File" function respectively when at the beginning or end of the line respectively but not at the beginning or end of the window respectively.

The cursor may be moved to the beginning of the current string of characters (or if already there to the beginning of the previous string) by typing a key specified for the "Skip Word Backward".

The cursor may be moved to the beginning of the next string of characters by typing a key specified for the "Skip Word Forward".

Screen Movement

The window displays only a portion of the file.  The window can be made to view other portions of the file by typing any of the keys specified for the "Page Up" and "Page Down" functions to move the window a numner of lines up or down the file.

The window may be moved to the beginning or end of the file by typing a key specified for "Beg Line/Screen/File" or "End Line/Screen/File" function respectively when at the beginning of the first line on the window or at the end of the last line on the window respectively.

Find

A further means of cursor and window movement may be achieved using the find functions.

After typing any of the keys for the "Find" function, you will be prompted to enter the text you wish to find.  When you terminate this entry, an attempt will be made to find the specified text.

The search is conducted from the cursor position to the end of the file.  In matching the text to the file, the case of letters is ignored.

If the text is not found, a message to this effect will be presented, which you will be required to acknowledge by typing any key.

Had the text been found, the cursor and window will be relocated within the file to this text.

Once the text has been searched for once, a further search may be initiated by typing one of the keys for the "Find Next" function.

Find and Replace

You can ask the editor to replace one, several or all occurrences of a specified text string with another by typing one of the keys for the "Find and Replace" function.

In response, you will be prompted to enter the text you wish to find and then the text you wish to replace it with.  When you terminate the second entry (the replacement text), an attempt will be made to find the first specified text.

The search is conducted from the cursor position to the end of the file.  In matching the text to the file, the case of letters is ignored.

As each occurrence is found, the text will be highlighted and the prompt, "Replace/No/Global <R/N/G>", will be presented.  Enter "R" to replace the highlighted text, "N" to skip to the next occurrence or "G" to replace this and all subsequent occurrences.  Alternatively you can quit from the replace cycle by typing [ESCAPE].

Insert or Overtype Mode

Normally as characters are being typed and the cursor is moving to the right, the text previously at the cursor position is advanced with the cursor, inserting the new characters between it and the character that was previously to the left of the cursor.

Also, when typing one of the keys for the "Enter" function, before the cursor is relocated to the beginning of the next line, the lines below the cursor are moved down by one line and any characters to the right of the cursor will be relocated to the start of the new line.

In overtype mode, the character at the cursor position is replaced by the new character entered.  The cursor still moves one place to the right.

Also, when typing one of the keys for the "Enter" function, only the cursor is relocated; all the text remains where it is.

This mode is toggled between insert and overtype each time one of the keys corresponding to the "Insert Overtype" function is typed.  The current mode is displayed just left of the centre of the third last line on the window.

Deleting Text

The character at the cursor may be deleted by typing one of the keys for the "Delete This Char" function.  The cursor will be unmoved, and any text to the right of the cursor will be moved one place left.

The character to the left of the cursor may be deleted by typing one of the keys for the "Delete Previous Char" function.  The cursor will be moved to the left, and any text at or to the right of the cursor will be moved one place left.

The remainder of the line, from the character the cursor is at to the end of the line, may be deleted by typing one of the keys for the "Delete To End Line" function.  The cursor will be unmoved.

The line the cursor is on may be deleted by typing one of the keys for the "Delete Entire Line" function.  The cursor will be unmoved, and any lines below the cursor will be moved up by one line.

Select, Cut and Paste

There are two methods of "Select, Cut and Paste" employed.  Using the first method, you explicitly flag the beginning of the selection, using one of the keys for the "Select" function, then move the cursor/window to the point in the file at which you wish to end the selection. Refer the sections titled: "Cursor Movement", "Screen Movement", and "Find".

You can then either delete the selection (by typing one of the keys for the "Delete This Char" function), copy it to the "paste" buffer (by typing one of the keys for the "Copy" function), or cut it - copy it then delete it - to the "paste" buffer (by typing one of the keys for the "Cut" function).

Using this first method, you can cancel a selection by again typing one of the keys for the "Select" function.

Using the second method, you flag the beginning of the selection the first time you type a key corresponding to one of the following "Select and Move" functions to extend or reduce the selection:

  • Select Up       
    moves the end of the selection up by one line
  • Select Down     
    moves the end of the selection down by one line
  • Select Left     
    moves the end of the selection left by one character
  • Select Right    
    moves the end of the selection right by one character
  • Select Page Up  
    moves the end of the selection up by twenty-two lines
  • Select Page Down
    moves the end of the selection down by twenty-two lines

The selection can then be deleted, copied or cut as described for the first method.

Using this second method, you can cancel a selection by typing one of the keys for the "Cursor Movement" or "Screen Movement" functions. Refer the sections titled: "Cursor Movement", and "Screen Movement".

When using either method, the text within the selection will be highlighted.

After copying or cutting a selection to the "paste" buffer, you would normally move the cursor to another point in the file, then insert the copied or cut text at this point by typing one of the keys for the "Paste" function.

Key Sequence Macros - Learning

Sometimes it is necessary to repeat a given sequence of key strokes an inordinate number of times when editing a file.  To alleviate this, the editor may be instructed to remember these key strokes and to play them back time and time again.

To start the recording of key strokes, type one of the keys for the "Learn" function.  Then proceed to type the keys you wish recorded; as you do this the keys will be treated normally, resulting in the expected changes to the file and window.

During this phase, the text "Learning" will be displayed alongside the "Insert" or "Overstrike" text in the third bottom line of the window.

Once you have completed the sequence of key strokes, type one of the keys for the "Terminate" function.

You should take particular care of how you start and end the sequence, especially if you wish it to be executed a number of times in succession.

To replay this sequence, type one of the keys for the "Execute" function.

The sequence can be terminated and executed immediately by typing one of the keys for the "Execute" function in place of typing one of the keys for the "Terminate" function.

During the execution of the sequence, the text "Executing" will be displayed alongside the "Insert" or "Overstrike" text in the third bottom line of the window.

Repeating Key Strokes and Macros

The editor may be instructed to repeat any key stroke a given number of times by first typing one of the keys for the "Repeat" function, then entering the number of times the key stroke is to be repeated, then typing the key to be repeated.

The key to be repeated may be one of the keys for the "Execute" function, allowing you to execute the key-sequence macro a given number of times.

During the execution of the repeated key strokes, the number of iterations remaining is displayed further to the right of the "Insert" or "Overstrike" text than the "Learning" or "Executing" text on the third bottom line of the window.

Exiting from the Editor

To leave the editor, type one of the keys for the "Quit" function.  Any changes you have made will be written to both the file and the database.

Attribute

Attribute fields are used to alter the video attributes.  They consist of two hexadecimal digits, the first for the background and the second for the foreground.  If you enter a single digit it is assumed to be the foreground and will be presented in the second digit position.

Presentation and editing is as described for "Numeric" fields except that as the value is altered the associated attribute name is also presented in the attribute typed in and the two hexadecimal digits may be altered by positioning the cursor to the right of the digit in question and using the [UP] and [DOWN] keys to raise or lower its value.  Refer to the section titled: "Numeric".

Attribute fields are used to alter the video attributes, used by the GUI operator interface program when presenting database quantities. They consist of two values, a foreground value and a background value, presented as the foreground colour name, followed by "on" then the background colour name, such as "Black on Red".

All colours must be previous listed as a "Palette description".  Refer to the section titled: "Changing the Colours", and "Edit the Colour's Name".

As characters are removed or typed in, the list of "Palette descriptions" is scanned for a match.  The remaining characters from the first match found are displayed from the cursor to the end of the field.  Typing [DOWN] will present the remaining characters of the next match, while typing [UP] will present the remaining characters of the previous match.

If the name presented is the desired name, typing [RIGHT] will accept one more of the offered characters, moving the cursor one place right.

If non-matching characters are typed, they will be ignored.

Once sufficient characters have been typed to uniquely identify the colour, the cursor will be advanced to the beginning of the next sub-field (the background colour) or to the end of the field.

Miscellaneous Data

The miscellaneous data may be edited either as a numeric or a character field (as indicated by the presented prompt).  Refer to the sections titled: "Numeric", and "Character".

It may be noted that the prompt presented for the "Miscellaneous Data" is not the prompt associated with that database field but instead the data from the corresponding record of the "Miscellaneous Name" database field.  If this does not mean anything to you, let it pass.

When these fields are presented, specific records will present their data in a more explicit fashion.

Baud Rates

The baud rates for the various communications channels are presented and edited as "Symbolic Name" fields, except that the predefined set of names varies with the channel being described and the use of the channel. Refer to the section titled: "Symbolic Name".

If the channel is an asynchronous serial communications channel, the usual set of baud rates are used, however, if the channel is on the Allen-Bradley KTxD card, is set of baud rates is either that for the scanner mode, or the DH-485 mode depending upon which mode is selected for the channel.

Store Reference

The store reference fields are used to reference a location in the store.

References are expressed in the form "WW:RR-H-LLL-D" (example: "42:16-A-027-1"), where the first two characters ("WW") represent the warehouse (either 41 or 42) and is redundant with the rack, which consists of the first two characters ("RR") following the colon.  If the warehouse is "41", the rack must be in the range "05" to "10", otherwise the warehouse must be "42", and the rack must be in the range "11" to "16".  Rack "05" is the left hand side of crane "6", rack "06" is the right hand side of crane "6", rack "07" is the left hand side of crane "5", and so on to rack "16", which is the right hand side of crane "1".

This is probably presented more clearly in the following table:


          ╔═════════════════════════════╦═════════════════════════════╗
          ║   WAREHOUSE 41 "Freezer"    ║    WAREHOUSE 42 "Chiller"   ║
          ╟─────────╥─────────╥─────────╫─────────╥─────────╥─────────╢
          ║ Crane 6 ║ Crane 5 ║ Crane 4 ║ Crane 3 ║ Crane 2 ║ Crane 1 ║
          ╠════╦════╬════╦════╬════╦════╬════╦════╬════╦════╬════╦════╣
          ║ 05 ║ 06 ║ 07 ║ 08 ║ 09 ║ 10 ║ 11 ║ 12 ║ 13 ║ 14 ║ 15 ║ 16 ║
          ╚════╩════╩════╩════╩════╩════╩════╩════╩════╩════╩════╩════╝

The next character is always a hyphen, followed by a letter representing the hoist level ("H"), which uses "A" for level 1 to "H" for level 8, then "J" for level 9 to "M" for level 12.  This is followed again by a hyphen.  The next three characters ("LLL") represent the long travel position, the next character is always a hyphen and the final character ("D") represents the depth ("1" for the location near the crane, "2" for the location further from the crane).

These fields may be altered as described in the section titled: "Data", with some differences.

[BACKSPACE] does not remove characters, it only moves the cursor.  If, by typing [BACKSPACE], the cursor would be left adjacent to a character that can not contain an alternate value, then the cursor is moved an additional place left.

If, as characters are being typed, the cursor would be in a position that can contain only one possible character then the cursor is moved an additional place right.  When typing in the replacement characters, a colon, hyphen, space or period is ignored unless typed within the long travel specification where it delimits the long travel prior to typing all three digits.

The entry may be terminated while the cursor is in any position in the field.

When the store reference is entered, certain checks are performed.

If the warehouse number is other than 41 or 42, the following message will be produced: "WW Warehouse number out of range".

If the rack number is outside the range 5 to 16, the following message will be produced: "RR Rack number out of range".

If the warehouse and rack numbers are contradictory, the following message will be produced: "WW:RR Warehouse and rack numbers inconsistent".

If the hoist level is other than "A" to "H" and "J" to "M", the following message will be produced: "H Hoist out of range".

If the long travel position is outside the range 1 to 70, the following message will be produced: "LLL Long travel out of range".

If the depth is other than "1" or "2", the following message will be produced: "D Depth out of range".

Crane and Palletiser Alarms

The crane alarm and palletiser alarm fields list, by number, the cranes or palletisers that currently share the corresponding alarm.  This field appears as a sequence of digits.

These digits may be entered in any sequence, however they will be displayed in increasing order (from the left), with spaces in place of the missing digits.

These fields may be altered as described in the section titled: "Data".

Load Detection Indices

The load detection indices are used to tie a store location to a load detection system bit.  These indices represent the bit index from the start of the table of photocells or switches.

The start of these tables has been hard coded within the Movement Controller and removes the discontinuity between the photocell sub-tables for the main and remote systems.

The indices are expressed in hexadecimal to assist correlation with the load detection system.

These indices are expressed in the form "L:02A8" or "S:0003" depending whether the index is referencing the photocell or switch table respectively.

These fields may be altered as described in the section titled: "Data".

Photocell Arrangement

The photocell arrangement specifies that, for the given Heavy-Unit-Load Conveyor position, which of the six standard photocells (clear, stop and slow in the forward and reverse directions) are to be physically present on the conveyor position in question.

For background on this, please refer to the section titled: "System Definition".

Normally, during the generation of the Heavy-Unit-Load Conveyor PLC software, the photocell arrangement is established from knowledge of the transfers that need to be supported.  This arrangement is presented in the ".ain" file, which is generated at that stage.  In cases where the photocell arrangement is already set, or where peculiar transfers are required, you can nominate which photocells are available.  The transfer macros will pay attention to this arrangement, and will make the most of it that it can, even though it may not be the ideal arrangement.

There are six "sub-fields" within this field.  Each "sub-field" occupies four or five character positions, displaying "----" or "-----" to imply that there is no photocell at the corresponding location, and "Clear", "Stop", or "Slow" to imply that there is a photocell.

The first three sub-fields correspond to the "Clear", "Stop" and "Slow" photocells at the rear of the conveyor, and are separated from the second three (which represent the "Slow", "Stop" and "Clear" photocells at the front) by ">>>>>".  The first and last sub-fields represent the "Clear" photocells, the second and second last represent the "Stop" photocells, while the third and third last (fourth) represent the "Slow" photocells.

Each field is set with a single character keystroke, which then advances the cursor to the start of the next sub-field.  The keys "O", "0", "-", "_", and "N" sets the sub-field to dashes, while any other character key will set it to "Clear", "Stop", or "Slow" depending upon the sub-field in question.

In other respects, presentation and editing is as described for "Name" fields, except that the cursor will always be advaanced or backed up to a position corresponding to the start of a sub-field.  Please refer to the section titled: "Name".

Fault Assistance

This field is presented as a single line, however, as you begin to edit it, a window will be opened, presenting a number of lines.  These lines may be edited using the cursor control keys and [RETURN], [ENTER], [BACKSPACE], [DELETE], [HOME], and [END] to provide their natural function, and using the character keys in insert mode. [RETURN] and [ENTER] provide for a carriage return and line feed but do not insert a blank line.

When finished reading or modifying, type [ESCAPE] and the window will be closed, returning you to the database you had been editing.

Destination

The destination fields are either store reference fields or a symbolic name field referencing the conveyor names as the "previously defined" set of names.  The first character entered determines which type of field editing will be invoked.

Refer to the sections titled: "Store Reference", and "Symbolic Name".

Heavy-Unit-Load Conveyor Device Condition

When defining the devices to be implemented on the Heavy-Unit-Load Conveyor System, a number of inputs can be grouped together to select a graphic image to reflect the implied condition.  This group of inputs can be represented by a number of such images, depending upon which "condition" their state currently reflects.

For example, if three inputs are so grouped, there might be five conditions defined to reflect their various possible states:



  Input 3   Input 2  Input 1    Condition    Image
     0         0        0          000       IMAGE_1
     0         0        1          001       IMAGE_2
     0         1        0          010       IMAGE_3
     0         1        1          011       IMAGE_4
     1         0        0          1XX       IMAGE_5
     1         0        1          1XX       IMAGE_5
     1         1        0          1XX       IMAGE_5
     1         1        1          1XX       IMAGE_5

The valid characters for entry into the "condition" field are "0", "1" and "X".  If the "condition" bit corresponding to an input must either match it or be "X" for it to match.  If the "condition" matches all inputs, the corresponding graphic image will be displayed.

Heavy-Unit-Load Conveyor Device Character

When a device's condition is presented on the system overview, it is represented by a non-standard eight-by-sixteen bit character in the colour of your choice.  These fields may be altered as described in the section titled: "Screen Editing", with some differences.

You can only enter a space or a block or an "X" in any one position to indicate that the pixel is to be on or off, or irrelevant.  By typing a space or zero, you will effectively type a space, whilst any other regular character typed (say a one) will be interpreted as a block.

Additional features include:

  • "F"
    the image will be flipped upside down.
  • "R"
    the image will be rotated 180 degrees.
  • "U"
    the upper half of the image will be rotated by 90 degrees.
  • "C"
    the centre half of the image will be rotated by 90 degrees.
  • "L"
    the lower half of the image will be rotated by 90 degrees.

The state of a bit (space or block) can be toggled by double clicking on it.

Heavy-Unit-Load Conveyor Device I/O Comments

When defining device types for the Heavy-Unit-Load Conveyor System, three of the five lines of the Allen-Bradley address comment may be specified generically, by typing this into a field containing three ten-character sub-fields.

These fields may be altered as described in the section titled: "Screen Editing".

The remaining two fields are used for the device specific symbol and description.

Heavy-Unit-Load Conveyor Device Pause Need

When defining device types for the Heavy-Unit-Load Conveyor System, you may wish to indicate that loads are to stop at the corresponding conveyor position.

When this field is presented, so is the following legend:



1: Load to pause at specified conveyor only
2: Also to pause at R/F in specified position
3: Also to pause at R/F on specified conveyor

By entering a "1", the load will only pause when it reaches the conveyor position for which the device is defined; bear in mind that a load on a rise-fall at this position is not in that conveyor position.

If you wish to also pause loads on the rise-fall at this position, you should enter "2", while, if you wish to pause loads on any rise-fall along the length of this conveyor, you should enter "3".

You would want to pause a load if you need to give the device, such as an alignment bar, a chance to operate.

Turn Peg Pattern

The turn peg pattern specifies for a particular row of a particular layer of a particular pattern, how many cartons are included and which cartons should be turned.  The format of this entry is the number of cartons, followed by a sequence of "T"s and/or underscores signifying whether the cartons are turned or not.

For example, the entry, "3TT_", would signify that there are three cartons in the row in question and that the first two should be turned.

When interpreting your entry, "T", "t", "1", "L", and "l" are all interpreted as "T", while any other character is interpreted as an underscore.

These fields may be altered as described in the section titled: "Data".

Layer Arrangement

The layer arrangement specifies that for the given product, certain layers are not to comply with the odd/even layer pattern sequencing.  This is a thirty-two bit value, allowing for pallet loads with up to thirty-two layers to be catered for.

Normally the entry would be "OEOEOEOEOEOEOEOEOEOEOEOEOEOEOEOE".  The first character corresponds to the first (bottom) layer, indicating - by the "O" that it is to use the odd layer pattern, while the next layer will use the even layer pattern and so on.

Presentation and editing is as described for "Name" fields, refer to the section titled: "Name".

If your entry does not contain thirty-two characters, the entry is interpreted as representing the start of the string; the remainder of the string is taken from the default shown above.

For example, if you were to simply enter "E", the result would be "EEOEOEOEOEOEOEOEOEOEOEOEOEOEOEOE".  This implies that the first two rows will be the same (column stacked), while the remainder will alternate.

You are expected to enter a sequence of "E"s and "O"s, however, if you type other characters, a "1", an "L" and an "I" are translated to an "E", anything with an ASCII code less than or equal to a space will cause the remainder of the string to be ignored, while any other character will be translated to an "O".

Phone Number

When entering a customer's phone number, the software references the town specified for this customer and from this references the town's STD code and the state specified for the town and from this references the country specified for the state and from this references the ISD code specified for this country.

The software also references the ISD and STD access codes.

Armed with this information, the software assists and supervises your entry of the phone number.  If you do not commence your entry with the ISD nor STD access codes, the software will provide the appropriate access and area codes, placing these ahead of your entry.

When you enter the phone number, the software checks it, and warns you if it does not agree with this information; you will be able to make the entry in spite of this warning by typing [F1] to confirm that the number is correct.

Post Code and Post Code Mask

When entering a town's post code, the software references the state specified for this town and from this references the country specified for the state and from this references the post code mask specified for this country.

The software uses this mask to control and interpret your entry.  The mask may appear similar to:



                      ###-###

This implies that you should enter three digits (in place of the cross-hatches) followed by a hyphen followed by another three digits.

In general you can enter any digit in a post code position corresponding to a cross-hatch ("#") in the post code mask, any letter in the position corresponding to a commercial-at ("@") and either a digit or a letter in the position corresponding to an asterisk ("*").  In any other position, the character specified in the mask must appear in the corresponding position in the post code.

[BACKSPACE] does not remove characters, it only moves the cursor.  If, by typing [BACKSPACE], the cursor would be left in a position corresponding to a character in the mask other than a cross-hatch, commercial-at or asterisk, then the cursor is moved an additional place left.

If, as characters are being typed, the cursor would be in a position corresponding to a character in the mask other than a cross-hatch, commercial-at or asterisk then the cursor is moved an additional place right.

The entry may be terminated while the cursor is in any position in the field.

Pick Area Reference

The pick area reference fields are used to reference a pick area.

References are expressed in the form "31:AA01", where the first two characters represent the zone to which the pick area belongs, the colon (':') delimits these from the remaining characters that uniquely identify the pick area within this zone.

These fields may be altered as described in the section titled: "Data", with some differences.

[BACKSPACE] does not remove characters, it only moves the cursor.  If, by typing [BACKSPACE], the cursor would be left adjacent to a colon, then the cursor is moved an additional place left.

If, as characters are being typed, the cursor would be in a position of the colon then the cursor is moved an additional place right.  When typing in the replacement characters, a colon delimits the zone name prior to typing both digits.

The entry may be terminated while the cursor is in any position in the field.

Pick Area Type Division's Address Offset

Each division within each pick area type must be given a unique address offset within that type.

The address offset consists of two numbers, separated by a period (full-stop, dot or ".").  The first, we will call the wire number and the second, the station number.

Your entry should consist of two digits (the wire number), followed by a period (full-stop, dot or ".") then another two digits (the station number).

The address offset may be edited as a numeric field.  Refer to the section titled: "Numeric".

Pick Area Address Patches

When defining the addresses of the pick area divisions using the harness wiring concept, you will need to specify links between the "wires" at the end of a chain of adjacent pick areas.

These "wires" are referred to by the pick area reference (refer to the section titled: "Pick Area Reference"), followed by a further colon then the wire address (refer to the section titled: "Pick Area Type Division's Address Offset").

Pick-to-Light Unit Internal Memory Address

When defining the descriptions for the bytes and bits within the pick-to-light unit's microprocessor memory, the reference for the byte or bit is specified by two hexadecimal digits, followed (if referring to a bit) by a slash ('/') and an octal digit specifying the bit number.

Presentation and editing is as described for "Name" fields, refer to the section titled: "Name".

Compartment References

To reference, via the database, a compartment within a pick area, you will need to enter a series of up to 12 ones and zeros.  As there is higher level software that provides you more natural access to these areas, you will not normally need to enter this reference.

When a pick area is divided into compartments, it is first divided into two compartments by the first division, then these may be divided in turn in two compartments by further divisions.

Should you need to enter the compartment reference, each digit you type indicates which side of the divisions the compartment lies.  The first digit refers to the first division made, the second to the first division within the compartment selected by the first digit, and so on.

For example, consider the following:



                   0                1
           ┌───────────────┬──────────────────┐
           │               │        10        │ 0
           │               ├─────┬────────────┤
        0  │       00      │     │            │
           │               │     │            │
           ├───────────────┤ 110 │  111       │ 1
           │               │     │            │
        1  │       01      │     │            │
           └───────────────┴─────┴────────────┘
                             0        1          

The above represents a pick area, first divided vertically, then both the left and right resulting compartments are divided horizontally then finally the lower right hand resulting compartment is divided vertically. The references to these compartments are shown within the compartments.

Pick Compartment Length and Width

These are entered as numeric fields, however as you enter these values, the software checks that the length is greater than the width before accepting you entries.

Response Codes

The response codes sent to the host_computer are single ASCII characters.  There are two sets of response codes, those used in the response messages to the hosts relocation requests and those used in the completion messages.

Unless the record is a response message, the response code will be interpreted as if it is a completion message.

The response code may be entered as a number in the range 0 to 255, or as an ASCII character prefixed by an apostrophe.  For example, the entries "65" and "'A" are equivalent.

When the response code is presented, if the value in the field matches a valid character in the appropriate set of response codes, the field will appear as the ASCII character, enclosed in apostrophes, and followed by text explaining its significance. For example, entries "65" or "'A" for completion response codes will be presented as "'A' Failed sizing ".

If no match can be found, the numeric value will be displayed.

These fields may be altered as described in the section titled: "Data".

TCP-IP Host

The TCP-IP host consists of four numbers separated by three periods (".").  Each must be in the range 0 to 255.  Bearing these restrictions and the two additional periods in mind, the value may be entered as described in the section titled: "Numeric".

TCP-IP Port

The TCP-IP port consists of two numbers separated by a comma. Each must be in the range 0 to 255.  Bearing these restrictions in mind, the value may be entered as described in the section titled: "Numeric".

Key

Certain fields, usually "Symbolic Name" fields and "Symbolic Numeric" fields, may reference a database (or "set of fields").  When the value/name has been entered into these fields, the data associated with this value/name is presented in a "Set of Fields" below the field.  Refer to the sections titled: "Set of Fields", "Symbolic Name", and "Symbolic Numeric".

This database will be displayed in the "Underline" attribute.  When editing a "Key" field, the referenced database may be edited by typing [SHIFT F11]. In response, the referenced database fields will be recoloured in the usual attributes, and may be edited.  Refer to the section titled: "Set of Fields".  For an understanding of the use of attributes, refer to the section titled: "Screen Attributes".

In several of these instances, the "Key" field is symbolic of the first field in the referenced database, so both will appear similar and may be presented at the same window position.  In this instance, when [SHIFT F11]is typed, the cursor will appear to be merely repositioned in the same field.

Set of Fields

A set of fields is a dialogue box that contains a number of pairs of prompts and editing fields arranged one beneath the other.

A set of fields will normally present the contents of a database record; that is, values from a given record number within a number of "Databases" that have been associated together in a "Record Set".  The database concepts are described in the section of the SOFTWARE MANUAL titled: "Database Structure".

The [TAB] and [SHIFT TAB] keys enable the cursor to be moved to next or previous field.  As you leave a field, using the [TAB] or [SHIFT TAB], any changes to the field contents are written away.  Had you made no change, then you will not alter the field; changes made to this field by the software or other people editing it after you have entered the field will not be affected by your editing of this field unless you had made a change.  Also, when you move into an editing field, its contents are refreshed from the database.

The [ENTER] key is used to close the set of fields dialogue box.  Had you been within an editing field at the time, any editing changes you made to that field will be written to the database.  [ENTER] is equivalent to clicking (with the mouse) the first of the buttons provided with this dialogue box.

Menus

There are three types of menus used throughout the software.  These are the horizontal menu bar, the drop-down menu that appears upon selection of an option from the horizontal menu bar, and the third type, the drop-down drawing area menu that presents its options, commonly with a scroll bar.

Selections may be made from all menus by clicking with the left mouse button on the desired option, however the drop-down drawing area menu requires a double click, or a single click to highlight the option and a subsequent pressing of [RETURN] or [ENTER].

Selections may also be made from a horizontal menu bar by typing the underlined first letter, or the key described by the capitalised portion of the option's description.

Selections may also be made from a horizontal menu bar, once one option is raised (i.e. presented as a raised button) by using the left and right cursor keys, then if the option does not correspond to a drop-down menu, typing [ENTER] or [RETURN].  I only know one way to raise the option and that is to click on it, which not only raises it but also executes it unless it corresponds to a drop down menu.  So to select from the horizontal bar using only the keyboard, first type the letter corresponding to an option with a drop down menu (which you will only know from experience) then use the cursor keys to move along the horizontal menu bar and down the drop-down menu as they appear, then type [ENTER] or [RETURN] on the desired option.

Selections may also be made from a drop-down menu, from the main horizontal menu bar, by typing the function key indicated at the right of the option's description.

Selections may also be made from a drop-down drawing area menu, using the [UP] and [DOWN] keys to highlight the desired option then pressing [RETURN] or [ENTER].

Additionally, when using some windows (those that do not use the function keys for their own purposes) the function keys will be available to select another window.

When Using the More DOS-Like Interface

If you have opted for the more DOS-like interface, once you have logged in, the window selection menu system will be presented in a window, rather than in the horizontal menu bar.  If you escape out of this window, you will be returned to the horizontal menu bar, from which you will need to make a selection before being again presented with the menu in this window.  For information on configuring a user for the more DOS-like interface and its impact, please refer to the section titled: "Modify List of Users".

If using the DOS-like interface selections from the window selection menu may be made by either moving the reverse/highlighted video line (using [UP] or [DOWN]) to the desired entry then typing "S", [RETURN] or [ENTER], or by typing the number corresponding to the option number then typing [RETURN] or [ENTER], or, if the desired window has been programmed into a function key ([F1] to [F9], and [F11]), by typing the function key corresponding the option.

Windows may also be selected from any one of the other window selection menus without the need to first call up the particular menu containing the option.  This selection may be made by typing the option number or by typing the function key programmed with this option.

The windows programmed into the function keys are listed at the bottom right of the window.

Setting Function Keys to Access the Menus

To do this, you will need to be familiar with the exact text of the window names that you wish to programme onto function keys, especially the first words in the names.

Then to programme a function key for the main horizontal menu bar's drop-down menu' options, having, first of all, logged in with sufficient privilege, activate "View" option from the main horizontal menu bar, then "Function keys" from the resulting menu.

A dialogue window will then be opened, presenting the ten function keys.  Move the highlight to the key of interest, either by using the [UP] and [DOWN] keys or by clicking with the mouse on the appropriate line.  Then select this key for change by typing "C", or [ENTER], or [RETURN] or by double clicking on the line or single clicking on "Change".

In response, another dialogue window will open, requesting that you enter the name of the window you wish programmed into this key.

You can start typing the name of the window, then when the rest of the name correctly appears, press [ENTER] or [RETURN] or click on "OK".

Alternatively, you should notice that there is a button to the right of this field that can be used to present a list of options to choose from.  Be warned that this list is quite extensive and is not restricted to windows applicable to site, so as a result it is possible to select a totally useless window by not recalling the exact name of the window you wish to programme.

For example, there might be an "Overhead crane commands and alarms" window, which deals with overhead cranes, and a "Crane status and control" window, which deals with stacker cranes.

Also, do not select any of the windows starting with the text "Emulate", they are for my use only.

To un-programme a function key, make a blank entry.  When you exit this dialogue, the site name will be presented against this function key.

Viewing Data

This section is best read when referred to from the "Specific Instructions" section.  It describes a generic form of window used extensively in two major ways:

  • Maintenance
    to select a particular set of configuration data to modify or delete, or to create a new set.
  • Reports    
    to print a report based on a selected portion of live or configuration data.

In all instances a file is presented to the window, with one record per line allowing you to manipulate the data in this file.  The following section describes the features common to all these instances, whereas the subsequent sections, describe the additional features corresponding to the "Maintenance Viewing Data", and "Report Viewing Data" usages.

General

The features offered by all these windows are:

  • moving the window across the records.
  • highlighting a particular record for individual attention.
  • highlighting a particular field for individual attention.
  • moving the window to other records of the file.
  • expanding/contracting the records.
  • restricting the records eligible for inclusion.
  • limiting the display to a range of consecutive records.

If the database in question is a "linked list", then there are operations that allow you to relocate or duplicate records, either within a list, or from one list to another.  The linked-list databases are indicated by the menu item "Group" in the menu bar.  Most of the databases automatically sequence the records according to a "key" field or fields or the record number occupied. With linked-lists, such as the menu structure, the records are sequenced and grouped.  Any menu item, for example, can appear on any sub-menu (a group) and in any position in the sub-menu.

Menu Bar

At the top of each of the windows is a legend that indicates which of the keys are active and what function they perform.  On all these windows, [RETURN] is equivalent to the first key listed. [ENTER] will behave similarly, however, when used to select a record [ENTER] will select the highlighted record directly, whereas [RETURN] will request the record designation from you, while offering the highlighted record as the default.  As well as being able to type the key, you may click the mouse on that part of the legend.

What's On the Display

The body of the window contains a number of lines of data, each line comprising a related set of data fields (known as a record).  There will be a horizontal scroll bar provided, in case the entire record is too long to fit on a window.  The [HOME] key will move the scroll bar to the extreme left, while [END] will move the scroll bar to the extreme right.

The lines of data are divided into fields, of varying widths.  If a given field width is sufficient, as many words from that field's prompt as will fit, will be presented at the top of the column as a heading.  The next paragraph throws light on how to interpret the data in the remaining columns.  If there is insufficient space to present the entire prompt in the column heading, you can move to mouse pointer to that column heading an a tooltip will be displayed that presents the full database prompt, along with, should your "Database" record set be defined to include the "Database name for "Where"" field, the database name for the "Where" field.  The "Where" field is described in the section titled: "Viewing Data" and its subsection "Records Satisfying an Expression".

If the display is restricted to records containing certain text (see "Given Text in Any Field ([CONTROL F])") or to those satisfying a given expression (see "Records Satisfying an Expression"), then the tooltip that is presented when the mouse pointer is positioned above the extreme left of the column heading (the horizontal scrollbar will need to be all the way left) will show either the first or the second of these restrictions instead of the details relating to the first field.  Generally, the details relating to the first field will still be available as a tooltip if you move the mouse a little further right.

One of the records will be shown differently to the rest and one of the fields of this record will be shown differently to the others in this record.  These are referred to as the "highlighted record" and the "highlighted field" respectively.  The prompt as well as the data associated with the highlighted field are displayed at the bottom of the window. [UP] and [DOWN] may be used to highlight the previous or next record respectively, while [LEFT] and [RIGHT] may be used to highlight the previous or next field respectively.

Moving the Window Around the File

The [PAGE UP] and [PAGE DOWN] may be used to move the window through the file in the indicated direction to view records that do not fit on one page. There will be a vertical scroll bar provided, and [CONTROL PAGE UP] may be used to return the window to the top of the file, while [CONTROL PAGE DOWN] may be used to move the window directly to the end of the file.

Expanding Record Details

If a field is a "Key" field, having a set of fields associated with it, these may, optionally, be shown as well.  Typing "E" will cause these associated fields, if not already displayed, to be displayed, or, if already displayed, not to be displayed. This is referred to as expanding or contracting the field.

When expanded, a symbolic field, if also a "Key" field, will be followed by the field it references.  This will appear as a duplication.  Refer to the section titled: "Key".

Restricting the Records Displayed

You can restrict the display, so that only certain records, which pass some criteria, will be presented.

Given Text in Any Field ([CONTROL F])

The crudest, but most straight-forward, method is to specify a pattern, which must be contained in at least one of the fields of the record for that record to be included.  You do this by typing [CONTROL F] then typing in the pattern.  The text you type in must be in the correct case for a match to be found, and is capitalised as if a "title" (see the section titled: "Name").  This text will be searched for in any of the "Name" fields making up the record, and in any "Name" field to which symbolic references are made from fields within the record.  For further detail on symbolic fields, please refer to the section titled: "Symbolic Name".

To remove this restriction, type [CONTROL F] a second time, and this time remove the field contents.

When this restriction is in force, and there is no restriction on the first field (see the next section, "Given Text in a Field (Restrict/Match)"), then the text "FIND: " followed by the text you are searching for (or as much of it as will fit), will be displayed above the records, in the first column, replacing the column title had there been one. In any case, the full description of the restriction will be presented in a tooltip, should you move the mouse pointer to the extreme left of the column heading (the horizontal scrollbar will need to be all the way left).

Given Text in a Field (Restrict/Match)

To restrict the records displayed to those with the same data in a given field, highlight the field where the restriction is to apply, then type "R". A dialogue window will open, with a single data entry field, loaded with the data from this field.  If this is the required data for the restriction, simply type [RETURN] or [ENTER], otherwise enter the required data.

When a restriction is in force, the restriction will be displayed above the records, in the appropriate column, replacing the column title had there been one.

To restrict the records displayed to those containing a given sequence of characters in a "Name" field, highlight the field where the restriction is to apply, then type "M". A dialogue window will open, with a single data entry field, loaded with the current restriction or sequence.  Type in the required sequence and type [RETURN] or [ENTER]. For editing instructions for this type of field, please refer to the section titled: "Name".

When a sequence is in force, the sequence will be displayed above the records, in the appropriate column, replacing the column title had there been one.

Restrictions and sequences can not be simultaneously in force for the same field.  The later specified will override the prior.

If the record has been expanded, take care to distinguish between the symbolic field and the following referenced field. Sequences may not be specified for "Symbolic Name" fields.

To remove a restriction or sequence, highlight the field where the sequence is to apply no longer, then type "R" or "M" followed [GREY MINUS] then [RETURN] or [ENTER].

All these restrictions, associated with the unexpanded resord set, may be edited within a single dialogue window.  To bring up this dialogue window, type [CONTROL R]. You may enter restrictions into any of the fields presented.  To enter a sequence, rather than a restriction, type [CONTROL A] after the sequence.

A Run of Records (First/Last)

For some sets of records, you may restrict the display to a range of consecutive records.  To do this, type "F" then enter the specification of the first record, then type "L" then enter the specification of the last record.

The specification in each of these cases will default to the highlighted record, so an alternative method is to highlight the first record to be included, then type "F", then [RETURN] sufficiently often to accept the default, then highlight the last record to be included, then type "L", then finally [RETURN] sufficiently often to accept the default (in some cases the specification of a record may require more than one entry).

If the file is a log file (i.e. its first database field is a time and date field), to limit the display to a range of consecutive records, move the highlight to first record to be included and type "F", then move highlight to the last record and type "L".  Subsequent typings of "F" and "L" will release the corresponding limitation.

A Given Group in Linked Lists

This applies to the "linked list" databases only.  These databases are indicated by the menu item "Group" in the menu bar.

These databases present their records with the name of the group to the left, sometimes followed by the designation of their position within the group, then the record porper, i.e. the fields that you can highlight, restrict upon, change, et cetera.  When a group restriction is in effect, the group designation may be removed from the presentation of the record, as all records displayed now belong to the one group.

To restrict the display to records from within a single group, type "G". A dialogue window will open, with a single data entry field, loaded with the group designation for the group to which the highlighted record belongs.  If this is the required group for the restriction, simply type [RETURN] or [ENTER], otherwise enter the required group designation.

To remove a restriction to a sigle group, type "G" followed [GREY MINUS] then [RETURN] or [ENTER].

Records Satisfying an Expression

This feature is only available to those sites where the "Database" record set has been defined to include the "Database name for "Where"" field.  This field is described in the section titled "Database Privilege".  You can refer to the "Database Privilege" database listing to obtain the field names for use in entering an expression.  Alternatively, if you move the mouse pointer to the column heading, a tooltip will be presented, which will present the full text of the field's prompt and, on its second line, the database name for "Where" experssion.

The editing of this expression is described in the section titled: "Where".

To restrict the records displayed to those that satisfy some explicit expression, click on "Where" in the menu bar or type "W".  A dialogue window will open, with a single data entry field, which would be blank unless you have already entered an expression.

Into this field, enter an expression.  An expression consists of a number of operands and operators.  A simple example is [DBWHERE]="DBPROMPT", which would restrict the presentation to those records for which "Database name for "Where"" field contains exactly DBPROMPT.  The result of each operation is either a text string, a floating-point number or an integer.  The final result of the entire expression should be an integer and if that integer is zero, the record will not be presented.  Floating-point numbers are rounded down towards zero, when converting to an integer.

The operands are either numeric values, text strings, database field names, or the special operand representing the record number.

Numeric values can be base-ten integers, floating-point numbers, or a number in base two, eight, or sixteen.  Base-ten integers must begin with one of the digits from "1" to "9", followed only by digits, unless the integer is zero, in which case it will consist of just the digit "0"; in other words, it can not start with "0" unless the integer is to be zero.  Floating-point numbers contain only digits and a single decimal point, followed by one or more digits. Base-two integers begin with the characters, "0b", followed by the digits "0" and "1", as required to represent the integer.  Base-eight integers begin with a "0", followed by the digits "0" and "7", as required to represent the integer.  Base-sixteen integers begin with the characters, "0x", followed by the digits "0" to "9", and the letters "a" to "f", as required to represent the integer.  Examples are 27, 27.0, 0b11011, 033, and 0x1b, which represent the value twenty-seven as a base-ten integer, a floating-point number, a base-two integer, a base-eight integer, and a base-sixteen integer, respectively.

Text strings begin with a double-quotation mark, followed by the required characters, and is terminated using a second double-quotation mark.  An example is "Text to be matched".  Most operators are arithmetic or logical, so, when a string is presented to one such operator, an attempt is made to convert the string to an integer (or, should the other operand be floating point, to a floating-point value) before applying the operator.  On the other hand, the .ADD. and .SUB. operators have a special meaning should both operands be text strings, or one a text string and the other a database value (which may have both numeric and text values).

The database field names are to be placed within open and close brackets.  An example is [DBWHERE].  References to database fields are replaced by the text or the integer contained within the corresponding record of the named field. In the case of interger values, both the raw integral value and the text that is used to present this raw value are kept.  In the case of integral fields, the text that represents raw value may differ from the raw value.  For example, should the corresponding database prompt end in a range specification, such as "<5-10>", then the raw value of zero will be stored in text as "5".  Which representation is used depends upon the operator that is applied to it and the other operand to which that operator is applied.  If text is required, then the text form will be used, and otherwise the raw integer value will be used.

The special operand representing the record number is "#".  References to the record's own number are replaced by both the integer representing the record number, and the string that is used to represent that record in the database. Which representation is used depends upon the operator that is applied to it and the other operand to which that operator is applied.  Consider, for example, a record within the product master database.  It has a physical position within the database (a position that is not subject to change as other records come and go), and this physical position is not displayed to the operator, unless the operator looks up the product code in the list that can be presented when you opt for "Field" rather than "Database" when using the "Edit Databases" screen (you may refer to the section titled: "Edit Databases").  When these records are presented as a database, they are identified using the product code, which must be unique.  So, the '#' operand is translated to both the integral record number and the textual presentation of the product code. Which is used depends upon whether an integer or a string is required.

The operators are executed according to their precedence.  This means that those with the lower precedence number (indicating a higher precedence) will be executed before those with a higher precedence number.  Those operators with the same precedence will be executed from left to right.  To override the order of execution of the operators, parentheses may be used.  For example 2+3*4 would result in 14, while (2+3)*4 would result in 20.  An exception to the rule of precedence occurs when there is no direct right-hand operand (that is, the right-hand operand is to be supplied as the result of the execution of the unary operator to its right).  In such cases, the execution of the operator without a right-hand operand is delayed until that operator is supplied.  For example, in executing .DEG..ARCSIN.[DATABASE], the .DEG. operator can not be executed until the .ARCSIN. operator has been executed, even though it has the higher precedence.

Some operators are unary, meaning that they operate only on the operand to their right.  Other operators are binary, meaning that they operate on two operands, the one to their right and the one to their left.  There are two ternary operators, which take three operands, the one to their left, the one to their right, and the one right of that, separated by a comma.  Also, there can be two names for some operators, with one consisting of two dots with a number of letters between them and the other consisting of one or two non-alphabetic, non-numeric characters.

The operators provided are, by and large, the same operators that are provided by the Allen-Bradley PLCs, which this software has needed to emulate. You might like to refer to the section titled "Precedence of Instructions". It is that set of operators that also forms the basis for the editing within "Numeric" fields (see the section titled: "Numeric").

Below are listed the operators available:

  • OPEN PARENTHESIS  
    ( Precedence:0 No operands
  • CLOSE PARENTHESIS 
    ) Precedence:0 No operands
  • REFERENCE         
    -> Precedence:1 Binary
  • RECORD NUMBER     
    # Precedence:1 No operands
  • RECORD STRING     
    .NO. Precedence:1 Unary
  • NEGATE            
    .NEG. Precedence:2 Unary
  • COMPLEMENT        
    .INV. & ~ Precedence:2 Unary
  • INTEGER           
    .INT. Precedence:2 Unary
  • TO DEGREES        
    .DEG. Precedence:2 Unary
  • TO RADIANS        
    .RAD. Precedence:2 Unary
  • SINE              
    .SIN. Precedence:3 Unary
  • COSINE            
    .COS. Precedence:3 Unary
  • TANGENT           
    .TAN. Precedence:3 Unary
  • INVERSE SINE      
    .ARCSIN. Precedence:3 Unary
  • INVERSE COSINE    
    .ARCCOS. Precedence:3 Unary
  • INVERSE TANGENT   
    .ARCTAN. Precedence:3 Unary
  • NATURAL LOGARITHM 
    .LN. Precedence:3 Unary
  • BASE 10 LOGARITHM 
    .LOG. Precedence:3 Unary
  • SQUARE ROOT       
    .SQRT. Precedence:3 Unary
  • TO BCD            
    .BCD. Precedence:3 Unary
  • TO BINARY         
    .BIN. Precedence:3 Unary
  • RAISE TO THE POWER
    .EXP. Precedence:4 Unary
  • MULTIPLY          
    .MUL. & * Precedence:4 Binary
  • DIVIDE            
    .DIV. & / Precedence:4 Binary
  • MODULUS           
    .MOD. & % Precedence:4 Binary
  • MASK              
    .MSK. & & Precedence:5 Binary
  • ADD               
    .ADD. & + Precedence:6 Binary
  • SUBTRACT          
    .SUB. & - Precedence:6 Binary
  • SET               
    .SET. & | Precedence:7 Binary
  • EXCLUSIVE OR      
    .XOR. & ^ Precedence:7 Binary
  • LESS THAN         
    .LT.  & < Precedence:8 Binary
  • GREATER THAN      
    .GT.  & > Precedence:8 Binary
  • LIMIT             
    .LIM. Precedence:8 Ternary
  • MASKED EQUAL TO   
    .MEQ. Precedence:8 Ternary
  • EQUAL TO          
    .EQU. & = Precedence:8 Binary
  • INCLUDES          
    .HAS. & } Precedence:8 Binary
  • NOT EQUAL TO      
    .NEQ. & <> Precedence:8 Binary
  • NOT LESS THAN     
    .GEQ. & >= Precedence:8 Binary
  • NOT GREATER THAN  
    .LEQ. & <= Precedence:8 Binary
  • LIKE              
    .LIKE. & : Precedence:9 Binary
  • NOT               
    .NOT. & ! Precedence:9 Unary
  • AND               
    .AND. & && Precedence:10 Binary
  • OR                
    .OR.  & || Precedence:11 Binary
  • ASSIGN            
    := Precedence:12 Binary
  • NEXT              
    .NEXT. & , Precedence:13 Binary

The use of these operators is:

  • OPEN PARENTHESIS
  • CLOSE PARENTHESIS
    These are used to override the normal order of operations.  For example 2+3*4 would result in 14, while (2+3)*4 would result in 20.
  • RECORD NUMBER
    This allows you to reference the actual physical record number.  It is anticipated that this would be of use in those circumstances where the record number relates to some extrinsic quantity, such as a racking location or an alarm number.  It requires no parameters.
  • RECORD STRING
    This allows you to reference the actual physical record number in the ASCII form that is used to present it to users.  It is anticipated that access to the record number would be of use in those circumstances where the record number relates to some extrinsic quantity, such as a racking location or an alarm number.  The ASCII representation is often just the ASCII representation of the actual number, but in some circumstances, such as in the case of racking locations, it is somewhat different.  In order for the system to know how to translate this value into ASCII, it needs to know which record set to reference because all non-standard representations of the record numbers are determined by the record set in question.  In order to identify this record set, you need to provide a reference to the first database (field) in that record set.  This is then used to scan through all record sets, looking for the first that has this database as its first field.  Should there be multiple record sets with this database as their first field, chances are that the record number representation scheme employed by each is the same.  If this is not the case and you particularly wanted to use the representation of a subsequent record set, then it is unfortunate. For example, ".NO.[RACKFILLED]" would present the record number in the form used to represent a racking location, "WW:RR-H-LLL-D" (such as: "42:16-A-027-1"), where the first two characters ("42") represent the warehouse (either 41 or 42) and is redundant with the rack, which consists of the first two characters, ("16") following the colon.  The character following the hyphen is the hoist level ("A").  The final digit, "1", represents the depth ("1" for the location near the crane, "2" for the location further from the crane). I have no idea what the corresponding record number would be, but the correspondence is fixed.
  • REFERENCE
    This allows you to reference a value in another database.  For example, if you were looking at the list of conveyor alarms and wanted to highlight those associated with any conveyor with, say, three active alarms, you could enter the expression, [CNACONVEYOR]->[CNNALARMS]=3.
  • NEGATE
    You can not enter a negative number, so should you require the value, -32, you could enter .NEG.3 (or use the binary subtract operator, with or without a left-hand operand: 0-3 or -3).
  • COMPLEMENT
    This allows you to take the binary complement of an integer.  For example, the value 27, which in binary is 11011, becomes, in binary, 111...11100100.
  • INTEGER
    This allows you convert a text string or floating-point number to an integer.  You can also use it to obtain the integral value corresponding to the presentation of a database field, rather than its raw value.  For example, if a database field contained the raw value zero, which happens to be presented to an operator as "5", the [DATABASE] would return 0, while .INT.[DATABASE] would return 5.
  • TO DEGREES
  • TO RADIANS
    Should you ever need to use the trigonometric functions, the operand needs to be specified in radians and the results of the corresponding inverse functions are in radians, so this pair of functions are provided to allow you to convert from degrees to radians.  For example, for the sine of 45 degrees, you would write .SIN..RAD.45 and to obtain the inverse sine of some database value you would write .DEG..ARCSIN.[DATABASE].
  • SINE
  • COSINE
  • TANGENT
    These trigonometric functions are provided because they were there.  Should you ever have need to use them, you'll need to specify the operand in radians.
  • INVERSE SINE
  • INVERSE COSINE
  • INVERSE TANGENT
    These inverse trigonometric functions are provided because they were there. Should you ever have need to use them, the results will be in radians.
  • NATURAL LOGARITHM
  • BASE 10 LOGARITHM
  • SQUARE ROOT
    This set of arithmetic functions are provided because they were there.
  • TO BCD
  • TO BINARY
    BCD is an alternate means of storing numbers in binary form, that is ideal for presentation on a numeric display.  For example, the number 123 would be stored, in binary as 1111011 or, in hexadecimal, as 0x7B.  When coded as BCD, the hexadecimal representation would be 0x123, which, in binary, is 100100011. That number, should it be interpreted as ordinary binary, would correspond to 291 in decimal, not 123.  This pair of functions are provided to convert between these alternate representations.  Examples are .BCD.123 would return 291, while .BIN.291 or .BIN.0x123 would return 123.
  • RAISE TO THE POWER
    This function raises the left-hand value to the power represented by the right-hand value.  For example, 2.EXP.3 would return 8.
  • MULTIPLY
    This function multiplies the left-hand value by the right-hand value.  For example, 2.MUL.3 would return 6.
  • DIVIDE
    This function divides the left-hand value by the right-hand value.  For example, 2.DIV.3 would return 0, while 2.0.DIV.3 or 2.DIV.3.0 would return 0.666667, or thereabouts.  If either operand is floating point, then floating-point arithmetic is used, otherwise, integer arithmetic is used.
  • MODULUS
    This function divides the left-hand value by the right-hand value and records the remainder.  For example, 5.MOD.3 would return 2.
  • MASK
    This function ANDs the left-hand and right-hand values together.  For example, 51.MSK.7 would return 3; 51 is 0b110011 and 7 is 0b000111, so ANDing these results in 0b000011, which is 3.
  • ADD
    This function add the left-hand and right-hand values together.  For example, 2.ADD.3 would return 5.  Should both operands be text strings, or one a text string and the other a database value (which may have both numeric and text values), this operator concatenates the strings.  So, if [DATABASE] has a raw value of zero and a text representation of "5", the expression, "Value is ".ADD.[DATABASE] would return "Value is 5".
  • SUBTRACT
    This function subtracts the right-hand value from the left-hand value.  For example, 3.SUB.2 would return 1.  Should both operands be text strings, or one a text string and the other a database value (which may have both numeric and text values), this operator removes the first occurrence of the right-hand operand from the left-hand operand.  So, if [DATABASE] has a raw value of zero and a text representation of "5", then the expression, "Value is 505".SUB.[DATABASE] would return "Value is 05".
  • SET
    This function ORs the left-hand and right-hand values together.  For example, 51.SET.7 would return 55; 51 is 0b110011 and 7 is 0b000111, so ORing these results in 0b110111, which is 55.
  • EXCLUSIVE OR
    This function exclusively ORs the left-hand and right-hand values together. in this operation the only bits that are set in the result are those that are set in one of the operands but not in both.  For example, 51.XOR.7 would return 52; 51 is 0b110011 and 7 is 0b000111, so exclusively ORing these results in 0b110100, which is 52.
  • LESS THAN
  • GREATER THAN
  • EQUAL TO
  • NOT EQUAL TO
  • NOT LESS THAN
  • NOT GREATER THAN
    These operators can be used on strings or integers or floating-point numbers.  In the case of strings, the two strings are compared, looking for the first character from the left that is different, and the comparison is then based on the relative ASCII values of those two characters.  If, one of the operands is a floating-point then the other will be converted to floating point prior to the comparison.  Otherwise, if one is an integer, the other will be converted to an integer before comparison.  A true result becomes the integer 1, while a false result becomes the integer 0.
  • LIKE
    This operator tests the left-hand operand to see if it satisfies the pattern that is contained in the right-hand operand.  If the pattern is satisfied, the result will be 1 and otherwise it will be 0.  The syntax for the pattern is based on the SQL syntax for its LIKE pattern.  Most characters in the pattern are used to match that same character in the left-hand operand.  The exceptions are the backslash character ('\'), the per-cent sign ('%'), the underscore ('_'), the open square-bracket ('['), the minus sign or hyphen ('-'), the circumflex ('^'), the close square-bracket (']'), and the asterisk ('*').  The backslash character is used to restore the literal meaning to the character that follows it, which is expected to be one of the exceptional characters just listed.  The backslash character is equivalent to the character nominated using the ESCAPE keyword in SQL.  The per-cent sign will match any number of characters, even zero characters.  It will match as many characters as needed to give the remainder of the pattern its maximum chance of matching the left-hand operand.  The underscore will match any one character, even a space; it is used to shift the focus in the left-hand operand along one place.  The open square-bracket introduces a range of characters so that the next character in the left-hand operand will be deemed as matching if it matches any one of those in the range specification.  The minus sign, circumflex, and close square-bracket only have special significance when the open square-bracket has been used to introduce the range of characters.  Under these conditions, the close square-bracket terminates the range specification.  The minus sign is used between two other characters to indicate that all the characters whose ASCII value lies between those of the two characters are also included in the range specification.  The circumflex, if it appears immediately after the open square-bracket, directs that the range specifies a list of unacceptable, rather than acceptable, characters.  Finally, the asterisk is used to modify the previous element of the pattern (usually a single character but sometimes a range specification if it follows a close square-bracket).  It states that the left-hand operand needn't match, but that if it does match, then the point of interest in the left-hand operand should be advanced to the first character that doesn't match the previous element of the pattern.  Unlike SQL, all comparisons are case sensitive, so "A" .LIKE. "a" will return 0.  I hope that that is all clear.  Examples: "The Quick Brown Fox Jumps" .LIKE. "%Quick%Fox%" will return 1, "5% of Nothing" .LIKE. "5\%%" will return 1, "5% of Nothing" .LIKE. "[0-9]\% of %" will return 1, "25% of Nothing" .LIKE. "[0-9]*\% of %" will return 1, as would "% of Nothing" .LIKE. "[0-9]*\% of %", and "[^8]*" would match any left-hand operand that did not have an "8" anywwhere in it. Note: the pattern "_*" will behave like the per-cent sign when it appears at the end of a pattern, but, should you follow the "_*" with anything at all, it matches nothing.  This operator can result in the use of considerable computer power, so please use with caution; try to restrict the number of candidate records using other means before applying this operator.  The computing involved on behalf of the per-cent character is particularly onerous, except when it appears at the end of the pattern.
  • NOT
    This operator compares the right-hand operand to 0.  If it is 0, then the result is 1.  Otherwise the result is 0.
  • LIMIT
    This operator only accepts integral operands.  An attempt will be made to convert the operands to integers.  The result is 1 if the second operand is within the inclusive range of the first and third, provided that the first is less than the third.  If the first is greater than the third, the result will be 1 if the second operand is not within the inclusive range of the third and first.  If the result is not 1, it will be 0.  For example, 2.LIM.3,5, would result in 1, as would any second operand in the set {2,3,4,5}.  Any other value in the second operand would result in 0.  A second example, 5.LIM.3,2, would result in 0, as would a second operand of value 4.  Any other value in the second operand would result in 1.
  • MASKED EQUAL TO
    This operator only accepts integral operands.  An attempt will be made to convert the operands to integers.  The first and third operands are bitwise anded with the second operand and the two results are compared for equality. For example, 0b11011.MEQ.0b01110,0b11111, would produce intermediate results of 0b01010 and 0b01110, which are not equal, while 0b11011.MEQ.0b01010,0b11111, would produce intermediate results of 0b01010 and 0b01010, which are equal.
  • INCLUDES
    This operator accepts text operands only.  If the right-hand operand is included, contiguously, within the left-hand operand, then the result is the integer value 1, rather than 0.  For example, "Text to be tested".HAS."be" will return 1, while "Text was tested".HAS."be" will return 0.
  • AND
    This operator returns 1 if both the left-hand and right-hand operands are other than 0.
  • OR
    This operator returns 1 if either of the left-hand and right-hand operands are other than 0.
  • ASSIGN
    This operator is only to be used in the "Set" expression, which will be described shortly.  This operator is only available for left-hand operands that are database names.  Since it has a very low precedence, it can only have a left-hand database operand if that operand is either the first or is preceeded by the NEXT operator, which is the only one with a lower precedence. Any use of this operator in a "Where" expression will be replaced by the "EQUAL TO" operator.  On the other hand, should you, when writing a "Set" expression, use the "EQUAL TO" operator where the left-hand operand is the first, or the first after the "NEXT" operator, and that operand is a database name, then it will be replaced by the "ASSIGN" operator.
  • NEXT
    This operator is used to enable the provision of a third parameter for the ternary operators, "LIMIT" and "MASKED EQUAL TO".  For example 0b11011.MEQ.0b01110,0b11111 or 0b11011.MEQ.0b01110.NEXT.0b11111.  It will also be used in the "Set" expression, which will be described shortly.

To remove this restriction, type "W" a second time, and this time remove the field contents.

When this restriction is in force, and there is no restriction on the first field (see the section, "Given Text in a Field (Restrict/Match)"), then the text "WHERE: " followed by the expression that you entered (or as much of it as will fit), will be displayed above the records, in the first column, replacing the column title had there been one. In any case, the full description of the restriction will be presented in a tooltip, should you move the mouse pointer to the extreme left of the column heading (the horizontal scrollbar will need to be all the way left).

This expression may accompany restrictions and sequences.  It is recommended that the listing be first restricted using the restrictions and sequences before entering the expression, as expressions take more computer time to implement.  Again, please refer to section, "Given Text in a Field (Restrict/Match)")

Modify All Satisfying Records

The "Where" dialogue window, if you have logged in with the highest privilege level, offers a "Set" button.  When this is clicked on, the "Where" expression is applied, just as it would have been had you clicked the "OK" button, but, additionally, a new dialogue window is presented allowing you to enter a second expression.  This second expression is to include assignments for one or more databases.

The editing of this expression is described in the section titled: "Where".

Only those records of the databases that satisfy the "Where" expression and any other restrictions that may be also in force, will be altered.  Each assignment should consist of a database field name, followed by the assignment operator (":="), then followed by an expression.  Should there be multiple assignments, then each should be separated from the previous assignment by the "NEXT" operator.

A simple example would be [DBWHERE]:=[DBWHERE]+"_NAME",[DBSEC]:=2, which would append "_NAME" to each member of the DBWHERE database that satisfies the restrictions and would also set the same records of the DBSEC database to the value 2.

After clicking on the "OK" button, you will be asked to confirm that you wish these alterations to be made before the statement will be executed.  Should you opt not to have the statement executed, it will still be kept, so that you can, subsequently, open the "Where" dialogue and then the "Set" dialogue to review the statement again, before considering whether or not to execute it.

Move Up/Down in Linked Lists

This applies to the "linked list" databases only.  These databases are indicated by the menu item "Group" in the menu bar.

The object here is to gather together records from within a single group within the linked-list database, into a "selection", and to relocate this "selection" within the group.  Subsequently, you can "copy" or "cut" the "selection" in order to "paste" it into another group; this will be covered in the next section titled: "Copy or Cut from Linked Lists".

It is important to understand the distinction between a "selection" of records, as described here, and a "collection" of records, as described in the section titled: "Multiple Record Editing (Kollecting)".  In each case, multiple records are highlighted, and the operation of the "Change" and "Select" for editing functions (see "Changing the Field Contents" and "Editing the Entire Record and Deleting") will serve to affect all records in either the selection or the collection.  The important difference is that including a record in a selection, reorders that record in the record set, whereas including a record in a collection does not affect its position in a record set.  You should be using this feature, primarily, if it is your intention to reorder the records.

In this section and the next, we will use the terms "select", "copy", "cut", and "paste".  These terms date from the earliest word processors, and were used to relate these electronic manipulations to the editing a paper document by cutting out words and pasting them elsewhere.

Before proceeding further, you must first restrict the display to a single "group" by typing "G" then entering the designation of that "group".  For further details, please refer to the section titled: "A Given Group in Linked Lists".

You can then define a "selection" by either highlighting a record and then typing [CONTROL M], or else you can hold down the [CONTROL] key as you click on a record.

Now that a "selection" is defined, it may be extended.  You can do this by holding down either the [SHIFT] or [CONTROL] key and clicking on other records from the same list.  You can also use the [UP] and [DOWN] keys to highlight other records, then hold down [SHIFT] or [CONTROL] while typing "M".

If you use the [SHIFT] key, and the record is above or below the "selection", then all intervening records will be added to the "selection".  If the record is at the bottom of the "selection", the "selection" will be disolved.  If the record is within or at the top of the "selection", the "selection" will be reduced to include only those records from the record to the top of the "selection".

If you use the [CONTROL] key, and the record is above or below the "selection", then the "selection" will be moved to the record and the record will be added to the bottom of the "selection".  If the record is at the top of the "selection", the "selection" will move its top down by one record, releasing the top record from the "selection".  If the record is within or at the bottom of the "selection", the record will be repositioned at the bottom of the "selection", then the bottom of the selection will be raised by one record, releasing this record from the "selection".

You can also create a "selection" by positioning on a record, and holding down the [SHIFT] key, as you click on another record.  In this instance, all records from the record positioned on initially, to the record you clicked on with the [SHIFT] key down, will be included in the "selection".

Also [CONTROL A] (for "add") is equivalent to [CONTROL M], and [CONTROL E] (for "extend") is equivalent to [SHIFT M].

Also, you can extend the "selection" by highlighting a record at one end of the "selection", then typing [SHIFT SEPARATE UP] or [SHIFT SEPARATE DOWN] to add its neighbour, in the corresponding direction, to the "selection".  If the direction is towards the inside of the "selection", then, highlighted record will be released from the "selection" and its neighbour is unaffected.  If you do not have sufficient privilege to create "collections" (see the section titled: "Multiple Record Editing (Kollecting)"), or a "copying" or "cutting" region is defined (see the section titled: "Copy or Cut from Linked Lists"), and no "collection" is defined, then these keystrokes can also be used to start the definition of a "selection".

Once the records to be moved are in the "selection", these records can be moved by clicking on another position within the list, without using either [SHIFT] nor [CONTROL].  If the position is above the "selection", the top of the "selection" will be moved to the position that record was occupying, and the record, and all below it, will be moved down to make room for it.  If the position is below the "selection", the bottom of the "selection" will be moved to the position that record was occupying, and the record, and all above it, will be moved up to make room for it.

Also, once a "selection" has been defined, the changing field contents and editing of entire record operations will be altered.  The data presented will be blank or zero, unless all records in the "selection" share the same value for a given field.  If a field is altered, you will be prompted, upon closing the dialogue, to confirm that all records in the "selection" are to have their corresponding field altered to this value.  Also upon closing the dialogue, any restrictions on the field that was the subject of the change, or all fields, if editing the entire record, will be removed.  Please note, that, unless all records agree with the value of a given field, that field can not be edited to blank or zero.

Please also bear in mind that, if the prompt specifies a range of numbers that does not begin at zero, zero will be presented as a non-zero number.  For example, the prompt, "How many in pack <1-4>" will present 0 as "1", 1 as "2", and so on, as zero corresponds to the lowest value in the range, in this case "1".  There might also be other data presentations where zero is not presented as a blank field.

After the move, the "selection" remains in place.  You will need to explicitly release the "selection".  This can be done as mentioned in passing earlier, or by right clicking, or by typing [CONTROL U].

Copy or Cut from Linked Lists

This applies to the "linked list" databases only.  These databases are indicated by the menu item "Group" in the menu bar.

The object here is to use the "selection" already defined, to be the basis for the creation of a duplicate set of records in this or another group of this linked-list database.  You must, therefore, first define a "selection". Please refer to the section titled: "Move Up/Down in Linked Lists".

Having defined a "selection", you can mark it as the base for "copying", by typing [CONTROL C], or for "cutting" by typing [CONTROL X].  Initially there is no difference between "copying" and "cutting", except that the records are presented in different colours.  When you later go to "paste" the records elsewhere, had they been marked for "copying", the original records will be left alone and copies of them made at the location of the "paste".  On the other hand, had they been marked for "cutting", the original records will be relocated to the location of the "paste".

Once a "copy" is defined, the records constituting it may be copied to other parts of this group or to other groups.  First, you will need to highlight the position at which you wish the records to be pasted.  If this location is within another group, you will need to switch to this group by typing "G" then entering the designation of that "group".  For further details, please refer to the section titled: "A Given Group in Linked Lists".

After highlighting the location at which you wish the records to be relocated or copied to, type [CONTROL V] to paste the records.  After the paste, the "copy" is released.  You may explicitly release the "copy", by right clicking, or by typing [CONTROL U].

Maintenance Viewing Data

These windows are presented to allow you to select a particular set of configuration data to modify or delete, or to create a new set.  The additional features offered by these windows are:

  • changing the contents of a field.
  • selecting a record to edit.
  • creating new records.

Changing the Field Contents

To change the contents of a particular field, highlight the target field of the target record then type "C", or click on the "Change" menu item, then enter the new contents.

If the record has been expanded, take care to distinguish between the symbolic field and the following referenced field. Changing the contents of the former selects a different referenced field and hence a different referenced "Set of Fields".

Changing the contents of the latter changes the contents of the referenced field leaving the symbolic field still referencing the same referenced "Set of Fields".  The change to the referenced field will be reflected as an apparent change to the symbolic field.

Editing the Entire Record and Deleting

To select a record for editing, type "S", or [RETURN], or click on the "Select" menu item, then enter the specification of the required record.  The specification will default to the highlighted record, so an alternative method is to highlight the required record, then type "S", then [ENTER], or [RETURN] sufficiently often to accept the default, or just double click on the record in question.

Once selected, a new dialogue window is opened, presenting this record as a "Set of Fields".  This data may now be modified as required.  Refer to the section titled: "Set of Fields".

While editing the "Set of Fields", [PAGE UP] and [PAGE DOWN] may be used to select the previous or next records, [DELETE] may be used in conjunction with [F1] to delete the record and [INSERT] may be used to create a new record.

Add New Records (Insert)

Back at the "Viewing Data" window, you can, by typing [INSERT] or "I" or clicking on the "Insert" menu item, select a data set containing wiped data. The wiped data sets are usually excluded from the "Viewing Data" windows automatically and so can not be selected using "S", [RETURN], [ENTER], or double-clicking.

As in the case of selecting a field using "S", a dialogue window is opened, presenting a record as a "Set of Fields", only this time they will be substantially blank.

Restrict to a Single Record

Back at the "Viewing Data" window, if you restrict display to those records that contain the given data in a field that is required to contain unique data, the will therefore specify a single record, which will be automatically selected for editing.  When you return to the "Viewing Data" window, the restriction will be removed.

Multiple Record Editing (Kollecting)

This function is only available if you have sufficient privilege.  This privilege level is specified in the "Configuration Data" record, titled "Level: kollect records".  Please refer to the section titled: "Configuration Data".

You may edit several records at once, by first defining a "collection". Subsequent to defining the "collection", any changing or editing will be applied to all records of the "collection".  You will be asked to confirm each field to be altered, but not each record to be affected, so you should make sure that only the desired records are collected.

In the case of "linked list" databases, it is important to understand the distinction between a "collection" of records, as described here, and a "selection" of records, as described in the section titled: "Move Up/Down in Linked Lists".  In each case, multiple records are highlighted, and the operation of the "Change" and "Select" for editing functions (see "Changing the Field Contents" and "Editing the Entire Record and Deleting") will serve to affect all records in either the selection or the collection.  The important difference is that including a record in a selection, reorders that record in the record set, whereas including a record in a collection does not affect its position in a record set.  You should be using a "selection", primarily, if it is your intention to reorder the records.  Otherwise, you are in the right place.

When records are included within a "collection" they will be displayed differently to the other records.

Throughout this section, several keystroke and mouse methods will be described. If you are dealing with a linked-list database, you are best to restrict your keystrokes to those that are not shared with the creation of "selections" (such as "k" and [SHIFT K]), and to avoid the mouse operations.  For information on "selections", please refer to the section titled: "Move Up/Down in Linked Lists".  The records of a "collection" will not only be coloured differently from regular records, they will also be coloured differently to records in "selections".

Now down to business.  The simplest approach is to highlight each record of interest and type "k" (or click on "Kollect").  If you type "k" for a record, that is already in the "collection", it will be removed from the "collection". If you type [SHIFT K], you will release all records from the "collection".

You can also select records for inclusion in a "collection", by highlighting one, then typing [SHIFT SEPARATE UP] or [SHIFT SEPARATE DOWN] to add the highlighted record, and its neighbour in the corresponding direction, to the "collection".  If the neighbouring record was already in the "collection", both records will be removed from the "collection".  When dealing with linked-lists, if a "selection" is defined, or a "copying" or "cutting" region is defined, then these keystrokes can not be used to start a "collection", as they will instead start or extend a "selection".  For more information on "selections" and the "copying" and "cutting" regions, please refer to the sections titled: "Move Up/Down in Linked Lists" and "Copy or Cut from Linked Lists".

Alternatively, unless using a linked-list database, you can highlight a record, then, while holding down [SHIFT], click on another record.  This causes the two records and all intervening records to be added in the "collection".  If, while holding down [CONTROL], you click on another record, only the record clicked on will be added to the "collection".  If in either of these operations, the record clicked upon was already within the "collection", the records involved will be removed from the "collection".  You can release all records from a "collection" by right clicking.

Once a "collection" has been defined, the changing field contents and editing of entire record operations will be altered.  The data presented will be blank or zero, unless all records in the "collection" share the same value for a given field.  If a field is altered, you will be prompted, upon closing the dialogue, to confirm that all records in the "collection" are to have their corresponding field altered to this value.  Also upon closing the dialogue, any restrictions on the field that was the subject of the change, or all fields, if editing the entire record, will be removed.  Please note, that, unless all records agree with the value of a given field, that field can not be edited to blank or zero.

Please also bear in mind that, if the prompt specifies a range of numbers that does not begin at zero, zero will be presented as a non-zero number.  For example, the prompt, "How many in pack <1-4>" will present 0 as "1", 1 as "2", and so on, as zero corresponds to the lowest value in the range, in this case "1".  There might also be other data presentations where zero is not presented as a blank field.

Refreshing the Display

The records that are presented in a "Maintenance Viewing Data" window are selected when the window is opened, and then, afterwards, as restrictions are applied, so as to include all records that satisfied those restrictions at that time.

Also, if you were to edit a record, then the selection of records would be reviewed in response to this.

It is possible, however, for there to be database changes by others or the Movement Controller itself, which would change the selection of records to be displayed. If this happens, you will find that the selection of records presented no longer satisfy the requirements for inclusion.

If you suspect that this has or might have happened, and want to present only those records that now qualify for inclusion, you should type "U" or click on the "Update" menu option.

Report Viewing Data

These windows are presented to allow you to apply restrictions prior to requesting a report.

Once any desired restrictions have been entered, typing "P", [RETURN], [ENTER], or clicking on the "Print" menu item terminates the restriction stage.  Before printing commences, further options may be presented, then finally you will be asked whether you wish to have the report

  • sent to the "Printer", or
  • sent to the "Viewer", or
  • written to a "Rich Text Format" or "RTF" file (suitable for viewing by most word-processing program such as Microsoft Word), or
  • written to a "Comma Separated Variable" or "CSV" file (suitable for importing into many database programs such as Microsoft Excel).

You can select "Printer" by typing "P" or by clicking on the "Printer" button.  You can select "Viewer" by typing "V", or by clicking on the "Viewer" button.  You can select "Rtf file" by typing "R", or by clicking on the "Rtf File" button.  You can select "Csv file" by typing "C", or by clicking on the "Csv File" button.

If you select "Printer" the report will be sent to the print spooler.  The report file may be configured to suit an IBM-PC printer or an HP PCL printer - see the "Using HP DeskJet" variable in the section titled: "Configuration Data"

If you select "Viewer", you will be presented with the report in a new dialogue window.  This window will have a vertical scroll bar, which you can use to scroll through the report.  The [PAGE DOWN], [PAGE UP], [DOWN], [UP], [CONTROL PAGE DOWN], and [CONTROL PAGE UP] keys may also be used to operate the scroll bar.  To quit viewing the report, type [ESCAPE].

The "Rich Text Format" is a standard format recognised by all common word processors.  These files have the extension ".rtf".  Had you specified that you wanted the files to go to the printer, the Movement Controller would have produced a temporary file that contained instructions for control of an IBM-PC style dot-matrix printer or an HP DeskJet or similar printer (depending upon database settings - see "Using HP DeskJet" variable in the section titled: "Configuration Data").  If you do not have one of these types of printers, then by producing an RTF file, you can use other word processors to print the report.  So, if you select "Rtf file", you will be asked to enter or select a filename to contain the report.  The file will not be automatically spooled to the printer; you'll need to do this yourself.

The "Comma Separated Variable" format is a standard format recognised by all common database and spreadsheet programs.  These files have the extension ".csv".  If you request files of this type, the column headings and column totals will be included, along with the bulk of the report, however, the report title and the report qualifying statements, usually included at the start of the report will be omitted, as these would not fit with the column format of the rest of the report.  If you select "Csv file", you will be asked to enter or select a filename to contain the report.

Help

Most of the windows provide the "Help" feature.  This feature, if active, is called up by typing [F12].

There is usually a "HELP" button or menu item that can also be pressed to call up the "Help" feature.

A quick aside for those reading this through the Movement Controller help windows: type [GREY PLUS] to advance the cursor to the topic of interest within the list presented below, then type [ENTER] to read the topic.  When done, type [BACKSPACE] to return to this section.

Display Format

In response to typing [F12], a window is opened in the current window, through which portions of this manual, the TECHNICAL MANUAL, and the SOFTWARE MANUAL may be displayed.  The section of the OPERATOR'S MANUAL (this manual), relevant to the window you are using will be displayed. Otherwise, a list of the major sections of this manual will be displayed.

The help window is normally divided into two parts, the header and the text sections.  There is also a vertical scroll bar and a menubar at the top of the display to provide, via the mouse, the features that are provided by the keyboard.

The header section is at the top of the window and shows the name of the major section of the manual that is currently open, and below this it shows the name of the section within this section that is currently open, and so on.

To the right of the final subsection is shown the page of this subsection that is being displayed.  Should the window be showing parts of two pages, the page number will reflect the first, and a plus sign ("+") will be appended to the page number.

In the text section is first presented the text from the indicated section of the manual (barring window dumps), followed by the list of sections subordinate to this section.  This text is presented in a number of colours. One colour is reserved for references to other sections of the manual and for the list of subordinate sections.

When no section is being displayed, there will be no division of the window; either the list of major sections or the list of manuals will be displayed in the undivided window.

Moving by Lines and Columns

There is a cursor, which is initially presented at the start of the first blank line in the text section.  This cursor may be moved throughout the text section using the cursor keys.

Attempts to move down past the bottom of the text section will result in the text scrolling upwards.  The page number will be advanced from "1" to "1+".  After continuing to scroll the text upwards, eventually you will reach page "2", given sufficient text.

Attempts to move up past the top of the text section will result in the text scrolling downwards until the start of the section is displayed.

The cursor may be moved to an arbitrary point on the help page by clicking there with the left mouse button.

Moving by Pages

The window may be moved through the section, page by page, by typing [PAGE DOWN] for the next page or [PAGE UP] for the previous page.

Attempts to page down past the last page of the section, will present the first page of the next section still subordinate to its encompassing section, or, if there is no such next section, the first page of the section next to the encompassing section, or, if there is no such next section, the first page of the section next to the section that encompasses the encompassing section, et cetera.

Attempts to page up past the first page of the section, will present the last page of the previous section still subordinate to its encompassing section, or, if there is no such previous section, the first page of the encompassing section.

The pages may be advanced using the scroll bar.

Moving to Beginnings and Ends

You can move to the beginning of the line, or, if at the beginning of the line, to the top of the window, or if at the top of the window, to the start of the section, by typing [HOME].

You can move to the end of the line, or, if at the end of the line, to the bottom of the window, or if at the bottom of the window, to the last page of the section, by typing [END].

Moving to References

You can relocate the cursor to the displayed references to other sections of the manual and to entries in the list of subordinate sections, by typing [GREY PLUS] to move forward, or [GREY MINUS] to move backwards.  These references and the entries in the list will be shown differently to the regular text.

Once the cursor has been relocated to a section reference or an entry in the list of subordinate sections, that section can be displayed by typing [ENTER].

The section may also be called up by double-clicking on it.

Moving to an Arbitrary Section

If you know the name of the section you wish to read, or some text you would expect to appear in its name, type [F1], "s", "S", "f", or "F".  In response, you will be asked to enter the text.

The text should be entered in lower case and will match names found in upper or lower case.

Once you enter the text, it will search the names of the major sections, then the names of the sections below these, then the names of the sections below these and so on, starting however at the section after the current section, and wrapping around till it again reaches this section.

Once it finds this text in a section name, it stops searching further and displays the corresponding section.  Should it fail to find the text at all, it will again display the current section.

Should the text you enter be expected to be found in several sections, you can display each of the matching sections in turn by typing [F2], "a", or "A".

Help on Using Help

If you type [F12] when already in Help, the "Help" section of the OPERATOR'S MANUAL will be displayed.  This provides help for using the help feature.

Moving Directly to the Encompassing Sections

The encompassing section may be reached, as described previously, by typing [PAGE UP] sufficiently often.  Alternatively, this encompassing section may be called up directly by typing "Z" or [BACKSPACE].

Once you have reached the major section, typing "Z" or [BACKSPACE] once more will result in a list of the major sections being presented as the list of subordinate sections to the manual.

Changing Manuals

To change manuals, you must first move out through the encompassing sections, by typing, "Z" or [BACKSPACE].  Once the list of major sections has been reached, the list of manuals can be reached by typing "Z" or [BACKSPACE] once more.

You may then move the cursor to the manual you wish to read, then type [ENTER].  In response, either the list of the major sections of the TECHNICAL MANUAL or the SOFTWARE MANUAL, or the section of the OPERATOR'S MANUAL relevant to the window you are using will be displayed.

Exitting

To exit from help, type [ESCAPE].  The original window will be restored.

Changing the Colours

On the main menu, under "View", are three options, "Fonts", "Colours", and "Function Keys".  The "Colours" option allows you access to the adjusting of the display colours.

This option is only provided if you have sufficient privilege.  The privilege level required is that that corresponds to the database field known, within the software, as "GraphicPaletteColour", which is usually presented with the prompt, "Palette description".

To change the colours, select this option. You will be requested to enter the colour purpose, a "Symbolic Name" field. For editing instructions for this type of field, please refer to the section titled: "Symbolic Name".

The software uses sixteen colours to display its information.  For some purposes, when it requires a particular colour to be presented, it will refer to this colour, using a number from one to sixteen.  More commonly, the software will refer to the purpose it wants the colour for, and retrieve the "colour number" - a number from one to sixteen - from a table.  The table has many more entries than the sixteen possible colours, however each entry in the table is confined to the range one to sixteen.  This is the "colour purpose" table.

The first sixteen colour purposes are the sixteen colours themselves.  This inclusion of the colours themselves among the colour purposes allows the definition of devices to select colours based on either their purpose, for example "photocell on", or colour, for example red and yellow for fire and grey for smoke.

If you wish to alter the shade of a colour, for example make the red a little darker, you would select one of the first sixteen colour purposes.  However, if you wish to use a different colour for a particular purpose, for example have the "Selected Backdrop" colour purpose use blue rather than dark green, you would select one of the colour purposes beyond the first sixteen.

Each of the sixteen possible colours has a single name, however, the shade corresponding to the colour can be set individually for each user.

Similarly, each of the colour purposes has a single name, however, the colour referenced by the colour purpose can be set individually for each user.

So the first step is to select the colour purpose.  As indicated already, this may either be one of the first sixteen, which coincide with the colours themselves, or more usually, one of the latter purposes.

Once the colour purpose is selected, there are four things that you can do:

  • select a different colour for the chosen purpose,
  • alter the shade of the colour that corresponds to the chosen purpose,
  • rename the colour that corresponds to the chosen purpose, and
  • rename the chosen purpose.

Select the Colour for the Chosen Purpose

Having selected a colour purpose (or one of the sixteen colours), you will be presented with a "Set of Fields" and a number of buttons.  The "Set of Fields" includes only the colour assigned to chosen purpose (a "Symbolic Name" field).  Refer to the sections titled "Set of Fields", and "Symbolic Name".

Do not alter the colour assigned to the first sixteen colour purposes, as the colour purpose "red" must always be assigned the colour "red" and so on.

The push-buttons allow you to alter

  • the shade of the colour,
  • the raw RGB components of the colour,
  • the name of the colour, and
  • the name of the colour's purpose,

Edit the Shade of the Colour

As well as being able to alter the colour assigned to the colour purpose, you may also edit the hue of the colour assigned to the chosen purpose, by pressing the "Edit palette" button.  In response, you will be presented with the "Color" dialogue window (featuring the usual american spelling mistakes).

When you enter this dialogue window, all of your colours are written to the "custom" colours in the set of squares at the lower left of this dialogue window.  You can now modify any or all of these colours.

You need first to select a colour into the "Color" square in the lower portion of the dialogue window, just right of centre.  This can be done a number of ways, but first of all you should click on the custom colour you wish to change.  In response the custom colour will be surrounded by a solid and a dotted square. Bear in mind, that each time you click on "Add to Custom Colors" (see below) this selection will change - the dotted square will be removed, and the solid square, even if it remains, will no longer ensure that this will be the custom colour to which the colour will be written.

The simplest way to set the colour in the "Color" square is by clicking on one of the "basic" colours.  This will move both the solid and dotted squares from the custom color, but leave it selected, at least until you click on "Add to Custom Colors" (see below).

Alternatively, you can create your own colour.  You will find the range of colours presented as a cube (or more correctly, an inverted triangular pyramid), represented by the base square (presenting a triangle of colours) and the "luminosity" column based on the selected point in the square.

To create your own colour, you can select a combination of hue and saturation, by clicking in the large square, just to the right of the "basic colors" boxes, then adjust the luminosity (brightness) of the colour by clicking in the vertical strip to the right of this square.  There is also a pointer that can be dragged to adjust the luminosity.

The square is coloured with increasing hue in the horizontal direction (from red, through green and then blue, and back to red again) and increasing saturation in the vertical direction.

As you move from a point at the top of the square towards the base, the "saturation" is decreased from 240 to 0.  This means that the quantities of red, green, and blue are uniformly increased so that they all reach their full value at the base.  At the base of the square the colour is grey (and hence the reference to a triangle rather than a square).

The "luminosity" column allows you to darken the colour selected from the square.  The "luminosity" ranges from 240 representing the colour at the selected point in the square, at full brightness, to 0 representing black (and hence the reference an inverted triangular pyramid rather than a triangular prism).

As you adjust the colour, a sample of the colour is presented in the rectangle titled "Color", just below the "hue-saturation" square.

There are two ways to specify a point in the three dimensional colour space. The first, and most obvious, is to specify the quantities of "red", "green", and "blue", in the range from 0 to 255.  The second is to specify the values for "hue", "saturation" and "luminosity" as described above.

In addition to being able to select a point in the "hue-saturation" square and a level on the "luminosity" column, any of the six dimensions, "hue", "saturation", "luminosity", "red", "green", and "blue" may be set directly using the numeric entry fields.  Note that as there are only three orthogonal dimensions, changes to any one of the first three are reflected by changes to the second three dimensions, and, conversely, changes to any one of the second three are reflected by changes to the first three dimensions.

By way of clarification, this is analogous to controlling your shower.  In this situation there are two orthogonal dimensions, which can be hot and cold (which most of us use).  Alternatively these orthogonal dimensions can be temperature and pressure, which would probably be more user-friendly and certainly more difficult to implement.

Having created a shade, you need to add it to the "custom" colours.  You do this by clicking on "Add to Custom Colors".  As well as adding this to the selected custom colour, it will advance the custom colour selection (without indication), so you should then click again on the custom colour of interest, to place the solid and dotted squares around it, before again clicking on "Add to Custom Colors".

Having done this you can now click on "OK" and have all the "custom" colours replace your current set of colours.  Should you not wish this to happen, click on "OK".

Should you so alter a colour, that its name no longer reflects its colour, you should change both its name and the name of the corresponding colour purpose from among the first sixteen colour purposes.  Bear in mind that as you change the colour, it only affects the presentation of that colour for the currently logged-in user, however, the name of the colour is common to all users, so you should try to reach a consensus with the other users before renaming the colour.  Refer to the sections titled: "Edit the Colour's Purpose".

Edit the Colour's Palette Directly

You may also edit the colour's Red, Green, and Blue components directly, by pressing the "Edit palette directly" button.  In response, you will be presented with a "Set of Fields".  The "Set of Fields" includes the three colour components assigned to the colour (all "Numeric" fields).  Refer to the sections titled "Set of Fields", and "Numeric".

Here the values for red, green, and blue are hexadecimal, ranging from 0 to FFFF (65535 in decimal).

When finished editing these details, press [ESCAPE] to return to editing the colour purpose details.

Edit the Colour's Name

You may also edit the colour's name, by pressing the "Edit colour name" button.  In response, you will be presented with a "Set of Fields".  The "Set of Fields" includes only the colour name (a unique "Name" field).  Refer to the sections titled: "Set of Fields", and "Name".

The main reason for calling up this "Set of Fields" is to rename the colour once the values have been so altered that the name no longer describes the colour.  Once you do this you should also alter the name of the corresponding colour purpose (one of the first sixteen).

Bear in mind that when you changed the colour, it only affected the presentation of that colour for the currently logged-in user, however, the name of the colour is common to all users, so you should try to reach a consensus with the other users before renaming the colour.

Edit the Colour's Purpose

This allows you to change the text used to describe this purpose, by pressing the "Edit colour purpose" button.  In response, you will be presented with a "Set of Fields".  The "Set of Fields" includes only the colour's purpose (a unique "Name" field).  Refer to the sections titled: "Set of Fields", and "Name".

Bear in mind when you changed the colour that was associated with this purpose, it only affected the presentation of that colour purpose for the currently logged-in user, however, the text used to describe the colour purpose is common to all users, so you should try to reach a consensus with the other users before changing the text that describes the colour purpose.

Finish Changing the Purpose

When done editing the colour purpose details, press [ESCAPE] to return to the selection of a colour purpose.

Finish Changing the Colours

When done, press [ESCAPE] to exit colour change mode.

Select the Font

There are three font uses within the Movement Controller software.

The first use employs a font derived from an IBM-PC BIOS.  This is required when characters outside the standard ASCII range are used, for the large character at the left of the uniform buttons on drawing areas, and for "character" primitives used in the graphical representation of user-defined devices.  No alternative font may be selected for this use, however you may edit this font.  This font is referred to as the "Button" font use.

The fonts for the second and third uses can be selected.

The second use requires a fixed-pitch (monospaced, typewriter) font and is employed within the drawing areas and text entry fields.  This font use is referred to as the "Fixed" font use.

The font, for the third use, may be a proportional font.  This font is employed in all other instances.  This font use is referred to as the "Proportional" font use.

On the main menu, under "View", are three options, "Fonts", "Colours", and "Function Keys".  The "Fonts" option allows you select fonts for the proportional and fixed uses in the displays, and to edit the font used for the large letter in buttons.

To select a different font for either the proportional and fixed font uses or to edit the font for the button use, select this option. If you have sufficient privilege to edit both font uses, you will be then requested to enter either an "F" for the "Fixed" font use or a "P" for the "Proportional" font use.  If you have only sufficient privilege to edit one of these uses, it will be assumed that this is the font use you will be editing.  Of course, if you didn't have sufficient privilege to edit either of these, the "FONT SELECT" would not have been displayed and typing "F" would have had no effect.

Once it has been determined whether you are editing the "Fixed" or the "Proportional" font use, the "Font Selection" dialogue window will be presented.

These options are only provided if you have sufficient privilege.  The privilege level required is that that corresponds to the database fields known, within the software, as "UserFixedPitchFont" and "UserProportionalFont", which are usually presented with the prompts, "User's font for fixed pitch", and "User's font for proportional" respectively.  The first of these sets the privilege level needed to obtain access to the fixed font, and the second for access to the proportional font.  You will need to have access to both of these in order to have access to the button font.

Edit Bitmap (Button) Font

This window presents all the characters in the font, arranged in ascii numerical order in sixteen rows of sixteen columns (with sixteen intervening blank columns).  The first sixteen characters are arranged from left to right along the forst row, and the second, similarly, along the second row, an so forth.

The cursor position is presented by the change in background colour at a character in the font (or between characters).  The cursor can be moved using the cursor keys or by clicking with the mouse.

To modify a character, move the cursor to the character of interest, then type "Z", or click on the "Zoom" menu option, or double-click on the character.

In response, the display will be repainted to present each pixel of the character as a full character, using "#" to represent pixels that are turned on and space to represent those that are turned off.  You can now edit the pixels of the character by positioning the cursor on the "#" representing an unwanted pixel, or on the space where you wish there to be a pixel, and then typing "T", or clicking on the "Toggle" menu option, or double-clicking on the "#".

Should you attempt to turn on a pixel that is between character positions, a message to this effect will be presented.

To return to the view of the complete font, type "Z", or click on the "Zoom" menu option.

Changes to the font will come into effect immediately, however, they will not be saved until you close this window.

Finish Selecting the Font

Irrespective of which page is presented, there are three buttons at the bottom of the dialogue window, "OK", "Cancel", and "HELP".

When done, click on the "OK" button to save your selection and exit the "Font Selection" dialogue window.

Should you wish to exit the "Font Selection" dialogue window without saving your selection, click on the "Cancel" button.

If you were sufficiently privileged to have had a choice between the "Fixed" and the "Proportional" font uses, you will be again be given the opportunity to make this choice, otherwise you will have exited from selecting the fonts.  When presented with the choice of font uses, you may exit from selecting the fonts by making a blank entry.

Specific Instructions

This section describes the operation of individual windows, using the Movement Controller's own screen and keyboard.

This section should be read in conjunction with operating the windows to which they relate.

References are made throughout this section to the subsections of the "General Instructions" section.  It should only be necessary to look these references up the first time they are encountered.

It is assumed that you are familiar with the subsections of "General Instructions" section titled:

As knowledge of the remaining subsections is required, these references are given.

The subsections within the "Specific Instructions" section are arranged as the options of the main menu and its sub-menus are arranged in the application.

Single Display Function Mode

There is an option to run the Movement Controller's operator interface in single display-function mode, as described in the section of the TECHNICAL MANUAL titled: "Operator Interface in Single Display Function Mode".

In this mode, when the Movement Controller's operator interface software is started, the main menu will not be presented.  Instead the nominated display-function will be presented, filling the display.

A dialogue box will also be opened, requiring that you enter your user name (a "Symbolic Name" field) and password (a "Password" field).  Please refer to the sections titled: "Symbolic Name", "Password", and "Modify List of Users".  You might also like to reference the section titled: "Log Off".

Should you choose not to enter your name and password, the operator interface will close.

Once you have entered your name and password, the dialogue box will close, and you will have access to the nominated display-function.

To exit the operator interface, type [ESCAPE] or [ALTERNATE F4].

Main Menu

The main menu will be presented when the Movement Controller's operator interface software is started.  The options presented will depend upon the privilege with which you have logged on, which before logging on will be minimal, and upon the configuration that has been created and may be altered by editing the database.

The main menu is contained in a horizontal menu bar presented at the top left of the screen.  Below is how the main menu would appear for the maximum configuration (which is assumed throughout this document).

If you have opted for the more DOS-like interface, once you have logged in, the main menu will be presented in a window, rather than in the horizontal menu bar.  If you escape out of this window, you will be returned to the horizontal menu bar, from which you will need to make a selection before being again presented with the menu in this window.  For information on configuring a user for the more DOS-like interface and its impact, please refer to the section titled: "Modify List of Users".

This menu window may be returned to from most windows by typing [ESCAPE] (or clicking on it) a sufficient number of times to wind back through windows and sub-menus.  In the default, maximum configuration (which is assumed throughout this document), the menu will appear, roughly, as shown below:

Movement Controller (C) Copyright 1998 to 2009 Woodgrove Digital Engineering File View ┌───────────────────────┐ │New User │ │Operations████████████>│ │Reports >│ │Communication reports >│ │Configuration >│ │Maintenance >│ │Definition >│ │Special Functions >│ │Exit │ └─-─────────────────────┘

This menu provides for the user to log off, or to choose between the major sub-menus, or to exit.

Log Off

This window is presented when the Log Off (or New User) option is selected from the main menu.

Below is a rough text-representation of this window:

New User keys usually active: ESCAPE : exit current display ALT-H : show help screen keys active when editing a record: MINUS : erase field PLUS : restore field HOME : move to first field END : move to last field PAGE UP : move to previous record PAGE DOWN : move to next record UP : previous field or symbol DOWN : next field or symbol LEFT : erase previous character RIGHT : accept one character ALT-Q : show function keys SHIFT F10 : force and edit symbol (function keys may be set by pressing CTRL-F1, CTRL-F2 etc.) keys active when viewing a file or menu: ENTER : same function as first entry in legend (reverse blue band at top) HOME : move to top of file END : move to bottom of file PAGE UP : move back 19 records PAGE DOWN : move forward 19 records UP : select previous record DOWN : select next record LEFT : select previous field RIGHT : select next_field CTRL-LEFT: display first fields CTRL-RIGHT: display last fields (these allow the display of fields which would not otherwise fit) WOODGROVE DIGITAL ENGINEERING NSW designed and written by W.D.E. P/L User t ███████████████████V Please enter password a ████████████████████

This window enables you to enter your user name (a "Symbolic Name" field) and password (a "Password" field).  Refer to the sections titled: "Symbolic Name", "Password", and "Modify List of Users".

The body of this window contains some abbreviated instructions for general control of the Movement Controller software.

There are four privilege levels, 0, 1, 2, and 3.  When you log in without entering a user name, you are given privilege level 0. This is intended to provide you with access to view the system but not to control it.

If you enter your user name and then password, you will be given the privilege level that has been assigned to you.

Privilege level 1 is intended to enable the ordinary control of the system.  Privilege level 2 is intended to enable access to certain configuration and maintenance functions.  Privilege level 3 should allow access to all functions.  For details on how to alter the security arrangements, refer to section titled: "Edit Databases", and its subsections "Menu Text and Security", "Database Privilege", "Crane Commands and Security", "Palletiser Commands", "Carton Conveyor Commands", and "Configuration Data".

There is provision for users with privilege levels of 2 or higher to be automatically logged out once a certain number of minutes have expired.  This is specified in the "Configuration Data" record, titled "Auto logout if >=2 (minutes)". Please refer to the section titled: "Configuration Data".

Operations

This menu provides access to the windows involved in the display of live data.

Below is a rough text-representation of this menu:

Movement Controller (C) Copyright 1998 to 2009 Woodgrove Digital Engineering File View ┌─-─────────────────────┐ │New User │ ┌─-────────────────────────────────┐ │Operations████████████>│ │Heavy-unit-load conveyors█████████│ │Reports >│ │Conveyor alarms │ │Communication reports >│ │Stores diagram │ │Configuration >│ │Crane status and control │ │Maintenance >│ │Retrieve from stores by location │ │Definition >│ │Store expected loads │ │Special Functions >│ │Store loads from part-load picking│ │Exit │ │Retrieve wanted loads │ └─-─────────────────────┘ │Start movements within the store │ │Review loads being retrieved │ │Enter orders for picking │ │Cartons within the conveyor system│ │Replenish the pick areas │ │Carton conveyor system │ │Palletiser status and commands │ │Machine status display │ └─-────────────────────────────────┘

Heavy-Unit-Load Conveyors

The Heavy-Unit-Load Conveyors diagram provides a back-drop representing the static features of the plant, against which the movement of loads is displayed.

The loads are presented as either squares, representing a load of cartons, with a thick edge of a different colour, representing the pallet on which they are supported, or as a circle, representing a roll of news print, a coil of steel, or a basket of cans, again with a thick edge of a different colour.  For instructions on selecting the presentation of loads, please refer to the section titled: "Presentation of Loads".

The window will appear as shown overleaf:

Heavy-Unit-Load Conveyors Diagram -- Overview

When the diagram has been zoomed in, the square loads are presented as a pallet with four boxes arranged within its perimeter.

The colours described in this and other sections of this manual, assume that you have kept the default colours.  If you have seen fit to change these colours, you will need to make allowance for this when reading.  For more information, please refer to the section titled: "Changing the Colours".

Push Buttons

There are "push buttons" presented at the top of this window. The purpose of these push buttons is indicated by the text within them.  The first letter of this text is larger and is to be typed to "press" the button. The button may also be clicked with the mouse.

If the button is grey, it is available.  If it is dark green with black text it is unavailable.  If it is light green, it is either available with there being some particular reason that you might wish to "press" it or it is "pressed".

There are also two operating-system-painted buttons.  One of which, "ESCAPE: exit", is for exiting from a "push button" selection or from the window completely if no such selection is active.  The other, "HELP", calls up the help feature, refer to the section titled: "Help".

Presentation of Loads

Loads in the Heavy-Unit-Load Conveyor System are shown in the positions indicated to Movement Controller by the Heavy-Unit-Load Conveyor System PLC.

The loads are coloured to indicate where they are destined.  In applications where the destination is not used, the colour may be used to indicate whether the load is empty, not-empty or fiddled-with.

Further detail is available concerning the loads in the "load details tablet" at the top left of the display.  Please refer to the section titled: "Control of Loads".

If the loads are in a "collection", they will be coloured to reflect this, and this condition will override all other colours.  Please refer to the section titled: "Modifying Several (KOLLECT TO EDIT)".

The representation of the loads can be set to resemble a pallet of cartons or a reel of paper, according to the setting of the "Configuration Data" record "Load square Circle/Big". Please refer to the section titled: "Configuration Data".

Presentation of the Plant

The Heavy-Unit-Load Conveyor System will be coloured to indicate whether it is in automatic (red), disabled (grey), enabled for manual (yellow), requested to run in the nominally east or south directions (green) or requested to run in the nominally west or north directions (light blue).

For some sites, there is a provision to disable groups of conveyors.  If a group has been disabled, and the conveyors are in automatic, they will be shown in the disabled colour (black).  The disabling and enabling of groups of conveyors is performed from the control mode of operation window.  Please refer to the section titled: "The Variables Intended to be Presented".

The immediate background of the conveyor is shown in mid-blue, unless the conveyor (or a device associated with it) is in alarm, in which case it will be shown in red, or is a destination for loads, in which case it will be coloured the same colour as the loads that are directed to it.

Other devices associated with the Heavy-Unit-Load Conveyor System are shown in their approximate relative positions and in a way that reflects their condition.  These devices may include: a pallet dispenser, alignment bars, a palletiser, the forklift floor loops, sizing stations, detierers, load stands, gates, doors, sirens, lights, load stops, miscellaneous photocells, emergency stops, the field supply and the MCR.

Details of Conveyor or Device

The status of a conveyor position or a device may be presented as text by placing the cursor on the conveyor position or device in question, then typing [SHIFT M] or right clicking the location with the mouse.

In response, the status of the plant item in question will be presented in a window, with three buttons, "OK", "HELP", and "ESCAPE".  To close this window, activate the "ESCAPE" button.

The first line in a window corresponding to a conveyor, presents the conveyor position name, while, for devices, the first line describes the device type and the second line indicates the conveyor position to which it is associated. The conveyor, with which a device is associated, needs to be set to manual before the device itself may be manually controlled.

The status includes, mostly, the states of processed inputs.  These inputs, if single bit, will generally directly reflect the physical input, though they may at times be inverted.  Some single bit inputs may refer to internal bits within the PLC, such as the colour bits for "fault lamps" that are only capable of a single colour.  Some single bit inputs may not, at times, reflect the physical input at all, if the PLC needs to override its true state so as to, for example, drive a load past its stop photocell into a squaring end stop.

Some "single bit inputs" are reflections of outputs rather than inputs.  For example, the status of a "fault lamp" is a reflection of the output turning it on.

The status of analogue inputs is commonly scaled from the raw input, and in some instances might reflect the result of a computation based on two or more physical analogue inputs.

Also included with the status is the manual control that is asserted at the terminal in question over the conveyor or device.

If the location corresponds to a rise-fall conveyor, the status of the base conveyor will be first presented, then upon activating the "OK" button, the status of the rise-fall conveyor will be presented, then upon pressing the "OK" button once more, the status of the rise-fall device (whether it is up or down) is presented.

If the location corresponds to a turntable or elevator, the status of the conveyor will be presented first, then upon activating the "OK" button, the status relating to its turning or elevating will be presented.

If the location corresponds to more than one device, or to a conveyor and one or more devices, then, if there is a conveyor position at this position, its status will be first presented, otherwise, the status of one of the devices.  Then upon subsequent activations of the "OK" button, the remaining devices will be presented in turn.

If a conveyor has been taken out of automatic by a terminal other than the one you are using, then the location of that terminal will be presented, if known.

If the plant item, on which you right click, has a special window for it (for example: a crane), then in response to right clicking on its representation, that window will be opened.

Devices for Americold

In addition to the standard photocells and rise-fall conveyors, the devices added to this Heavy-Unit-Load Conveyors diagram include:

  • Access gate status
  • Emergency stops
  • Sirens
  • Various lamps
  • Detierers and their doors and consoles
  • Fork lift detection loops
  • Sizing stations
  • Board checkers
  • Controlled doors
  • Alignment bars
  • Pallet stands
  • Crane fork detection and other guard photocells
  • Fire alarms
  • Smoke detectors
  • Scissor lifts
  • Start/stop push-buttons
  • Barcode readers
  • Hold on MCR
Access Gate Status

The gate status is shown as an unbroken line if the gate is closed, or as a broken line (resembling an open gate) if the gate is open and is coloured differently depending upon whether it is open or closed.

If any gate is open, the cranes will be instructed to stop, once they have completed their current operation, or sooner, if it is taking too long to complete.

Emergency Stops

This status is displayed only if an emergency stop is off, and would then be presented in the area corresponding to the location of the emergency stop in question.

On the overview, this status is represented by the small letters "ES", while, when zoomed in, it is represented by a large red "E" in a white circle.

Sirens

When a siren is operating, an image, intended to resemble a klaxon, is presented on both the overview and zoomed-in displays.

Various Lamps

This status is displayed only if the lamp is on.  There are several lamps about the conveyors system to indicate fault conditions or the presence of pallets at the various outfeeds.

Detierers, Their Doors & Consoles

An attempt is made to provide all the status from the detierer, apart from the state of its doors and console, within the area of the corresponding conveyor.  This is very crowded, and requires considerable experience to interpret.  As a result, I have provided this status via the "Machine Status" display, which can be conveniently reached from here by zooming in from the conveyor.  Please refer to the section titled: "Machine Status Display".

The detierer door status is shown as an unbroken line if the door is closed, or as a broken line (resembling an open door) if the door is open and is coloured differently depending upon whether it is open or closed.  The detierer doors are shown in the location on either side of the detierers.

The detierer console status is presented in the location next to the detierer, corresponding to where the physical console is with respect to the actual detierer.  The detierer console always shows whether the automatic/manual switch is in the automatic ("A") or manual ("M") position, whilst the states of the push-buttons are only shown for those that are pressed.

Fork lift Detection Loops

There are fork-lift detection loops at the infeed and outfeed conveyors M01A, M06A, M40A, M51A, M56A, and M89A.  These are presented on the overview and zoomed-in displays as rectangles, in the "Disabled" colour if inactive, and in the "Enabled" colour if active.

Sizing Stations

The sizing station status in only presented when zoomed-in.

All sizing station photocells and other optical devices are shown in the "Photocell On" colour when obstructed, and the "Photocell Off" colour when clear.

The sizing station consists of an optical plane (shown as a line across the conveyor position), the rear and front trigger photocells (shown using the standard photocell representation in the corresponding position along the conveyor), the height check (shown as a small rectangle across the middle of the conveyor), and the left and right side-check photocells, shown as small circles on the corresponding side of the conveyor.

Board Checkers

The board checker status in only presented when zoomed-in.

All board checker photocells are shown in the "Photocell On" colour when obstructed, and the "Photocell Off" colour when clear.

The board checker consists of a centre photocell (shown as a small rectangle across the middle of the conveyor), and the left and right check photocells, shown as small circles on the corresponding side of the conveyor.

Controlled Doors

The controlled doors are each shown, when closed, as an unbroken line across the conveyor and, when open, as two short lines at either edge of the conveyor.

Alignment Bars

The alignment bars are located at conveyors M03A and M53A, and each consist of two bars, which operate alternately.  The image shows, for each individual bar, whether it is back (a line along the corresponding side of the conveyor), fully extended (a line somewhat in from that side of the conveyor, with the rams showing), or in between.

Pallet Stands

The pallet stands are used to present pallets for pickup by the cranes or to receive pallets from the cranes.  If down they are not shown.  If up, they are shown, when zoomed-in, as two rectangles in the "Enabled" colour, or, when looking at the overview, as two rectangles in the "Other Device" colour (usually black).  If neither up nor down, they are shown, when zoomed-in, as two rectangles in the "Disabled" colour (usually grey), or, when looking at the overview, as two sets of dots in the "Disabled" colour.

Crane Fork Detection, Guard Photocells

There are photocells positioned so that they look along the side of the crane infeed and outfeed conveyors (and, for the other guard photocells, along or accross the corresponding conveyor) so as to detect the presence of the crane's forks (or other objects), and thereby prevent the conveyors from running under these circumstances.

These are presented on both the overview and the zoomed-in displays, in the "Photocell Off" colour when not blocked, and in the "Photocell On" colour when blocked.

Fire Alarms

If the fire alarm (which has never been commissioned) is active, it will be represented near conveyor M10C, by what is supposed to resemble flames.

Smoke Detectors

If a smoke detector is active, it will be represented near conveyor M36A or M86A, by what is supposed to resemble smoke.

Scissor Lifts

Scissor lifts are used at the conveyor infeeds and outfeeds (except where is interfaces to the cranes).  Their status is presented, using the text, "UP", if up, "DOWN" if down, and "BETWEEN" if neither up nor down.

Start/Stop Push-Buttons

There are two sets of start/stop push buttons.  Their images are shown when zoomed in.  This image comprises the depiction of two buttons, one with a red cap representing the stop and the other with a green cap representing the start.

The stop push-button breaks the circuit when pressed, whilst the start push-button makes the circuit when pressed.  This arrangement is shown in the image.

The start would be latched with a contact from the relay (not shown in the image), so for the system to be running, the start needs to be pressed, thereby energising the relay and latching the circuit on, and released, while the stop needs to be left alone.  Similarly, to stop the system, the stop needs to be pressed, thereby denergising the relay and unlatching the circuit, and released.

Barcode Readers

There are two barcode readers, one associated with conveyor M03A, and the other with M53A.  When the readers are asked to scan and you are zoomed-in, there will be a series of red lines shown across the conveyor, intended to depict the raster scan of the barcode readers.

The barcodes are relayed to Movement Controller via serial communications ports P7 and P8 (Com 12 and Com 13) for the chiller (M53A) and freezer (M03A) respectively. You can monitor this data transmission using the "Monitor Communications" window.  Please refer to the section titled: "Monitor Communications".

Hold on MCR

This output is used to prevent the fire doors from closing and the conveyor electrical system from shutting down, in the event of a fire, until the pallets are clear of the fire doors.

Anytime this output is energised, the text, "MCR HELD ON" will be presented on the zoomed-in display, near conveyor M40A.

Stacks of Pallets

Rather than the loads at conveyors M01A, M02A, M51A, and M53A representing single pallet loads, they, generally, represent stacks of pallets.  The number of pallets in these stacks are presented, in the "Disabled" colour, as a single digit, on both the overview and zoomed-in displays, placed alongside the corresponding conveyor position.

When zoomed-in, the load's sequence numbers for the first four pallets in each stack are printed over the single digit.

Control of Loads

The cursor may be moved around the Heavy-Unit-Load Conveyor System using the cursor keys, or using [GREY PLUS] and [GREY MINUS] to jump to conveyor positions that are in alarm. The cursor may also be moved by clicking the mouse on the desired location.

As it reaches each possible load position, the details associated with the position are displayed in the left hand portion of a grey rectangle that will be referred to as the "load details tablet".

These details, and others associated with the load, may be presented more explicitly and, if you have sufficient privilege, altered.  In either case you will, first need to present the details by, with the cursor on the load, either clicking on "MODIFY ..." button or double-clicking on the load or pressing "m" or [ENTER].

On some sites there may be a button commandeering the "m" for another purpose, so there will not be presented a "MODIFY ..." button.  If this is the case, you will need to either double-click on the load or, with the cursor on the load, type [ENTER].

Once selected, a "Set of Fields" is presented containing the load's details. If you are sufficiently privileged you will be asked to confirm that you wish to modify the details by pressing [F1].

The software may be configured so as to allow "generic" users.  The concept of "generic" users is discussed in the section titled: "Modify List of Users".  If you are logged in as a generic user, then, after pressing [F1] (as described above) you will be required to enter your specific name (a "Symbolic Name" field) and password (a "Password" field) before proceeding.  For editing instructions for these types of fields, please refer to the sections titled: "Symbolic Name", and "Password", while for more information on the "Users" database, please refer to the section titled: "Modify List of Users".

After pressing [F1] and, if asked for a reason and/or your name and password, entering those details, the "Set of Fields" will be presented in a dialogue box for editing.  After making the desired modifications, type [ESCAPE].  Please refer to the section titled: "Set of Fields".

Changing the load's destination field will result in the load being redirected, if possible, to this new destination.

Additional Details for Americold

For Americold, the load details displayed in the tablet also include the load's sequence number (the five character barcode).

Modifying Several (KOLLECT TO EDIT)

This button is only available if you have sufficient privilege.  This privilege level is specified in the "Configuration Data" record, titled "Level: kollect records".  Please refer to the section titled: "Configuration Data".

If you need to change one or more fields of several loads, you can make the task a little quicker by first gathering the loads into a "collection".  When you, subsequently, go to modify a load's details, you will, instead, modify the details of all loads in the collection.

The first step is to gather the loads into a "collection".  You can do this by moving the cursor to a load, then activating the "KOLLECT TO EDIT" button (by clicking on it or typing "k").  The "KOLLECT TO EDIT" button will be highlighted whenever there is at least one load in the collection.  Repeat this procedure for each other load you wish to include.  If you type "k" a second time for a given load, the load will be removed from the collection.

When a load is included in the collection, its colour will be changed to indicate this.

You can also achieve this using the [SHIFT] and the separate cursor keys.  If you hold down the [SHIFT] and type one of the separate cursor keys, the cursor will be moved in the usual way, however, the load moved away from and that moved to will both (if there are, indeed two) be added to the collection, unless the load moved to is already in the collection, in which case both loads will be removed from the collection.  If there is no load in the position moved to, then no action will occur.

You can also use the mouse to collect loads.  To do this, click on the first load to be included, and keeping the mouse button down, drag the mouse over each other load to be included in the collection.  Any load visited, in this manner, a second time, will be released from the collection.

Once the collection has been formed, when you attempt to edit a load contained in the collection (as described in the section titled: "Control of Loads"), you will be presented, instead, with the details common to all loads in the collection - all other fields will be set to blank or zero (note that zero is not always presented as blank).  Once you confirm that you intend to modify these details, and are presented with the fields in a dialogue window.  Any changes you make are recorded, so that when you close the dialogue window, you will be prompted to confirm that the change to each modified field was intentional.  Note that you get to confirm each field but not each load affected, so you will need to be sure that you have gathered the correct loads into the collection.

You can release all loads from the collection by typing [SHIFT K], or by right clicking on "KOLLECT TO EDIT" or by right clicking on any load within the collection.

Zoomed Display

The display may be zoomed into by typing "Z".  The window now displays fewer positions, (as many as will fit, given the size set for the window) along with the status or positions of the sensors and other devices along the Heavy-Unit-Load Conveyor System.

The window will appear as shown overleaf:

Heavy-Unit-Load Conveyors Diagram -- Zoomed

The Heavy-Unit-Load Conveyor System will now be coloured to indicate whether it is stopped in automatic (red), disabled (grey), enabled for manual (yellow), running in the nominally east or south directions (green) or running in the nominally west or north directions (light blue).

The immediate background of the conveyor is still shown in mid-blue, unless the conveyor (or a device associated with it) is in alarm, in which case it will be shown in red.

While in "zoomed" mode, the use of the cursor keys (and mouse) is altered. These are now used to pan and tilt the view of the Heavy-Unit-Load Conveyor System. The position at which the mouse is clicked will be shifted to the centre of the view.

The push-button advertising the "Z" key will be changed from "ZOOM" to "ZOOM OUT O'VIEW", indicating that a subsequent typing of the "Z" key will return you to the overview display.  However, provided that the Heavy-Unit-Load Conveyors diagram had been called up via the menu system (the usual way) and that it is not in push-button mode, when at the cranes and other nominated positions, the button will display the text, "ZOOM TO CRANES" or "ZOOM TO DISPLAY" respectively, indicating that a subsequent pressing of the "Z" key will result in the appropriate window being presented.  To return to the overview, in spite of the button not advertising "ZOOM OUT O/VIEW", type either [SHIFT Z] or [ESCAPE] or right click on the "ZOOM ..." button.

To assign conveyor positions to windows for this function refer to the section titled: "Conveyors from which to Zoom".

To return to the overview display, type "Z", unless the corresponding push-button no longer displays "ZOOM OUT O'VIEW", or [SHIFT Z] or [ESCAPE].

Push Button Control of the Plant: Overview

Push button control of the plant is restricted to those terminals listed in the set of terminal locations and, there, flagged as allowing manual control. Please refer to the section titled: "Terminal Locations".

To control the Heavy-Unit-Load Conveyor System via the "push buttons", it is necessary to first enter push-button mode by typing "P".  To exit from push-button mode, type "P" a second time.

This button is also only provided if you have sufficient privilege to activate it.  This privilege level is specified in the "Configuration Data" record, titled "Level: conveyor manual".  Please refer to the section titled: "Configuration Data".

Irrespective of whether the conveyor is in push-button or automatic mode, all the interlocks will continue to apply to the operation of conveyors and devices.  As a result, you may find that a conveyor or device refuses to respond to a push button.

When push-button control is enabled, the window will appear as shown overleaf:

Heavy-Unit-Load Conveyors Diagram -- Overview Push-Button Mode

The conveyors can be controlled via push buttons by moving the cursor to a load position on the Heavy-Unit-Load Conveyor System, then typing "E" to enable the conveyor, which includes this position, for push button operation, or typing "M" to deselect it from automatic operation.

The conveyors for which "E" was typed will be shown in yellow, whilst those for which "M" was typed will be shown in grey, leaving the remainder shown in red for automatic.  This assumes the system is running, otherwise all conveyors will be shown in grey and of course none may operate.

Once the conveyors you wish to run are enabled (shown in yellow) you may run these in one or more of the four orthogonal directions and in either slow or fast speed, by pressing one or more (sequentially) of the function keys [F1] to [F8].  The function of each of these keys is indicated by the diamond that replaced the load details tablet when push-button mode was entered.

Push buttons can be latching (meaning that you need to operate them once to turn them on and a second time to turn them off) or momentary action (meaning that they will remain on only so long as you hold them on).  Momentary action push buttons sport a circle to indicate that they need to be held down.

Whether the [F1] to [F8] keys are latching or momentary action can be toggled by typing the [F9] key, provided that you have sufficient privilege to use this key.  The latching/momentary-action setting is indicated by the text and colour of the triangle in the upper left corner left by the diamond; "LATCHING" on a grey background implies latching, while "HOLD ON" on a light green background implies momentary action.  If "F9: hold on" or "F9: latching" is presented beneath this, you have sufficient privilege to toggle this setting.  The latching/momentary-action setting is also indicated by the presence of the circles on the buttons corresponding to the [F1] to [F8] keys.

The requested motions will be reflected in the diamond by colouring the appropriate push buttons light green, and on the Heavy-Unit-Load Conveyor System by colouring the appropriate conveyors either blue or green (light or dark to distinguish between fast and slow speed respectively).

Pressing [SPACE] stops all push-button control.

To control the devices associated with the conveyors, the associated conveyor must first be set to manual (shown in light grey or yellow).  The cursor should then be moved to the device (which might not be on the conveyor).  When the cursor is in the position of a device, the buttons to control the device will appear.  If these buttons are shown in dark green with black text, the associated conveyor has not been selected for push button control.  The associated conveyor is in a straight line left, right, above or below the depiction of the device on the window.  You can right click on the depiction of the device to find out the name of the conveyor position with which it is associated.

Whether the push buttons for the device are latching or momentary action is configurable on a device type basis.  Please refer to the section titled: "Enter or Modify Device Types" and, in partiicular, its subsection titled: "Defining the Device Type's Output".

Control of Standard Devices

The standard devices are turntables, rise-fall (or transfer) conveyors, and elevators.

The control of turntables is via two push-buttons, usually marked "90 DEGREES" and "0 DEGREES".  Operating one of these will rotate the turntable one way, whilst operating the other will rotate it back the other way.  When neither is activated, the turntable will stop rotating.  When you return the conveyor to automatic, the turntable will be instructed to rotate to the position required by the automatic control.

The control of rise-fall conveyors and elevators is via two push-buttons, usually marked "UP" and "DOWN".  Operating "UP" will raise the conveyor, whilst operating the "DOWN" will lower it.  When neither is activated, the conveyor will stop rising or lowering.  When you return the conveyor to automatic, the conveyor will be instructed to rise or lower to the position required by the automatic control.

Controlling Devices for Americold

In addition to the standard rise-fall conveyors, the devices, which can be controlled from this Heavy-Unit-Load Conveyors diagram, include:

  • Sirens
  • Various lamps
  • Detierers
  • Controlled doors
  • Alignment bars
  • Pallet stands
  • Scissor lifts
  • Barcode readers
  • Hold on MCR
Sirens

The sirens are associated with conveyors M38 and M86 (which will need to be set to manual before you can operate the corresponding siren manually).  Once the conveyor has been set to manual, move the cursor to where the representation of the siren would be displayed, and the "SIREN ON" and "QUIET SIREN" buttons will be provided, allowing you to manually control the siren.

Various Lamps

These need to be enabled for manual, by setting their corresponding conveyor to manual.  Once this has been done, move the cursor to where the representation of the lamp would be displayed, and the push-buttons, "TURN ON LAMP" and "DOUSE LAMP" are presented, and may be operated to turn the lamp on or off.

Detierers

There is a local, physical, push-button console available for controlling the detierers in manual, however, to save you that walk, most of the functions provided by that console are also provided on this conveyor diagram display.  The operation of the conveyors has already been covered, so what follows are the remaining controls, i.e. the raising and lowering of the pegs and the inserting and withdrawing of them.

The detierers need to be enabled for manual, by setting their corresponding conveyor to manual.  Once this has been done, the push-buttons, "INSERT PEGS", "WITHDRAW PEGS", "RAISE DETIERR" and "LOWER DETIERR" are presented, and may be operated to work the detierer manually.

This can also be done using the "Machine Status" display, which can be conveniently reached from here by zooming in from the conveyor.  Please refer to the section titled: "Machine Status Display".

Of particular interest, is that, when the detierer's pegs are at the top and the physical console's conveyors reverse push-button is operated, the detierer resets itself, allowing you to recommence the detiering operation with a clean slate.

Controlled Doors

These need to be enabled for manual, by setting their corresponding conveyor to manual.  Once this has been done, the push-buttons, "OPEN DOOR", and "CLOSE DOOR" are presented, and may be operated to work the door manually.

Alignment Bars

These need to be enabled for manual, by setting their corresponding conveyor to manual.  Once this has been done, the push-buttons, "LEFT ALIGN", "RIGHT ALIGN", and "OFF AL.  BAR" are presented, and may be operated to work the bars manually.

Pallet Stands

These need to be enabled for manual, by setting their corresponding conveyor to manual.  Once this has been done, the push-buttons, "RAISE STAND", and "LOWER STAND" are presented, and may be operated to work the pallet stand manually.

Scissor Lifts

These need to be enabled for manual, by setting their corresponding conveyor to manual.  Once this has been done, the push-buttons, "UP", and "DOWN" are presented, and may be operated to work the lifts manually.

Barcode Readers

These need to be enabled for manual, by setting their corresponding conveyor to manual.  Once this has been done, the push-buttons, "BARCODE READ", and "QUASH READ" are presented, and may be operated to instruct the barcode reader to start or stop scanning.

The barcodes are relayed to Movement Controller via serial communications ports P7 and P8 (Com 12 and Com 13) for the chiller (M53A) and freezer (M03A) respectively. You can monitor this data transmission using the "Monitor Communications" window.  Please refer to the section titled: "Monitor Communications".

Hold on MCR

This need to be enabled for manual, by setting its corresponding conveyor (M40) to manual.  Once this has been done, move the cursor to where the representation of the output would be displayed, and the push-buttons, "HOLD MCR ON" and "RELEASE MCR" are presented, and may be operated to turn the output on or off.

Push Button Control of the Plant: Zoomed

Push-button control of the Heavy-Unit-Load Conveyor System is also available in the "zoomed" display mode.  You can achieve the zoomed push-button mode by either typing "Z" when in push-button mode, or by typing "P" when in the "zoomed" display mode.

To exit from the zoomed push-button mode and return to the normal "zoomed" display mode, type "P", or click on "P-BUTTON CONTROL" again.  Alternatively, to exit from the zoomed push-button mode and return to the overview push-button mode, type [SHIFT Z], [ESCAPE] or click on "ESCAPE: exit", or right-click on the "ZOOM..." button.  In most cases, you can also type "Z" or click on "ZOOM OUT O'VIEW", however, in certain positions this button changes its text and function allowing you to open a window associated with the device presented at this position.

Irrespective of whether the conveyor is in push-button or automatic mode, all the interlocks will continue to apply to the operation of conveyors and devices.  As a result, you may find that a conveyor or device refuses to respond to a push button.

When zoomed push-button control is enabled, the window will appear as shown overleaf:

Heavy-Unit-Load Conveyors Diagram -- Zoomed Push-Button Mode

Once in zoomed push-button mode, the cursor will be represented by "telescope cross hairs", which remain in the centre of the view; the Heavy-Unit-Load Conveyor System is moved rather than the cursor.  Therefore the use of the cursor keys (and mouse) is altered.  These are now used to pan and tilt the view of the Heavy-Unit-Load Conveyor System.  The position at which the mouse is clicked is shifted to the centre of the view.

The conveyors can be controlled via push buttons by moving the cursor to a load position on the Heavy-Unit-Load Conveyor System, then typing "E" to enable the conveyor, which includes this position, for push button operation, or typing "M" to deselect it from automatic operation.

The conveyors for which "E" was typed will be shown in yellow, whilst those for which "M" was typed will be shown in grey, leaving the remainder shown in red for automatic.  This assumes the system is running, otherwise all conveyors will be shown in grey and of course none may operate.

Once the conveyors you wish to run are enabled (shown in yellow) you may run these in one or more of the four orthogonal directions and in either slow or fast speed, by pressing one or more (sequentially) of the function keys [F1] to [F8].  The function of each of these keys is indicated by the diamond displayed to the left of the push buttons at the top of the window.

Push buttons can be latching (meaning that you need to operate them once to turn them on and a second time to turn them off) or momentary action (meaning that they will remain on only so long as you hold them on).  Momentary action push buttons sport a circle to indicate that they need to be held down.

Whether the [F1] to [F8] keys are latching or momentary action can be toggled by typing the [F9] key, provided that you have sufficient privilege to use this key.  The latching/momentary-action setting is indicated by the text and colour of the triangle in the upper left corner left by the diamond; "LATCHING/hold on" on a grey background implies latching, while "latching/HOLD ON" on a light green background implies momentary action.  If "F9" is presented beneath this, you have sufficient privilege to toggle this setting.  The latching/momentary-action setting is also indicated by the presence of the circles on the buttons corresponding to the [F1] to [F8] keys.

The requested motions will be reflected in the diamond by colouring the appropriate push buttons light green.  The requested motions are not reflected by the conveyors in zoomed push button mode; instead the actual running status is shown by colouring the appropriate conveyors either blue or green (light or dark to distinguish between fast and slow speed respectively).

Typing [SPACE] stops all push-button control.

To control the devices associated with the conveyors, the associated conveyor must first be set to manual (shown in light grey or yellow).  The cursor should then be moved to the device (which might not be on the conveyor).  When the cursor is in the position of a device, the buttons to control the device will appear.  If these buttons are shown in dark green with black text, the associated conveyor has not been selected for push button control.  The associated conveyor is in a straight line left, right, above or below the depiction of the device on the window.

Deleting and Creating Loads

A load may be deleted or created by moving the cursor to the position and typing "D" or [DELETE] or "I" or [INSERT] respectively and confirming with [F1].

The software may be configured so as to allow "generic" users.  The concept of "generic" users is discussed in the section titled: "Modify List of Users".  If you are logged in as a generic user, then, after pressing [F1] (as described above) you will be required to enter your specific name (a "Symbolic Name" field) and password (a "Password" field) before proceeding.  For editing instructions for these types of fields, please refer to the sections titled: "Symbolic Name", and "Password", while for more information on the "Users" database, please refer to the section titled: "Modify List of Users".

When a load is deleted it is moved from the location into a special logical location referred to as "Deleted".  This special location is displayed in the load details tablet.

When the next load is deleted, it replaces the load that was previously in the "Deleted" location, that load is now "really deleted".  The load in the "Deleted" location can also be deleted by the standard means, thereby "really deleting" it.

When a load is inserted into the Heavy-Unit-Load Conveyor System or onto a crane or a trolley or into the stores diagram (refer to the section titled: "Stores Diagram"), if the "Deleted" location contains a load, that load will be moved to the position where the load is being inserted.  If the "Deleted" location does not contain a load, a load will be created at the position.

Using the "Deleted" location, a load may be moved from one position to another by first deleting the load from the first position (moving it to the "Deleted" location) and then inserting it at the second location (moving it from the "Deleted" location).

When moving a load, by deleting and inserting it, it is most important that you stop the Heavy-Unit-Load Conveyor System to prevent other loads, reacting to the deletion of the load in question, driving into it, or rise-fall conveyors operating, or another load transferring to the position into which you intend to reinsert the load in question.

If a number of loads need to be relocated, they should be moved one at a time; deleting the first and reinserting it then deleting the second and so forth.

Deleting Loads Unknown to the System

When deleting loads, the Movement Controller first finds the load at the designated conveyor position within its database.  If it fails to do this the load within the Heavy-Unit-Load Conveyor System is considered to be a "ghost" load, since it does not correspond to any information on loads within the database.  In these circumstances it is harder for the Movement Controller to delete the load, since it can not check that the load being deleted is the load on which the operator had clicked (since the Heavy-Unit-Load Conveyor System is moving loads about).

Under these circumstances, the Movement Controller will delete any load tag that it finds at this conveyor position within the conveyor PLC.

Prior to deleting a "ghost" load, you will be advised of this, and should only proceed if you are satisified that the load is not likely to move while the deletion attempt is being made.

Presentation of the Cranes

A crane will be shown at either the crane pickup/deposit position, or away from it.  It will show whether the crane is in alarm or not and whether it is enabled for automatic or retrievals by the colour of the crane body (blinking red/blue implies alarm, black implies that automatic is disabled, blue that retrievals are disabled, and orange implies no alarm) and whether it is in automatic, manual or out of service by the colour of the forks or the border of the load (red implies automatic, yellow implies manual, and grey implies out of service, but not in manual).  For details on turning on and off automatic or just retrievals, please refer to the sections titled: "Turning Off and On Automatic Commands", and "Turning Off and On Retrieval Commands".

The crane is deemed to be in alarm if it reports an alarm, or it is idle and its loaded status is not as expected by the Movement Controller.

The crane must not only be in automatic but must also be communicating for it to be presented as in automatic.

When zoomed in, it will also show the state of its load sensing, load off-centre, bin occupied and height check photocells and the extension of its forks and, if the forks are not centred, whether at high stop or not; if at high stop, a load will be shown at the forks extension, otherwise the forks will be shown.

If the forks are centred, the crane will instead show whether the computer's inventory has it holding a load.

Also, when zoomed in, the colour of the forks (or the border of the load) will be red if in automatic, yellow if in manual or grey if otherwise out of service.

Keep No-Reads at Scanner (HOLD NO READ)

Normally, if a load has failed barcode scanning, it will proceed through sizing and then be diverted down the reject lane.  After the load has been scanned, and before it proceeds to the sizing station, it is in a convenient position for its sequence number to be read.

So, you have the option to have loads that either failed scanning, or were found to have a barcode that has not been supplied to the Movement Controller from the host_computer, to wait at the barcode scanning location for manual entry of the details.

If the "HOLD NO READ" button is presented in the "Unavailable" colouring (dark green with black text), then this feature is disabled, however, contrary to standard button behaviour, this button can still be operated (by typing "H") to enable this feature.  After operating this button in this condition, you will be asked to confirm that you wish the feature enabled by pressing the [F1] key. Because this button is "unavailable", you will not be able to use the mouse to operate this button whilst in this state.

If the "HOLD NO READ" button is presented in the "Available" colouring (grey), then the feature is enabled, however there are no loads waiting at barcode readers.  If you operate the button in this situation you will be asked to confirm that you want the feature disabled by pressing the [F2] key.

If, on the other hand, the "HOLD NO READ" button is coloured light green, then you will find that there is a load waiting at a barcode reader, and, in fact, the text of the button will have changed to "HOLDING NO READ".  If you operate the button at this time, you will be advised of the situation - whether there is a load waiting at the chiller or the freezer or both, and whether the problem is that the barcode could not be read or that the barcode read has not been supplied to the Movement Controller.

If there are bad barcode reads at both the chiller and freezer, then you will be asked, first of all, to nominate which load you wish to deal with.  When presented with this dialogue window, you should select either "Chiller" or "Freezer".

If there was only the one load, or you have selected the load with which to deal, then you will be presented with two or, in the case of a no-read, three options.  These options are:

  • "Modify load":   
    You will be presented with a dialogue window, into which you must enter a barcode and a destination, and, in order to keep Americold happy, a load number.
  • "Reject load":   
    There is no further dialogue required; the load will proceed to the corresponding reject.
  • "Select barcode":
    This option is provided only if the barcode could not be read and barcodes have been supplied for the detierer in question.  These barcodes are listed in this dialogue window, so you can tell immediately whether it would be worthwhile selecting this option.  If you do select this option, you will be then asked to select the barcode, by activating the corresponding button.

Retrieve Empty Pallets (FETCH EMPTIES)

There are regular means to retrieve empty pallets from the pickface, as described in the section titled: "Retrieve from Stores by Location (new)". However, this feature is intended to make this operation more convenient.

This button is enabled by setting the "Configuration Data" record, titled "Fetch empty ok/auto", to "O" meaning that the operator is required to OK the preparation of a schedule for the retrieval of the empty pallets from the pickface.  Please refer to the section titled: "Configuration Data".

You also need to be logged on in order for this button to be presented.

If the racking photocells report that there is something in a location that is used for the return of empty pallets from the pickface for a particular crane, and there is no manual retrieval schedule, referencing such locations on that crane, then this button will be highlighted.

On the other hand, should there be no cranes satisfying this condition, then if there are cranes for which there are manual retrieval schedules that reference such locations, then this button will be lit (differently highlighted) to indicate that such retrievals are underway.

Otherwise the button will be shown as disabled.

Anytime the button is highlighted (showing that there are stacks of empty pallets that need attention), then the button can be operated (by typing "F" or clicking on it).  In response, you will be advised which cranes have such stacks and be given the options of:

  • No cranes
    Do nothing about it.
  • Chiller cranes
    Having a manual retrieval schedule created (if necessary) to retrieve from all such locations in the chiller.
  • Freezer cranes
    Having a manual retrieval schedule created (if necessary) to retrieve from all such locations in the freezer.
  • Select cranes
    Having manual retrieval schedules created (if necessary) to retrieve from all such locations in each of the cranes that are then nominated.  In response to selecting this option, you will be asked to nominate the cranes that the schedule(s) are to cover.  You will need to specify the cranes as described in the section titled: "Crane and Palletiser Alarms".
  • All cranes
    Having manual retrieval schedules created (if necessary) to retrieve from all such locations in both the chiller and the freezer.

Once schedules have been created, they can be monitored, modified, or deleted using the "Retrieve from Stores by Location (new)" window, as described in the section titled: "Retrieve from Stores by Location (new)".

Reject Control (1/2 REJECT FREEZER/CHILLER)

These buttons are enabled by setting the "Configuration Data" record, titled "No reject automatically", to "N" for "No reject".  Please refer to the section titled: "Configuration Data".

If this record has been so set, then when pallets arrive at the reject junction, they will wait, and the appropriate one of these buttons will be highlighted.

In response to activating one of these buttons, you will be presented with a dialogue window, detailing the reasons for rejecting the pallet, and allowing you to elect to infeed or reject the pallet.

Fast Putaway (GO ANY-WHERE)

When infeeding, and all loads are destined to a single crane, the system will be not utilised to its full capacity, since this one crane becomes a bottle-neck.

You can relieve this situation, in either the freezer or chiller conveyors by operating the "GO ANY-WHERE" button.  When the "go anywhere" function is in force, any pallets that are destined for regular store locations (not flow-through locations) will be redirected to a crane that is less snowed under.

After typing "G", or clicking on the button, you will be asked whether you wish to enable or disable this function for the freezer or chiller cranes.  You must first click of "Freezer" (or type "F") to select the freezer, or click of "Chiller" (or type "C") to select the chiller.  You will then be asked whether you wish this turned on or off.

If this function is in force for either the chiller or freezer, the button will be lit.  The second line of text on the button will change to indicate whether it is the chiller, freezer, or both that have this function enabled.

Trunk Line Purge (TRUNK PURGE)

When the arrangement of loads along the inside trunk line has become confused, you may, rather than attempt to correct the situation by deleting and inserting loads, send all these loads to the outfeed.

Prior to invoking this function, you should ensure that all loads along this trunk line and out to the outfeed are either completely on the conveyors in this path, or clear of them. Failure to check this will cause loads to twist and collide, damaging the product and the Heavy-Unit-Load Conveyor System.

Once you have done this, you need to type "T" to turn on the "TRUNK PURGE" push-button.  In response, the system will advise you of your responsibility to check the trunk line and request that you type "F" or "C" to confirm whether you wish to purge the freezer or the chiller, or to type [ESCAPE] otherwise.

All conveyors will need to run for a couple of minutes, however as conveyors need to stop as the loads are being taken from the outfeed, the time for the purge to run to completion will be considerably longer than this couple of minutes.

Once this period has expired, the Heavy-Unit-Load Conveyor System will return automatically to its normal operation.

Outfeeding Loads (OUTFEED LOAD)

A load may be redirected by the operator to any location within the store, or to the reject or outfeed.  As the outfeed is a common destination for the operator to direct the load to, a push-button has been provided for this.

First, position the cursor on the load to be redirected, then type "O" to turn on the "OUTFEED LOAD" push-button, then confirm your intention (as you will be prompted to do) by pressing [F1].

Multilevel Conveyor Systems (LEVEL CHANGE)

For multilevel Heavy-Unit-Load Conveyor Systems, the upper levels may be displayed by typing "L" (turning on the "LEVEL CHANGE" button).  This results in the lower levels being shown in orange.  To return to the lower level display, type [SHIFT L], or "L" sufficiently often to cycle around to it.

There are options that can be set to cause the Heavy-Unit-Load Conveyor System to be presented as though it were a single level (sensible where there is no interaction - such as elevators - between the various levels), or to allow the "LEVEL CHANGE" button to cycle around to a summarising position.

The text of the "LEVEL CHANGE" button will be "LEVEL 1 CHANGE" when the button is selecting level 1 (off), "LEVEL 2 CHANGE", when selecting level 2, "LEVEL 3 CHANGE" when selecting level 3, and so on, and, finally, "LEVEL * CHANGE" when selecting the summary.

This option can be set via the "Configuration Data" record, titled "Flat/Extra conv level".  Please refer to the section titled: "Configuration Data".

Displaying Conveyor Alarms (ALARM LIST)

From the overview display, you may enter the conveyor alarms window by typing "A".  The push button advertising this will be in flashing if there is an alarm.

If the cursor is positioned at a conveyor position that is shown to be in alarm at the time you type "A", the conveyor alarms window will be restricted to displaying only those alarms associated with this conveyor position.

When you exit the conveyor alarms window, you will be returned here.

Changing the Appearance (EDIT DIAGRAM)

The conveyors and the load details tablet on the overview may be moved by typing "E" to enter edit mode (turning on the "EDIT DIAGRAM" button, and renaming it "END EDIT DIAGRAM"), then moving the cursor to the conveyor to be moved (or the tablet), then using [CONTROL UP], [CONTROL DOWN], [CONTROL LEFT], and [CONTROL RIGHT] to relocate the selected item.  Type "E" to exit edit mode.

The overview (non-zoomed) can be expanded in the "X" and "Y" directions by typing "X" or "Y" respectively.  Similarly, the overview can be contracted by typing [SHIFT X] or [SHIFT Y] respectively.

Additionally, finer adjustments to the expansion in the "X" and "Y" directions can be achieved, simultaneously for both directions, by typing [CONTROL X] to expand, in both directions, slightly or [CONTROL Y] to contract slightly.

The overview and zoomed displays may be rotated in 90 degree increments by typing "R" for one direction and [SHIFT R] for the other.

The zoomed conveyors can be shown as either roller or chain conveyors.  To change this option for a given conveyor position, first enter the zoomed display, then enter edit mode by typing "E", then locate the cross hairs on the conveyor position to be changed, then type "R" for rollers or "C" for chains.

To change the colours, refer to the section titled: "Changing the Colours".

To change the fonts, refer to the section titled: "Select the Font".

Conveyor Mode (CONVEYOR MODE)

Typing "C" when at the overview display (turning on the "CONVEYOR MODE" button) will replace the load details tablet with a description of the conveyor's operating mode.  The push button advertising this will be shown in light green if the Heavy-Unit-Load Conveyor System is not in full-automatic mode.

To return to the Heavy-Unit-Load Conveyors diagram, press any key other than "Z" and keys such as [SHIFT], [CONTROL], [ALTERNATE] et cetera.

Provided that the Heavy-Unit-Load Conveyors diagram had been called up via the menu system (the usual way), the "Z" button will be highlighted and display the text, "ZOOM TO CONTROL", indicating that by pressing the "Z" key will result in the control mode of operation window being displayed.  Refer to the section titled: "Control Mode of Operation".

Archive Log Files (FLOPPY ARCHIVE)

This function may be disabled, and the "FLOPPY ARCHIVE" button removed from the display by setting the"Configuration Data" record, titled "No floppy archive". Please refer to the section titled: "Configuration Data".

Typing "F" when at the overview display (turning on the "FLOPPY ARCHIVE" button) will replace the load details tablet with a list of files requiring archiving.  If some of these files are about to lose un-archived data the push button advertising this will be shown in light green.

In response, the load details tablet will be replaced by another presenting the list of log files, each accompanied by an asterisk.  The asterisk will be highlighted if there is something to be archived, whilst the text will only be highlighted if the log file is more than 80% full.

You can archive a log file by moving the cursor to one of the highlighted asterisks and typing either [RETURN] or [ENTER]. You may also double-click the mouse on the desired asterisk to archive the log file.

This will present you with the appropriate archive window, such as "Archive List of Events to Floppy Disc".  Refer to the sections titled: "Archive List of Events to Floppy Disc" et cetera.

It is not mandatory that the log files be archived; this is a decision that can be made depending upon the anticipated benefit these archives may have.  You may decide only to archive certain log files or only to archive a log file during some troublesome period.

Pick Face Loads Not Seen

As a load is placed in a pick face location, by a crane, the Movement Controller waits to see that the load has rolled forward sufficiently to be seen by the pallet detection system photocells (PDS).  The photocells should be adjusted so that they can see the pallet as soon as it is placed in the pick back location, or else the pallet is expected to roll forward so that it can be seen by the photocell.

Once the crane has completed its deposit into the back location of a pick face, the load is allowed ten seconds to be detected by the PDS.  This ten seconds is adjustable via the database variable, "Secs for PDS to see"; please refer to the section titled: "Configuration Data".  When one or more loads have failed to have been detected by the PDS, then a dialogue box will be opened, presenting the operator with a list of locations where the load has failed to be detected by the PDS.

In addition to this message being presented, an entry will be made in the event log file for each such location.  Please refer to the section titled: "Event Log Historic Report".

Checking the Linked Lists

This check is performed automatically upon selection of the Heavy-Unit-Load Conveyors diagram from the menu.  Normally all you might notice would be a flicker before the window appears, unless problems are found, in which case it will present a message corresponding to the list in which it found problems, along with a request that you note what you have been doing and contact Greg Wood.

If you have sufficient privilege, you will be asked whether you wish the Movement Controller to attempt to correct the problem.  It is probably prudent to first stop the crane and the conveyors, then exit all software and save a copy of the database.  Once you have done this, run the software, call up this window and enter "Y" in reply to the question.

Then check that everything appears to be correct before restarting the system.

Checking the Communications Ports

This check is performed automatically upon selection of the Heavy-Unit-Load Conveyors diagram from the menu.  It checks that the communications ports needed to present the information on this diagram have been opened and that they are still accessible.

If all is as it should be, there will be no report, however, should it find something wrong, a dialogue box will be presented, indicating that this has happened.

For these ports not to be open or accessible, would be a rare occurrence with communications ports that have been installed directly into the computer.

On the other hand, if these ports are presented to the software via a terminal server, from some remote location, then there is a real possibility that, due primarily to network problems, one of the channels of the terminal server might be out of action.

When you encounter this problem, it will usually be necessary to cycle the power to the terminal server, and to stop the main Movement Controller application and restart it.  For information on stopping and restarting the main Movement Controller application, please refer to the section of the TECHNICAL MANUAL titled: "Installing and Running the Software".

This check is also performed from other windows, when opened or switched to a device on a different communications port, to check the communications ports needed for those windows as well.

Conveyor Alarms

After selecting "Conveyor Alarms" from the Operation Menu, the Heavy-Unit-Load Conveyor System alarms window will be presented.

Below is a rough text-representation of this window:

Computer system alarms Select Change Restrict Where Match Expand Insert Kollect First Last Conveyor Alarm Alarm # Old 94|Turntable T11 to T12 transfer watchdog |T11 |A| 2| 1^ 161|Conveyor A2 indexing forward transfer watchdog |A2-5|A| 2| 1█ 272|Turntable T1 conveyor motor isolated |T1 |A| 2| 1█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Conveyor Alarms Conveyor alarm s Turntable T11 to T12 transfer watchdog

This window shows the currently active Heavy-Unit-Load Conveyor System alarms, arranged one alarm per line.  This window shows one alarm per line, presenting, at least, the following information:

  • the alarm number, which is used by the PLC and computer software,
  • the description assigned to it by the computer (a unique "Name" field),
  • the individual conveyor to which it has been assigned (a "Symbolic Name" field),
  • whether it is in alarm (a "Character" field),
  • the number of times this alarm has occurred in the current and previous reporting periods ("Numeric" fields, also refer to: "Conveyor Alarm Summary Report"),
  • the fault category (a "Symbolic Name" field - also refer to: "Fault Assistance" ), and
  • whether this alarm has been enabled or not (a "Character" field),
  • whether occurences of this alarm are to be recorded in the event log and summary reports (a "Character" field) (not all sites),
  • whether this alarm may be reset by an operator (a "Character" field) (not all sites).

For editing instructions for these types of fields, please refer to the sections titled: "Name", "Numeric", "Symbolic Name", and "Character".

The window is restricted to active alarms, however, if alarms deactivate they will remain displayed (in a different colour) until the window is repainted, in response to you typing "U" or clicking on "Update".  If alarms occur while observing the window, they will not be written to the window until you cause it to be repainted.

All features provided by the "Maintenance Viewing Data" windows except editing an alarm, are active.  These features are:

  • moving the window across the records.
  • highlighting a particular alarm for individual attention.
  • highlighting a particular field for individual attention.
  • expanding/contracting the records.
  • restricting the alarms eligible for inclusion.
  • changing the contents of a field.

Refer to the sections titled: "Viewing Data", and "Maintenance Viewing Data".

If you have sufficient privilege, these alarms may be cleared manually, by highlighting the appropriate line and typing [ENTER] or by double clicking on the appropriate line, in order to select the alarm, then typing the [DELETE] key, in order to clear the alarm.

When the alarm is selected, a generic explanation may be presented along with the alarm, explaining the sorts of things that are likely to have caused the alarm, and whether there is any use in resetting the alarm.  This should be read before pressing the [DELETE] key.

Below is a rough text-representation of this window:

Reset conveyor alarm Transfer watchdog alarms occur when a load fails to reach the next photocell in time. The possible causes include: 1. Motor failing to operate - either jammed or stalled or failure of a control relay or contactor. 2. Load jammed - not moving with the conveyor. 3. Photocell failing to see load - rare unless stretch wrap used. The cause should be established then the alarm may be reset allowing a further attempt to be made to advance the load. ╒══════════════════════════════════════════════════════════════════════════════╕ │Conveyor alarm s Load transferring from S3-5 was not detected in t│ │Alarm conveyor a S3-5 │ │Conveyor alarm state <A>a A │ │# conveyor alarms <0-999> │ │Old # conveyor alarms<0-999> │ │Fault category s Transfer watchdog │ │Conveyor alarm logging <N>a │ ╘══════════════════════════════════════════════════════════════════════════════╛ ╔══════════════════╗┌──────────────────┐┌──────────────────┐┌──────────────────┐ ║ OK ║│ HELP ││ ESCAPE: exit ││DELETE:reset alarm│ ╚══════════════════╝└──────────────────┘└──────────────────┘└──────────────────┘

Conveyor system alarms can be broadly grouped into either motion watchdog alarms or status alarms.

A motion watchdog alarm is latched when an action has not completed in the allowed time and prevents the Heavy-Unit-Load Conveyor System from continuing with that action until the alarm has been reset.  Examples of motion watchdog alarms are the transferring of a load from one location to another and the feedback of a motor contactor.

A status alarm is active while a PLC input remains in an unexpected state for normal operation.  The alarm will be removed once the PLC input agrees with the expectation of the PLC. Examples of status alarms are photocell conflicts and emergency stops.  If a photocell is blocked when it should not be or is clear when it should not be, the alarm is raised.  Such an alarm can be cleared by removing the obstruction, advancing the load under manual control to the photocell, or adjusting the inventory of the Heavy-Unit-Load Conveyor System.  There is no point in clearing alarms of this sort.

A common alarm is the failure of the system to transfer a load from one position to another.  To transfer a load the system attempts to run the conveyor, from which the load is to be moved, and the conveyor, to which the load is to be moved. Typically, the transfer is deemed to be completed when the photocell at the position, from which it is to be moved (the source), is cleared and the photocell at the position, to which it is to reach (the destination), is blocked.

In this instance, a transfer alarm will result if either the source photocell remains blocked or the destination remains clear after the transfer has been running sufficiently long to expect that the load has transferred.

So when this alarm results, the status of the photocells should be checked, to see the situation through the eyes of the Heavy-Unit-Load Conveyor System, and the physical situation should be checked.  Look for stretch wrap hanging from the load, cartons fallen from the load, loose boards on the pallet, photocells out of alignment or damaged et cetera.  Should you be unable to ascertain the cause of the alarm, remain and watch the transfer as you have someone reset the alarm.

Communications Failure Alarms

As well as the Heavy-Unit-Load Conveyor System alarms, this display presents whole-system-related alarms, such as the failure of the Movement Controller to successfully communicate to a remote device, such as a PLC.  There is no point in resetting alarms of this sort.

The text of these alarms is set by the communications logic, so, should you decide to edit this text, your edits may be lost when the alarm is raised.

If the device connected to this port is not responding at all, then the text of the alarm will be something like "Failed to communicate to communications port ...".  If it succeeded in communicating to a DataHighway modem, but that modem failed to communicate to the end device, then the text of the alarm will show the diagnostic data that is being returned by the modem.  Finally, if there is no problem with the communications, but there is a bad indication being presented in the PLC's status data file, then that condition will be described. In the last instance, the system may still be fully operational.

In the cases where those PLCs are Allen-Bradley PLC5 or SLC-500, then those alarms are also used to present bad status from the corresponding PLC.  When these alarms report bad status from the PLC, rather than an actual communications failure, the text of the alarm will be altered to reflect this.

Some of the status that is reported, in this fashion, are the PLC's minor faults.  When these are presented, the individual minor faults may be acknowledged by resetting the alarm.  Once the minor fault has been acknowledged, the alarm will be removed until it is needed to present an actual communications failure or another status failing needs to be reported.  Once the minor fault is removed, it will be automatically unacknowledged, so that the next time it occurs, an alarm will be raised.

The minor fault acknowledgements are stored on an individual PLC basis in the database fields, "Minor fault word 1" and "Minor fault word 2".  These may be edited directly, via the PLC setup database - see "PLC Setup".

Task Killed Alarms

All communications to a specific PLC is expected to originated by the task that is dedicated to that PLC.  Mostly each PLC has its own serial channel.  In some cases, however, several PLCs can be accessed through the one serial channel, which connects to a DataHighway modem, which, in turn, connects to each of the remote PLCs on the DataHighway.  In this situation, there is a task dedicated to the DataHighway serial channel, and all tasks wanting to communicate to any of those PLCs, do so by queueing their requests to the DataHighway task.  In this way, there should be a single task corresponding to each serial channel.

There is a check that the task that first uses a serial communications channel is the only one that ever uses that channel.  Should another task, subsequently, attempt to use that channel, it will be killed and this alarm will be raised and its text will indicate which task has been killed.

This check has, in the past, killed a crane task, which used a function from within the conveyor task to remove a load tag, for a load in a specific conveyor position, from the database.  This was normally harmless enough, but, in the event that the tag in question appeared in multiple conveyor positions, the function would read the tags directly from the conveyor PLC, thereby causing the crane task to access the conveyor PLC's serial channel.  This first occurred five years after the check was installed, in the wake of a crash of the virtual crane server hosting the Movement Controller.  It was not immediately apparent, then, what the cause of their problem was, so this alarm was added to the system, in place of the event log that had, previously, noted this problem. Also, that bug has been rectified.  More details on the indicent are provided in the SOFTWARE MANUAL titled: "Change Log" for Change 427.

Stores Diagram

After selecting "Stores Diagram" from the Operation Menu, the layout of the near (if double-deep racking) right-most rack will be displayed.

Below is a rough text-representation of this window:

Stores diagram Select Change Restrict Where Match Expand Insert Delete Fast movers Kollect G Number of loads: 370 Empty locations: 729 ^ ┌───┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬───┐█ │■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪■▪▪▪▪■▪▪▪▪■▪▪▪■■■■▪▪■■▪▪■■■■■▪■■▪■■■■■■■■▪■■│█ │▪▪▪▪■▪■▪▪▪▪■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪■▪▪▪▪▪▪■■▪▪▪▪▪■■▪▪▪■■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪│█ │■■■■■■■■■■■■■■■■■■■■■■■▪■■■■■■■■■■■■■■■■■■■■▪■■■■■■■■■■■■■■■■■■■■■▪■■■■■│█ │▪■■■▪▪■▪■■■▪■■■■■■■■■■■■▪■▪■■■■■■■■■■■■■■▪■■■■■■■■■■■■■■■▪■■■■■■■■■■■▪■■│█ │■■▪■■■▪■■■■■▪▪■■■■■■■■■■■■■▪■■■■■▪■■■■■■▪■■■■■■■▪■■■■■■■■■■■■■■■■■■■■■■■│█ │▪▪▪▪▪■■■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪■▪▪▪▪▪▪▪▪▪▪▪■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪■▪■■▪▪▪▪▪▪▪▪▪▪▪▪▪■▪■▪│█ │▪▪■▪▪■■▪▪▪▪▪■▪■▪▪▪▪■▪▪▪▪▪■▪▪▪▪▪▪▪▪▪■■■▪■▪▪▪▪▪▪▪▪▪■▪▪■▪▪■■▪▪■▪▪■▪■▪▪■■▪▪■│█ │▪▪▪▪■■▪▪▪■■▪▪■▪■▪■■▪■■■▪■■▪■▪▪▪■▪▪▪▪▪▪▪■■▪▪▪▪■■▪■▪■■■▪▪▪▪■■■■▪■▪▪▪▪▪▪▪▪■│█ │▪▪▪▪▪▪▪▪■▪▪■▪▪▪▪▪▪▪▪▪■▪▪■▪▪■▪▪▪▪▪■▪▪■▪▪▪▪▪■▪▪▪▪▪▪▪▪■▪▪▪▪▪▪▪▪▪■▪▪■■▪▪■▪▪■│█ │▪▪▪▪▪▪▪▪▪■▪▪■▪▪▪▪■▪▪▪▪▪■▪▪▪▪▪▪▪▪■■▪▪▪▪▪■▪■■■▪■■▪■■▪▪▪▪▪▪▪■▪▪▪■▪▪▪▪■■■■▪■│█ │▓▓■▪▪▪▪ ▪▪▪■▪▪▪▪▪▪▪▪■▪▪▪▪■■▪■▪▪▪▪▪▪▪▪ ▪▪▪▪■▪▪■■▪■▪■■■■■■■▪■■▪■■■▪▪▪■▪■▪■│█ └───┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴───┘█ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> 1002010|O| | | | | |207680|593100720030023457| Rack slot inhibited <I/S/R>a Rack Rack Rack SSCC <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Rack slot occupied <O>a O

At the top of the window is a legend that indicates which of the keys are active and what function they perform.  The [RETURN] and [ENTER] keys are equivalent to the first key listed in the legend. As well as being able to type the key, you may click the mouse on that part of the legend.

Graphical Representation

Towards the top of the window, is the graphical representation of the store layout.

Presentation of the Locations

In this description, references to colours will be made using the name used to describe its purpose, as the actual colour used to present the condition in question may be altered as described in the section titled: "Changing the Colours".

The window shows loads using a drawing of a load, on a pallet, on supports to show occupied locations, or just the supports to show vacant locations. There are also other special characters used for specific conditions.

Full and Part Loads

The loads are shown in the "Full Load" colour.  If the database has knowledge of the product on the pallet, then it will be able to determine whether it is a full load or not, and will alter its presentation of the load accordingly, including showing the load in the "Part Load" colour (which may not differ from the "Full Load" colour, if we prefer to rely on the shape of the load to present this information).

Total Numbers of Loads & Vacancies

The total number of loads and the total number of empty locations, in the rack face displayed, is shown at the top of the window.

Presenting Vacant, Disabled, Etc

Non-existent locations are shown containing a space, disabled locations are shown containing a cross, and vacant locations are shown containing a drawing of the pallet supports in the "Vacant" colour (initially set to "Blue").

Pallet Detection System

If the location is supported by load detection photocells, the state of the photocell rather than the occupancy record is used to determine whether a load will be presented in that location or not. Generally, under these circumstances, I would use the "Part Load" colour to present these loads, leaving the load shape to distinguish between the full and part pallets.

Bad Configuration Data

There is the possibility for some sites that the data associated with a location be inconsistent.  If such is detected, the load image will be replaced, on a flashing basis, with a full block in the alarm colour.  When presented as a full block in the alarm colour, it will be included in the tally of neither loads nor vacancies.  Hence, when a rack face is presented, if there are any such locations included, the first thing to look for is to see whether the total number of loads or vacancies is alternating (as it will on that same flashing basis).

Movement Class and Product Group

There may be options, depending upon the software requirements for this site, to present the movement class or product group to which the product in the location belongs or, if the location is empty, that to which the location is dedicated, instead of the above described occupancy.  The movement class display is presented in response to typing "F" or clicking on "Fast movers", while the product group display is presented in response to typing "F" or clicking on "Fast movers" a second time, while typing or clicking a third time will return you to the occupancy display.  In response, the pallet representations will be replaced by the first character of the description of the corresponding movement class or product group of the pallet in the location, or, if there is none, of the location itself.  The colour of the character will reflect the occupancy status.

Presentation of the Crane

The position of the crane is indicated by a rectangle, occupying the whole area dedicated to the location that the crane is in front of, and the locations neighbouring it.  If the crane is loaded, there will be a smaller rectangle (occupying the single location that the crane is in front of), representing the load, painted on top of the rectangle representing the crane.

The colour used for the crane's rectangle, is:

  • Alarm/Conveyor
    flashing if in alarm,
  • Crane/Conveyor
    flashing if loading or unloading,
  • Shadow        
    if automatic is disabled,
  • Conveyor      
    if retrievals are disabled,
  • Automatic     
    if in service, or
  • Disabled      
    if out of service.

The colour used for the load's rectangle, is:

  • Destination 1 
    if in service, or
  • Disabled/Dest1
    flashing if out of service.

This presentation is painted behind the presentation of the location, so the information relating to the location can still be read when the crane is at that location.

Moving the Window About the Store

A pair of scroll bars are provided in case the rack layout is too large for the window.  The horizontal scroll bar may be controlled using the [CONTROL SEPARATE RIGHT], [CONTROL SEPARATE LEFT], [CONTROL SEPARATE HOME], and [CONTROL SEPARATE END] keys.  The vertical scroll bar may be controlled using the [CONTROL UP], [CONTROL DOWN], [CONTROL PAGE UP], and [CONTROL PAGE DOWN] keys.

Note that not all the keyboard keys, normally available to manipulate the scroll bars, can be used for this because the [SEPARATE LEFT], [SEPARATE RIGHT], [UP], [DOWN], [PAGE UP], [PAGE DOWN], [HOME], and [END] keys are used for controlling graphical representation of the stores, while the [NUMERIC LEFT], [NUMERIC RIGHT], [CONTROL NUMERIC RIGHT], [CONTROL NUMERIC LEFT], [CONTROL NUMERIC HOME], and [CONTROL NUMERIC END] keys are used for controlling the display of location details.

Moving the Cursor About the Store

The cursor is initially positioned in the bottom right hand corner of the layout.  The cursor control keys (those not part of the numeric key-pad) may be used to move from location to location within the store.  The cursor may also be moved by clicking the mouse on the desired location.

Use [PAGE UP] and [PAGE DOWN] to move through the depths, sides and aisles in the logically implied direction and use [END] to move to the left, far (if double-deep racking), side of the left most aisle and [HOME] to move back to the right, near (if double-deep racking), side of the right-most aisle.

To move directly to an arbitrary aisle, side, long travel and hoist level, type in the address in the standard form. This is described more fully in the section titled: "Store Reference". Once you have typed the leading digit, a dialogue window will be opened, with the digit in place. You may also activate this function by typing "G" then entering the address into the field provided.

If you have accessed this window from the "Retrieve from Stores by Location" window, the location addressed in this way will be selected for the retrieval schedule.  Refer to the section titled: "Retrieve from Stores by Location".

Examining and Modifying Location

The details of the location at the cursor are presented in the lower portion of the window.  These details include the occupancy status, the type of racking (storage, pickup/deposit or flow through), the enabled/disabled status and the existent/non-existent status, (all "Character" fields).

For editing instructions for these types of fields, please refer to the sections titled: "Character".

In addition, there are details specific to this site: the barcode of the pallet label (a "Name" field), the location the pallet was originally destined for (a "Destination" field), whether the location is reserved for use by the Movement Controller (a "Character" field), indexes into the load-detection data (a "Load Detection Indices" field), the number of times the load has been moved (regular locations) or the number of times the crane has found the location full (pickface locations) (a "Numeric" field).

For editing instructions for these types of fields, please refer to the sections titled: "Character", "Destination", "Numeric", and "Load Detection Indices".

Immediately below the location details, the restriction details are presented.

A horizontal scroll bar is provided in case the details extend beyond the width of the window.  This horizontal scroll bar may be controlled using the [CONTROL NUMERIC RIGHT], [CONTROL NUMERIC LEFT], [CONTROL NUMERIC HOME], and [CONTROL NUMERIC END] keys.

One of the details will be shown in reverse video.  This is referred to as the "highlighted field".

The prompt as well as the data associated with the highlighted field are displayed at the top of the window.  The [LEFT] and [RIGHT] keys from the numeric key pad may be used to highlight the previous or next detail respectively.

Displaying the Full Location Details

The details of a load may be displayed in full by positioning cursor at the load (using the cursor keys), then typing [ENTER].  You can also achieve this by double clicking on the location.

Once selected, the stores window is partially replaced with a "Set of Fields" containing the details.

If you are sufficiently privileged, this window will include a button labelled, "F1: modify".  If you have sufficient privilege, the corresponding function can also be activated without first displaying the location details in full.  To activate the function without presenting this window, move the cursor there and type [SHIFT F1].

For some sites, there might be additional buttons provided, with the first sporting a label starting with "F2:".  If there is such a button, the corresponding function can also be activated without first displaying the location details in full.  To activate the function without presenting this window, either right click on the location in question or move the cursor there and type [SHIFT F2].

Pallet Coming to Location

Having selected to display the location details, if there is a pallet on its way to this location or scheduled to be brought here, the barcode of the pallet and, if still only scheduled, its priority and, in any case, where it currently is, will be presented above the location details themselves.

Modifying the Location Details

Having selected to display the location details, if you are sufficiently privileged you will be asked to confirm that you wish to modify the details by pressing [F1].

The software may be configured so as to allow "generic" users.  The concept of "generic" users is discussed in the section titled: "Modify List of Users".  If you are logged in as a generic user, then, after pressing [F1] (as described above) you will be required to enter your specific name (a "Symbolic Name" field) and password (a "Password" field) before proceeding.  For editing instructions for these types of fields, please refer to the sections titled: "Symbolic Name", and "Password", while for more information on the "Users" database, please refer to the section titled: "Modify List of Users".

After making the desired modifications, type [ESCAPE].  The stores diagram will be returned.  Refer to the section titled: "Set of Fields".

The "Set of Fields" includes the location's occupancy status, its enabled/disabled status and its existent/non-existent status (all "Character" fields).  For editing instructions for this type of field, please refer to the sections titled: "Character".

Prioritising Replenishment

If there is no pallet on its way, but there is one scheduled, then an extra button will be presented, which will allow you to alter the priority of this movement.  This button will advertise the [F2] key, indicating that, rather than clicking on the button, you can, instead, press that key.

Modifying Several Locations At Once

This function is also only available if you have sufficient privilege.  This privilege level is specified in the "Configuration Data" record, titled "Level: kollect records".  Please refer to the section titled: "Configuration Data".

If you need to change one or more fields of several locations, you can make the task a little quicker by first gathering the locations into a "collection".  When you, subsequently, go to modify a location's details, you will, instead, modify the details of all locations in the collection.

The first step is to gather the locations into a "collection".  You can do this by moving the cursor to a location, then activating the "Kollect" menu item (by clicking on it or typing "k").  Repeat this procedure for each other location you wish to include.  If you type "k" a second time for a given location, the location will be removed from the collection.

You can also achieve this using the [SHIFT] and the separate cursor keys.  If you hold down the [SHIFT] and type one of the separate cursor keys, the cursor will be moved in the usual way, however, the location moved away from and that moved to will both (if there are, indeed two) be added to the collection, unless the location moved to is already in the collection, in which case both locations will be removed from the collection.  If there is no location in the position moved to, then no action will occur.

When a location is included in the collection, its colour will be changed to indicate this.

You can also use the mouse to collect locations.  To do this, click on the first location to be included, and keeping the mouse button down, drag the mouse over each other location to be included in the collection.  Any location visited, in this manner, a second time, will be released from the collection.

Once the collection has been formed, when you attempt to edit the location details of a location contained in the collection (as described in the section titled: "Examining and Modifying Location"), you will be presented, instead, with the details common to all locations in the collection - all other fields will be set to zero (though zero is not always blank).  Once you confirm that you intend to modify these details, and are presented with the fields in a dialogue window.  Any changes you make are recorded, so that when you close the dialogue window, you will be prompted to confirm that the change to each modified field was intentional.  Note that you get to confirm each field but not each location affected, so you will need to be sure that you have gathered the correct locations into the collection.

You can release all locations from the collection by typing [SHIFT K] or by right clicking on any location within the collection.

Deleting and Inserting Loads

If you are privileged, a load may be added to or removed from a location by positioning cursor there (using the cursor keys), then typing [INSERT] or [DELETE] respectively.  You will be requested to confirm that it is your intention to delete a load, by typing [F1].

As with the modification of a location (described above), you may find that you are required to enter a reason for adding or removing a load from the location, before the requested action is performed.

When a load is deleted it is moved from the location into a special logical location referred to as "Deleted".

This special location is displayed in the load details tablet on the Heavy-Unit-Load Conveyors diagram.  Please refer to the section titled: "Heavy-Unit-Load Conveyors".

When the next load is deleted, it replaces the load that was previously in the "Deleted" location, that load is now "really deleted". The load in the "Deleted" location can be explicitly deleted, via the Heavy-Unit-Load Conveyors diagram.

When a load is inserted into the racking or into the Heavy-Unit-Load Conveyors (refer to the section titled: "Heavy-Unit-Load Conveyors"), if the "Deleted" location contains a load, that load will be moved to the position where the load is being inserted.  If the "Deleted" location does not contain a load, a load will be created at the position.

Using the "Deleted" location, a load may be moved from one position to another by first deleting the load from the first position (moving it to the "Deleted" location) and then inserting it at the second location (moving it from the "Deleted" location).

If a number of loads need to be relocated, they should be moved one at a time; deleting the first and reinserting it then deleting the second and so forth.

Inhibited Locations

Should the crane, while attempting to deposit a load to the store, find its photocells reporting the location as occupied, the location will be automatically flagged as "Inhibited".

Should the crane, after attempting to pickup a load, find itself unloaded on high stop, the location will be flagged as "Inhibited".

Locations flagged as inhibited should be inspected regularly.

In cases where the inventory shows the location to be vacant, should the location be found to be clear of loads, the "Inhibited" status should be removed.  Should a load be found in the location, the inventory should be updated and the "Inhibited" status should be removed.  Should there be a problem with the location, such as cartons fallen from a neighbouring location, the location should be rectified before the "Inhibited" status is removed.

Should a large number of locations on one particular rack be found to be "Inhibited" you should check the adjustment of the appropriate rack occupied photocell on board the crane.

In cases where the inventory shows the location to be occupied, should the location be found to be clear of loads, the inventory should be corrected and then the "Inhibited" status removed. Should a load be found there, in good order, the "Inhibited" status should be removed.  Otherwise, you will need to rectify the problem, then possibly adjust the inventory and then remove the "Inhibited" status.

Changing the Appearance

The presentation of the stores can be expanded in the "X" and "Y" directions by typing "X" or "Y" respectively.  Similarly, the overview can be contracted by typing [SHIFT X] or [SHIFT Y] respectively.

Additionally, finer adjustments to the expansion in the "X" and "Y" directions can be achieved, simultaneously for both directions, by typing [CONTROL X] to expand, in both directions, slightly or [CONTROL Y] to contract slightly.

Select Loads for Retrieval

If this window had been called up from the location retrieval window, you have only to type in the address in the standard form (refer to the section titled: "Store Reference"), for the location to be added to the schedule.  Once you have typed the leading digit, a field, with a prompt will be presented at the top of the window with the digit in place.

The "S", [RETURN] and [ENTER] keys may be used to select and deselect loads at the cursor to be included in the retrieval. Had this window not been called up from the location retrieval window, the "S", [RETURN] and [ENTER] keys would have served to modify the location details. You may also double-click the mouse on the desired load to select or deselect it.

The loads will be shown in the "Highlight" colour if available to be selected, in the "Basic Colour" colour if the retrieval of this load is either under way or complete, in the "Selected Full Load" colour when part of this schedule and in the "Reverse" colour when part of another schedule.

For an understanding of the use of colours, refer to the section titled: "Changing the Colours".

Restricting the Display

The locations displayed within the layout, may be restricted to those whose details satisfy certain requirements.  These requirements may be that the locations be occupied.  Locations that do not satisfy all requirements will be displayed as a space.

All features provided by the "Maintenance Viewing Data" windows (except that the [LEFT] and [RIGHT] keys used to highlight a field must be those on the numeric key-pad) are active.  These features are:

  • moving the window across the records.
  • highlighting a particular field for individual attention.
  • expanding/contracting the records.
  • restricting the locations eligible for inclusion.
  • changing the contents of a field.
  • selecting a location to edit.

Refer to the sections titled: "Viewing Data", and "Maintenance Viewing Data".

Any number of restrictions may coexist.

Crane Commands and Alarms

After selecting "Crane Commands and Alarms" from the Operation Menu, the crane status and control window will be presented.

Below is a rough text-representation of this window:

Crane status and control Select crane Automatic on/off Retrieval on/off Put in service Commands HELP Crane 1 Status Alarms ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ LT out of position ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ HL out of position ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ Forks are centred ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ Next: Deposit 42:16-B-003-2 Current: Pickup 42:16-A-001-1 Position: 42:16-A-001-1 Command: Store Stage: Waiting to issue pickup

This window shows the commands, status and alarms relating to the crane 1, and provides a list of commands that the operator may send to the crane.  The blanked out section in the upper left quarter of the screen is a graphical representation of the crane, showing the position of its forks and the condition of its photocells.

To present this window for other cranes, select the "Select crane" item from the menu bar.  This opens a dialogue window, allowing you to enter the desired crane number.  Alternatively, you can use the [PAGE DOWN] and [PAGE UP] keys to move from one crane to the next, or back again.

Status List

The crane states appear beneath the heading, "Status", in the middle of the window.

If you right-click on a status line in this window, you will be presented with the help page relating to that status - one of the following subsections.

LT in/out of position

This status is always present and indicates whether the crane is positioned on a long travel screen.

HL in low/in high/out of position

This status is always present and indicates whether the crane is positioned on a hoist level screen.

Forks position

This status is always present and indicates the current position of the forks to a resolution of about 3% of full extension.

Manual

This is set when the crane is has been switched to manual or is in remote manual.  This should be off for automatic operation.

Out Of Service

This is set when an alarm occurs, the MCR drops out, the crane is switched to manual or it has been set out of service by Movement Controller.  If an alarm has occurred the fault must be rectified and the alarm reset.  If the MCR had dropped out, the cause must be rectified and the MCR must be energised.  If the crane has been switched to manual it should be returned to automatic.  Once the corrective action has been taken, the crane may be set in service.

Light Curtain

This bit indicates that a light curtain on the infeed or outfeed of the Heavy-Unit-Load Conveyor System has been entered, so there is no power provided to the crane. You would expect the crane to be not communicating under these circumstances.

Conveyor Alarm

This bit indicates that an alarm from the Heavy-Unit-Load Conveyor System that inhibits the operation of the crane is active.

Alarm change

This bit toggles on and then off to register each change in the alarm state.  It should only be on for a short duration unless communications has failed or the processor has faulted.

Loaded Status

A load has been detected on the crane forks.  If the crane is idle and this status is inconsistent with the inventory state of the crane, this state's text (or the text "Not loaded") will be highlighted.

MCR deenergised

The Master control relay is off.

LT no speed enable

The crane is in a long-travel speed restricted region.

HL no speed enable

The crane is in a hoisting speed restricted region.

Key switch manual

This is set when the crane has been switched to manual. This should be off for automatic operation.

Correction limit

The crane is permitted to travel with the load not centred, provided that a second, wider, forks-not-centred switch is still made.  This is an electrical interlock.  If this interlock is wired into the PLC, this status will reflect that it is no longer made.  Otherwise, the PLC will attempt to simulate the likely state of this switch by counting pulses from the centre, setting this status accordingly.

It is expected that this status should be shown during fork cycles, but not during travel.

Catching dev bypass

When the catching device is tripped, no motion is permitted by the crane PLC, unless this switch is set.  If this switch is set, automatic operation is not permitted, however, you are allowed to raise the hoist in manual, from the controls on board the crane.

Off-centre to left

This is set when the load has broken the left side off-centre photocell.  An alarm is not generated immediately, as the crane will try to rectify the problem by shifting the load to fit between the photocells.  Once it has failed to do this, it will then generate an alarm.  This alarm is latched and will remain even if the status is cleared.

Off-centre to right

This is set when the load has broken the right side off-centre photocell.  An alarm is not generated immediately, as the crane will try to rectify the problem by shifting the load to fit between the photocells.  Once it has failed to do this, it will then generate an alarm.  This alarm is latched and will remain even if the status is cleared.

Bin occupied left

This state may be used in conjunction with the Bin Occupied or Empty alarms to provide more detail.

Bin occupied right

This state may be used in conjunction with the Bin Occupied or Empty alarms to provide more detail.

Bin occ'd far left

This state may be used in conjunction with the Bin Occupied or Empty alarms to provide more detail.

Bin occ'd far right

This state may be used in conjunction with the Bin Occupied or Empty alarms to provide more detail.

Hoist down stop

This indicates that the hoist has tripped the down stop magnetic switch.  It should be accompanied by an alarm to this effect.

Hoist up stop

This indicates that the hoist has tripped the up stop magnetic switch.  It should be accompanied by an alarm to this effect.

LT reverse stop

This indicates that the long travel has tripped the reverse stop magnetic switch.  It should be accompanied by an alarm to this effect.

LT forward stop

This indicates that the long travel has tripped the forward stop magnetic switch.  It should be accompanied by an alarm to this effect.

LT drive failure

This state summarises the circuit breaker, thermal overload and drive fault indications for the long-travel motor.  It should be accompanied by an alarm that will be latched and provide indication of the actual fault.

HL drive failure

This state summarises the circuit breaker, thermal overload and drive fault indications for the hoist motor.  It should be accompanied by an alarm that will be latched and provide indication of the actual fault.

Forks drive failure

This state summarises the circuit breaker, thermal overload and drive fault indications for the forks motor.  It should be accompanied by an alarm that will be latched and provide indication of the actual fault.

Hoist safety fault

This state summarises the hoist safety inputs, such as slack rope and catching device.  It should be accompanied by an alarm that will be latched and provide indication of the actual fault.

MCC 24V Power Fail

Loss of DC Power.

24V supply failure

Loss of DC Power.

No conveyor system

This status is a reflection of the state sent to the crane from the computer indicating that either the gate into the crane area is open (as reported by the Heavy-Unit-Load Conveyor System) or the Heavy-Unit-Load Conveyor System is not capable of reporting.  This should be accompanied by a gate open alarm, a Heavy-Unit-Load Conveyor System alarm.

Communications fail

This state is set by the computer and indicates that either it can not communicate with the crane, or that the toggling with the crane has not completed or that there is something in the PLC's status data file that is indicating a problem.  This will be highlighted.

This is to be expected when the key to the communications switch has been removed.

If the communications switch is turned on, first of all, check the "Computer system alarms" window (as described in the section titled: "Conveyor Alarms").  Towards the bottom of the list of alarms, the communications alarms will be found.  If this "Communications fail" is a result of a condition that is reported as a computer system alarm, then the text of that alarm will give a further indication of what the problem is.  If the crane is not responding at all, the text of the alarm will be something like "Failed to communicate to communications port ...".  If it succeeded in communicating to a DataHighway modem, but that modem failed to communicate to the crane (note that we never use such an arrangement to communicate with cranes), then the text of the alarm will indicate what status is being returned by the modem.  Finally, if there is no problem with the communications, but there is a bad indication being presented in the PLC's status file, then that condition will be described.  Some of these causes for the "Communication fail" alarm will leave the system still operational.  If there is no communications alarm among the computer system alarms, then the problem must be that the toggle has stopped.  Normally, such a condition would be expected to be accompanied by a bad indication within the PLC's status file.

Had there been an accompanying computer system alarm with the text of the alarm starting with something like "Failed to communicate to communications port ...", then check that power is available to the crane, that the Infrared Serial Devices (ISD) are not obstructed, that they are correctly aligned and that the crane PLC is in run.  If all this is so, have an electrician check the wiring and power supplies to these devices.

Cabinet too cold

This alarm is relevent to cranes operating in freezer conditions, where it is necessary to regulate the temperature of the electrical cabinet.  This status, if it persists, may indicate that the regulation of the cabinet temperature has failed, or that someone has left the door open.

Cabinet too warm

This alarm is relevent to cranes operating in freezer conditions, where it is necessary to regulate the temperature of the electrical cabinet.  This status, if it persists, may indicate that the regulation of the cabinet temperature has failed.

Full current bypass

This indicates that the full current bypass switch is turned on.  This should only be turned on to allow the hoist to be lowered after the full current switch itself has been tripped.  It must be off to allow automatic operation.

Cabin position

If the cabin is one that moves, its position (up, down, or in between) will always be present.  The cabin must be up to allow the hoist to lower to the lowest level and down to allow the hoist to raise to the highest level.

Over-height 1

This indicates that the first (lowest) height check photocell is currently blocked.  If the crane is given an automatic command to put the load away where it will not fit, the "High load automatic" alarm will be raised.  If the crane is in manual and the driver attempts to place the load where it will not fit, then "High load manual" alarm will be raised.

Over-height 2

This indicates that the second height check photocell is currently blocked.  If the crane is given an automatic command to put the load away where it will not fit, the "High load automatic" alarm will be raised.  If the crane is in manual and the driver attempts to place the load where it will not fit, then "High load manual" alarm will be raised.

Over-height 3

This indicates that the third height check photocell is currently blocked.  If the crane is given an automatic command to put the load away where it will not fit, the "High load automatic" alarm will be raised.  If the crane is in manual and the driver attempts to place the load where it will not fit, then "High load manual" alarm will be raised.

Over-height 4

This indicates that the fourth height check photocell is currently blocked.  If the crane is given an automatic command to put the load away where it will not fit, the "High load automatic" alarm will be raised.  If the crane is in manual and the driver attempts to place the load where it will not fit, then "High load manual" alarm will be raised.

Over-height 5

This indicates that the fifth height check photocell is currently blocked.  If the crane is given an automatic command to put the load away where it will not fit, the "High load automatic" alarm will be raised.  If the crane is in manual and the driver attempts to place the load where it will not fit, then "High load manual" alarm will be raised.

Over-height 6

This indicates that the sixth height check photocell is currently blocked.  If the crane is given an automatic command to put the load away where it will not fit, the "High load automatic" alarm will be raised.  If the crane is in manual and the driver attempts to place the load where it will not fit, then "High load manual" alarm will be raised.

Over-height 7

This indicates that the seventh height check photocell is currently blocked.  If the crane is given an automatic command to put the load away where it will not fit, the "High load automatic" alarm will be raised.  If the crane is in manual and the driver attempts to place the load where it will not fit, then "High load manual" alarm will be raised.

Over-height 8

This indicates that the eighth height check photocell is currently blocked.  If the crane is given an automatic command to put the load away where it will not fit, the "High load automatic" alarm will be raised.  If the crane is in manual and the driver attempts to place the load where it will not fit, then "High load manual" alarm will be raised.

Long Travel Motion

This indicates whether there is any long travel motion, and in which direction and at what speed that motion is supposed to be taking place.  Should a long travel screen be over shot, the word "oops!" will be displayed.  Should the long travel find itself off a screen and stopped, the crane will enter the "lost!" state for the long travel and display that text.

Hoist Motion

This indicates whether there is any hoist motion, and in which direction and at what speed that motion is supposed to be taking place.  Should a hoist screen be over shot, the word "oops!" will be displayed.  Should the hoist find itself off a screen and stopped, the crane will enter the "lost!" state for the hoist and display that text.

Forks Motion

This indicates whether there is any fork motion, and in which direction and at what speed that motion is supposed to be taking place.  Should the crane be set back in service while the forks are extended, its first operation will be to centre its forks; while doing this it will display "lost!" against the forks.  If, during travel, the crane finds the load is off-centre, it will try to correct, and displays "fix OC" while attempting this.

Graphical Status

To the left of the list of status conditions is shown a diagram of the crane, showing the state of its load sensing, load off-centre, bin occupied and height check photocells and the extension of its forks and, if the forks are not centred, whether at high stop or not; if at high stop, a load will be shown at the forks extension, otherwise the forks will be shown.

If the forks are not centred, the crane will instead show whether the computer's inventory has it holding a load.

The colour of the forks, or the colour of the border around the load will be red if the crane is in automatic, yellow if in manual or grey if otherwise out of service.

The body of the crane will be shown in orange if healthy, or red if in alarm.

Alarms

The crane alarms appear beneath the heading, "Alarms" towards the right of the window.

Please bear in mind that all these alarms are based on the PLC's view of the system and may therefore be the result of a failure in the sensing mechanisms and/or circuitry or in the control mechanisms and/or circuitry.  This is not reiterated in the following discussions of the individual alarms.

The sensing mechanisms include limit switches, relay contacts, proximity switches, and photocells, while the sensing circuitry includes wiring, terminations, PLC inputs, the field input power supply, and circuit breakers.

The control mechanisms include motors and associated gearboxes, sprockets, chains, drums, and cables, while the control circuitry includes circuit breakers, the field output power supply, PLC outputs, relays, motor contactors, variable speed drives, motor circuit breakers, thermal overloads, and motor isolators.  In particular, check that the motor isolators are turned on.

Typically, after an alarm has been encountered, investigated and the cause removed, the alarms reset, the MCR will need to be energised, and the crane set back into service.

Bear in mind, that when rectifying problems on the crane, using manual controls, the crane PLC is watching, trying to determine what has happened to the load.  Therefore, if you centre the forks with the load left in the racking then pickup the load, the load will be assumed to be left in the racking (as indicated by your first action) and, when back in service, the next load to be picked up is likely to generate a "Pickup but loaded" alarm, which, if you abort that pickup, will lead the system to believe this second load to have been picked up by the crane, rather than the first causing considerable confusion.

The assumptions made by the system when a cycle has been completed while the crane is in alarm, are entered into the event log and should be checked to determine whether they are correct.

If you right-click on an alarm in this window, you will be presented with the help page relating to that alarm - one of the following subsections.

For some sites, there is referenced, for each of these alarms, another alarm from this list, which, if active, is considered as the prime cause of the fault, while the referencing alarm is considered to be parasitic.  Such alarms, though active, will be suppressed from being presented in this list.  For more information on defining the parasitic nature of certain alarms, please refer to the section titled: "Enter or Modify the Crane Alarms".

MCR is off

The main control relay had dropped out.  The MCR is released by the PLC program when the crane enters alarm state, under which conditions it will be accompanied by that alarm.

24VDC is off

The 24VDC field power supply had been lost.

This will result normally when someone accesses the crane via security gates that are wired to drop the power to the crane.  You should only be concerned about this alarm should it occur at other tmes.

In particular, bear in mind that if this alarm does occur, it may be accompanied by parasitic false alarms.  Although we do not suppress the reporting of parasitic alarms, there is a data file within the crane PLC that has a bit associated with each alarm that the crane can raise.  If this bit is set for a given alarm, then, should the field power supply recover, that alarm will be automatically cleared.  We have tried to list, in this data file, each of the alarms that would be dependent upon the field power supply.  Hence, a momentary failure of the field power supply would latch this field power supply alarm but it would cause the parasitic alarms to be cleared when that moment passes.

Should this alarm occur at times when the security gate has been opened or when you know that power has been disrupted to the crane, you should refer this fault to an electrician.

HL circuit breaker

The hoist motor circuit breaker had tripped.

Please refer this fault to an electrician.

LT circuit breaker

The long travel motor circuit breaker had tripped.

Please refer this fault to an electrician.

Forks circuit b'ker

The fork motor circuit breaker had tripped.

Please refer this fault to an electrician.

HL drive fault

The hoist motor's drive had reported a fault.

Please refer this fault to an electrician.

LT drive fault

The long travel motor's drive had reported a fault.

Please refer this fault to an electrician.

Forks drive fault

The fork motor's drive had reported a fault.

Please refer this fault to an electrician.

HL thermal overload

The hoist motor's drive or brake had experienced a thermal overload.

Please refer this fault to an electrician.

LT thermal overload

The long travel motor's drive or brake had experienced a thermal overload.

Please refer this fault to an electrician.

Forks thermal O/L

The fork motor's drive or brake had experienced a thermal overload.

Please refer this fault to an electrician.

HL thermistor trip

The hoist motor's drive or brake had experienced a thermistor trip.

Please refer this fault to an electrician.

LT thermistor trip

The long travel motor's drive or brake had experienced a thermistor trip.

Please refer this fault to an electrician.

Forks thermistor tr

The fork motor's drive or brake had experienced a thermistor trip.

Please refer this fault to an electrician.

Cabin too cold

The PLC cabinet had become too cold.

Cabin too warm

The PLC cabinet had become too warm.

Load Off Centre

Either the crane was unable to centre its load without extending its forks unacceptably far ("Load Off Centre"), or it has spent too much time attempting to centre its load ("Load correct'n fail"), or both off-centre photocells were blocked at once ("Load seems too wide"), or one of the off-centre photocells was blocked while the crane was unloaded ("Off-centre fouled").

There are a multitude of causes for these alarms, such as badly stacked loads, badly stacked empty loads, rubbish hanging from the loads, rubbish or loads protruding from the racking, the crane attempting to pickup from double deep while the single deep is occupied, the crane attempting to pickup an incorrectly positioned load, et cetera.

This fault will require that you inspect the situation and adjust the load physically or by using the manual controls at the electrical cabinet or from the cabin.

Load correct'n fail

Either the crane was unable to centre its load without extending its forks unacceptably far ("Load Off Centre"), or it has spent too much time attempting to centre its load ("Load correct'n fail"), or both off-centre photocells were blocked at once ("Load seems too wide"), or one of the off-centre photocells was blocked while the crane was unloaded ("Off-centre fouled").

There are a multitude of causes for these alarms, such as badly stacked loads, badly stacked empty loads, rubbish hanging from the loads, rubbish or loads protruding from the racking, the crane attempting to pickup from double deep while the single deep is occupied, the crane attempting to pickup an incorrectly positioned load, et cetera.

This fault will require that you inspect the situation and adjust the load physically or by using the manual controls at the electrical cabinet or from the cabin.

Off-centre fouled

Either the crane was unable to centre its load without extending its forks unacceptably far ("Load Off Centre"), or it has spent too much time attempting to centre its load ("Load correct'n fail"), or both off-centre photocells were blocked at once ("Load seems too wide"), or one of the off-centre photocells was blocked while the crane was unloaded ("Off-centre fouled").

There are a multitude of causes for these alarms, such as badly stacked loads, badly stacked empty loads, rubbish hanging from the loads, rubbish or loads protruding from the racking, the crane attempting to pickup from double deep while the single deep is occupied, the crane attempting to pickup an incorrectly positioned load, et cetera.

This fault will require that you inspect the situation and adjust the load physically or by using the manual controls at the electrical cabinet or from the cabin.

Load seems too wide

Either the crane was unable to centre its load without extending its forks unacceptably far ("Load Off Centre"), or it has spent too much time attempting to centre its load ("Load correct'n fail"), or both off-centre photocells were blocked at once ("Load seems too wide"), or one of the off-centre photocells was blocked while the crane was unloaded ("Off-centre fouled").

There are a multitude of causes for these alarms, such as badly stacked loads, badly stacked empty loads, rubbish hanging from the loads, rubbish or loads protruding from the racking, the crane attempting to pickup from double deep while the single deep is occupied, the crane attempting to pickup an incorrectly positioned load, et cetera.

This fault will require that you inspect the situation and adjust the load physically or by using the manual controls at the electrical cabinet or from the cabin.

Catch block set

The "Catch Block" hoist safety device had tripped.

Please refer this fault to a crane maintenance person.

Slack rope

The "Slack Rope" hoist safety device had tripped.

Please refer this fault to a crane maintenance person.

Rope overload

The "Rope Overload" hoist safety device had tripped.

Please refer this fault to a crane maintenance person.

Hoist over-speed

The "Hoist Over-Speed" hoist safety device had tripped.

Please refer this fault to a crane maintenance person.

Speed govenor trip

The "Speed Governor" hoist safety device had tripped.

Please refer this fault to a crane maintenance person.

Hoist whole current

The "Whole Current" hoist safety device had tripped.

Please refer this fault to a crane maintenance person.

Hoist too slow

The crane has taken too long to reach the destination Hoist screen, possibly because the destination screen is missing.

This fault will require that you inspect the situation and position the hoist and long travel on a screen appropriately by using the manual controls at the electrical cabinet or from the cabin.

HL hunting too slow

The crane has taken too long to position on the destination Hoist screen.

This fault will require that you inspect the situation and position the hoist and long travel on a screen appropriately by using the manual controls at the electrical cabinet or from the cabin.

LT too slow

The crane has taken too long to reach the destination Long Travel screen, possibly because the destination screen is missing.

This fault will require that you inspect the situation and position the hoist and long travel on a screen appropriately by using the manual controls at the electrical cabinet or from the cabin.

LT hunting too slow

The crane has taken too long to position on the destination Long Travel screen.

This fault will require that you inspect the situation and position the hoist and long travel on a screen appropriately by using the manual controls at the electrical cabinet or from the cabin.

Forks 2 slow left

The forks took too long to reach the limit switch for either single or double deep or the centre switch.

This could be a result of the forks trying to extend into another load, the load on the forks fouling the racking, cartons coming loose from the load an obstructing the progress of the forks, the clutch being set too light or mechanical problems with the forks.

This fault will require that you inspect the situation and adjust the load physically or by using the manual controls at the electrical cabinet or from the cabin.

Forks 2 slow right

The forks took too long to reach the limit switch for either single or double deep or the centre switch.

This could be a result of the forks trying to extend into another load, the load on the forks fouling the racking, cartons coming loose from the load an obstructing the progress of the forks, the clutch being set too light or mechanical problems with the forks.

This fault will require that you inspect the situation and adjust the load physically or by using the manual controls at the electrical cabinet or from the cabin.

Hoist too high

The magnetic switch to detect the limit of travel has tripped.

This fault will require that you inspect the situation and position the hoist on a screen appropriately by using the manual controls at the electrical cabinet or from the cabin.

Hoist too low

The magnetic switch to detect the limit of travel has tripped.

This fault will require that you inspect the situation and position the hoist on a screen appropriately by using the manual controls at the electrical cabinet or from the cabin.

LT overrun

The magnetic switch to detect the limit of travel has tripped.  A common cause of "LT overrun", in cold stores, is a build up of ice on the rail.

This fault will require that you inspect the situation and position the long travel on a screen appropriately by using the manual controls at the electrical cabinet or from the cabin.

Cabin door open

Either the cabin door or one of its windows had been opened. You will need to close the offending door or window.

Gate is open

The computer had informed it that its access gate had been opened or that it could not rely on the Heavy-Unit-Load Conveyor System to report the gate's condition.

Trolley problems

Either the communications with the trolley PLC has failed (this would produce this alarm on all cranes at once) or the trolley PLC reports that the trolley is not at the crane position, while the crane is attempting to pickup or deposit a load at the trolley.

Communications bad

The crane had detected a prolonged loss of communications. This alarm is raised only if the crane is idle or at the end of a cycle.

This alarm can only be raised once the communications has been restored.  You need only to energise the main contactor, reset the alarm, and set it back in service.  This is most common after the key has been restored to the communications switch.

Pickup got nothing

The 'Loaded' photocell was not blocked at the completion of a pickup cycle.  This is usually an indication that the location in question is vacant, however, this can also result from leaving the crane unloaded and on high stop after correcting an earlier problem.  You should leave the crane on low stop if unloaded and high stop if loaded.

If the "Crane to find vacancy" is set, the computer will handle this alarm on its own, inhibiting the location, provided it did not occur at the crane infeed.

Deposit still loaded

The 'Loaded' photocell was blocked at the completion of a deposit cycle.

This is expected to be rare and must be inspected.

Pickup but loaded

The 'Loaded' photocell was blocked at the commencement of a pickup cycle.

The command must be aborted, however, this is likely to result in the Movement Controller becoming confused about the actual locations of the loads in question.  After aborting the command and before resetting the alarm and setting the crane back in service, you should check the inventory in the areas likely to be affected.

Deposit but no load

The 'Loaded' photocell was not blocked at the commencement of a deposit cycle.

The command must be aborted, however, this is likely to be the result of the Movement Controller becoming confused about the actual locations of the loads in question.  After aborting the command and before resetting the alarm and setting the crane back in service, you should check the inventory in the areas likely to be affected.

Forbidden slot

An attempt was made to extend the forks into a location where there is no racking.  Note that the forks are allowed into non-existent single depth locations if there are existent locations behind them.

Bad command

An automatic command requested the crane to access a location where there is no racking.  Note that the forks are allowed into non-existent single depth locations if there are existent locations behind them.

This should be rare unless the command was issued by the operator.  You may need to use the "Modify Current Command" to provide an alternate destination for the load.

LT location bad

An automatic command requested the crane to move to a long travel position that is out of range of the crane.

This should not occur.

HL location bad

An automatic command requested the crane to move to a hoist level position that is out of range of the crane.

This should not occur.

Empty or blocked

An automatic command requested the crane to pickup a load from a location in which it could not see a load, or from a double deep location while it could see a load in front. If the "Crane to find vacancy" is set, or there are pickface linkages set for that location, the computer will handle these alarms on its own, provided it did not occur at the crane infeed.

If the computer does not handle it automatically, you should abort the current command.

Location empty

An automatic command requested the crane to pickup a load from a location in which it could not see a load, or from a double deep location while it could see a load in front. If the "Crane to find vacancy" is set, or there are pickface linkages set for that location, the computer will handle these alarms on its own, provided it did not occur at the crane infeed.

If the computer does not handle it automatically, you should abort the current command.

Location full

An automatic command requested the crane to deposit a load into a location in which it could already see a load. If the "Crane to find vacancy" is set, the computer will handle these alarms on its own, provided it did not occur at the crane outfeed.

If the computer does not handle it automatically, you should use the "Modify Current Command" to issue a deposit to an alternate location.

HL bad screen

After positioning on a screen, the reader found the screen not to have the correct number of tabs.

The screen the crane is positioned at may need to be replaced, or rubbish may need to be removed from the reader, or the reader may need repair.

LT bad screen

After positioning on a screen, the reader found the screen not to have the correct number of tabs.

The screen the crane is positioned at may need to be replaced, or rubbish may need to be removed from the reader, or the reader may need repair.

HL stalled

This alarm reflects the situation where the crane has asked for hoist motion and has seen no evidence of this.  There are a number of possible causes, including the motors being isolated, and failure of hoist position reader.

In this case, you will need to inspect the situation and adjust the load physically or by using the manual controls at the electrical cabinet or from the cabin.

LT stalled

This alarm reflects the situation where the crane has asked for long travel motion and has seen no evidence of this.  There are a number of possible causes, including the motors being isolated, and failure of long travel position reader. In cranes where the forks off-centre switch is not wired into the PLC, the most common cause of "LT stalled", is the forks being slightly off centre resulting in the relay logic, unbeknown to the crane, preventing long travel motion.

In this case, you will need to inspect the situation and adjust the load physically or by using the manual controls at the electrical cabinet or from the cabin.

LT stalled/centred?

This alarm reflects the situation where the crane has asked for long travel motion and has seen no evidence of this.  There are a number of possible causes, including the motors being isolated, failure of long travel position reader. In cranes where the forks off-centre switch is not wired into the PLC, the most common cause of "LT stalled", is the forks being slightly off centre resulting in the relay logic, unbeknown to the crane, preventing long travel motion.

In this case, you will need to inspect the situation and adjust the load physically or by using the manual controls at the electrical cabinet or from the cabin.

Lost fork limit sw.

This indicates that the forks have travelled past the target limit switch.  This is likely to result from the forks failing to slow down beforehand.  This in turn can be caused by the fork centre proximity being falsely triggered away from centre or by the fork counter photocell either not operating or else not operating correctly.

To correct the situation, position the forks on the appropriate limit switch, using the manual controls at the electrical cabinet or from the cabin.  It may assist to recentre the forks first, then extend the forks to the limit switch, where it should either pause (if single deep) or stop (if double deep).  Had you centred the forks, you should use the "Modify Current Command", specifying the same command so as to start the command again from scratch.

Forks switch lost

This indicates that the forks have travelled past the target limit switch.  This is likely to result from the forks failing to slow down beforehand.  This in turn can be caused by the fork centre proximity being falsely triggered away from centre or by the fork counter photocell either not operating or else not operating correctly.

To correct the situation, position the forks on the appropriate limit switch, using the manual controls at the electrical cabinet or from the cabin.  It may assist to recentre the forks first, then extend the forks to the limit switch, where it should either pause (if single deep) or stop (if double deep).  Had you centred the forks, you should use the "Modify Current Command", specifying the same command so as to start the command again from scratch.

Overall Watchdog

This indicates that the crane failed to complete its command within a reasonable time.  Its probable cause is that the crane has entered a looping mode switching from one state to another and back again without triggering the associated watchdogs within these states.  The cause for this is likely to be associated with physical problems, such as rubbish in the long travel or hoist readers, missing screens or the T1 and/or T2 photocells being incorrectly adjusted.

It can also be caused by conflicting readings from its inputs such as having the double deep left switch activated at the same time as the forks centred switch.

The quick fix is to check the readers for rubbish then position the hoist and long travel on the appropriate screen by using the manual controls at the electrical cabinet or from the cabin.

High load manual

An attempt was made to extend the forks into a location that can not accommodate a load of this load's apparent height.

High load automatic

An automatic command requested the crane to access a location that can not accommodate a load of this load's apparent height.

You may need to use the "Modify Current Command" to provide an alternate destination for the load.

Cabin too slow down

The crane has taken too long to lower the cabin. This implies that either the cabin has not moved fast enough or has not been seen to move fast enough.

If it has failed to move, check for obstructions.

If it has not been seen to move, check the adjustment of the proximity switches.

This fault will require that you inspect the situation and position the hoist and long travel on a screen appropriately by using the manual controls at the electrical cabinet or from the cabin.  Raising the hoist above the third top level causes the cabin to lower, while lowering it below the fourth top level causes the cabin to rise.

Pickup not going

The crane is in its pickup cycle (B18/11) but has been spending too long waiting for conditions to be appropriate for the next phase of the pickup cycle to commence (B18/14 - extend left, B18/24 retract from left, B18/15 - extend right, or B18/25 - return from right).

This is a type of catch-all alarm that is here because insufficient care has been taken to report the actual problem that has lead to the situation that prevents this operation from continuing.

Possible causes include the load-on-forks photocell being blocked, or, else, with the forks off the centre sensor, having one of the load-off-centre photocells obstructed.

Empty Pallet in Way

This alarm was originally designated "Deposit not going" and has been renamed in honour of its most common cause.

The crane is in its deposit cycle (B19/11) but has been spending too long waiting for conditions to be appropriate for the next phase of the deposit cycle to commence (B19/14 - extend left, B19/24 retract from left, B19/15 - extend right, or B19/25 - return from right).

This is a type of catch-all alarm that is here because insufficient care has been taken to report the actual problem that has lead to the situation that prevents this operation from continuing.

We have found that, generally, this is a result of an empty pallet being left in the pickface after all product has been picked from it.

Cabin too slow up

The crane has taken too long to raise the cabin. This implies that either the cabin has not moved fast enough or has not been seen to move fast enough.

If it has failed to move, check for obstructions.

If it has not been seen to move, check the adjustment of the proximity switches.

This fault will require that you inspect the situation and position the hoist and long travel on a screen appropriately by using the manual controls at the electrical cabinet or from the cabin.  Raising the hoist above the third top level causes the cabin to lower, while lowering it below the fourth top level causes the cabin to rise.

Pickup not centred

Once the photocells indicate that conditions are safe to pickup a load, then, provided that the forks are centred, the forks cycle will start.  Had the forks not been centred, this alarm will be raised.  This is not expected to be a common event; most likely resulting from the crane being left, after manual intervention, with its forks off centre.

Deposit not centred

Once the photocells indicate that conditions are safe to deposit a load, then, provided that the forks are centred, the forks cycle will start.  Had the forks not been centred, this alarm will be raised.  This is not expected to be a common event; most likely resulting from the crane being left, after manual intervention, with its forks off centre.

LT wrong card

The long travel axis has counted its way to the screen, then when its photocells had settled on the screen, it found that it was on the wrong place.  Had the location been sufficiently close to the intended target, the crane would have had a second attempt to find the correct screen before raising this alarm.

This alarm can result from rubbish in the aisle blocking the reader, causing it to miscount the screens, an incorrectly placed or programmed screen, a damaged screen, or a fault with the reader box.

Hoist wrong card

The hoist axis has counted its way to the screen, then when its photocells had settled on the screen, it found that it was on the wrong place.  Had the location been sufficiently close to the intended target, the crane would have had a second attempt to find the correct screen before raising this alarm.

This alarm can result from rubbish in the aisle blocking the reader, causing it to miscount the screens, an incorrectly placed or programmed screen, a damaged screen, or a fault with the reader box.

Can't centre forks

After the crane is set in service, it first tries to centre its forks. If it fails to do so within a reasonable period of time, this alarm is raised.

The most likely cause is that the crane was between high and low stop, or came off high or low stop during forking, preventing this operation from taking place.

Other causes include, the load on the forks fouling the racking, cartons coming loose from the load an obstructing the progress of the forks, the clutch being set too light or mechanical problems with the forks.

This fault will require that you inspect the situation and adjust the load physically or by using the manual controls at the electrical cabinet or from the cabin.

Fork recovery fail

After the crane is set in service, it first tries to centre its forks. If it fails to do so within a reasonable period of time, this alarm is raised.

The most likely cause is that the crane was between high and low stop, or came off high or low stop during forking, preventing this operation from taking place.

Other causes include, the load on the forks fouling the racking, cartons coming loose from the load an obstructing the progress of the forks, the clutch being set too light or mechanical problems with the forks.

This fault will require that you inspect the situation and adjust the load physically or by using the manual controls at the electrical cabinet or from the cabin.

Off LT when forking

This alarm is produced if the crane is no longer on the screen during the forking operation (picking up or depositing).  The degree to which this is policed, is settable, and if set loosely, will allow the forking to continue so long as the crane is partially on the screen.

This fault will require you to centre the forks, then set the crane correctly on the long travel screen, then reset the alarms and set it back in service.

Off HL when forking

This alarm is produced if the crane is no longer on the screen during the forking operation (picking up or depositing).  The degree to which this is policed, is settable.  It may be set so that the crane must remain on high stop or low stop (as the case may be), see either T1 or T2 tab for the appropriate position, or see T1 or T2 for either position.

This fault will require you to centre the forks, then set the crane correctly on the hoist screen, then reset the alarms and set it back in service.

LT reader blocked

The long travel screen reader box found that at least one of its location or parity photocells was blocked when both its T1 and T2 photocells were clear.

This alarm can result from rubbish in the aisle, or caught up in the reader, blocking the reader, or grime on or damage to the body of the screen causing either the T1 or T2 photocell not to be reflected or blocked (depending upon the method used).  If this alarm can be reset, without needing to attend to the crane's reader box, it implies that the cause was, most likely, grime on or damage to a screen.  This grime or damage should be corrected as it will also impact on the crane's positioning performance.

HL reader blocked

The hoist screen reader box found that at least one of its location or parity photocells was blocked when both its T1 and T2 photocells were clear.

This alarm can result from rubbish in the aisle, or caught up in the reader, blocking the reader, or grime on or damage to the body of the screen causing either the T1 or T2 photocell not to be reflected or blocked (depending upon the method used).  If this alarm can be reset, without needing to attend to the crane's reader box, it implies that the cause was, most likely, grime on or damage to a screen.  This grime or damage should be corrected as it will also impact on the crane's positioning performance.

LT brake release on

The LT brake release is used to release the brake, to allow the crane to be pushed when the motor has failed.  While the brake is released, neither manual nor automatic operation can not take place.

If this has been left on erroneously, have an electrician correct it.

Buffer shifted back

This indicates that the crane has gone beyond the end stop (in the reverse direction) and has thereby shifted its buffer.

Depending on the type of buffer used, it may be sufficient to move the crane back off the buffer.  Other types of buffers need to be mechanically reset.

Buffer shifted fwd.

This indicates that the crane has gone beyond the end stop (in the forward direction) and has thereby shifted its buffer.

Depending on the type of buffer used, it may be sufficient to move the crane back off the buffer.  Other types of buffers need to be mechanically reset.

Emergency stop

An emergency stop has been operated.  The reason for pressing the stop should be established, then, when safe to do so, the stop should be released, allowing the operation of the system to continue.

LT at both ends

The long travel forward and reverse end inputs have indicated that the crane is at both ends at once - an impossible state.

This could be due to failure of one of the switches involved, a fault in the cabling, or badly adjusted magnets.

HL at both ends

The hoist high and low inputs have indicated that the crane is towards the top of its travel and the bottom of its travel at once - an impossible state.

This could be due to failure of one of the switches involved, a fault in the cabling up the mast, or badly adjusted magnets.

Cabin up and down

The cabin up and down inputs have indicated that the crane's cabin is both up and down at once - an impossible state.

This could be due to failure of one of the switches involved, a fault in the cabling up the mast, or badly adjusted magnets.

HL at low & hi stop

All the hoist reader box's "T" photocells are blocked, indicating that it is simultaneously in both high and low stop.

This alarm can result from rubbish in the aisle, or caught up in the reader, blocking the reader, or grime on or damage to the body of the screen causing either the T1 or T2 photocell not to be reflected or blocked (depending upon the method used).  If this alarm can be reset, without needing to attend to the crane's reader box, it implies that the cause was, most likely, grime on or damage to a screen.  This grime or damage should be corrected as it will also impact on the crane's positioning performance.

HL wrong for magnet

The hoist axis has encountered a magnet where it should not be, or else has not encountered a magnet where it had expected one to be.

This is either because it failed to read the magnet, or else has miscounted a screen.  The miscount could have resulted from rubbish in the aisle blocking the reader, an incorrectly placed or programmed screen, a damaged screen, or a fault with the reader box.

LT wrong for magnet

The long travel axis has encountered a magnet where it should not be, or else has not encountered a magnet where it had expected one to be.

This is either because it failed to read the magnet, or else has miscounted a screen.  The miscount could have resulted from rubbish in the aisle blocking the reader, an incorrectly placed or programmed screen, a damaged screen, or a fault with the reader box.

Automatic Command Queue

At the bottom of the window are the two motion commands currently written into the crane's PLC - the current command below the pending command.  Below these again is the done command that should appear briefly at the completion of a command.  When the done command is not shown, the current position of the crane is shown instead.

Beneath this is the "governing command", when one is present.  If present, the governing command is shown next to the text "Command:", if it does not correspond to a single crane command, the stage, at which the governing command is up to, will be presented below the governing command.

If either all-automatic-commands or just-automatic-retrievals are turned off, then, when there is no governing command, a message to this effect will be presented in place of the governing command.  For instructions for disabling automatic commands or just retrievals, refer to the sections titled: "Turning Off and On Automatic Commands", and "Turning Off and On Retrieval Commands".

If the Movement Controller is attempting to issue a command, which the Movement Controller's checking software is deeming to be unwise, a message to this effect will be presented beneath the governing command and in place of the automatic-commands-off message.  For more detail on these messages, please refer to the section titled: "Checking Software Messages".

Command Presentation Format

The formats of the two motion commands and the done command or position, are all the same.

The first field in each command indicates whether the command is a travel, pickup or deposit command by displaying the text "Travel", "Pickup", or "Deposit" respectively.  If there is no command this field will be blank.

The second field presents the store slot coordinates to which the command refers, or, in the case of the "done command or position" when there is no done command, the slot nearest the crane.

Governing Command

Most of the commands issued to the crane are issued so as to move a pallet from one location to another.  This is referred to as the governing command.  The governing command, usually a "Store", "Retrieve", or "Relocate" is presented below the command queue, along with the stage it is at, for example, "Waiting to issue pickup".

Associated with a governing commands may be a number of crane commands, such as pickup from the racking, and deposit to the outfeed.

Once the deposit command has been written to the crane, the governing command is finished, and a new governing command may start.  This new governing command may be at the stage "Waiting to issue pickup", while it waits for the deposit command, from the previous governing command, to be shifted into the current command position.  The point to bear in mind here is that the governing command presented at any time does not necessarily have anything to do with what the crane is currently doing, or about to do, as the crane might still be following the instructions from the last governing command.

You might regard the governing command as an indication of what's coming up.

Checking Software Messages

The messages you are likely to see, which can impact upon what the crane is wanting to do, include:

  • PAUSED
    At certain sites, the Movement Controller may find it necessary, in, say, the event of fire, to instruct the crane to pause its operations, in order to allow people to evacuate the warehouse, via the passages that cross the crane aisles.  This might also result from someone requesting access to the warehouse.
  • NOT PERMITTED TO TRAVEL
    At certain sites, the Movement Controller may determine that it is not safe for the crane to travel (long travel or hoisting) due to, say, the detection of an obstruction in the aisle.  When this status is set, the crane will be allowed to complete its fork cycles, but not to move to another position.
  • TRYING TO PICKUP FROM OUTFEED
  • TRYING TO DEPOSIT TO INFEED
    Somehow, the Movement Controller has found itself trying to issue an illegal command to a crane.  This would usually require some investigation, however, in the end, you'll probably need to abort commands so as to allow the crane to resume its normal operations.

Turning Off and On Automatic Commands

This menu option is only presented if you have sufficient privilege to use it. This privilege level is specified in the "Configuration Data" record, titled "Level: crane auto off".  Please refer to the section titled: "Configuration Data".

The Movement Controller issues governing commands to the crane to move pallets about the warehouse as it thinks fit.  If you wish to issue these governing commands yourself, using the commands, "Store a load", "Retrieve a load", and "Relocate a load in the rack" (discussed in the next section), then you might wish to disable the Movement Controller from issuing these commands itself.

To do this, click on the menu bar item, "Automatic on/off", or type "A", then click on "Off" or type "O".

In response the text, "AUTOMATIC ISSUING OF COMMANDS IS OFF", will be displayed in place of the governing command.  Disabling of the automatic issuing of commands has no effect on any governing command that may already be in place.

To allow the system to again issue governing commands automatically, click on the menu bar item, "Automatic on/off", or type "A", then click on "Automatic on" or type "A".

Inhibiting the Crane

There is a provision to let the host_computer know that a crane is out of action.  Once you turn off the automatic issuing of crane commands, you will be asked whether you wish to inform the host_computer of this.

Informing the host_computer of the crane being down will result in it not issuing further requests for this crane, and to have its existing requests cancelled.

You should only do this if you are intending that the crane be left out of automatic operation for some time.

To inform the host_computer of this, enter a reason for the crane being down.  The reason is a "Symbolic Name" field that references the "Crane Down Reasons" database.  For editing instructions for this type of field, please refer to the section titled: "Symbolic Name".

The host_computer will be informed of the crane being again available once you have turned automatic commands back on.

The reason the crane is down will be presented alongside the text, "AUTOMATIC ISSUING OF COMMANDS IS OFF".

Turning Off and On Retrieval Commands

This menu option is only presented if you have sufficient privilege to use it.  This privilege level is specified in the "Configuration Data" record, titled "Level: crane auto off".  Please refer to the section titled: "Configuration Data".

The Movement Controller issues governing commands to the crane to retrieve loads from the warehouse in accordance with the retrieval schedules.  Please refer to the section titled: "Retrieve from Stores by Location".

If you wish to suspend the retrieval of loads, without deleting the schedules themselves, then you can do this using this function.

To do this, click on the menu bar item, "Retrieval on/off", or type "R", then click on "Off" or type "O".

In response the text, "AUTOMATIC RETRIEVAL OF ... IS OFF", will be displayed in place of the governing command.  Disabling of the automatic issuing of retrieval commands has no effect on any governing command that may already be in place, and the message, , will only be displayed if there is no governing command, and if you have not also disabled all automatic commands as well. Please refer to the section titled: "Turning Off and On Automatic Commands".

To allow the system to again issue retrieval commands automatically, click on the menu bar item, "Retrieval on/off", or type "R", then click on "Retrieval on" or type "R".

Putting the Crane Back Service

This menu option is only presented if you have sufficient privilege to use it.  This privilege level is specified in the "Configuration Data" record, titled "Level: crane auto off".  Please refer to the section titled: "Configuration Data".

Additionally, certain sites have a restriction upon which terminals allow an operator to use this command.  If this is one of these sites, this function is restricted to those terminals listed in the set of terminal locations and, there, flagged as allowing crane control.  Please refer to the section titled: "Terminal Locations".

If you do not have sufficient privilege to use this command, you will need to issue the individual, non-motion commands, "Reset Alarms", "Energise Main Contactor", and "Set in Service", via the "Command" menu bar item.  Please refer to the section titled: "Operator Commands".

When the crane encounters an alarm, as well as raising the alarm, it may drop its main contactor, and will always set itself out of service.  To get it back into service, you need to reset its alarms, energise its main contactor and set it back into service.  This command performs these three functions.

To do this, click on the menu bar item, "Put in service", or type "P", then click on "Put in service" or type "P" a second time.

For some sites, there may be required further dialogue, in order to obtain a reason for the action and/or to obtain the identity of the person putting the crane back in service.

In response, you should see the crane's status gradually change so that first its main contactor is energised, then its alarms are reset, and finally it is set back into service.

Operator Commands

There are several operator commands, however, depending upon you privilege level, you may not be allowed access to all or any of these.  Please refer to the section titled: "Crane Commands and Security",

Additionally, certain sites have a restriction upon which terminals allow an operator to use the crane commands.  If this is one of these sites, this function is restricted to those terminals listed in the set of terminal locations and, there, flagged as allowing crane control.  Please refer to the section titled: "Terminal Locations".

Of the many commands, which an operator may issue to a crane, the first six are non-motion commands.  The next group of commands are either individual instances of the two motion commands or higher level (governing) commands requiring two or more motion commands.

The remaining commands allow the modification of the current crane command, without upsetting the next command, the killing of the governing command (which does not directly involve communications with the crane), and manual control of the crane (which may not be supported by the crane's manufacturer).

Commands may be sent by clicking on the "Commands" menu item or typing [ALTERNATE C], then selecting the command from the resulting drop-down menu then filling in the required parameters for the command, then typing [ENTER] or clicking on the "DO IT" button.

Alternatively, there is a list of commands shown to the right of the window. Associated with each command in this list is a number, and one of these commands is highlighted.  Any command can be selected by either typing the corresponding number and pressing [ENTER], or by moving the highlight, using the [UP], [DOWN], [HOME], and [END] keys, to the desired command and typing [ENTER], or by clicking the desired command with the mouse and typing [ENTER], or by double clicking the command with the mouse.  However you selected the command, you will then be required to fill in the required parameters, just as if you had selected it via the "Command" menu item, and confirm by typing [ENTER] or clicking on the "DO IT" button.

If you right-click on a command in the list at the right of the window, you will be presented with the help page relating to that command.

Sometimes you might be warned that it might not be a good idea to do what you have chosen to do - if you get such a message you should review what you are about to do.

In particular, the Movement Controller prefers the crane to be idle before you issue relocation-style commands, as this helps to ensure that it has correct stack height data available.  If you are issuing relocation-style commands, it might be best to first turn off the automatic issuing of commands to the crane.

For some sites, there may be required further dialogue, for one or more of the commands, in order to obtain a reason for the action and/or to obtain the identity of the person issuing the command.

For many of the commands, it is a good idea to be familiar with how the commands are sent to the crane.  For a discussion of this procedure, please refer to the section titled: "Automatic Command Queue".

Non-Motion Commands

The Movement Controller has six non-motion commands that it may send to the crane and three motion commands.

Reset alarms

Used to unlatch the alarms in the crane PLC after the faults have been rectified.

Energise main contactor

Used to energise the main contactor after the cause of its deenergisation has been rectified.

Set out of service

Prevents Movement Controller from issuing further commands to the crane and the PLC from executing those it has.

Set in service

Allows the automatic control of the crane to recommence. A crane can be set out of service due to a blockage to the aisle-clear scanners.  If this is the case, you will not be able to set the crane back into service.  Once the scanners are clear, you will still not be able to set the crane back in service until confirming that you have checked that the obstruction is now clear.  You may be asked to provide your login before you may make such a confirmation (this is set by the "Configuration Data" record "Get password: clear crane" - see "Configuration Data").

Abort current cycle

Kills the currently executing command in the PLC.  May only be issued when the crane is out of service.

Kill next cycle

Kills the pending command in the PLC.  This may result in another command replacing the pending command.  It too may be killed by repeating this command.

Motion Commands

The motion commands are:

  • Movement test cycle
    Sends the crane to a given long travel and hoist level.
  • Pickup test cycle
    Sends the crane to a given long travel and hoist level to pickup a load.
  • Deposit test cycle
    Sends the crane to a given long travel and hoist level to deposit a load.

The motion commands that an operator may send to a crane are either specific instances of the above, or combinations of two or more of these commands.

Movement test cycle

Sends the crane to a given long travel and hoist level.

Pickup test cycle

Sends the crane to a given long travel and hoist level to pickup a load.

Deposit test cycle

Sends the crane to a given long travel and hoist level to deposit a load.

Goto crane infeed

Issues a test travel command specifying the coordinates of the infeed station.

Goto crane outfeed

Issues a test travel command specifying the coordinates of the outfeed station.

Park at Maintenance Bay

This command is offered for several sites.  It allows you to issue a test travel command, specifying the coordinates of the maintenance bay.

Store a load

Issues a pickup half cycle specifying the infeed station then a deposit half cycle specifying the given store location.

Retrieve a load

Issues a pickup half cycle specifying the given store location then a deposit half cycle specifying the outfeed station (or the given outfeed station, if more than one exists).  The ultimate destination is also entered and assigned to the load when it is picked up.

Deposit the load on board

Issues a deposit half cycle specifying the given store location.

Relocate a load in the rack

Issues a pickup half cycle specifying the given store location then a deposit half cycle specifying another given store location.

Run test cycles

Issues a series of test cycles ultimately sending the crane to every store location.  It is stopped by issuing another of these eleven commands.

Modify Current Command

The next command, "Modify current command", allows the modification of the current command in the crane PLC to allow an alternate location to be specified.

You would typically use this command if a deposit command fails due to a problem with the destination.  Had you used the "Abort" command, there may have been a pickup command, corresponding to the next governing command, in the crane's next command position, which would also need to be killed, along with its governing command.  This command allows you to leave the next command and its associated governing command in place, while you instruct the crane to unload itself elsewhere.

You should also take the opportunity to disable this location so that the Movement Controller does not attempt to place another load here until the problem has been rectified.

Kill Governing Command

The command, "Kill governing command", allows you to kill the governing command, which is responsible to the issuance of the individual crane commands.

You would typically need to do this if you have made an adjustment to the inventory and so you need to have the Movement Controller work out its next move based on this new data - the previous governing command could be in error as it was constructed based on erroneous data.

Please bear in mind that the Movement Controller considers a load to have been delivered to an outfeed once it has put the corresponding governing command in place, so if you kill one of these commands you may find that you do not receive the number of loads you had asked for.

Remote Manual Crane Control

The remote manual commands should only be used to rectify crane faults once the physical situation has been checked.

Typically, if you have returned from fixing the crane and found you had left it so that the "Hoist too low" or "LT overrun" alarms resulted, you could raise or reverse the crane until the "In Position" lamps flash, then position the crane on these lamps.  Similarly had you failed to centre the forks, You could use these controls to centre the forks.

After selecting manual control, the window will appear as shown overleaf:

Crane Commands and Alarms -- Manual Control

This window presents "push buttons" for long travel forward and reverse, slow and fast, hoist up and down, slow and fast, and forks left and right.  The rim of one push button is highlighted and several of the push buttons advertise a function key.

The highlighted rim can be moved about the "push buttons" using the cursor control keys.  The push button with the highlighted rim can be "pressed" by pressing on the space bar, while those advertising function keys may be "pressed" by pressing the advertised function key. The mouse may be used to push a push button, however it does not relocate the highlighted rim.

The window also provides several "lamps", which show whether the crane is in high stop, low stop, long travel position and whether it has a load off-centre to the left or right.

In the top right corner of the window is shown a diagram of the crane, showing the state of its load sensing, load off-centre, bin occupied and height check photocells and the extension of its forks and, if the forks are not centred, whether at high stop or not; if at high stop, a load will be shown at the forks extension, otherwise the forks will be shown.

If the forks are not centred, the crane will instead show whether the computer's inventory has it holding a load.

The colour of the forks, or the colour of the border around the load will be red if the crane is in automatic, yellow if in manual or grey if otherwise out of service.

The body of the crane will be shown in orange if healthy, or red if in alarm.

Initialise Crane PLC

If you are working with the current version of the crane PLC code, there will be an option enabling you to write the racking data to the crane.  This option draws on the information contained within the stores diagram - the non-existent locations and the slot heights - to initialise the corresponding data files within the crane PLC. Refer to the section titled: "Stores Diagram".

This is normally performed using "Save and Restore Crane PLC Configuration" window, please refer to the section titled: "Save and Restore Crane PLC Configuration".

Save Crane PLC Configuration

If you are working with the current version of the crane PLC code, there may be an option enabling you to save the current configuration of this crane to a file on the hard disc.  This is normally performed using "Save and Restore Crane PLC Configuration" window, please refer to the section titled: "Save and Restore Crane PLC Configuration".

Restore Crane PLC Configur'n

If you are working with the current version of the crane PLC code, there may be an option enabling you to restore the previously saved configuration of this crane from a file on the hard disc.  This is normally performed using "Save and Restore Crane PLC Configuration" window, please refer to the section titled: "Save and Restore Crane PLC Configuration".

Retrieve from Stores by Location (new)

This window allows the operator to create and review location retrieval schedules.

There are four methods of retrieving loads.

The first of these methods we call "Stores".  This method allows you to select loads to retrieve by moving about the stores diagram, pressing [ENTER] or double-clicking as you go.  This is the traditional method offered by the Movement Controller.  The remaining three methods have been written specifically for Americold to assist them in the way that they enter retrievals.

The second method (the first of the three written specifically for Americold) we call "Replenishment".  This method allows you to specify movements from within the store to the pick-face, more conveniently.

The third method we call "Outfeed".  This method allows you to specify movements from several store locations to the appropriate outfeed.

The fourth and final method we call "Empties".  This method creates a schedule to retrieve all empty pallets, allowing you to delete any you do not want to retrieve, before submitting the schedule.

So when you first enter the screen, you will be presented with a dialogue box allowing you to select one of these four methods.  You need to type "S" or click on "Stores" to select the first method (as described in the dialogue box). Similarly, you need to type "R" or click on "Replenishment" to select the second method, type "O" or click on "Outfeed" to select the third method, and type "E" or click on "Empties" to select the fourth method.

Had you selected the first method, you would proceed as described for the traditional method in the section titled: "Retrieve from Stores by Location".

The remaining three methods are very different to the traditional method, but very similar to one another.  So the instructions that follow will refer to all three of these remaining methods, indicating the differences between them when necessary.

After selecting one of the three remaining methods, you will be presented with a window in which the records corresponding to each retrieve request are listed.  Each retrieve request consists of a barcode, a source location, a destination, and the priority.

This is a "Maintenance Viewing Data" screen, so the features shared by all such screens will not be described here; for these, please refer to the sections titled: "Viewing Data", and "Maintenance Viewing Data".

Initially these screens will be substantially blank, except in the case of "Empties", where it will be populated by retrieval requests for each empty pallet stack location that the PDS system shows to be loaded, provided that the location has not been inhibited.

Creating Retrieval Requests

To get started (or if using the "Empties" yet still needing to add requests), press [INSERT].  In response you will be presented with a dialogue window.

For the "Replenishment" method, there will be two fields to fill in, namely the source location (which should be an occupied regular storage location), and the destination (which should be a vacant pick-face location).  After typing in the source location, press the [TAB] key and commence to type in the destination location.  After typing in the destination, you should type [ENTER] or [RETURN].

For the "Outfeed" method, you will only need to fill in the source location, which should be an occupied regular storage location.  After typing in the source location, you should type [ENTER] or [RETURN].  The destination will be automatically set to either "M89A", or "M40A" depending upon which is appropriate.

For the "Empties" method, you will only need to fill in the source location, which should be an empty pallet location, which the PDS system is reporting as occupied.  Unlike the other methods, which will offer blank fields, this will provide the reference to the next empty pallet stack location, irrespective of whether the stack can be seen or the location is inhibited.  The "next" refers to the first location after that specified in the highlighted retrieve request. After typing in the source location, you should type [ENTER] or [RETURN].  The destination will be automatically set to either "M89A", or "M40A" depending upon which is appropriate.

In all cases, the priority will be set to 0 or blank, indicating the highest priority.  Don't concern yourself with the priority at this stage.  Should you need to alter the priority, you may do so, on an individual record basis, when you have returned to the "Maintenance Viewing Data" screen.  The altering of priorities is described in the section titled: ""Prioritise, Modify, or Delete".

In response to typing [ENTER] or [RETURN], certain checks are made of your entry.  If your entry fails one of these checks, you will be informed of this. If the failure is due to a location being inhibited, you will be given the opportunity to clear the inhibited status.  Certain, of the other possible causes for the failure of these checks, may also be overridden.

If your entry passes these checks, the dialogue box will be presented again, allowing you to immediately enter the next request.  In the case of the "Replenishments" and "Outfeeds", the dialogue box will provide you with the barcode corresponding to the request that you had just entered, allowing you to check that you had entered the correct source location.

Once you have entered all the requests that you need to, either press [ENTER] or [RETURN] with blank entries, or press [ESCAPE].  If you press [ESCAPE], then anything that had been entered into the fields in the current dialogue box will be discarded.  In either case, you will be returned to the "Maintenance Viewing Data" screen, now including your new requests.  These will not, yet, be acted upon.

Deleting Retrieval Requests

To remove a request, simply highlight the request in question, then type "D" twice.  The first "D" invokes the menu bar option "Delete", whilst the second confirms the deletion request by activating the "Delete" button in the resulting dialogue box.

Prioritise, Modify, or Delete

The difference between this window and a standard "Maintenance Viewing Data" window is that, as well as modifying a load, the operator has the option to conveniently adjust the priority of the load.

When selecting a record, if "U" or [RETURN] is used, you will be asked, after specifying the record, whether you wish to prioritise (type "U" or click on "Urgency"), modify (type "M" or click on "Modify"), or delete the load (type "D" or click on "Delete").

On the other hand, had you used [ENTER] to select the record, it will be assumed that you wish to prioritise the load. Double-clicking the mouse on the desired load is equivalent to typing [ENTER].

Had you opted to prioritise the load, you will be presented with the prompt, "Please enter new urgency for the load, Urgent 0:most 10:stop <0-10>".  Enter the desired priority.

Submitting the Schedule

When happy with the schedule, you can submit it by exiting the screen.  In response, these requests will be transfered to the "Waiting" queue.  You can monitor the requests from this point by using the "Review Loads Being Retrieved" screen.  Please refer to the sections titled: "Review Loads Being Retrieved".

Retrieve from Stores by Location

This window allows the operator to create and review location retrieval schedules.

This screen will appear substantially blank unless some retrieval requests have been entered.  Once this has been done, each schedule will be represented by a box at the bottom of the screen, arranged in the order in which they are created, with the first at the left.

Below is a rough text-representation of this window:

Retrieve loads by location Select Change Restrict Where Match Expand Insert First Last Number of loads 370 ^ ┌───┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬───┐█ │■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪■▪▪▪▪■▪▪▪▪■▪▪▪■■■■▪▪■■▪▪■■■■■▪■■▪■■■■■■■■▪■■│█ │▪▪▪▪■▪■▪▪▪▪■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪■▪▪▪▪▪▪■■▪▪▪▪▪■■▪▪▪■■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪│█ │■■■■■■■■■■■■■■■■■■■■■■■▪■■■■■■■■■■■■■■■■■■■■▪■■■■■■■■■■■■■■■■■■■■■▪■■■■■│█ │▪■■■▪▪■▪■■■▪■■■■■■■■■■■■▪■▪■■■■■■■■■■■■■■▪■■■■■■■■■■■■■■■▪■■■■■■■■■■■▪■■│█ │■■▪■■■▪■■■■■▪▪■■■■■■■■■■■■■▪■■■■■▪■■■■■■▪■■■■■■■▪■■■■■■■■■■■■■■■■■■■■■■■│█ │▪▪▪▪▪■■■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪■▪▪▪▪▪▪▪▪▪▪▪■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪■▪■■▪▪▪▪▪▪▪▪▪▪▪▪▪■▪■▪│█ │▪▪■▪▪■■▪▪▪▪▪■▪■▪▪▪▪■▪▪▪▪▪■▪▪▪▪▪▪▪▪▪■■■▪■▪▪▪▪▪▪▪▪▪■▪▪■▪▪■■▪▪■▪▪■▪■▪▪■■▪▪■│█ │▪▪▪▪■■▪▪▪■■▪▪■▪■▪■■▪■■■▪■■▪■▪▪▪■▪▪▪▪▪▪▪■■▪▪▪▪■■▪■▪■■■▪▪▪▪■■■■▪■▪▪▪▪▪▪▪▪■│█ │▪▪▪▪▪▪▪▪■▪▪■▪▪▪▪▪▪▪▪▪■▪▪■▪▪■▪▪▪▪▪■▪▪■▪▪▪▪▪■▪▪▪▪▪▪▪▪■▪▪▪▪▪▪▪▪▪■▪▪■■▪▪■▪▪■│█ │▪▪▪▪▪▪▪▪▪■▪▪■▪▪▪▪■▪▪▪▪▪■▪▪▪▪▪▪▪▪■■▪▪▪▪▪■▪■■■▪■■▪■■▪▪▪▪▪▪▪■▪▪▪■▪▪▪▪■■■■▪■│█ │▓▓■▪▪▪▪ ▪▪▪■▪▪▪▪▪▪▪▪■▪▪▪▪■■▪■▪▪▪▪▪▪▪▪ ▪▪▪▪■▪▪■■▪■▪■■■■■■■▪■■▪■■■▪▪▪■▪■▪■│█ └───┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴───┘█ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> 1002010|O| | | | | |207680|593100720030023457| Rack slot inhibited <I/S/R>a Rack Rack Rack SSCC <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> ■■■■ <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

If the schedule is in the extreme left position, it is being executed.

When the schedule has been completed, it is removed from the window and the string of schedules is shifted one place left.

Reading Schedules

As the cursor is moved (using the [SEPARATE LEFT] and [SEPARATE RIGHT] keys, or clicking with the mouse) among the schedules, the box will be shown open, and its contents are displayed in the rack face display.

There will also be a horizontal scroll bar, in case the window is not large enough to present the maximum number of schedules.  This scroll bar can only be operated using the mouse - this is the fourth scroll bar on this window, so all the usual keys have been otherwise used.

As the commands to retrieve a load are issued, the box representing its location in the rack face display, is darkened.

Creation of Schedules

A schedule may be created by typing [INSERT].  The cursor will be moved to the "Set of Fields", this data may now be set as required.  Refer to the section titled: "Set of Fields".

This "Set of Fields" typically includes the destination (a "Destination" field) and a load number (a "Numeric" field). For editing instructions for these types of fields, please refer to the sections titled: "Numeric", and "Destination".

After setting the destination and load number, the cursor will be relocated into the rack face display.  The normal functions associated with this display are available.  Refer to the section titled: "Stores Diagram", and in particular, its subsection titled: "Select Loads for Retrieval".  In the rack face display, selecting a location allows you to edit the database details associated with the location, but, in this case, selecting a location will, instead, add it to the schedule (or, should it already be on the schedule, remove it from the schedule).

When all required locations have been selected, type [ESCAPE].

At the bottom of the window, each schedule is represented by a box.  As you create more schedules these will be arranged in the order in which they are created and will be executed, with the first at the left.

Modification of Schedules

A schedule may be modified by moving the cursor to that schedule then typing the "S", [RETURN] or [ENTER] key.  The cursor will return to the "Set of Fields".

Proceed from here as you did to create the schedule.  Refer to the section titled: "Creation of Schedules".

Sequencing Schedules

If the order of the schedules requires modification, move the cursor to the schedule that needs to be repositioned, then type the [SEPARATE UP] key.  The schedule is then positioned one line above its current position, and if possible the cursor is moved one position left. Clicking on the schedule at the cursor will alternately raise and lower it, leaving the cursor at the schedule.

By using the [SEPARATE LEFT] and [SEPARATE RIGHT] keys this schedule may be moved along the string, one place to the right of the cursor whenever possible, while the contents of the schedule at the cursor position are displayed.  When its new location has been found type [SEPARATE DOWN].  The schedule will be lowered into position and the cursor moved back to it. The schedule may also be moved to a given place in the queue by clicking the mouse on the schedule currently in that location.  This moves the schedule into this position, moving the other schedules left or right to fill the vacancy left, while placing the cursor one position to the left of the schedule if possible.

Deleting Schedules

Any schedule may be deleted by moving the cursor to that schedule then typing [DELETE].  If you type [DELETE] you will be prompted to confirm your intention by typing [F1].

Review Loads Being Retrieved

This window allows the operator to create or modify requests for loads to be retrieved from the high-rise.  These loads are entered into this area as they are requested to be retrieved, either by the operator or via a message from the host_computer, and will remain here until the crane is commanded to retrieve the load.

The operator may need to alter the priority of the loads on this list.  A priority of "0" is the highest, and "9" is the lowest.  A priority of "10", prevents the load from being retrieved.  The default priority is "9".

This is a "Maintenance Viewing Data" window that lists each of the loads to be retrieved.

Below is a rough text-representation of this window:

Review loads to be retrieved Urgency Change Restrict Where Match Expand Insert Loads to be retrieved |51-3-046|23987|88654|137| 9|'0' ^ Loads to be retrieved |52-3-121| 2997|88651| 23| 9|'0' █ Loads to be retrieved |54-5-023| 68|88649| 34|10|'0' █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Details of Loads Load's origin 51-3-046

All features provided by the "Maintenance Viewing Data" windows are active.  These features are:

  • creating, modifying, and deleting records.
  • moving the window across the records.
  • highlighting a particular alarm for individual attention.
  • highlighting a particular field for individual attention.
  • expanding/contracting the records.
  • restricting the alarms eligible for inclusion.
  • changing the contents of a field.

Refer to the sections titled: "Viewing Data", and "Maintenance Viewing Data".

Prioritise, Modify, or Delete

The difference between this window and a standard "Maintenance Viewing Data" window is that, as well as modifying a load, the operator has the option to conveniently adjust the priority of the load.

When selecting a record, if "U" or [RETURN] is used, you will be asked, after specifying the record, whether you wish to prioritise (type "U" or click on "Urgency"), modify (type "M" or click on "Modify"), or delete the load (type "D" or click on "Delete").

On the other hand, had you used [ENTER] to select the record, it will be assumed that you wish to prioritise the load. Double-clicking the mouse on the desired load is equivalent to typing [ENTER].

Had you opted to prioritise the load, you will be presented with the prompt, "Please enter new urgency for the load, Urgent 0:most 10:stop <0-10>".  Enter the desired priority.

Enter Orders for Picking

This window allows the operator to enter orders for picking cartons. Corresponding to each order, a barcode is printed, which is to be fixed to a carton.  Should the carton become filled, the packer is to press the "split case" button, calling for an additional barcode to be printed and fixed to a fresh carton.

This window will appear substantially blank unless some orders have already been entered locally or down loaded from the host_computer.  Once this has been done, each schedule will be represented by a box at the bottom of the window, arranged in the order in which they are created (if created locally) or received (if created on behalf of the host_computer), with the first at the left.

Below is a rough text-representation of this window:

Enter orders for picking CODE ORDERED ISSUED QUANTITY GEFFEN GEFD-24612 |Judy Collins 5 100 ^ FIE! RECORDS FIE9115 |Guy Evans and Peter Hammill 5 450 █ EMI CDP 7 46605 2 |Animals, The 5 60 █ DEMON FIEND CD 704 |Beausoleil 5 85 █ CAPITOL CDP 7 46069 2 |Band, The 5 95 █ BLUE NOTE CDP724385548420|Jacky Terrasson & Cassandra 5 450 █ ATLANTIC 7 82526-2 DISC 9|Led Zeppelin 5 █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> ■■■ ■■ <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

The cursor will be positioned initially at the first of the boxes at the bottom left of the window.  These characters each represent a customer's order.  The boxes at the bottom right hand side of the window represent templates for schedules.  More about templates later.

Reading Schedules

As the cursor is moved (using the [LEFT] and [RIGHT] keys or clicking on the schedule with the mouse) among the schedules, the box will be shown open, and the details of the schedule will be displayed.

There will also be a horizontal scroll bar, in case the window is not large enough to present the maximum number of schedules.  This scroll bar can only be operated using the mouse - this is the fourth scroll bar on this window, so all the usual keys have been otherwise used.

At the top of the window is displayed the order's customer, while in the main body of the window are the requirements of the order.  Each requirement consists of the product code and description and the quantity required.

Creation of Schedules

To create a schedule, press [INSERT].  You will be presented with a "Set of Fields" for you to edit.

Below is a rough text-representation of this window:

Enter orders for picking Order's customer t P & O Cold Storage Customer address t 69 Mandoon Road Customer town or suburb t Girraween Town in state/province t N.S.W. State in country t Australia Country's ISD (NZ=64) a Zip mask (Canada: ###-###) a #### Town or suburb post code a 2145 Town STD (Melb=3) a Customer's phone number a 96362666 Customer's facsimile no. a 96882610 Customer's delivery notes s Order number a 111111 Special instructions a Order destination lane a 81 ■ ■■■ ■■ <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

This data may now be set as required.  Refer to the section titled: "Set of Fields".

This "Set of Fields" includes the customer (a "Symbolic Name" field), the customer's order number and any special delivery instructions - additional or overriding the customer's standard instructions - (both "Name" fields) and a destination pick area zone (a "Symbolic Name" field). For editing instructions for these types of fields, please refer to the sections titled: "Symbolic Name", and "Name".

Once you have entered this "Set of Fields", you will be presented with a substantially blank window on which the entries of the schedule will be displayed as they are entered.  To create an entry in the schedule, type [INSERT], then enter a product code and then the number required.  Repeat this for each product the order specifies.

Below is a rough text-representation of this window:

Enter orders for picking CODE ORDERED ISSUED QUANTITY GEFFEN GEFD-24612 |Judy Collins 5 100 ^ FIE! RECORDS FIE9115 |Guy Evans and Peter Hammill 5 450 █ EMI CDP 7 46605 2 |Animals, The 5 60 █ DEMON FIEND CD 704 |Beausoleil 5 85 █ CAPITOL CDP 7 46069 2 |Band, The 5 95 █ BLUE NOTE CDP724385548420|Jacky Terrasson & Cassandra 5 450 █ ATLANTIC 7 82526-2 DISC 9|Led Zeppelin 5 █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> ■■■ ■■ <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

The lines will be presented in the order (with the latest at the top) they are entered until you delete a line.  Once a line has been deleted, the next entry will fill its place.

To modify an entry, highlight the line, then type [RETURN] or [ENTER].  Then in response to being presented with the product code, you must press [RETURN] or [ENTER] again; if, instead, you enter a different product code you will create a fresh entry.  You may now change the number required.  If you set this number to zero, you will delete the entry.

To delete an entry, refer to the previous paragraph.

If you make an entry requesting a product code that is not in stock, the entry will not be displayed but will remain.  Once you exit from the creation process, these entries will be displayed.

The above discussion has assumed that the window has been set to show only ordered and stocked product codes.

If you wish to show all product codes that are not stocked, enter "QU", if you wish to display product codes irrespective of whether they are stocked or not, enter "QA", and if you wish to return to displaying only stocked product codes, enter "QS".  This selection will be remembered only until you exit from the creation of this schedule. You may also click on the menu item "Quantity", then click on either the "Unstocked", "Stocked" or "All" button.

If you wish to show all stocked (or unstocked - refer previous paragraph) product codes, enter "OA", and if you wish to return to displaying only ordered product codes, enter "OO".  This selection will be remembered for the user until the software is next rebooted. You may also click on the menu item "Ordered picked", then click on either the "Ordered" or "All" button.

In this mode (showing all product codes - not only those ordered), each product code is shown in alphabetical order.

Once you have made all entries, type [ESCAPE].  The original display will again be presented, with the new schedule positioned at the end of the queue of boxes.

Modification of Schedules

To modify a schedule, use the [LEFT] and [RIGHT] keys to move the cursor to the schedule you wish to modify. the cursor may also be moved to a schedule by clicking the mouse on the desired schedule. Then type [ENTER] or [RETURN].

Once selected, a "Set of Fields" is presented containing the schedule's details. If you are sufficiently privileged you will be asked to confirm that you wish to modify the details by pressing [F1].  You will, then, be presented with a "Set of Fields" in a window, for you to edit.

From this point, proceed as described for the creation of schedules.  Refer to the section titled: "Creation of Schedules".

Sequencing Schedules

The first schedule (or order/carton) to be executed will be the one corresponding to the box at the extreme left of the window. The order of execution of the schedules may be changed.

This reordering is conducted by picking up a schedule, moving it to a new position in the queue and then lowering it into this position.  Use the [LEFT] and [RIGHT] keys to move the cursor to a schedule, then the [UP] key to pick it up, then again the [LEFT] and [RIGHT] keys to move it to its new position and, finally, the [DOWN] key to lower the schedule into this position. Clicking on the schedule at the cursor will alternately raise and lower it, leaving the cursor at the schedule.

When the schedule is first picked up, the cursor remains beneath it.  The Movement Controller takes its first opportunity to separate the cursor and schedule, keeping the cursor one position to the left of the schedule, when you first type [LEFT] or [RIGHT].  As a result the first time you type the [LEFT] key only the cursor is moved or the first time you type the [RIGHT] key only the schedule is moved. The schedule may also be moved to a given place in the queue by clicking the mouse on the schedule currently in that location, placing the cursor one position to the left of the schedule if possible.

The cursor is kept one position left of the schedule to show you the contents of the schedule currently in front of the raised schedule.  The cursor is not initially moved automatically left because you may wish the cursor to remain beneath the schedule in order to copy it to the templates (or to the schedules if working with the templates).  More about templates later.

Using Templates

The only differences between the schedules and the templates are that the schedules appear at the left whilst the templates are on the right and that the schedules are being executed whilst the templates are not.

You can switch from side to side by typing [CONTROL RIGHT] to move to the template side and [CONTROL LEFT] to return.  If at the time you switch to the templates, the schedule at the cursor is raised, a template will be created identical to the schedule; the schedule will be unaffected. You can switch to or from the template side by merely clicking on that side with the mouse.

If at the time you switch back to the schedules, the template at the cursor is raised, you will be presented with a "Set of Fields" for you to edit.

From this point, proceed as described for the creation of schedules.  Refer to the section titled: "Creation of Schedules".

Once you have completed any modifications you might wish to make to the new schedule, and have pressed [ESCAPE], The original display will again be presented, with the new schedule positioned at the end of the queue of boxes.  The original template will still exist and will be unaffected by the changes made when creating the schedule based on it.

Replenish the Pick Areas

This window allows the operator to define the contents for cartons containing the replenishment for the pick areas.  Corresponding to each replenishment carton, a barcode is printed, which is to be fixed to a carton with the specified contents.

This window will appear substantially blank unless some replenishments have already been entered locally or down loaded from the host_computer.  Once this has been done, each schedule will be represented by a box at the bottom of the window, arranged in the order in which they are created (if created locally) or received (if created on behalf of the host_computer), with the first at the left.

Below is a rough text-representation of this window:

Replenish the pick areas Select Change Restrict Where Match Expand First Last On hand stored Quantity ATLANTIC 7 82526-2 DISC 2|Led Zeppelin 100 480 ^ HANNIBAL HNCD 1326 |Danny Thompson 100 20 █ GEFFEN GEFD-24612 |Judy Collins 100 100 █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> ■■■ ■■ <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

The cursor will be positioned initially at the first of the boxes at the bottom left of the window.  These characters each represent a replenishment schedule.  The boxes at the bottom right hand side of the window represent templates for schedules.  More about templates later.

Reading Schedules

As the cursor is moved (using the [LEFT] and [RIGHT] keys or clicking the mouse on the desired schedule) among the schedules, the box will be shown open, and the details of the schedule will be displayed.

There will also be a horizontal scroll bar, in case the window is not large enough to present the maximum number of schedules.  This scroll bar can only be operated using the mouse - this is the fourth scroll bar on this window, so all the usual keys have been otherwise used.

The top line of the window will be blank, while in the main body of the window are the contents of the replenishment carton.  Each replenishment consists of the product code and description and the quantity contained.

Creation of Schedules

To create a schedule, press [INSERT].  You will be presented with a substantially blank window on which the entries of the schedule will be displayed as they are entered.  To create an entry in the schedule, type [INSERT], then enter a product code and then the number contained in the replenishment carton.  Repeat this for each product in the carton.

Below, once you have made a number of entries in the schedule, is a rough text-representation of this window:

Replenish the pick areas CODE ON HAND ISSUED QUANTITY ATLANTIC 7 82526-2 DISC 2|Led Zeppelin 100 480 ^ HANNIBAL HNCD 1326 |Danny Thompson 100 20 █ GEFFEN GEFD-24612 |Judy Collins 100 100 █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> ■ ■ <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

The lines will be presented in the order (with the latest at the top) they are entered until you delete a line.  Once a line has been deleted, the next entry will fill its place.

To modify an entry, highlight the line, then type [RETURN] or [ENTER].  Then in response to being presented with the product code, you must press [RETURN] or [ENTER] again; if, instead, you enter a different product code you will create a fresh entry.  You may now change the number of items on hand.  If you set this number to zero, you will delete the entry.

To delete an entry, refer to the previous paragraph.

If you make an entry for a product code that is completely out of stock, the entry will not be displayed but will remain.  Once you exit from the creation process, these entries will be displayed.

The above discussion has assumed that the window has been set to show only on-hand and stocked product codes.

If you wish to show all product codes that are not stocked, type "QN"[ENTER], if you wish to display product codes irrespective of whether they are stocked or not, type "Q"[SPACE][ENTER], and if you wish to return to displaying only stocked product codes, type "QS"[ENTER].  This selection will be remembered only until you exit from the creation of this schedule. You may also click on the menu item "Quantity", then enter "N", "S" or a [SPACE] into the field provided.

If you wish to show all stocked (or unstocked - refer previous paragraph) product codes, type "O"[SPACE][ENTER], and if you wish to return to displaying only product codes on hand, type "OO"[ENTER].  This selection will be remembered for the user until the software is next rebooted. You may also click on the menu item "Ordered picked", then enter "O" or a [SPACE] into the field provided.

In this mode (showing all product codes - not only those on hand), each product code is shown in alphabetical order.

Once you have made all entries, type [ESCAPE].  The original display will again be presented, with the new schedule positioned at the end of the queue of boxes.

Modification of Schedules

To modify a schedule, use the [LEFT] and [RIGHT] keys to move the cursor to the schedule you wish to modify. The cursor may also be moved to a schedule by clicking the mouse on the desired schedule. Once at the desired schedule, type [ENTER] or [RETURN].

Once selected, a "Set of Fields" is presented containing the schedule's details. If you are sufficiently privileged you will be asked to confirm that you wish to modify the details by pressing [F1].  You will, then, be presented with a "Set of Fields" in a window, for you to edit.

From this point, proceed as described for the creation of schedules.  Refer to the section titled: "Creation of Schedules".

Sequencing Schedules

The first schedule (or replenishment carton) to be executed will be the one corresponding to the box at the extreme left of the window. The order of execution of the schedules may be changed.

This reordering is conducted by picking up a schedule, moving it to a new position in the queue and then lowering it into this position.  Use the [LEFT] and [RIGHT] keys to move the cursor to a schedule, then the [UP] key to pick it up, then again the [LEFT] and [RIGHT] keys to move it to its new position and, finally, the [DOWN] key to lower the schedule into this position. Clicking on the schedule at the cursor will alternately raise and lower it, leaving the cursor at the schedule.

When the schedule is first picked up, the cursor remains beneath it.  The Movement Controller takes its first opportunity to separate the cursor and schedule, keeping the cursor one position to the left of the schedule, when you first type [LEFT] or [RIGHT].  As a result the first time you type the [LEFT] key only the cursor is moved or the first time you type the [RIGHT] key only the schedule is moved. The schedule may also be moved to a given place in the queue by clicking the mouse on the schedule currently in that location, placing the cursor one position to the left of the schedule if possible.

The cursor is kept one position left of the schedule to show you the contents of the schedule currently in front of the raised schedule.  The cursor is not moved automatically left because you may wish the cursor to remain beneath the schedule in order to copy it to the templates (or to the schedules if working with the templates).  More about templates later.

Using Templates

The only differences between schedules and the templates are that the schedules appear at the left whilst the templates are on the right and that the schedules are being executed whilst the templates are not.

You can switch from side to side by typing [CONTROL RIGHT] to move to the template side and [CONTROL LEFT] to return.  If at the time you switch to the templates, the schedule at the cursor is raised, a template will be created identical to the schedule; the schedule will be unaffected. You can switch from side to side by simply clicking on the side with the mouse.

If at the time you switch back to the schedules, the template at the cursor is raised, you will be presented with a "Set of Fields" for you to edit.

From this point, proceed as described for the creation of schedules.  Refer to the section titled: "Creation of Schedules".

Once you have completed any modifications you might wish to make to the new schedule, and have pressed [ESCAPE], The original display will again be presented, with the new schedule positioned at the end of the queue of boxes.  The original template will still exist and will be unaffected by the changes made when creating the schedule based on it.

Cartons Within the Conveyor System

This window allows the operator to view, modify, delete or add cartons to the carton conveyor system.  These cartons may correspond to either orders for picking or replenishment cartons for the pick areas.

This window will appear substantially blank unless some cartons are in the carton conveyor system.

The details for these cartons are normally entered via the Enter Orders for Picking and Replenish the Pick Areas windows. The schedules corresponding to these cartons are transferred to this window once the cartons are scanned on the carton conveyor system.

The ability to add cartons to the carton conveyor system (logically) is also provided by this window.

Once there are cartons on the carton conveyor system, the corresponding schedules will be represented by a boxes at the bottom of the window, arranged in the order in which they are scanned into the carton conveyor system.

Below is a rough text-representation of this window:

Cartons within the conveyor system CODE ORDERED ISSUED QUANTITY GEFFEN GEFD-24612 |Judy Collins 5 100 ^ FIE! RECORDS FIE9115 |Guy Evans and Peter Hammill 5 450 █ EMI CDP 7 46605 2 |Animals, The 5 60 █ DEMON FIEND CD 704 |Beausoleil 5 85 █ CAPITOL CDP 7 46069 2 |Band, The 5 95 █ BLUE NOTE CDP724385548420|Jacky Terrasson & Cassandra 5 450 █ ATLANTIC 7 82526-2 DISC 9|Led Zeppelin 5 █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> ■■■ ■■ <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

The cursor will be positioned initially at the first of the boxes at the bottom left of the window.  These characters each represent a carton on the carton conveyor system.

Reading Schedules

As the cursor is moved (using the [LEFT] and [RIGHT] keys or clicking on the desired schedule) among the schedules, the box will be shown open, and the details of the schedule will be displayed.

There will also be a horizontal scroll bar, in case the window is not large enough to present the maximum number of schedules.  This scroll bar can only be operated using the mouse - this is the fourth scroll bar on this window, so all the usual keys have been otherwise used.

If the schedule corresponds to a customer's order, at the top of the window is displayed the order's customer, while in the main body of the window are the requirements of the order.  Each requirement consists of the product code and description and the quantity required.

If the schedule corresponds to a replenishment carton, the top line of the window will be blank, while in the main body of the window are the contents of the replenishment carton.  Each replenishment consists of the product code and description and the quantity contained.

Creation of Schedules

This is not a normal activity, as these schedules are not usually created here but transferred here from the Enter Orders for Picking and Replenish the Pick Areas windows as cartons are scanned onto the conveyor system.

However, to create a schedule, press [INSERT].  You will be presented with a "Set of Fields" for you to edit.

Below is a rough text-representation of this window:

Cartons within the conveyor system Order's customer t P & O Cold Storage Customer address t 69 Mandoon Road Customer town or suburb t Girraween Town in state/province t N.S.W. State in country t Australia Country's ISD (NZ=64) a Zip mask (Canada: ###-###) a #### Town or suburb post code a 2145 Town STD (Melb=3) a Customer's phone number a 96362666 Customer's facsimile no. a 96882610 Customer's delivery notes s Order number a 111111 Special instructions a Order destination lane a 81 ■ ■■■ ■■ <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

This data may now be set as required.  However if you are entering the details for a replenishment carton, these details should be left blank, indicating that it is a replenishment.  Refer to the section titled: "Set of Fields".

This "Set of Fields" includes the customer (a "Symbolic Name" field), the customer's order number and any special delivery instructions - additional or overriding the customer's standard instructions - (both "Name" fields) and a destination pick area zone (a "Symbolic Name" field). For editing instructions for these types of fields, please refer to the sections titled: "Symbolic Name", and "Name".

Once you have entered this "Set of Fields", you will be presented with a substantially blank window on which the entries of the schedule will be displayed as they are entered.  To create an entry in the schedule, type [INSERT], then enter a product code and then the number required.  Repeat this for each product the order specifies.

Below, once you have made a number of entries in the schedule, is a rough text-representation of this window:

Cartons within the conveyor system Select Change Restrict Where Match Expand First Last Ordered picked Quantity GEFFEN GEFD-24612 |Judy Collins 5 100 ^ FIE! RECORDS FIE9115 |Guy Evans and Peter Hammill 5 450 █ EMI CDP 7 46605 2 |Animals, The 5 60 █ DEMON FIEND CD 704 |Beausoleil 5 85 █ CAPITOL CDP 7 46069 2 |Band, The 5 95 █ BLUE NOTE CDP724385548420|Jacky Terrasson & Cassandra 5 450 █ ATLANTIC 7 82526-2 DISC 9|Led Zeppelin 5 █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> ■■■ ■■ <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

To proceed from here please refer the sections titled: "Creation of Schedules", and "Creation of Schedules".

Modification of Schedules

To modify a schedule, use the [LEFT] and [RIGHT] keys to move the cursor to the schedule you wish to modify. The cursor may also be moved to a schedule by clicking the mouse on the desired schedule. Once at the desired schedule, type [ENTER] or [RETURN].

Once selected, a "Set of Fields" is presented containing the schedule's details. If you are sufficiently privileged you will be asked to confirm that you wish to modify the details by pressing [F1].  You will, then, be presented with a "Set of Fields" in a window, for you to edit.

From this point, proceed as described for the creation of schedules.  Refer to the section titled: "Creation of Schedules".

Sequencing Schedules

There is no control purpose served by reordering the schedules in this list, however you may wish to do this so as to arrange schedules corresponding to cartons of particular interest towards the front of the list for ease of reference.

This reordering is conducted by picking up a schedule, moving it to a new position in the queue and then lowering it into this position.  Use the [LEFT] and [RIGHT] keys to move the cursor to a schedule, then the [UP] key to pick it up, then again the [LEFT] and [RIGHT] keys to move it to its new position and, finally, the [DOWN] key to lower the schedule into this position. Clicking on the schedule at the cursor will alternately raise and lower it, leaving the cursor at the schedule.

When the schedule is first picked up, the cursor remains beneath it.  The Movement Controller takes its first opportunity to separate the cursor and schedule, keeping the cursor one position to the left of the schedule, when you first type [LEFT] or [RIGHT].  As a result the first time you type the [LEFT] key only the cursor is moved or the first time you type the [RIGHT] key only the schedule is moved. The schedule may also be moved to a given place in the queue by clicking the mouse on the schedule currently in that location, placing the cursor one position to the left of the schedule if possible.

The cursor is kept one position left of the schedule to show you the contents of the schedule currently in front of the raised schedule.

Carton Conveyor System

The carton conveyor diagram shows the status of the carton conveyors and their associated devices, the status of the pick-to-light system, the occupancy of the shelving and the progress of the picking.

The window will appear as shown overleaf:

Carton Conveyor System

All graphics on this window are shown to scale.

Push Buttons

There are "push buttons" presented at the foot of this window. The purpose of these push buttons is indicated by the text within them.  The first letter of this text is larger and is to be typed to "press" the button. The button may also be clicked with the mouse.

There are also two operating-system-painted buttons.  One of which, "ESCAPE: exit", is for exiting from a "push button" selection or from the window completely if no such selection is active.  The other, "HELP", calls up the help feature, refer to the section titled: "Help".

If the button is grey, it is available.  If it is dark green with black text it is unavailable.  If it is light green, it is either available with there being some particular reason that you might wish to "press" it or it is "pressed".

In response to activating certain push-buttons, the mode of control changes. This is reflected by a change in the push-buttons available.

Carton Conveyor System Status

Running conveyors are shown in green, stopped in yellow and those in alarm in red.

Clear photocells, undiverted diverters and deflated air-bags are shown dark, whereas those blocked, diverted or inflated are shown in blue.

Any alarms in the carton conveyor system are presented in the bottom right hand corner of the window.

Alarms

This section discusses each alarm that can be raised by the carton conveyor PLC.

Please bear in mind that all these alarms are based on the PLC's view of the system and may therefore be the result of a failure in the sensing mechanisms and/or circuitry or in the control mechanisms and/or circuitry.  This is not reiterated in the following discussions of the individual alarms.

The sensing mechanisms include reed switches, relay contacts, proximity switches and photocells, while the sensing circuitry includes wiring, terminations, PLC inputs, the field input power supply and circuit breakers.

The control mechanisms include cylinders and associated gates and levers, motors and associated gearboxes, belts et cetera, while the control circuitry includes circuit breakers, the field output power supply, PLC outputs, relays, solenoids, motor contactors, variable speed drives, motor circuit breakers, thermal overloads and motor isolators.  In particular, check that the motor isolators are turned on.

The following alarms may be reported:

  • Emergency stop     

    An emergency stop has been operated.  The reason for pressing the stop should be established, then, when safe to do so, the stop should be released, allowing the operation of the system to continue.

  • PLC battery flat   

    This is an alarm reported to the PLC program by the PLC. For further refer to the appropriate Allen-Bradley SLC-500 manual.

  • CI Tect DH+ link off

    There is a flag within the PLC that is set to zero by the CiTect system.  The PLC is continually setting this flag.  If the CiTect system fails to zero the flag within a given time, this alarms will be raised.

    This alarm, therefore, indicates that the CiTect system is unable to communicate or is not functioning correctly.

  • Field power lost

    The power supply for the inputs and outputs from the PLC is monitored.  If this fails, this alarm will be raised.  While this alarm is present, any other alarm should be ignored as it is very likely to be parasitic.

  • Main power lost

    The main power supply for conveyor motors, et cetera, is monitored.  If this fails, this alarm will be raised.

  • Air pressure low

    This indicates that the air pressure is low.  Any alarms associated with the actions of cylinders (such as the diverter) should be attributed to this cause.

  • Conveyor didn't start

    There are a series of these alarms, one for each conveyor. There is contactor feedback for each conveyor.  If this feedback is not seen within a given time of requesting the conveyor to run or is removed while the request is still in force, this alarm will be raised.  You should have an electrician investigate the cause.

  • Conveyor didn't stop

    There are a series of these alarms, one for each conveyor. There is contactor feedback for each conveyor.  If this feedback is not removed within a given time of requesting the conveyor to stop or is asserted while there is no request, this alarm will be raised.  This is not expected to be at all common.  You should have an electrician investigate the cause.

  • VSD not running

    There are a series of these alarms, one for each variable speed drive.  There is a signal from each variable speed drive indicating whether it is running.  If this signal is not seen within a given time of requesting the drive to power up or is removed while the request is still in force, this alarm will be raised.  You should have an electrician investigate the cause.

  • Conveyor case jam

    There are a series of these alarms, one for each conveyor.  As cases are seen to move onto a conveyor, the case is recorded on the conveyor, and as it is removed from the conveyor, this record is removed.  Each case is allowed a given time to reach the end of the conveyor, if it fails to do so within this time, then this alarm will be raised.

    This could be the result of the case being caught, or the PLC failing to distinguish the gap between the cases and, therefore, failing to remove its record of the case.

    Resetting the alarm allows the case more time to reach the end of the conveyor.  If the problem is that the PLC failed to see the gap, then the record will need to be removed from the PLC.  Please refer to the section titled: "Conveyor Mode".

  • Diverter failed

    The diverter has failed to operate within the time expected. This could be because the diverter has not moved, or has not been seen to move.

    If it has failed to move, check for obstructions, especially cases caught.

    If it has not been seen to move, check the adjustment of the proximity switches.

Certain alarms within the carton conveyor system are "latched". These alarms are usually associated with an action not completing within a reasonable amount of time.  Once these alarms are corrected, it is necessary to reset them before normal operation may recommence.  To reset these alarms type 'A'.

Other alarms, such as emergency stops, need no resetting, once the stop has been released.

Tally of Cases

In the place where the alarms are normally displayed, the tally of cases produced on the two lines may be displayed by typing "T", or, after noting the tallies, the alarms may be again displayed by typing "T" a second time.

Conveyor Mode

Conveyor mode is entered for more information or more control over the conveyors.  This is achieved by typing "C".  In response a new set of push buttons is presented, along with a list of the conveyors with the estimated number of cases on each.

The list may be scrolled using [UP] and [DOWN], [PAGE UP] and [PAGE DOWN].  These keys no longer perform vertical scrolling of the carton conveyor diagram.

One conveyor in the list will be highlighted and the border of that conveyor in the diagram will be shown in white.

You may simultaneously enter "Conveyor Mode" and select a conveyor by clicking on the conveyor.

The colour of the conveyors will be as before, except that, should the conveyor be in automatic, it will be shown in red. The devices will all be shown in grey, indicating that they are irrelevant to what you are currently about.

Each conveyor can be set to automatic, by typing "A", manually stopped by typing "M" or manually running by typing "G". Subsequent typings of "G" will switch the conveyor between manually stopped and running.

The inventory for each conveyor may be zeroed by typing "K".

The contents of each conveyor may be displayed by typing "C" (for case listing).  In response, the list of conveyors will be replaced by a list of cartons on the highlighted conveyor.  In this mode, individual cartons may be deleted by typing "D".  To return to the conveyor mode type [ESCAPE].

You may call up the contents of a conveyor by double clicking on the conveyor.

To exit conveyor mode type [ESCAPE].

Device Mode

Device mode is entered for more information or more control over the devices.  This is achieved by typing "D".  In response a new set of push buttons is presented, along with a list of the device types.

It is first necessary to select a type of device to view or control.  Once done, this list is replaced by a list of the devices of that type.

The lists may be scrolled using [UP] and [DOWN], [PAGE UP] and [PAGE DOWN].  These keys no longer perform vertical scrolling of the carton conveyor diagram.  A selection of device type is made by pressing [ENTER] once the desired entry has been highlighted - the devices do not need to be selected, only highlighted.

One device in the list will be highlighted and that device in the diagram will be shown in yellow.

You may simultaneously enter "Device Mode", and select a device type, and select an individual device by clicking on the device.

The colour of the devices will be as before, except that, should the device be in automatic, it will be shown in red.  The conveyors will all be shown in grey, indicating that they are irrelevant to what you are currently about.

Each device can be set to automatic, by typing "A", manually deactivated by typing "M" or manually activated by typing "G". Subsequent typings of "G" will switch the device between manually deactivated and activated.

A different type of device may be chosen by typing "T" then making a new selection.

To exit device mode type [ESCAPE].

Setting Case Lengths

The carton conveyor PLC is informed by others as to what product it is conveying from each cartoner.  For it to make intelligent use of this data it needs to know the case lengths and number of cases per pallet load for this product.

This information is contained within the Movement Controller and can be modified. Refer to the sections titled: "Enter or Modify Palletiser Product Data", and "Enter or Modify Palletiser Patterns".

Anytime this information is changed or added to it should be written to the carton conveyor system.  This is done by typing "S".

Pick-To-Light System Status

Each pick area is displayed as a blue rectangle, representing a unit of shelving viewed from above, with black lines around three of its sides, leaving no such border on the side from which the picking will occur.

A unit of shelving may consist of several shelves, with each shelf consisting of several compartments arranged across the shelf.  Less orthodox arrangements may also be configured.

In the centre of this rectangle is a small circle, which will be coloured to reflect the state of the pick-to-light system within this unit of shelving.  These colours (in order of precedence) are:

  • YELLOW
    The pick area is being picked.
  • RED   
    The pick area has a problem.
  • GREY  
    The pick area has stock.
  • BLACK 
    The pick area contains no stock.

Pick Area Mode

Pick area mode is entered for more detailed information or to adjust the data associated with individual pick areas or to access the pick-to-light units.  This is achieved by typing "P". In response a new set of push buttons is presented, along with a list of the picking zones.

A picking zone corresponds to a carton stopping position, where the carton is expected to be loaded.  These tie the carton stopping positions to a group of pick areas.

It is first necessary to select a zone (i.e. a group of pick areas) to view or adjust.  Once done, this list is replaced by a list of the pick areas in that zone.

The lists may be scrolled using [UP] and [DOWN], [PAGE UP] and [PAGE DOWN].  These keys no longer perform vertical scrolling of the carton conveyor diagram.  A selection is made by pressing [ENTER] once the desired entry has been highlighted.

One picking zone in the list will be highlighted and that zone in the diagram will be shown normally; the others will be grey.

One pick area in the list will be highlighted and that pick area in the diagram will be shown in light blue.

You may simultaneously enter "Pick Area Mode", and select a zone, and select a pick area by clicking on the pick area.

After selecting a zone and before examining a pick area, all pick areas may be enabled by typing "A".  This resets the "Shelf Disabled" status for all divisions of all pick areas of all zones.  This is particularly convenient when a communications link has been restored, having caused a large number of pick areas to be disabled.

A different zone may be chosen, at this time, by typing "S" then making a new selection.

To exit pick area mode, type [ESCAPE].

Examining a Pick Area

To examine a pick area, first highlight the desired pick area (as described above) then type "E".  Once a pick area has been selected for examination, the window is replaced with a face view of the selected pick area shown within a yellow border, with its neighbouring pick areas shown alongside it.

You may examine a pick area by double clicking on the pick area.

The window will appear as shown overleaf:

Carton Conveyor System - Examining a Pick Area

The pick area selected may be changed, without returning to the pick area selection window, by pressing [PAGE DOWN] for its right hand neighbour or [PAGE UP] for its left hand neighbour.

The top-left division will be shown in light blue and its details (contents and whether disabled) will be shown below the depiction of the pick areas.  Other divisions may be alternatively highlighted by using the cursor keys.  In addition, the [END] key moves you to the bottom-right division, while the [HOME] key returns you to the top-left division.

Within each division is shown the number of items to be picked, or if there is no picking, the number of items on-hand in the division.  This number will be coloured to reflect the status of the division.  These colours (in order of precedence) are:

  • YELLOW
    The pick area division is being picked.
  • RED   
    The pick area division has a problem.
  • GREY  
    The pick area division has stock.

A new set of push buttons are now provided, primarily to manipulate the data of these divisions.

The contents of the division shown in light blue may be manipulated by pressing:

  • "I"
    to modify the details.
  • "D"
    to delete/destroy/wipe the details.
  • "Z"
    to zoom-into/expand the details.
  • "C"
    to copy the details to memory/scrap-buffer/clip-board.
  • "G"
    to get the details from memory/scrap-buffer/clip-board.
  • "S"
    to swap the details with memory/scrap-buffer/clip-board.

The expanded details include the shelf pick-to-light address, the quantity to be picked, whether picking is in progress, and the reason the division is disabled.

The expansion of these details may be at the expense of the pick area window.  Once expanded, you may return to the non-expanded mode by pressing "Z" a second time.

The division could be disabled either because it could not be communicated with, or because it reported a fault with its display.  If the fault is with its display, the offending digit and segment is indicated, otherwise the text "Separate LED" is displayed.

When the memory (scrap buffer or clip-board equivalent) is set its details will be shown alongside the division's details.

The remaining push buttons allow you to access the pick-to-light unit's memory (by pressing "M") or to exit this window (by pressing [ESCAPE] or "E").

Monitor Memory

This option should only be used by people with knowledge of the hardware and software of the pick-to-light system, or under the guidance of someone who has this knowledge.

The window is now substantially green.  Within this green area is displayed the memory of the selected division.

The window will appear as shown overleaf:

Carton Conveyor System - Examining a Pick Area -- Monitor Memory

In the top left of the green, following the text "PTL Address:" is the address of this division (a pick-to-light unit) - its communications address or station number, not its memory address. This will not change as you page through the memory - it will only change if you select another division.

This is followed by the text "READ/WRITE".  Alternatively, you may access the division's program memory by pressing "P".  In response the text "READ/WRITE" will be replaced with "PROGRAM". To return to the display of the division's read-write memory, press "R".

Below this the memory is displayed twice.  The first time in decimal and the second in hexadecimal.  The memory is displayed as eight-bit bytes in five rows of sixteen columns.  The row starting addresses are shown at the left of the rows in hexadecimal and the column offsets from these addresses are shown as a single hexadecimal digit above the columns.

An asterisk (star) is shown in the hexadecimal memory area to the right of the memory location currently being interrogated.

In both the decimal and hexadecimal memory areas, one location is displayed in reverse video.  The address of this location is shown below the hexadecimal area at the right, followed by a colon, then the binary representation of the value, followed, usually, by a less-than ("<") sign then, if read-write memory and known, the description of the byte.

The reverse video may be moved using the cursor keys. The cursor may also be moved by clicking on the desired memory location.

Some individual bits within the read-write memory have descriptions.  These may be presented by typing [CONTROL LEFT] or [CONTROL RIGHT] to move through the bits.  In response:

  • The less-than sign is removed and a circumflex ("^") is presented beneath the corresponding bit.
  • The bit number is appended to the byte address.
  • The byte description is replaced with the bit description.
  • The [LEFT] and [RIGHT] move through bits not bytes, until you move beyond the last bit.

A bit can also be selected by clicking on the bit.

At the bottom of the green is presented the base address of the memory being displayed, in hexadecimal.

The base address may be increased or reduced by 50 hex by typing [PAGE DOWN] or [PAGE UP] respectively.  Alternatively, the base address may be set to an arbitrary value by typing "A" then entering the desired address.

Alternate divisions may be interrogated by typing in the pick-to-light address of the division.

To exit monitor memory mode, type [ESCAPE].

Read-Write

These features are only available when the read-write memory is selected.

The memory location highlighted in reverse video may be altered in a variety of ways.  You can set the value of the byte to a given decimal number by pressing "C" then entering the new value, or you can set the value of the byte to a given hexadecimal number by pressing "H" then entering the new value, or you can invoke the circumflex and move it to an individual bit of the byte and toggle this bit by pressing "T".

You can double click on the location rather than move the cursor there and type "C".

Any changes made to the read-write memory will be lost whenever power is removed from the device.  Upon restoration of power, part of this memory is restored from EEROM.  If you make changes to this part of the memory, you can have these changes secured to EEROM by pressing "S".

In addition, you can specify that the changes and the securing you are about to perform are to apply to all divisions by pressing "G".  In response the "GLOBAL WRITING" push button will be illuminated indicating that the changes you are making are global.

Changing the Appearance

The diagram can be scrolled (panned and tilted), rotated, and zoomed.

The [LEFT], [RIGHT], [CONTROL LEFT], [CONTROL RIGHT], [HOME], [END], [CONTROL PAGE UP], and [CONTROL PAGE DOWN] keys are used to horizontally scroll (pan) the view past the conveyors, with the [LEFT], [CONTROL PAGE UP], and [HOME] keys moving the view left while the [RIGHT], [CONTROL PAGE DOWN], and [END] keys moving the view right.  The [HOME] and [END] keys scroll to the ends while the [CONTROL PAGE UP] and [CONTROL PAGE DOWN] keys scroll by larger increments than do the [LEFT] and [RIGHT] keys.  The [CONTROL LEFT] and [CONTROL RIGHT] keys do the same as the [LEFT] and [RIGHT] keys, respectively.

The [UP], [DOWN], [PAGE UP], [PAGE DOWN], [CONTROL HOME], and [CONTROL END] keys are used to vertically scroll (tilt) the view past the conveyors, with the [UP], [PAGE UP], and [CONTROL PAGE UP] keys moving the view "higher".  The [CONTROL HOME] and [CONTROL END] keys scroll to the ends, while the [PAGE UP] and [PAGE DOWN] keys scroll by larger increments, than do the [UP] and [DOWN] keys.  The [CONTROL UP] and [CONTROL DOWN] keys do the same as the [UP] and [DOWN] keys, respectively.

By typing "R" or [SHIFT R] the display may be rotated or rotated back in 15 degree increments. [CONTROL R] will rotate the display in 1 degree increments in the reverse direction to the last "R" or [SHIFT R] key.  [ALTERNATE R] will reverse the direction for future typings of [CONTROL R].  Clicking on the "ROTATE SH.: CCW" button, with the left button, rotates the display clockwise while clicking, with the right button, rotates the display counter-clockwise.

By typing "Z" or [SHIFT Z] the display may be zoomed in or out.  [CONTROL Z] will zoom by a finer amount in the opposite direction to the last "Z" or [SHIFT Z] key. [ALTERNATE Z] will reverse the direction for future typings of [CONTROL Z].  Clicking on the "ZOOM IN SH.: OUT" button, with the left button, zooms the display in while clicking, with the right button, zooms the display out.

These changes can be made permanent for this terminal by pressing "W" to store them.  To return to the settings last made permanent, press "L".

Defining Views of the Conveyor System

This window is entered from the first by pressing "V".  When you wish to examine a portion of the conveyor system you can pan, tilt, rotate and zoom the diagram as described previously.  Alternatively, these settings may be stored and recalled as "views".

When you enter this window, the carton conveyor diagram will be returned to the settings last made permanent.  The pan, tilt, rotate and zoom functions are disabled.

A view is defined by providing it with a name, the coordinates of its centre in millimetres, the rotation in degrees and the scale in millimetres per pixel.  All these parameters, except for the name, can be set interactively and explicitly; the name must be set explicitly.

To add a view, you need to press "A" or [INSERT].  You will be then prompted to pan, tilt, rotate and zoom the window to create the desired view, then to type "D" when done.  These functions are now enabled.  Refer to the section titled: "Changing the Appearance".  Once you are satisfied with the appearance of the system for this view, type "D".  In response, you will be presented with a set of fields.  You will need to set the name of the view and may, optionally, make adjustments to the other parameters, which have been set from the pan, tilt, rotate and zoom operations you have just completed.

This set of fields includes the view's name (a unique "Name" field), the x and y coordinates of the centre of the view, the angle of rotation, and the scaling (all "Numeric" fields).  For editing instructions for these types of fields, please refer to the sections titled: "Name", and "Numeric".

As views are defined, they will be listed to the right of the push buttons, with one entry highlighted.  The highlight may be moved to other entries using the following keys:

  • [UP]               
    Move the highlight up one line
  • [DOWN]             
    Move the highlight down one line
  • [PAGE UP]          
    Move the highlight up seven lines
  • [PAGE DOWN]        
    Move the highlight down seven lines
  • [CONTROL PAGE UP]  
    Move the highlight to the first line
  • [CONTROL PAGE DOWN]
    Move the highlight to the last line

These views are also presented on the carton conveyor diagram as thin rectangles.  The rectangles will be coloured black, except for the rectangle corresponding to the highlighted entry, which will be coloured yellow.

A view may be highlighted by clicking within the corresponding thin rectangle.

The highlighted entry may be modified by pressing "M".  In response, the carton conveyor diagram will be panned, tilted, rotated and zoomed in accordance with the selected view.  You will be then prompted to pan, tilt, rotate and zoom the window to create the desired view, then to type "D" when done, as was the case when adding a new type. After typing "D", you will not be required to enter a name for the view as it already has one, however, the name and the other parameters may now be edited explicitly if so desired.

It is desirable to be able to set the parameters explicitly if creating a series of views that you wish to be same in all respects except for, say, the x coordinate.

The highlighted entry may be deleted by pressing "D" or [DELETE].

Finally, the highlighted view may be selected as the current view, by typing "S" or [ENTER].  In response, the carton conveyor diagram will be panned, tilted, rotated and zoomed in accordance with the selected view and you will be returned to the first carton conveyor diagram window.

A view may be selected by double clicking within the corresponding thin rectangle.

To return to the first carton conveyor diagram window, without selecting a view, press [ESCAPE].

To cancel a view, when back at the first carton conveyor diagram window, type "L" to return to the settings last made permanent.

Palletiser Status and Commands

This window shows the states of all the devices making up the palletiser, along with the expected positions of the cartons on the palletiser.

The window will appear as shown overleaf:

Palletiser Status and Commands

Blocked photocells and proximity switches are shown in yellow, while clear photocells are shown in grey.  Risen gates are shown in blue, while lowered gates are shown in a dark colour.  Running conveyors are shown in green, while stopped are shown in red for automatic or yellow for manual.  If the palletiser is off, these are shown in grey.

Light barriers are shown in yellow if in tact or grey otherwise. Pilot lamps are shown in a variety of colours if on, or dark if off.

The lift chains are shown in green if the lift is rising and in blue if lowering.  The position of the lift is estimated from knowledge of the load and the states of the sensors.

Any alarms associated with the palletiser are shown in the top right hand corner of the window.  When there are no alarms to display, one of the following messages will be displayed:

  • I'm happy, check the pallet conveyors
    if an alarm is present in the Heavy-Unit-Load Conveyor System.  This should be accompanied by the push button advertising the Heavy-Unit-Load Conveyors diagram being lit in light green.
  • I'm happy, check the infeed conveyors
    if an alarm is present in the carton conveyor system.  This should be accompanied by the push button advertising the carton conveyors diagram being lit in light green.
  • I'm happy, what's your problem
    if unaware of any alarm.

Push Buttons

There are "push buttons" presented at the lower right hand side of this window.  The purpose of these push buttons is indicated by the text within them.  The first letter of this text is larger and is to be typed to "press" the button. The button may also be clicked with the mouse.

There are also three operating-system-painted buttons.  One of which, "Palletiser select", can be used to select another palletiser.  The "ESCAPE: exit" button is for exiting from a "push button" selection or from the window completely if no such selection is active.  The "HELP" button calls up the help feature, refer to the section titled: "Help".

If the button is grey, it is available.  If it is dark green with black text it is unavailable.  If it is light green, it is either available with there being some particular reason that you might wish to "press" it or it is "pressed".

In response to activating certain push-buttons, the mode of control changes. This is reflected by a change in the push-buttons available.

Alarms

This section discusses each alarm that can be raised by the palletiser PLC.

Please bear in mind that all these alarms are based on the PLC's view of the system and may therefore be the result of a failure in the sensing mechanisms and/or circuitry or in the control mechanisms and/or circuitry.  This is not reiterated in the following discussions of the individual alarms.

The sensing mechanisms include reed switches, relay contacts, proximity switches, photocells, fork lift detection loops and light curtains, while the sensing circuitry includes wiring, terminations, PLC inputs, the field input power supply and circuit breakers.

The control mechanisms include cylinders and associated gates and levers, motors and associated gearboxes, sprockets, chains, pulleys, belts et cetera, while the control circuitry includes circuit breakers, the field output power supply, PLC outputs, relays, solenoids, motor contactors, variable speed drives, motor circuit breakers, thermal overloads and motor isolators. In particular, check that the motor isolators are turned on.

There are two classes of palletiser alarms: alarms that stop the palletiser, alarms that advise that an operator action is required.

The following alarms belong to this first class:

  • Open case flap
  • Open or no barcode

    There are three photocells at the metering belt.  Depending on the product believed to be at this position, one of these photocells, at least, will be expected to be clear.  If this photocell is blocked, either because a case flap is open or the carton is not of the expected product, the metering belt will stop and this alarm will be raised.

    Had there been a no-read from the barcode scanner in the last five seconds, there is an increased chance that the cause is that the carton is not of the expected product, being falsely assumed to be the same as the previous carton as a result of a no-read.  Under these circumstances, the second of these alarms is raised instead.

    To clear this alarm, you will need either to reseal the flap or amend the expected cartons.

  • Infeed guide fault

    The infeed guide's reed switches did not indicate that the guide had moved to the intended position within the time allowed.  This could result from insufficient air pressure, an obstruction (such as a carton in the wrong orientation or of the wrong product) or badly adjusted reed switches on the cylinders.

  • Meter belt PE
  • Turn peg PE
  • Row entry PE
  • Row gate A PE
  • Row gate B PE
  • Row gate C PE
  • Row gate D PE
  • Row gate E PE
  • Row gate F PE
  • Glue spray PE

    The nominated photocell has been blocked for too long while the belt or rollers have been running.  This could indicate that the photocell is out of adjustment, there is a carton stuck at this position or two or more cartons passed without the photocell seeing a gap.

  • Row sweep intrusion

    The row sweep intrusion photocell is just beyond the row sweep bar.  This photocell must be clear for a row sweep to be able to run.  If this photocell is blocked at this time, then this alarm is latched.

    Generally you will find a carton in front of this photocell that will need to be relocated according to the arrangement of cartons shown on the window.

  • Row sweep failed

    This indicates that the row sweep bar failed to travel out and back within the expected time.  Check for cartons (or other items) blocking its progress.

  • Layer exit gate flt

    This indicates that the layer exit gate failed to lower in the time expected.  Check the air pressure and then the reed switch adjustment.

  • Layer side fault
  • Apron side fault
  • Apron end fault

    This indicates that the corresponding compression operation failed to either extend or retract in the time expected. Check the air pressure and then the reed switch adjustment.

  • Layer transfer fail

    There is a photocell just beyond the layer exit gate.  This is expected to be clear before the layer transfer is deemed to be complete.  Check that cartons are not straggling behind and that the photocell is correctly aligned.

  • Layer VSD fault
  • Apron VSD fault
  • Lift VSD fault

    These faults indicate that the corresponding variable speed drive has signaled that it has a fault.  You should refer to the drive's display for further details.  To reset the fault, you can cycle the power to the drive by dropping the master control relay.  This is accomplished by hitting any emergency stop associated with this system.

  • Apron open/close fl

    The apron has failed to open or close within the time expected.  This could be because the apron has not moved, or has not been seen to move.

    If it has failed to move, check for obstructions.  Should you need to enter the lift to do this you should follow the isolation procedure.

    If it has not been seen to move, the apron is likely to have overrun the proximity.  Check the adjustment of the proximity switches.

  • Pallet part in lift

    This implies that either the photocell at the rear of the lift or the photocell beyond the load stop is blocked while the Heavy-Unit-Load Conveyor System has deemed the transfers into and out of the lift to have been completed.

    This could result from problems with the Heavy-Unit-Load Conveyor system transfers.  For more details on these problems, refer to the section of the TECHNICAL MANUAL titled: "Transferring Loads".

    To correct the problem, you will need to relocate the loads on the Heavy-Unit-Load Conveyor System to the positions shown on the Heavy-Unit-Load Conveyors diagram.  This can be achieved using the "push button control" via the Heavy-Unit-Load Conveyors diagram.  Please refer to the section titled: "Control of Loads".

  • Lift gone too high

    There is an overrun proximity at the top of the permitted lift travel.  If the lift contains a good pallet, of the correct dimensions, the lift should have stopped a short time after the first of the six photocells below the curtain have been blocked.

    The most common cause is the lift not having a pallet on board, however other causes include the proximity switch or slow down photocells being out of adjustment and the variable speed drive not reacting fast enough (incorrect settings).

    The alarm can not be reset until the lift is lowered; this must be done in manual.  If you intend to reject the load, return to automatic mode on the window and type "R", before resetting the alarm, so that the system does not immediately attempt to raise the load again.

  • Lift up PE when down

    One of the six photocells under the apron is blocked while the lift is down.  This should indicate a photocell that is out of adjustment, or that a piece or cardboard has been left behind blocking one of these photocells.

    Another cause could be the palletiser attempting to load too many layers on the pallet.

  • Lift up PE disagree

    The lift rises until the first of the six photocells under the apron is blocked, then travels for a little longer expecting the remaining photocells to become blocked in this time.  If this fails to happen, this alarm is raised.

    Typical causes include bad pallets, cartons not sitting down, carton flaps sticking up, or photocells out of adjustment.

  • Lift up/down failed

    The lift is allowed a certain amount to time to travel from the down proximity to the overrun proximity (and reverse).  If it did not complete within this time, this alarm is raised.

    This could be because the lift has not moved, or has not been seen to move.

    If it has failed to move, check for obstructions.

    If it has not been seen to move, the lift is likely to have overrun the proximity.  Check the adjustment of the proximity switches.

  • PLC battery flat

    This is an alarm reported to the PLC program by the PLC. For further refer to the appropriate Allen-Bradley SLC-500 manual.

  • Lower light curtain
  • Upper light curtain

    There is or was an obstruction to the light curtain.  This obstruction should be removed and the appropriate light curtain reset push button operated before the alarm can be reset.

    Should the alarm remain, the alignment of the light curtain should be checked and adjusted.  Otherwise there may be a fault with the unit.

    Please note that the light curtains appear to have a "bug filter", allowing them to be automatically reset after a momentary violation.  There is no corresponding filter in the PLC software, so it is possible that these alarms may be set while the light curtain appears not to have been interrupted.

  • No case @ turn peg
  • No case @ row entry

    These alarms arise when a carton is expected at these locations but has either failed to arrive or pass within a reasonable time.  The problem could be that the machine has failed to count correctly at an earlier photocell, or that the carton was delayed in its travels.

    You should relocate the cartons to reflect the arrangement shown on the window.

The following alarms belong to the second class (advice):

  • Stopped:Press start

    This is a reminder that the system will not run until the start button is pressed.

  • No empty pallets

    This is a reminder to load some more pallets at the heavy-unit-load conveyor infeed.

  • Outfeed chockers

    This is a request to remove the loads from the outfeed so that the system may continue to operate.

  • Many barcodes late

    The barcode reader is expected to return a barcode within a given time after the carton has passed the photocell.

    This alarm indicates that, recently, the number of missed barcodes is excessive.

    To be more explicit, if a barcode is not received in time, a tally is incremented.  If a barcode is received, the tally is decremented.  If the tally reaches 5, this alarm is raised, whereas if it makes it back to 0, this alarm is cleared.

    If the rate exceeds 50% eventually the alarm will be raised, whereas if the rate is below 50% eventually the alarm will be cleared.  There is no point resetting this alarm.

  • Many barcode noread

    The barcode reader should report for every carton, with either a barcode or a no-read.

    This alarm indicates that, recently, the number of no-reads is excessive.

    To be more explicit, if a no-read is reported, a tally is incremented.  If a barcode is reported, the tally is decremented.  If the tally reaches 5, this alarm is raised, whereas if it makes it back to 0, this alarm is cleared.

    If the rate exceeds 50% eventually the alarm will be raised, whereas if the rate is below 50% eventually the alarm will be cleared.  There is no point resetting this alarm.

Most alarms within the palletiser are "latched".  These alarms are latched either because they are associated with an action not completing within a reasonable amount of time, or so that the alarm, if possibly fleeting or intermittent, is captured. Once these alarms are corrected, it is necessary to reset them before normal operation may recommence.  To reset these alarms type 'A'.

Other alarms, such as emergency stops, need no resetting, once the stop has been released.

Tally of Cases

In the place where the push buttons are normally displayed, the tally of cases produced on the two lines feeding the palletiser may be displayed by typing "C".  After noting the tallies, the push buttons may be again displayed by typing any key.

Finish Load

This function causes all cartons known to the palletiser to be gathered onto the pallet, without waiting for the complete load. This would typically be done when shutting down.  Type "F" to invoke this function.

Reject Pallet

This function causes the pallet in the lift to be lowered and transferred from the lift.  This would typically be done when you are dissatisfied with the pallet in the lift.  Type "R" to invoke this function.

Palletiser Semi-Automatic

In automatic, the PLC decides when to perform its various cycles and controls a number of devices to achieve each cycle.  In semi-automatic, you leave the coordination of the devices to the PLC but take over the decision as to when each cycle is to be performed.  Type "S" to enter this mode.  Once you do so the PLC will cease to start any new cycles.

The push buttons will be replaced with a new set listing the keys that control the semi_automatic operations.

If one of these buttons is grey, there is no outstanding action. If it is light green, it has requested the PLC to perform a semi-automatic operation and has not yet been informed by the PLC of its compliance. If it is dark green, it has been informed by the PLC that it has started/completed (depending on how the PLC handles the operation) the requested operation and has removed its request.  Once the PLC acknowledges that it has seen the request removed, the button will be returned to grey.

The semi-automatic cycles are:

  • "C"
    Release a case from the metering belt
  • "R"
    Sweep a row onto the layer area
  • "T"
    Transfer a layer onto the apron
  • "A"
    Release the layer onto the lift
  • "D"
    Discharge the load on the lift

Type [ESCAPE] to exit semi-automatic mode.  The palletiser will immediately resume automatic operation.

Palletiser Manual Mode

In automatic, the PLC decides when to perform its various cycles and controls a number of devices to achieve each cycle.  In manual, you take over all these responsibilities.  Type "M" to enter this mode.  Once you do so, the PLC will stop all motors it controls and will freeze all other outputs until you instruct it otherwise.

The push buttons will be replaced with a new set listing the keys that control the manual operation for most of the devices.

If one of these buttons is grey, it is untouched.  If it is light green, it is turned on.  If it is dark green with black text it is turned off.

The manual control keys are:

  • "S"
    corresponds to the enabling/disabling of the glue spray unit.
  • "I"
    corresponds to the operation of the infeed guide.
  • "T"
    corresponds to the operation of the turn peg (off = turn).
  • "M"
    corresponds to the running of the metering belt.
  • "W"
    corresponds to the running of the wider infeed rollers.
  • "R"
    corresponds to the running of the row form area rollers.
  • "N"
    corresponds to the running of the row sweep arm.
  • "L"
    corresponds to the running of the layer area rollers.
  • "H"
    corresponds to the selection of speed for the layer area rollers.
  • "A"
    corresponds to the running of the apron rollers.
  • "O"
    corresponds to the running of the apron open or close.
  • "U"
    corresponds to the running of the lift up.
  • "D"
    corresponds to the running of the lift down.

In addition, the keys "C", "G" and "P" allow you to enter the sub-manual modes to control the compressing of the loads, the gates and the pilot lamps respectively.  These sub-modes may be exited by typing [ESCAPE].

Type [ESCAPE] to exit manual mode.  The palletiser will immediately resume automatic operation.

Motors Versus Solenoids

To control a motor, the key corresponding to a push button must remain pushed for it to run, as distinct to controlling a solenoid, where the state of the solenoid is switched with each alternate key press.  Do not hold on keys corresponding to the manual control of solenoids.

When controlling a solenoid, the corresponding push button becomes illuminated light green when turned on or dark green when turned off.

When controlling a motor, the corresponding push button becomes illuminated light green when on and reverts to grey when off.

The infeed guide push button relates to several cylinders and will cycle through the positions with alternate presses.

High speed push buttons behave as the solenoid push buttons, as the actual control of the motor is handled by another button.

Palletiser Gates

There are many gate controls, each corresponding to one of the possible gates within a palletiser.  Initially, the manual control of these devices will cause them to remain in the state they were left in by the automatic control.

These controls allow the user to raise then lower each gate individually.

The main row entry gate is controlled by pressing "R", while the remaining row entry gates are controlled by pressing "!", "@", "#" and "$".  These correspond to [SHIFT 1], [SHIFT 2], [SHIFT 3] and [SHIFT 4] and refer to the first, second, third and fourth gates prior to the main row entry gate.

The row form area gates are referred to as "A" to "F" and are controlled by pressing the corresponding keys.  These gates are usually allocated starting from the gate nearest the main row entry, however, gates may be added later in the design and may therefore not fit this pattern.  You are best to refer to the drawings.

The end stop, though not actually a gate, is controlled by pressing "S".

The layer gates are referred to as "1" to "4" and are operated by pressing the corresponding key.

The layer exit gate is controlled by pressing "L".

The state of these controls will toggle each time the corresponding key is pressed.  As the state toggles, the corresponding push button becomes illuminated light green when compressing or dark green when retracting.

To return to the main manual control functions, press "M" or [ESCAPE].

Palletiser Compress

There are three compress controls.  Initially, the manual control of these devices will cause them to remain in the state they were left in by the automatic control.

The three controls relate to the side compression of the layer area ("L"), and the side ("S") and end ("E") compression of the apron area.

The state of these controls will toggle each time the corresponding letter is pressed.  As the state toggles, the corresponding push button becomes illuminated light green when compressing or dark green when retracting.

To return to the main manual control functions, press "M" or [ESCAPE].

Palletiser Pilot Lamps

There are several pilot lamps.  Initially, the manual control of these devices will cause them to reflect the status they were designed to reflect.

These controls allow the user to exercise these lamps.

The pilot lamp manual control keys are:

  • "D"
    corresponds to the main dome lamp.
  • "U"
    corresponds to the upper light curtain pilot lamp.
  • "L"
    corresponds to the lower light curtain pilot lamp.
  • "M"
    corresponds to the manual mode pilot lamp.
  • "A"
    corresponds to the automatic mode pilot lamp.
  • "S"
    corresponds to the stopped mode pilot lamp.

The state of these controls will toggle each time the corresponding key is pressed.  As the state toggles, the corresponding push button becomes illuminated light green when turned on or dark green when turned off.

To return to the main manual control functions, press "E" or [ESCAPE].

Edit Cartons

When the palletiser's knowledge of the position of cases is in error, it is usually simplest to rearrange the cases as shown on the window.

If this is impractical, you may clear up the situation using the semi-automatic commands, then zero the case counters.  This is done by typing "E" to enter the edit cartons mode, then typing "Z" to zero the counters.  The load in the lift is then discharged.

Alternatively, you may, should you be of sterner stuff, attempt to correct the palletiser's view of the cartons by editing this data.  The data at the glue spray, the metering belt, the turn peg, the row entry, the layer form, the apron and the lift are presented in the top centre of the window.

Each line of data consists of the product code (accompanied by the pattern name), followed by the coordinates of the next carton expected at these locations.  When editing these, horizontal and vertical pointers are provided to indicate which datum is to be edited.  Once the pointers are positioned using the cursor keys or clicking on the location, type [ENTER] then enter the new value.

This is further complicated should the end of a load occur. Here a single line may contain two sets of data, one black relating to the end of the load and the other indicating how far into the next load we have progressed.  In these circumstances, after editing one line vertically scroll to the next and edit it as well.

Once happy, press [ESCAPE] to exit and see how it goes.

Running Without a Barcode Reader

Should the barcode reader fail, it can be disabled by typing "B" followed by entering the product code of the expected cartons. It is then necessary to type "B" again and enter the product code each time the line is cleared for a new product.

When disabled the push button advertising this will be coloured light green.

To bring the barcode reader back into service type "B" and enter a blank product code.

Disabling the Glue Spray

The operation of the glue spray is determined on a pattern and product basis.  Refer to the sections titled: "Enter or Modify Palletiser Patterns", and "Enter or Modify Palletiser Product Data".

If however, contrary to these settings you require the current batch not to be glued, type "G".

When disabled the push button advertising this will be coloured light green.

To bring the glue spray back into operation type "G" a second time.

Writing Pattern Data

The palletiser PLC is informed by its barcode reader of the product it is receiving.  For it to make intelligent use of this data it needs to know the product code to which the barcode relates, the pattern to be used for this product et cetera.

This information is contained within the Movement Controller and can be modified. Refer to the sections titled: "Enter or Modify Palletiser Product Data", "Enter or Modify Palletiser Patterns", and "Enter or Modify the Palletisers".

Anytime this information is changed or added to it should be written to the palletiser.  This is done by typing "W".  The palletiser is switched to manual while the transfer takes place.

Accessing the Pallet Conveyor System

You can call up the Heavy-Unit-Load Conveyors diagram from this window by typing "P".  Subsequently, when you exit the Heavy-Unit-Load Conveyors diagram, you will be returned here.

Accessing the Carton Conveyor System

You can call up the carton conveyors diagram from this window by typing "I".  Subsequently, when you exit the carton conveyor diagram, you will be returned here.

Machine Status Display

A "machine" is a mechanism that requires more status monitoring than is afforded by the definition of devices within the Heavy-Unit-Load Conveyor System and has not had explicit software developed for it (as in the case of cranes and palletisers).

The window will appear as shown overleaf:

Machine Status Display

Alternative machines may be selected by activating the "Machine" option from this window's horizontal menu bar. In response a dialogue window will appear with a "Symbolic Name" field that should be used to select the desired machine. Refer to the section titled: "Symbolic Name". You can also page through the different machines using [PAGE UP] and [PAGE DOWN], or by clicking on "PAGE-UP" and "PAGE-DOWN" in the window's menu.

In the top left corner of the window is the name of the machine, while the status and alarms, active in the machine at this point in time, are shown in dedicated areas of the window.  There may also be an area dedicated to push-buttons to control the machine.

The status is also displayed graphically.

Push-buttons may be presented in a number of colours.  These colours are:

  • Off     
    indicating that the button is off but able to be pushed.
  • On      
    indicating that the button is on.
  • Disabled
    indicating that nothing can happen by pressing it.
  • Alarm   
    indicating a abnormal condition is associated with it.

Push-buttons may be activated by either typing the first, enlarged, character presented in the button, or by clicking on it.  The button will change colour to indicate that it is in operation.

Most of these buttons are latched; do not hold them down, but rather, in the case of manual operations, be prepared to reactivate them to toggle them off and, thereby, stop the operation.

If, however, the button is presented with an etched circle, then the button is active only while it is being held down.  You hold the button down by either holding down the corresponding key, or pressing the mouse button down while the mouse is over the button and keeping it down.  If the mouse moves off the button while the button is held down, the button is not released.

What is actually presented is determined by the definition of the machines.  For details on defining these machines, please refer to the sections titled: "Enter or Modify Machine States", "Enter or Modify Machine Alarms", "Enter or Modify Machine Controls", and "Enter or Modify Machine Definition".

Configuration for Americold

There are two "machines", the "Freezer Detierer", and the "Chiller Detierer".

These windows allow you to, more conveniently than via the conveyor diagram, observe the state of a detierer and to control it manually.

These windows provide buttons that can be used to set the corresponding conveyor (M02A or M52A) to manual or automatic.  The corresponding conveyor must be set to manual before the manual control buttons can be used.

When these conveyors are set to manual in this way, they must be set back to automatic in the same way, though any terminal on the network can be used to do this.  If you right click on the conveyor on the conveyor diagram, while it is set to manual via this window, it will show the controlling location to be "Indirect", rather than a specific terminal; this is intended to tell you that it is held in manual via the machine status window.

These windows present their status, graphically, in the following areas:

  • Elevation
  • Plan view

Below these areas are the control buttons, while to the right is presented the status in text form.

In the "Elevation" area, it presents the entry and exit height photocells, the photocells that look to find the gap in a pallet and that to see below the pallet, and the vertical position of the forks.

In the "Plan view" area, it presents the too-far left and right exit photocells and whether the forks (or pegs) are back, extended, or fully inserted into a pallet.

Controls

Firstly, at the right, are the push-buttons to set the corresponding conveyor to manual or automatic ("MANUAL MODE" and "AUTO MODE").

The remaining buttons are only operable when the conveyor is in manual and allow you to raise and lower the detierer's forks, and to extend or withdraw them.

Produce Reports

This menu provides access to the windows required to generate the reports (other than the communications reports).

The physical printing of a file is handled by the MS-DOS batch file "prnqueue.bat".  If you wish the reports to be sent to a network printer, you should modify this file, replacing "/D:\\.\LPT1" with the suitable description for the network printer you wish to use, such as: "/D:\\server\printer", where "server" is the machine name (which might be an IP address), and "printer" is the name of the printer on that machine (which might be something like "HPLaserJ").

The reports can be produced for the old style IBM printers, or those emulating the Hewlett-Packard PCL language.  You may make this selection and alter other parameters controlling the formatting of the report on a page by setting the "Using HP DeskJet", "Print wide reports A4", "Print wide in landscape", "Lines in portrait", and "Lines in landscape" records of the "Configuration Data" database.  Please refer to the section titled: "Configuration Data".

Below is a rough text-representation of this menu:

Movement Controller (C) Copyright 1998 to 2009 Woodgrove Digital Engineering File View ┌─-─────────────────────┐ │New User │ │Operations >│ ┌─-─────────────────────────────────────┐ │Reports███████████████>│ │Produce report listing events │ │Communication reports >│ │Produce report listing load movements │ │Configuration >│ │Produce conveyor alarm summary │ │Maintenance >│ │Produce report listing store occupancy │ │Definition >│ │Produce report showing store matrix │ │Special Functions >│ │Produce crane alarm summary │ │Exit │ └─-─────────────────────────────────────┘ └─-─────────────────────┘

Most of the report windows are "Report Viewing Data" windows. For these refer to the sections titled: "Viewing Data", and "Report Viewing Data".

Event Log Historic Report

This "Report Viewing Data" window is used to set up the restrictions, then produce a report listing each of the event logs, with time and date of the event and the description. For further general instructions on using this type of window, please refer to the sections titled: "Viewing Data", and "Report Viewing Data".

Below is a rough text-representation of this window:

Event log historic report Print Restrict Match Expand First Last 19:52:59 19-JAN-99|ALARM 1000 Standby computer is not responding ^ 19:47:49 19-JAN-99|Graham Moore at Console has logged on █ 19:47:49 19-JAN-99|Clear 999 Crane communications failure █ 19:40:49 19-JAN-99|Clear 998 Conveyor communications failure █ 19:40:49 19-JAN-99|ALARM 999 Crane communications failure █ 19:40:49 19-JAN-99|ALARM 998 Conveyor communications failure █ 16:55:56 19-JAN-99|Software started █ 19:11:19 19-JAN-99|ALARM 1000 Standby computer is not responding █ 18:03:08 19-JAN-99|Graham Moore at Console has logged on █ 18:03:08 19-JAN-99|Clear 999 Crane communications failure █ 17:35:37 19-JAN-99|Clear 998 Conveyor communications failure █ 17:03:07 19-JAN-99|ALARM 999 Crane communications failure █ 17:00:07 19-JAN-99|ALARM 998 Conveyor communications failure █ 17:00:07 19-JAN-99|Software started █ 17:00:07 19-JAN-99|Des Hindes at Console : Set Inhibit shuttle S2█ 16:59:56 19-JAN-99|Des Hindes at Console : Issued a manual shuttl█ 16:58:56 19-JAN-99|Des Hindes at Console : Crane command - Set Cr█ 16:57:56 19-JAN-99|Clear 7 Crane: Loaded low vac hd 2 █ 16:56:56 19-JAN-99|Des Hindes at Console : Crane command - Reset V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Event log Event: Time 19:52:59 19-JAN-99

Load Log Historic Report

This "Report Viewing Data" window is used to set up the restrictions, then produce a report listing each of the load movement logs, with time and date of the movement log, the load details, the location to which it has moved and whether it has completed the journey at that point. For further general instructions on using this type of window, please refer to the sections titled: "Viewing Data", and "Report Viewing Data".

Below is a rough text-representation of this window:

Produce report listing load movements Print Restrict Match Expand First Last 19:53:58 19-JAN-99|400345001|41:16-H-023-2|A|BB8P9 ^ 19:47:46 19-JAN-99|M01AC | |C| █ 19:42:46 19-JAN-99|400345013|41:13-M-018-2|A|BBQWE █ 19:42:44 19-JAN-99|400345001|41:15-A-001-1|C|BB8P9 █ 19:40:12 19-JAN-99|400345022|41:05-B-045-2|A|BBSRT █ 19:12:12 19-JAN-99|400345013|41:13-A-001-1|A|BBQWE █ 18:13:10 19-JAN-99|400345001|M53AC |C|BB8P9 █ 18:10:04 19-JAN-99|400345001|41:06-A-001-1|C|BBSRT █ 18:09:08 19-JAN-99|400345013|41:16-A-001-1|A|BBQWE █ 18:05:54 19-JAN-99|M52AC | |C| █ 17:53:42 19-JAN-99|400345013|41:16-B-065-1|A|BBQWE █ 17:49:48 19-JAN-99|400345022|M03AC |C|BBSRT █ 17:44:42 19-JAN-99|M51AC | |C| █ 17:43:42 19-JAN-99|400345011|41:10-L-051-2|A|BBRTG █ 17:42:34 19-JAN-99|M52AC | |C| █ 17:39:36 19-JAN-99|400345001|M02AC |C|BB8P9 █ 17:36:34 19-JAN-99|400345011|41:10-A-001-2|A|BBRTG █ 17:35:38 19-JAN-99|M51AC █ 17:32:26 19-JAN-99|M01AC V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Movement log Movement: Time 19:53:59 19-JAN-99

The load movement log logs the significant moves made by each load.  A move is significant if it causes the Movement Controller to adjust its inventory to show the load in a new location.

Conveyor Alarm Summary Report

This "Report Viewing Data" window is used to set up the restrictions, then produce a report listing each of the conveyor alarms with the number of instances of these alarms during the reporting period. For further general instructions on using this type of window, please refer to the sections titled: "Viewing Data", and "Report Viewing Data".

Below is a rough text-representation of this window:

Produce conveyor alarm summary Print Restrict Match Expand First Last 1|Transfer C202 to C205 failed to complete in the time allowed|C202A| |Tran^ 2|Index C205B to C205A failed to complete in the time allowed |C205B| |Tran█ 3|Transfer C205 to CR05 failed to complete in the time allowed|C205A| |Tran█ 4|Transfer C203 to C204 failed to complete in the time allowed|C203A| |Tran█ 5|Index C204B to C204A failed to complete in the time allowed |C204B| |Tran█ 6|Transfer C204 to CR04 failed to complete in the time allowed|C204A| |Tran█ 7|Transfer C209 to C210 failed to complete in the time allowed|C209A| |Tran█ 8|Transfer C210 to C211 failed to complete in the time allowed|C210A| |Tran█ 9|Transfer C211 to C212 failed to complete in the time allowed|C211A| |Tran█ 10|Transfer C212 to C213 failed to complete in the time allowed|C212A| |Tran█ 11|Transfer C213 to C214 failed to complete in the time allowed|C213A| |Tran█ 12|Transfer C214 to C215 failed to complete in the time allowed|C214A| |Tran█ 13|Transfer C215 to CR16 failed to complete in the time allowed|C215A| |Tran█ 14|Transfer C218 to C219 failed to complete in the time allowed|C218A| |Tran█ 15|Transfer C219 to C220 failed to complete in the time allowed|C219A| |Tran█ 16|Transfer C220 to C221 failed to complete in the time allowed|C220A| |Tran█ 17|Transfer C221 to C222 failed to complete in the time allowed|C221A| |Tran█ 18|Transfer C222 to C223 failed to complete in the time allowed|C222A| |Tran█ 19|Transfer C223 to C224 failed to complete in the time allowed|C223A| |TranV <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Conveyor alarms Conveyor alarm Transfer C202 to C205 failed to complete in the time

After terminating the restrictions, you will be asked whether you wish "All tallies" to be listed, or the "Non-zero only", allowing you to get a report covering all alarms, even those which have not been active during the reporting period, or, as is more normal, a report listing only those alarms that have been active during the reporting period.

Upon answering this question, you will be asked whether you wish to print tallies fo the "Current period" or the "Last period", allowing you to request either the completed period (the "last" period) or the current, incomplete period to report on.

In order to adjust the alarm reporting period, refer to the section titled: "Control Mode of Operation" and, in particular, its subsection titled: "Alarm Summary Period".

Produce Report Listing Store Occupancy

This "Report Viewing Data" window is used to set up the restrictions, then produce a report listing each of the store locations (a "Store Reference" field), with its occupancy status, whether it exists, its enable/inhinit status, and storage type - storage, flow-through or pickup/deposit to conveyor - (all "Character" fields).

This is then followed by the barcode, whether its available for use by the Movement Controller when it needs to relocate a front load and its index into the load detection system.

For further general instructions on using this type of window, please refer to the sections titled: "Viewing Data", and "Report Viewing Data".

Below is a rough text-representation of this window:

Product report listing store occupancy Print Restrict Match Expand First Last 42:16-A-024-1|O|F| L:0400 ^ 42:16-A-048-1|O|F| L:0900 █ 42:15-C-010-1|O|F| L:0008 █ 42:15-E-010-1|O|F| L:0028 █ 42:15-G-010-1|O|F| L:0048 █ 42:15-J-010-1|O|F| L:0068 █ 42:15-C-027-1|O|F| L:0019 █ 42:15-E-027-1|O|F| L:0039 █ 42:15-G-027-1|O|F| L:0059 █ 42:15-J-027-1|O|F| L:0079 █ 42:15-C-045-1|O|F| L:0487 █ 42:15-E-045-1|O|F| L:0507 █ 42:15-G-045-1|O|F| L:0587 █ 42:15-J-045-1|O|F| L:0607 █ 42:15-C-062-1|O|F| L:0498 █ 42:15-E-062-1|O|F| L:0518 █ 42:15-G-062-1|O|F| L:0598 █ 42:15-J-062-1|O|F| L:0618 █ 42:15-C-037-1|O|S| S:0000 V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Rack locations Store Occupied<O>a O

Having made any restrictions, and asking to print the report, you will be asked to nominate whether you wish the report to include "All" locations, or only the "Occupied" locations.

For editing instructions for this type of field, please refer to the section titled: "Character".

Produce Report Showing Store Matrix

This report produces a store map showing locations of loads.

This window first presents a store layout, to allow the restriction of the report.

Below is a rough text-representation of this window:

Produce report showing store matrix Select Change Restrict Where Match Expand Insert First Last Number of loads 370 ^ ┌───┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬───┐█ │■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪■▪▪▪▪■▪▪▪▪■▪▪▪■■■■▪▪■■▪▪■■■■■▪■■▪■■■■■■■■▪■■│█ │▪▪▪▪■▪■▪▪▪▪■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪■▪▪▪▪▪▪■■▪▪▪▪▪■■▪▪▪■■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪│█ │■■■■■■■■■■■■■■■■■■■■■■■▪■■■■■■■■■■■■■■■■■■■■▪■■■■■■■■■■■■■■■■■■■■■▪■■■■■│█ │▪■■■▪▪■▪■■■▪■■■■■■■■■■■■▪■▪■■■■■■■■■■■■■■▪■■■■■■■■■■■■■■■▪■■■■■■■■■■■▪■■│█ │■■▪■■■▪■■■■■▪▪■■■■■■■■■■■■■▪■■■■■▪■■■■■■▪■■■■■■■▪■■■■■■■■■■■■■■■■■■■■■■■│█ │▪▪▪▪▪■■■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪■▪▪▪▪▪▪▪▪▪▪▪■▪▪▪▪▪▪▪▪▪▪▪▪▪▪▪■▪■■▪▪▪▪▪▪▪▪▪▪▪▪▪■▪■▪│█ │▪▪■▪▪■■▪▪▪▪▪■▪■▪▪▪▪■▪▪▪▪▪■▪▪▪▪▪▪▪▪▪■■■▪■▪▪▪▪▪▪▪▪▪■▪▪■▪▪■■▪▪■▪▪■▪■▪▪■■▪▪■│█ │▪▪▪▪■■▪▪▪■■▪▪■▪■▪■■▪■■■▪■■▪■▪▪▪■▪▪▪▪▪▪▪■■▪▪▪▪■■▪■▪■■■▪▪▪▪■■■■▪■▪▪▪▪▪▪▪▪■│█ │▪▪▪▪▪▪▪▪■▪▪■▪▪▪▪▪▪▪▪▪■▪▪■▪▪■▪▪▪▪▪■▪▪■▪▪▪▪▪■▪▪▪▪▪▪▪▪■▪▪▪▪▪▪▪▪▪■▪▪■■▪▪■▪▪■│█ │▪▪▪▪▪▪▪▪▪■▪▪■▪▪▪▪■▪▪▪▪▪■▪▪▪▪▪▪▪▪■■▪▪▪▪▪■▪■■■▪■■▪■■▪▪▪▪▪▪▪■▪▪▪■▪▪▪▪■■■■▪■│█ │▓▓■▪▪▪▪ ▪▪▪■▪▪▪▪▪▪▪▪■▪▪▪▪■■▪■▪▪▪▪▪▪▪▪ ▪▪▪▪■▪▪■■▪■▪■■■■■■■▪■■▪■■■▪▪▪■▪■▪■│█ └───┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴───┘█ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> 1002010|O| | | | | |207680|593100720030023457| Rack slot inhibited <I/S/R>a Rack Rack Rack SSCC <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Rack slot occupied <O>a O

The normal functions associated with this window are available. Refer to the section titled: "Stores Diagram".

Once you have made any desired restrictions, type "P" or click on "Print" menu item.  You will be presented with a dialogue window allowing you to further modify the report. The question, "Crane (0 = all) <0-8>" (please refer to the section titled: "Numeric") allows you to restrict the printout to a single crane.

You will then be presented with the "Viewer/Printer/Rtf file/Csv file" options. Please refer to the section titled: "Report Viewing Data".

Crane Alarm Summary Report

This "Report Viewing Data" window is used to set up the restrictions, then produce a report listing each of the crane alarms with the number of instances of these alarms for each crane during the reporting period. For further general instructions on using this type of window, please refer to the sections titled: "Viewing Data", and "Report Viewing Data".

Below is a rough text-representation of this window:

Produce crane alarm summary Print Restrict Match Expand First Last 1|MCR is off ^ 2|24VDC is off █ 3|HL circuit breaker █ 4|LT circuit breaker █ 5|Forks circuit breaker █ 6|HL drive fault █ 7|LT drive fault █ 8|Forks drive fault █ 9|HL thermal overload █ 10|LT thermal overload █ 11|Cabin too cold █ 12|Cabin too warm █ 13|Load off centre █ 14|Catch block set █ 15|Slack rope █ 16|Rope overload █ 17|Hoist over-speed █ 18|Speed govenor fault █ 19|Hoist whole current V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Crane alarms Crane alarm MCR is off

After terminating the restrictions, you will be asked whether you wish "All tallies" to be listed, or the "Non-zero only", allowing you to get a report covering all alarms, even those that have not been active during the reporting period, or, as is more normal, a report listing only those alarms that have been active during the reporting period.

Upon answering this question, you will be asked whether you wish to print tallies fo the "Current period" or the "Last period", allowing you to request either the completed period (the "last" period) or the current, incomplete period to report on.

In order to adjust the alarm reporting period, refer to the section titled: "Control Mode of Operation" and, in particular, its subsection titled: "Alarm Summary Period".

For some sites, there is referenced, for each of these alarms, another alarm from this list, which, if active, is considered as the prime cause of the fault, while the referencing alarm is considered to be parasitic.  For such alarms, efforts are made to not include the count of their occurrences that occurred while the referenced is or becomes active. For more information on defining the parasitic nature of certain alarms, please refer to the section titled: "Enter or Modify the Crane Alarms".

Crane Movement Tally Report

This report provides a tally of the number of moves each crane has made in the current hour, day, week, and month, along with the number of moves made in the previous five hours, days, weeks, and months, along with the totals across all cranes.

This report has no window; once selected, you will be immediately presented with the "Viewer/Printer/Rtf file/Csv file" options.  Please refer to the section titled: "Report Viewing Data".

Crane Cycle Log Report

This "Report Viewing Data" window is used to set up the restrictions, then produce a report listing all load movements performed by the six stacker cranes. For further general instructions on using this type of window, please refer to the sections titled: "Viewing Data", and "Report Viewing Data".

Below is a rough text-representation of this window:

Redirected loads Print Restrict Where Match Expand First Last Update HELP ESCAPE:exit 20:02:14 02-JUL-09|1|42:15-J-042-1|42:16-A-001-1|42:16-A-001-1| 0'41"| 0'41"|^ 20:02:54 02-JUL-09|2|42:13-M-013-1|42:14-A-001-1|42:14-A-001-1| 2'32"| 2'32"|█ 20:02:26 02-JUL-09|4|41:09-D-025-1|41:10-A-001-1|41:10-A-001-1| 1'55"| 1'55"|█ 20:02:06 02-JUL-09|3|42:11-C-052-1|42:12-A-001-1|42:12-A-001-1| 0'44"| 0'44"|█ 20:01:56 02-JUL-09|6|41:05-F-061-1|41:06-A-001-1|41:06-A-001-1| 1'27"| 1'27"|█ 20:01:28 02-JUL-09|5|41:07-A-042-1|41:08-A-001-1|41:08-A-001-1| 2'13"| 2'13"|█ 20:01:02 02-JUL-09|2|42:13-G-038-1|42:14-A-001-1|42:14-A-001-1| 2'47"| 2'47"|█ 20:00:44 02-JUL-09|1|42:15-M-017-1|42:16-A-001-1|42:16-A-001-1| 1'58"| 1'58"|█ 20:00:32 02-JUL-09|2|42:13-H-025-1|42:14-A-001-1|42:14-A-001-1| 1'22"| 1'22"|█ 20:00:04 02-JUL-09|3|42:11-J-054-1|42:12-A-001-1|42:12-A-001-1| 0'19"| 0'19"|█ 19:59:54 02-JUL-09|4|41:09-K-038-1|41:10-A-001-1|41:10-A-001-1| 1'46"| 1'46"|█ 19:59:34 02-JUL-09|5|41:07-D-020-1|41:08-A-001-1|41:08-A-001-1| 2'30"| 2'30"|█ 19:59:12 02-JUL-09|1|42:15-C-052-1|42:16-A-001-1|42:16-A-001-1| 1'23"| 1'23"|█ 19:58:44 02-JUL-09|6|41:05-A-023-1|41:06-A-001-1|41:06-A-001-1| 0'25"| 0'25"|█ 19:58:12 02-JUL-09|2|42:13-J-061-1|42:14-A-001-1|42:14-A-001-1| 1'34"| 1'34"|█ 19:57:58 02-JUL-09|3|42:11-M-034-1|42:12-A-001-1|42:12-A-001-1| 1'41"| 1'41"|█ 19:57:16 02-JUL-09|4|41:09-F-018-1|41:10-A-001-1|41:10-A-001-1| 2'56"| 2'56"|█ 19:56:40 02-JUL-09|5|41:07-G-024-1|41:08-A-001-1|41:08-A-001-1| 1'09"| 1'09"|█ 19:56:28 02-JUL-09|6|41:05-B-051-1|41:06-A-001-1|41:06-A-001-1| 0'12"| 0'12"|V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Crane cycle log Crane cycle log: Src a 42:15-J-042-1

The records consist of the time and date that the load relocation was completed, the crane involved, the source location, the destination to which it was taken, the destination that it was asked to be taken, the time it took excluding down time, the time it took including down time, the number of extra locations that it had to be taken to, and the number of times that it stopped because of faults.

These same fields are included in the subsequent report.

Once the restrictions are in place, type "P", or click on the "Print" menu item. You will be asked where to send the report.  You may select "Printer", "Viewer", "Rtf file", or "Csv file".

Communication Reports

This menu provides access to the windows required to generate the communications reports.

The physical printing of a file is handled by the MS-DOS batch file "prnqueue.bat".  If you wish the reports to be sent to a network printer, you should modify this file, replacing "/D:\\.\LPT1" with the suitable description for the network printer you wish to use, such as: "/D:\\server\printer", where "server" is the machine name (which might be an IP address), and "printer" is the name of the printer on that machine (which might be something like "HPLaserJ").

Below is a rough text-representation of this menu:

Movement Controller (C) Copyright 1998 to 2009 Woodgrove Digital Engineering File View ┌─-─────────────────────┐ │New User │ │Operations >│ │Reports >│ ┌─-─────────────────────────────────────┐ │Communication reports█>│ │Produce report of PLC communications │ │Configuration >│ │Produce report of pick-to-light comm's │ │Maintenance >│ │Produce report of barcode scanner comm'│ │Definition >│ │Produce report of TCP-IP communications│ │Special Functions >│ └─-─────────────────────────────────────┘ │Exit │ └─-─────────────────────┘

These report windows are "Report Viewing Data" windows.  For these refer to the sections titled: "Viewing Data", and "Report Viewing Data".

Each of these windows show the recent communications between the Movement Controller and some remote equipment or computer system.  This history is presented as records of a database.  The first field of these records are the time and date, followed by a field providing the originator of the message, and, possibly, another providing the channel number.  The final field will provide the message contents.  The message contents, for non-ASCII protocols, will be converted to hexadecimal.

Opening a Communications Report Window

If logging is currently enabled on the communications link corresponding to the window you select from this menu, then upon entry into the window you will be asked whether you wish to "Continue logging" or to "Suspend logging" as you examine the log.

If do not you wish to suspend logging, you need only type [RETURN] or [ENTER] or type "C" or click on "Continue logging" to accept the offered default.  Otherwise enter type "S" or click on "Suspend logging".  It is an advantage to suspend logging if you want to capture the information already gathered (i.e. prevent it from being overwritten) or to enable simpler control of the file.

Leaving a Communications Report Window

When the you leave the window, you will be asked whether you want to

  • a)
    Leave as it was (i.e. continue logging with whatever restrictions might have been in place previously),
  • b)
    Enable and restrict (i.e. continue or start logging but apply the restrictions that were just imposed), or
  • c)
    Stop logging.

The "Leave as it was" option will be default, and so can be selected by typing [RETURN] or [ENTER].  Alternatively you can click on your desired option or type the first letter of the corresponding button, "L", "E", or "S".

Help with the Protocol

For some channels, a terse explanation of the protocol used by the channel can be obtained by pressing "H" or clicking on "Help on protocol". If further pages of explanation are available, these will be available by pressing "H" or clicking on "Help on protocol" subsequently.

PLC Communications Report

This "Report Viewing Data" window is used to set up the restrictions, then produce a report listing each of the messages communicated between the Movement Controller and PLCs, with time and date of the message, the PLC, the originator and message contents. For further general instructions on using this type of window, please refer to the sections titled: "Viewing Data", and "Report Viewing Data".

Instructions related to entering and exiting this window are given in the section titled: "Communication Reports".

The message contents begin with a file number, then the address within the file, then a colon, then the contents of each address being written or read within the file.

Below is a rough text-representation of this window:

Produce report of PLC communications Print Restrict Match Expand First Last 19:53:59 19-JAN-99|Carton conveyors|I|07 0000:0000,0000,0000,0000,C901,C900,000^ 19:53:59 19-JAN-99|Carton conveyors|I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Palletiser 4 |O|07 0020:0000,0000,0000,0000,463C,0000,000█ 19:53:59 19-JAN-99|Carton conveyors|I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Carton conveyors|O|07 0020:0000,0000,0000,0000,463C,0000,000█ 19:53:59 19-JAN-99|Palletiser 4 |I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Carton conveyors|I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Carton conveyors|I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Carton conveyors|I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Carton conveyors|I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Palletiser 4 |I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Carton conveyors|I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Carton conveyors|I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Carton conveyors|O|07 0020:0000,0000,0000,0000,463C,0000,000█ 19:53:59 19-JAN-99|Palletiser 4 |I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Carton conveyors|I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Palletiser 4 |I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Carton conveyors|I|07 0000:0000,0000,0000,0000,C901,C900,000█ 19:53:59 19-JAN-99|Carton conveyors|I|07 0000:0000,0000,0000,0000,C901,C900,000V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: A-B DH Communications A-B DH message: Time 19:53:59 19-JAN-99

For further general instructions on using this type of window, please refer to the sections titled: "Viewing Data", and "Report Viewing Data".

Produce Report of Pick-to-Light Comm's

This "Report Viewing Data" window is used to set up the restrictions, then produce a report listing each of the messages communicated between the Movement Controller and pick-to-light units, with time and date of the message, the channel number, the originator and message contents. For further general instructions on using this type of window, please refer to the sections titled: "Viewing Data", and "Report Viewing Data".

Instructions related to entering and exiting this window are given in the section titled: "Communication Reports".

The message contents begin with a four-digit unit address, the flag (message type) and then the three-digit data field.

Below is a rough text-representation of this window:

Produce report of Pick-to-Light comm's Print Restrict Match Expand First Last 19:53:59 19-JAN-99| 1|M|0266700 ^ 19:53:59 19-JAN-99| 1|L|02c4715 █ 19:53:59 19-JAN-99| 1|M|02c4700 █ 19:53:59 19-JAN-99| 1|L|02b7755 █ 19:53:59 19-JAN-99| 1|M|02b7700 █ 19:53:59 19-JAN-99| 1|L|0266705 █ 19:53:59 19-JAN-99| 1|M|0266700 █ 19:53:59 19-JAN-99| 1|L|02c4715 █ 19:53:59 19-JAN-99| 1|M|02c4700 █ 19:53:59 19-JAN-99| 1|L|02b7755 █ 19:53:59 19-JAN-99| 1|M|02b7700 █ 19:53:59 19-JAN-99| 1|L|0266705 █ 19:53:59 19-JAN-99| 1|M|0266700 █ 19:53:59 19-JAN-99| 1|L|02c4715 █ 19:53:59 19-JAN-99| 1|M|02c4700 █ 19:53:59 19-JAN-99| 1|L|02b7755 █ 19:53:59 19-JAN-99| 1|M|02b7700 █ 19:53:59 19-JAN-99| 1|L|0266705 █ 19:53:59 19-JAN-99| 1|M|0266700 V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Pick to light comms PTL message: Time 19:53:59 19-JAN-99

Produce Report of Barcode Scanner Comm's

This "Report Viewing Data" window is used to set up the restrictions, then produce a report listing each of the messages communicated between the Movement Controller and barcode scanners, with time and date of the message, the channel number, the originator and message contents. For further general instructions on using this type of window, please refer to the sections titled: "Viewing Data", and "Report Viewing Data".

Instructions related to entering and exiting this window are given in the section titled: "Communication Reports".

Below is a rough text-representation of this window:

Produce report of Barcode Scanner comm's Print Restrict Match Expand First Last 19:53:59 19-JAN-99| 2|B|BMG60 ^ 19:53:59 19-JAN-99| 2|B|BMG6V █ 19:53:59 19-JAN-99| 2|B|BMG6M █ 19:53:59 19-JAN-99| 2|B|BMG6R █ 19:53:59 19-JAN-99| 2|B|BMG6P █ 19:53:59 19-JAN-99| 3|B|BMF9N █ 19:53:59 19-JAN-99| 2|B|BMG61 █ 19:53:59 19-JAN-99| 3|B|BMG9M █ 19:53:59 19-JAN-99| 2|B|BMG6T █ 19:53:59 19-JAN-99| 2|B|BMG6X █ 19:53:59 19-JAN-99| 2|B|BMGYG █ 19:53:59 19-JAN-99| 3|B|BMG8G █ 19:53:59 19-JAN-99| 2|B|BMG67 █ 19:53:59 19-JAN-99| 2|B|BMG61 █ 19:53:59 19-JAN-99| 3|B|BMG8F █ 19:53:59 19-JAN-99| 3|B|BMG8H █ 19:53:59 19-JAN-99| 2|B|BMG6Y █ 19:53:59 19-JAN-99| 3|B|BMG8J █ 19:53:59 19-JAN-99| 2|B|BMGLP V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Barcode scanner comms Barcode message: Time 19:53:59 19-JAN-99

Produce Report of TCP-IP Communications

This "Report Viewing Data" window is used to set up the restrictions, then produce a report listing each of the messages communicated between the Movement Controller and the host_computer over the FTP control and data channels of the TCP/IP interface, with time and date of the message the originator and message contents.  For further general instructions on using this type of window, please refer to the sections titled: "Viewing Data", and "Report Viewing Data".

Additionally, TELNET control channel messages are also included.

Instructions related to entering and exiting this window are given in the section titled: "Communication Reports".

Below is a rough text-representation of this window:

Produce report of TCP-IP communications Print Restrict Match Expand First Last 10:52:50 18-JAN-95|O|QUIT!! ^ 10:48:40 18-JAN-95|I|226 Transfer complete.!! █ 10:48:40 18-JAN-95|I|150 Opening data connection for 18019500.INV (165.69.72.22█ 10:48:40 18-JAN-95|O|STOR 18019500.INV!! █ 10:48:40 18-JAN-95|I|200 PORT command okay.!! █ 10:48:40 18-JAN-95|O|PORT 165,69,72,22,254,275!! █ 10:48:40 18-JAN-95|I|502 Unimplemented MODE type.!! █ 10:48:40 18-JAN-95|O|MODE B!! █ 10:29:20 18-JAN-95|I|226 Transfer complete.!! █ 10:29:20 18-JAN-95|I|150 Opening data connection for 18019500.SHP (165.69.72.22█ 10:29:20 18-JAN-95|O|STOR 18019500.SHP!! █ 10:29:20 18-JAN-95|I|200 PORT command okay.!! █ 10:29:20 18-JAN-95|O|PORT 165,69,72,22,254,275!! █ 10:29:20 18-JAN-95|I|502 Unimplemented MODE type.!! █ 10:29:20 18-JAN-95|O|MODE B!! █ 10:29:20 18-JAN-95|I|226 Transfer complete.!! █ 10:29:20 18-JAN-95|I|150 Opening data connection for 18019500.STK (165.69.72.22█ 10:29:20 18-JAN-95|O|STOR 18019500.STK!! █ 10:29:20 18-JAN-95|I|200 PORT command okay.!! V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: TCP-IP communications Host message: Time 10:52:50 20-FEB-97

The exclamation marks in the above window diagram represent the non-printing ASCII codes within the messages.

If communications between the host_computer and the Movement Controller use directories rather than the Movement Controller's native FTP, then the directories themselves can be looked into in order to establish what has and has not been communicated.  However, the contents of these files will be logged in this communications report, as though they had come via TCP-IP direct to the Movement Controller.

Configuration

This menu provides access to the windows required to maintain the configuration data.

Below is a rough text-representation of this menu:

Movement Controller (C) Copyright 1998 to 2009 Woodgrove Digital Engineering File View ┌─-─────────────────────┐ │New User │ │Operations >│ │Reports >│ │Communication reports >│ ┌─-───────────────────────────────────────┐ │Configuration█████████>│ │Control mode of operation │ │Maintenance >│ │Enter or modify conveyor alarms │ │Definition >│ │Enter or modify products for loads │ │Special Functions >│ │Enter or modify the crane alarms │ │Exit │ │Enter or modify the crane states │ └─-─────────────────────┘ │Enter or modify the countries │ │Enter or modify the states/provinces │ │Enter or modify the towns/suburbs/cities │ │Enter or modify the customers │ │Enter or modify the products │ │Enter or modify the pick area shelving │ │Enter or modify palletiser alarms │ │Enter or modify palletiser patterns │ │Enter or modify palletiser product data │ │Enter or modify machine states & alarms │ └─-───────────────────────────────────────┘

Many of the configuration windows are "Maintenance Viewing Data" windows.  For these refer to the sections titled: "Viewing Data", and "Maintenance Viewing Data".

Control Mode of Operation

This screen allows you to alter certain configuration variables in a straight-forward manner:

  • find the line describing the quantity you wish to change,
  • double click on this line, and,
  • when the dialogue window opens, enter the new value.

Full Description of this Window

This is a very limited version of the "Maintenance Viewing Data" window that lists certain records from the "Configuration Data" database.  The [LEFT] and [RIGHT] keys are still effective for setting restrictions (should you want to) however their action is not visible on the window and has no effect on the operation of the "C" key used to change the contents of a field.  Instead, the "C" key always refers to the setting of the miscellaneous data and never its description.  Also typing the "S", [ENTER] or [RETURN] key has the same effect as typing "C". You may also double click the line.

The "Configuration Data" database includes the "Miscellaneous Name" field (a unique "Name" field), "Miscellaneous Data" field (a "Miscellaneous Data" field) and the "Initial/Run/Network <I/R/N>a" field (a "Character" field). For editing instructions for these types of fields, please refer to the sections titled: "Name", "Character", and "Miscellaneous Data".

Only those records of the "Configuration Data" with the "Initial/Run/Network <I/R/N>a" field set to "R" will be included on this window. Please refer to the section titled: "Configuration Data". You should also refer to that section of the manual for more information about the meaning of the records presented here.

The miscellaneous data field is also coloured to highlight those fields not containing 0 and therefore likely to be in the abnormal state.

The records from the "Configuration Data" database chosen for inclusion on this window are those records that are most likely to be altered after the commissioning of the system is complete.

Below is a rough text-representation of this window:

Control mode of operation Select Change Restrict Where Match Expand Insert First Last 1-nine Seconds before screen save 600 ^ Product Code <0-999999> █ Crane to find vacancy <V>a █ Crane 1 Ret:Sto <R/2/F/1/S>a store always █ Crane 2 Ret:Sto <R/2/F/1/S>a store always █ Crane 3 Ret:Sto <R/2/F/1/S>a store always █ Crane 4 Ret:Sto <R/2/F/1/S>a store always █ Start of Alarm Report Period 00:00:00 21-JAN-99 █ Alarm Report Period (days) 7 █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Configuration Data Retrieve:Store <R/1/F/2/S>a retrieve always

The Variables Intended to be Presented

As was described in the section titled: "Full Description of this Window", which variables are included in this window may be altered by yourself, from the set of variables contained in the "Configuration Data" record set.

The variables that are included in this window by default are described in the following sub-sections.

Override Palletiser Barcode Scanner

The "Product number" if set, disables the palletiser barcode reader, and indicates to the system that all future product will be of this type.

Stacker Crane To Find Vacancy

The "Crane to find vacancy" if set ('V') allows the crane to recover from "Location full" and "Pickup got nothing" alarms automatically (provided the problem was encountered away from the infeed or outfeed) relocating the load to another location within the crane aisle.

Stacker Crane Store:Retrieve Ratio

The "Retrieve:Store" ratios allow you to control the arbitration between the crane servicing its infeed and retrieving or replenishing.

Irrespective of this setting, if it has no infeeding, it will retrieve or replenish and if it has no retrievals or replenishments it will infeed.

Otherwise: if the ratio is set to "store always" infeeding will be done whenever there is infeeding to do, if set to "retrieve always", retrieval or replenishment will be done whenever there is one to do, if set to "retrieve 2:store 1" an infeed will be done once two retrieval or replenishments have been done, if set to "fifty/fifty" an infeed will be done once a retrieval or replenishment has been done, if set to "retrieve 1:store 2" a retrieval or replenishment will be done once two infeeds have been done.

If it is set to "store always", then crane, when idle, will move to the infeed position.

High Level Crane Inhibiting

The variables, "No automatic crane commands" and "Suspend crane retrievals", allow you to stop the Movement Controller from sending, automatically, any new jobs or any new retrieval jobs, respectively, to the crane.

Alarm Summary Period

The "Start of Alarm Report Period" and the "Alarm Report Period" values are used together to define the periods, over which the crane and conveyor alarms are summarised. Please refer to the sections titled: "Crane Alarm Summary Report", and "Conveyor Alarm Summary Report".

When the time passes the "Start of Alarm Report Period" plus the "Alarm Report Period" number of days, the currently aggregating counts will be captured as the "last" period counts and then be reset to zero.  The "Alarm Report Period" number of days will then be added to the "Start of Alarm Report Period".

Enter or Modify the Conveyor Alarms

This is a "Maintenance Viewing Data" window that lists each of the conveyor alarms.  These are defined to associate text with the alarms raised.

Below is a rough text-representation of this window:

Enter or modify the conveyor alarms Select Change Restrict Where Match Expand Insert First Last 1-nine 1|Transfer C202 to C205 failed to complete in the time allowed|C202A |Tran^ 2|Index C205B to C205A failed to complete in the time allowed |C205B |Tran█ 3|Transfer C205 to CR05 failed to complete in the time allowed|C205A |Tran█ 4|Transfer C203 to C204 failed to complete in the time allowed|C203A |Tran█ 5|Index C204B to C204A failed to complete in the time allowed |C204B |Tran█ 6|Transfer C204 to CR04 failed to complete in the time allowed|C204A |Tran█ 7|Transfer C209 to C210 failed to complete in the time allowed|C209A |Tran█ 8|Transfer C210 to C211 failed to complete in the time allowed|C210A |Tran█ 9|Transfer C211 to C212 failed to complete in the time allowed|C211A |Tran█ 10|Transfer C212 to C213 failed to complete in the time allowed|C212A |Tran█ 11|Transfer C213 to C214 failed to complete in the time allowed|C213A |Tran█ 12|Transfer C214 to C215 failed to complete in the time allowed|C214A |Tran█ 13|Transfer C215 to CR16 failed to complete in the time allowed|C215A |Tran█ 14|Transfer C218 to C219 failed to complete in the time allowed|C218A |Tran█ 15|Transfer C219 to C220 failed to complete in the time allowed|C219A |Tran█ 16|Transfer C220 to C221 failed to complete in the time allowed|C220A |Tran█ 17|Transfer C221 to C222 failed to complete in the time allowed|C221A |Tran█ 18|Transfer C222 to C223 failed to complete in the time allowed|C222A |Tran█ 19|Transfer C223 to C224 failed to complete in the time allowed|C223A |TranV <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Conveyor alarms Conveyor alarm s Transfer C202 to C205 failed to complete in the time

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the alarm description (a unique "Name" field), the conveyor associated with the alarm (a "Symbolic Name" field), the state of the alarm (a "Character" field) the fault category (a "Symbolic Name" field), whether this alarm has been enabled or not (a "Character" field), and, for some sites, whether occurences of this alarm are to be recorded in the event log and summary reports (a "Character" field) and whether this alarm may be reset by an operator (a "Character" field).  Refer to the sections titled: "Name", "Symbolic Name", and "Character".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Conveyor alarms - 1 Conveyor alarm s Transfer C202 to C205 failed to complete in the time Alarm conveyor a C202A Conveyor alarm <A>a Fault category s Transfer watchdog ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

If the option to prevent the operator from resetting specific alarms is provided, then this flag must be clear for the alarm in question as well as for, if there is a fault category, the fault category to which it is assigned. So, if it does belong to a fault category, you would normally want to leave the flag clear for the specific alarms that belong to the fault category, and use the fault category to control whether an operator has the right to reset an alarm.  For further information on fault categories, please refer to the section titled: "Fault Assistance".

Enter or Modify Products

This is a "Maintenance Viewing Data" window that lists each of the products expected in the warehouse.  These are defined to associate a description with product code and to provide other details such as the number of packages comprising a full load.

Below is a rough text-representation of this window:

Enter or modify products on loads Select Change Restrict Where Match Expand Insert First Last 000034|PETERS DRUMSTICKS 24 L/P |144 ^ 000035|PETERS TRUMPETS 24 L/P |144 █ 000136|CADBURY PICNIC 24 L/P | 80 █ 000137|CADBURY CRAVE 24 L/P | 80 █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Products Product code 000034

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the product code, product description (both unique "Name" fields) and the number of packages on a full load (a "Numeric" field). For editing instructions for these types of fields, please refer to the sections titled: "Name", and "Numeric".

Enter or Modify the Crane Alarms

This is a "Maintenance Viewing Data" window that lists each of the crane alarms.  These are defined to associate text with the alarms raised by the cranes.

Below is a rough text-representation of this window:

Enter or modify crane alarms Select Change Restrict Where Match Expand Insert First Last 1-nine 1|MCR is off ^ 2|24VDC is off █ 3|HL circuit breaker █ 4|LT circuit breaker █ 5|Forks circuit breaker █ 6|HL drive fault █ 7|LT drive fault █ 8|Forks drive fault █ 9|HL thermal overload █ 10|LT thermal overload █ 11|Cabin too cold █ 12|Cabin too warm █ 13|Load off centre █ 14|Catch block set █ 15|Slack rope █ 16|Rope overload █ 17|Hoist over-speed █ 18|Speed govenor fault █ 19|Hoist whole current V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Crane alarms Crane alarm MCR is off

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the alarm description (a unique "Name" field), whether to record alarms of this sort in the event log and the alarm summary (a "Character" field), for some sites there is a reference to another alarm which, if active, would be deemed to have caused this alarm (a "Symbolic Name" field), and the crane alarms field (a "Crane and Palletiser Alarms" field).  For editing instructions for these types of fields, please refer to the sections titled: "Name", "Character", "Symbolic Name", and "Crane and Palletiser Alarms".

Be warned, that if you change the text, the software may fail to correlate the alarm with the text in the manual, by which the alarm is described.  As a result, it will not be able to call up the correct page of the help in response to the right-click request (for details on this "request", please refer to the section titled: "Alarms").

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Crane alarms - 1 Crane Alarm Names s MCR is off Don't log crane alarm <D>a Crane Alarms ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Enter or Modify the Crane States

This is a "Maintenance Viewing Data" window that lists each of the crane states.  These are defined to associate text with the states reported by the cranes.

Below is a rough text-representation of this window:

Enter or modify crane states Select Change Restrict Where Match Expand Insert First Last 1-nine 1|LT in position ^ 2|HL in low position █ 3|HL in high position █ 4|Forks position bt 0 █ 5|Forks position bt 1 █ 6|Forks position bt 2 █ 7|Forks position bt 3 █ 8|Forks position bt 4 █ 9|Manual █ 10|Out of service █ 11|Alarm change █ 12|Loaded █ 13|MCR deenergised █ 14|LT speed enable █ 15|HL speed enable █ 16|Key switch manual █ 17|Too high on left █ 18|Too high on right █ 19|Off-centre to left V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Crane states Crane State Names In Automatic

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes only the state description (a unique "Name" field). For editing instructions for this type of field, please refer to the section titled: "Name".

Be warned, that if you change the text, the software may fail to correlate the state with the text in the manual, by which the state is described.  As a result, it will not be able to call up the correct page of the help in response to the right-click request (for details on this "request", please refer to the section titled: "Status List").

The "Crane Commands and Alarms" window takes some liberties with the text entered here.

  • If the "LT in position" bit is not set, the text "LT out of position" is displayed; this is hard-coded.
  • If neither the "HL in low position" nor the "HL in high position" bit is set, the text "HL out of position" is displayed; this is hard-coded.
  • If both the "HL in low position" and the "HL in high position" bit is set, the text "HL in low position" is displayed.
  • If neither the "Cabin up position" nor the "Cabin down position" bit is set, and the crane has a movable cabin, the text "Cabin in between" is displayed; this is hard-coded.
  • The text for the forks status bits, "Forks position bt 0" et cetera, is completely ignored; the forks status is hard-coded.

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Crane states - 1 Crane State Names s HL in low position ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Enter or Modify the Countries

This is a "Maintenance Viewing Data" window that lists each of the countries.  These are defined to assist in the entry of address of customers, providing, not only the full country name but also the ISD code and the format of the post (or "zip") code for that country.

Below is a rough text-representation of this window:

Enter or modify the countries Select Change Restrict Where Match Expand Insert First Last Australia |#### ^ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Countries Country's name Australia

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the name of the country, its ISD code (both unique "Name" fields), and its post code mask (a "Post Code Mask" field). For editing instructions for these types of fields, please refer to the sections titled: "Name", and "Post Code and Post Code Mask".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Countries - Australia Country's name t Australia Country's ISD (NZ=64) a Zip mask (Canada: ###-###) a #### ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

The ISD code, along with the STD code for the customer's town, is provided to assist in the entry of the customer's phone number. For editing instructions for this type of field, please refer to the section titled: "Phone Number".

Enter or Modify the States/Provinces

This is a "Maintenance Viewing Data" window that lists each of the states or provinces.  These are defined to assist in the entry of addresses of customers, providing, not only the full state's or province's name but also the country for that state or province, and thereby the ISD code and the format of the post (or "zip") code for that country.

Below is a rough text-representation of this window:

Enter or modify the states/provinces Select Change Restrict Where Match Expand Insert First Last N.S.W. |Australia ^ Victoria |Australia █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: States and provinces State/province name N.S.W.

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the name of the state or province (a unique "Name" field) and the country (a "Symbolic Name" field). For editing instructions for these types of fields, please refer to the sections titled: "Name", and "Symbolic Name".

If the name of a state or province should be used by more than one country, you should make the subsequent name unique by adding to the name the vertical line character ("|") followed some indication of the country. When printing the customer's delivery instructions, or in other reports on the customer, characters in the state or province name from the vertical line character onwards will not be printed.

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

State/province - N.S.W. State/province name t N.S.W. State in country t Australia Country's ISD (NZ=64) a Zip mask (Canada: ###-###) a #### ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Enter or Modify the Towns/Suburbs/Cities

This is a "Maintenance Viewing Data" window that lists each of the towns or suburbs.  These are defined to assist in the entry of addresses of customers, providing, not only the full town, suburb or city name, along with the post (or "zip") code and STD code, but also the state's or province's name, along with the country for that state or province, and thereby the ISD code and the format of the post (or "zip") code for that country.

Below is a rough text-representation of this window:

Enter or modify the towns/suburbs/cities Select Change Restrict Where Match Expand Insert First Last Campbellfield |Victoria |3047 |3 ^ Girraween |N.S.W. |2145 █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Towns and Suburbs Town or suburb name Campbellfield

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the name of the town or suburb (a unique "Name" field) the state or province (a "Symbolic Name" field) and the post code (a "Post Code" field) and the STD code (a "Name" field). For editing instructions for these types of fields, please refer to the sections titled: "Name", "Symbolic Name", and "Post Code and Post Code Mask".

If the name of a town or suburb should be used by more than one state or province, you should make the subsequent name unique by adding to the name the vertical line character ("|") followed some indication of the state or province. When printing the customer's delivery instructions, or in other reports on the customer, characters in the town or suburb name from the vertical line character onwards will not be printed.

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Town or suburb - Campbellfield Town or suburb name t Campbellfield Town in state/province t Victoria State in country t Australia Country's ISD (NZ=64) a Zip mask (Canada: ###-###) a #### Town or suburb post code a 3047 Town STD (Melb=3) a 3 ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

The STD code, along with the ISD code for the corresponding country is provided to assist in the entry of the customer's phone number. For editing instructions for this type of field, please refer to the section titled: "Phone Number".

Enter or Modify the Customers

This is a "Maintenance Viewing Data" window that lists each of the customers.  These provide the customer's street address, town or suburb, telephone and facsimile numbers and standard delivery instructions.

Below is a rough text-representation of this window:

Enter or modify the customers Select Change Restrict Where Match Expand Insert First Last P & O Cold Storage |69 Mandoon Road |Girraween ^ W & D Engineering Pty Limited |25 Glenbarry Road |Campbellfiel█ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Customers Customer name P & O Cold Storage

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the customer's name (a unique "Name" field), the street address (a "Name" field), the town or suburb (a "Symbolic Name" field), the telephone and facsimile numbers (both "Phone Number" fields) and the standard delivery instructions (a "Name" field). For editing instructions for these types of fields, please refer to the sections titled: "Name", "Symbolic Name", and "Phone Number".

The standard delivery instructions will be printed followed by any order specific instructions entered in the order specification.

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Customer - P & O Cold Storage Customer name t P & O Cold Storage Customer address t 69 Mandoon Road Customer town or suburb t Girraween Town in state/province t N.S.W. State in country t Australia Country's ISD (NZ=64) a Zip mask (Canada: ###-###) a #### Town or suburb post code a 2145 Town STD (Melb=3) a Customer's phone number a 96362666 Customer's facsimile no. a 96882610 Customer's delivery notes s ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Enter or Modify the Products

This is a "Maintenance Viewing Data" window that lists each of products for the pick areas.  In this case each product definition includes a catalogue number, recording artist and the recording's title.

Below is a rough text-representation of this window:

Enter or modify the products Select Change Restrict Where Match Expand Insert First Last A&M 393601-2 |Carpenters ^ A&M 393614-2 |Joan Baez █ A&M 540 728-2 |Phil Ochs █ A&M CD 4257 |Fairport Convention █ ABC COUNTRY/EMI 4796522 |_Miscellaneous █ ABC JAZZ/EMI 4796232 |James Morrison █ ABKCO 820 140-2 |Rolling Stones, The █ AHS 5-1 |Glenn Miller █ ALBERT 465396 2 |Easybeats, The █ ALTRAX 595 |Dave Swarbrick █ AMERICAN 9 43104-2 |Donovan █ ARIO 883 948|HYCD 200 128|Bert Jansch █ ARISTA ACD2-8634 |Grateful Dead █ ARISTA ARCD-8575 |Grateful Dead █ ARISTA ARCD-8643 |Yes █ ARISTA ARCD85-90126 |Anderson, Bruford, Wakeman, Howe █ ARISTA VPCD 7528 |Sky █ ARISTA/BMG 74321-13697-2 |David Bowie █ ARISTA/BMG 74321-17004-2 |David Bowie V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Recordings Item's catalogue number A&M 393601-2

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes, in this instance the catalogue number (a unique "Name" field) and the recording artist and recording's title (both "Name" fields). For editing instructions for this type of field, please refer to the section titled: "Name".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Recording - ARIO 883 948|HYCD 200 128 Item's catalogue number a ARIO 883 948|HYCD 200 128 Item's recording artist t Bert Jansch Item's recording title t From the Outside ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Enter or Modify Palletiser Alarms

This is a "Maintenance Viewing Data" window that lists each of the palletiser alarms.  These are defined to associate text with the alarms raised.

Below is a rough text-representation of this window:

Enter or modify palletiser alarms Select Change Restrict Where Match Expand Insert First Last 1-nine 1|Open case flap ^ 2|Infeed guide fault 1 4 █ 3|Meter belt PE █ 4|Turn peg PE █ 5|Row entry PE █ 6|Row gate A PE █ 7|Row gate B PE █ 8|Row gate C PE █ 9|Row gate D PE █ 10|Row gate E PE █ 11|Row gate F PE █ 12|Row sweep intrusion █ 13|Row sweep failed █ 14|Layer exit gate flt █ 15|Layer side fault █ 16|Layer transfer fail █ 17|Layer VSD fault █ 18|Apron side fault █ 19|Apron end fault V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Palletiser alarms Palletiser alarm name Open case flap

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the palletiser alarm description (a unique "Name" field) and the palletisers that share this alarm (a "Crane or Palletiser Alarm" field). For editing instructions for these types of fields, please refer to the sections titled: "Name", and "Crane and Palletiser Alarms".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Palletiser alarm - 2 Palletiser alarm name s Infeed guide fault Palletiser alarms 1 4 ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Enter or Modify Palletiser Patterns

This is a "Maintenance Viewing Data" window that lists each of the palletiser patterns.  These are defined to direct the operation of the palletiser and are also used by the Movement Controller to display the palletiser status.

Below is a rough text-representation of this window:

Enter or modify palletiser patterns Select Restrict Change Match Expand Insert First Last Pattern rows View 6U2 |1| 8| 3| G ^ 8S1 |1| 4| 3| G █ 9D1 |2| 4| 3| G █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Palletiser Patterns Pattern name a 8S1

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the pattern name (a unique "Name" field), the pattern infeed guide position, pallet alignment position, the pallet overrun position, the default number of layers, the number of cases allowed beyond the glue spray unit, the number of cases allowed beyond the metering belt, the number of cases allowed beyond the turn peg and the compacting pressures (all "Numeric" fields) and whether the pattern requires glue by default (a "Character" field). For editing instructions for these types of fields, please refer to the sections titled: "Name", "Numeric", and "Character".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Pattern - 8S1 Pattern name a 8S1 Pattern infeed guide <0-15> 2 1 Pattern no. of layers <0-99> 4 Max cases post glue <0-9> 1 2 2 Compress pressure 1 <0-100> 4 4 4 Pattern requires glue <G>a G ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Edit Row Definition

After entering this data you will need to specify the row data for the odd and even layers.  To do this, first type "P" then enter "O" to edit the odd layer or "E" to enter the even layer.

If you are modifying existing layers, a string of special characters (resembling a row) at the top left of the window.  These correspond to the rows, commencing from the left for the first.

If the layer has yet to be defined you will need to press [INSERT] to create a row, then edit the set of fields that will be presented.  Whereas if you desire only to modify existing rows, move the cursor along the string to the row of interest and press [ENTER].

This "Set of Fields" includes the turn peg pattern (a "Turn Peg Pattern" field), the number of cases before each row gate is to rise and which layer gate if any is to be used (both "Numeric" fields) and whether the end stop is to be used (a "Character" field). For editing instructions for these types of fields, please refer to the sections titled: "Turn Peg Pattern", "Numeric", and "Character".

Below, once some rows have been defined, is a rough text-representation of this window:

Odd or Even layer <O/E>a O Row turn-peg pattern 3TT_ 1 N cases beyond gate A <0-15> 3 3 3 3 3 3 Row requires End stop <E>a Row's layer gate <0-4> ■■■ <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

Repeat the above procedure for each row of the layer, then type [ESCAPE] to exit to return for the other layer.

Viewing Patterns

Once both layers have been specified, and you have exited from the row definition, you may observe the pattern you have created by typing "V", then entering the number of the palletiser you wish to view it with and the product.

The window will appear as shown overleaf:

Enter or Modify Palletiser Patterns -- Viewing Patterns

This window shows eight views of the pattern, four for the odd layer and four for the even layer.  Of each four views, the first shows the cartons of each row in the row form area, the next after sweeping into the layer form area, the next after the side compress in the layer form area and the last after the side and end compress in the apron area.

Any one of these views can be highlighted, using the cursor control keys to move the highlight.  The view of the highlighted view may be zoomed in by typing "Z".

The highlight can be shifted by clicking on the desired view, while a view may be zoomed by double clicking on it.

The window will appear as shown overleaf:

Enter or Modify Palletiser Patterns -- Viewing Patterns -- Zoomed

While zoomed in, the cursor control keys may be used to change the view to be zoomed.  By using the [LEFT] and [RIGHT] keys you can simulate an animation. The left and right mouse buttons may be used in place of the [LEFT] and [RIGHT] keys, with the added feature that left or right clicking past the end wraps you around to the first image.  Be careful not to double click, or you will be returned to window showing all eight views.

To return to the non-zoomed mode, type "Z" a second time. You can also double click within the window.

To exit from viewing the patterns, type [ESCAPE].

Applying the Patterns

After defining a pattern it is necessary to enter this pattern against a palletiser before that pattern can be used by the given palletiser.  Refer to the section titled: "Enter or Modify the Palletisers".

It is necessary to write to the PLC after making changes to the following "Specific Instructions" windows:

Once the palletiser has the pattern registered with it, refer to the section titled: "Writing Pattern Data".

The palletiser status and commands windows may be called up from the Heavy-Unit-Load Conveyor diagram by zooming into a related conveyor position.  This correspondence between these windows and the conveyor positions needs to be specified; to do this refer to the section titled: "Conveyors from which to Zoom".

As you exit this window, you will be asked whether you wish to write the pattern information to the palletisers.  To do so, type [F1].

Enter or Modify Palletiser Product Data

This is a "Maintenance Viewing Data" window that lists each of the products to be palletised.  These are defined to associate barcodes with the products, and the products with the patterns and to set product specific data for the palletising pattern.

Below is a rough text-representation of this window:

Enter or modify palletiser product data Select Change Restrict Where Match Expand Insert First Last 1234|1234 |8S1 | 2| 2| 8| .357| .443| .219| 1| 1| 1|N|1 ^ 1235|1235 |9D1 | 1| 1| 4| .357| .396| .434| 2| 2| 2|N|1 █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Palletiser product data Product number <0-9999> 1234

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the product code (a unique "Numeric" field), the barcode (a "Name" field), the pattern (a "Symbolic Name" field), the infeed guide position, the pallet alignment position, the pallet overrun, the number of layers in the pattern, the dimensions of the cartons and the pressures for the compressing of the load in the layer form (all "Numeric" fields) and apron areas and whether the product requires gluing (a "Character" field). For editing instructions for these types of fields, please refer to the sections titled: "Name", "Symbolic Name", "Numeric", and "Character".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Product - 1234 Product number <0-9999> 1234 Product barcode a 1234 8S1 Product infeed guide <0-15> 2 2 Product no. of layers <0-99> 8 Product case width <0.000-9> .357 .443 .219 Compress pressure 1 <0-15> 1 1 1 Product requires glue <N/G>a N 1 ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Values left at zero or blank will be replaced by the values specified for the pattern.

It is necessary to write to the PLC after making changes to the following "Specific Instructions" windows:

Refer to the section titled: "Writing Pattern Data".

The palletiser status and commands windows may be called up from the Heavy-Unit-Load Conveyor diagram by zooming into a related conveyor position.  This correspondence between these windows and the conveyor positions needs to be specified; to do this refer to the section titled: "Conveyors from which to Zoom".

As you exit this window, you will be asked whether you wish to write the pattern information to the palletisers.  To do so, type [F1].

Enter or Modify Machine States

A "machine" is a mechanism that requires more status monitoring than is afforded by the definition of devices within the Heavy-Unit-Load Conveyor System and has not had explicit software developed for it (as in the case of cranes and palletisers).

To accommodate these devices, first a machine definition needs to be entered, which gives the machine a name, tells the software on which PLC it is located and in which PLC data file the status and alarms are presented.

Secondly, the bits within the status, alarm, and control words need to be described so that the status and alarms may be presented meaningfully.

This section describes the definition of the status words, for the others, refer to the sections titled: "Enter or Modify Machine Alarms", "Enter or Modify Machine Controls", and "Enter or Modify Machine Definition".

This is a "Maintenance Viewing Data" window that lists each of the states for each machine.

Below is a rough text-representation of this window:

Enter or modify machine states Select Change Restrict Where Match Expand Insert First Last 1-nine 1.00 |Rise-fall to rise |Unload lift ^ 1.01 |Rise-fall up |Unload lift █ 1.02 |Rise_fall down |Unload lift █ 1.03 |Fingers to close |Unload fingers █ 1.04 |Fingers closed |Unload fingers █ 1.05 |Finger grippers open|Unload fingers █ 1.06 |Lift stop go down |Unload sweep area █ 1.07 |Lift plate stop up |Unload sweep area █ 1.08 |Lift plate stop down|Unload sweep area █ 1.09 |Lift plate stop made|Unload sweep area █ 1.10 |Lift plate raise |Unload lift █ 1.11 |Lift plate lower |Unload lift █ 1.12 |Lift plate fully up |Unload lift █ 1.13 |Lift plate down |Unload lift █ 1.14 |Acc'n PE blocked |Unload lift █ 1.15 |Cans above sweep |Unload sweep area █ 1.16 |Sweep run forward |Unload sweep area █ 1.17 |Sweep run reverse |Unload sweep area █ 1.18 |Sweep carriage back |Unload sweep area V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Machine states Machine state description s Rise-fall to rise

At the start of each line is the record number expressed as a machine number followed by a period (full-stop, dot or ".") followed by the bit number.  This is followed by the "set of fields".

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the descriptions for the status bits for this bit of this machine (a unique "Name" field), and the window area where the status will be presented graphically (a "Symbolic Name" field) a sequence number to assist in grouping and ordering inputs for graphical presentation (a "Numeric" field), and whether the input is a word (16 bits) rather than a single bit (a "Character" field). For editing instructions for these types of fields, please refer to the sections titled: "Name", "Symbolic Name", "Numeric", and "Character".

More discussion of the window area and sequence number fields is presented in the section titled: "Enter or Modify Machine Definition".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Machine input - 1.00 Machine state description s Rise-fall to rise Screen area for input s Unload lift Sequence (0=first) <0-255> Machine state 16 bits <W>a ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Enter or Modify Machine Alarms

A "machine" is a mechanism that requires more status monitoring than is afforded by the definition of devices within the Heavy-Unit-Load Conveyor System and has not had explicit software developed for it (as in the case of cranes and palletisers).

To accommodate these devices, first a machine definition needs to be entered, which gives the machine a name, tells the software on which PLC it is located and in which PLC data file the status and alarms are presented.

Secondly, the bits within the status, alarm, and control words need to be described so that the status and alarms may be presented meaningfully.

This section describes the definition of the alarm words, for the others, refer to the sections titled: "Enter or Modify Machine States", "Enter or Modify Machine Controls", and "Enter or Modify Machine Definition".

This is a "Maintenance Viewing Data" window that lists each of the alarms for each machine.

Below is a rough text-representation of this window:

Enter or modify machine alarms Select Change Restrict Where Match Expand Insert First Last 1-nine 1.00 |No 24VDC ^ 1.01 |Front sweep up/down █ 1.02 |Fingers open/close █ 1.03 |MCR is off █ 1.04 |Sweep fwd/back fault █ 1.05 |Light curtain blockd █ 1.06 |Motor overload █ 1.07 |Emergency stop █ 1.08 |Access gate open █ 1.09 |Lift plate up/down █ 1.10 |Rise-fall up/down █ 1.11 |Speed controller flt █ 1.12 |Lift stop up/down █ 1.13 |Cans above sweep flt █ 1.14 |Lift stop obstructed █ 1.15 |Motor overload █ 1.16 | █ 1.17 | █ 1.18 | V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Machine alarms Machine alarm description s No 24VDC

At the start of each line is the record number expressed as a machine number followed by a period (full-stop, dot or ".") followed by the bit number.  This is followed by the "set of fields".

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes only the description for the alarm bit for this bit of this machine (both unique "Name" fields). For editing instructions for this type of field, please refer to the section titled: "Name".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Machine alarm - 1.00 Machine alarm description s No 24VDC ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Enter or Modify Machine Controls

A "machine" is a mechanism that requires more status monitoring than is afforded by the definition of devices within the Heavy-Unit-Load Conveyor System and has not had explicit software developed for it (as in the case of cranes and palletisers).

To accommodate these devices, first a machine definition needs to be entered, which gives the machine a name, tells the software on which PLC it is located and in which PLC data file the status and alarms are presented.

Secondly, the bits within the status, alarm, and control words need to be described so that the status and alarms may be presented meaningfully.

This section describes the definition of the control words, for the others, refer to the sections titled: "Enter or Modify Machine States", "Enter or Modify Machine Alarms", and "Enter or Modify Machine Definition".

This is a "Maintenance Viewing Data" window that lists each of the controls for each machine.

Below is a rough text-representation of this window:

Enter or modify machine controls Select Change Restrict Where Match Expand Insert First Last 1-nine 1.00 |Extend Skates |EXTEND |SKATES ^ 1.01 |Retract Skates RETRACT SKATES █ 1.02 |Inflate Skates INFLATE PADS █ 1.03 |Deflate Skates DEFLATE PADS █ 1.04 |Spare control █ 1.05 |Spare control █ 1.06 |Supply truck details SUPPLY DETAILS █ 1.07 |Start Unloading GET FR. TRUCK █ 1.08 |Induct or reject CONFIRM/ REJECT █ 1.09 |Start Loading PUT IN TRUCK █ 1.10 |Reels On Dock TRUCK EMPTIED █ 1.11 |Spare control █ 1.12 |Dock Set Emergency UNSAFE DOCK █ 1.13 |Dock Set Override HELD IN POSIT'N █ 1.14 |Dock Set Automatic AUTO MODE █ 1.15 |Dock Set Manual MANUAL MODE █ 1.16 |Left Up LEFT UP █ 1.17 |All Down DOWN BOTH █ 1.18 |Right Up RIGHT UP V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Machine outputs Machine output description s Extend Skates

At the start of each line is the record number expressed as a machine number followed by a period (full-stop, dot or ".") followed by the bit number.  This is followed by the "set of fields".

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the description for the control bit for this bit of this machine (a unique "Name" fields), the text for the two lines to be presented on the push button (both "Name" fields), and whether the push button will be momentary action (a "Character" field).  The term "momentary" implies that you will need to keep your finger on the button for it to remain active, rather than have it toggle between states on successive touches. For editing instructions for these types of fields, please refer to the sections titled: "Name", and "Character".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Machine output - 1.00 Machine output description s Extend Skates Machine control (line 1)a EXTEND Machine control (line 2)a SKATES Machine monentary control<M> ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Maintenance

This menu provides access to the windows required to maintain the configuration, live and historic data.

Below is a rough text-representation of this menu:

Movement Controller (C) Copyright 1998 to 2009 Woodgrove Digital Engineering File View ┌─-─────────────────────┐ │New User │ │Operations >│ │Reports >│ │Communication reports >│ │Configuration >│ ┌─-───────────────────────────────────┐ │Maintenance███████████>│ │Set network definition data │ │Definition >│ │Set the time and date │ │Special Functions >│ │Modify list of users │ │Exit │ │Archive list of events to floppy disc│ └─-─────────────────────┘ │Archive load movements to floppy disc│ │Backup database to floppy disc │ │Restore database from floppy disc │ └─-───────────────────────────────────┘

The "Archive ...", "Backup ...", and "Restore ..." functions are only available at the main computer.  When using these functions, the computer will make a sound while it is expecting you to service the disc drive.

Set Network Definition Data

This screen allows you to alter certain configuration variables in a straight-forward manner:

  • find the line describing the quantity you wish to change,
  • double click on this line, and,
  • when the dialogue window opens, enter the new value.

Full Description of this Window

This is a very limited version of the "Maintenance Viewing Data" window that lists certain records from the "Configuration Data" database.  The [LEFT] and [RIGHT] keys are still effective for setting restrictions (should you want to) however their action is not visible on the window and has no effect on the operation of the "C" key used to change the contents of a field.  Instead, the "C" key always refers to the setting of the miscellaneous data and never its description.  Also typing the "S", [ENTER] or [RETURN] key has the same effect as typing "C". You may also double click the line.

The "Configuration Data" database includes the "Miscellaneous Name" field (a unique "Name" field), "Miscellaneous Data" field (a "Miscellaneous Data" field) and the "Initial/Run/Network <I/R/N>a" field (a "Character" field). For editing instructions for these types of fields, please refer to the sections titled: "Name", "Character", and "Miscellaneous Data".

Only those records of the "Configuration Data" with the "Initial/Run/Network <I/R/N>a" field set to "N" will be included on this window.  Please refer to the section titled: "Configuration Data".  You should also refer to that section of the manual for more information about the meaning of the records presented here.

The miscellaneous data field is also coloured to highlight those fields not containing 0 and therefore likely to be in the abnormal state.

The records from the "Configuration Data" database chosen for inclusion on this window are those records that provide the network definitions required by the Movement Controller to enable it to communicate with the host_computer as well as the standby computer.

Below is a rough text-representation of this window:

Network definition Select Change Restrict Where Match Expand Insert First Last 1-nine TCP/IP server host (1.2.3.4) | 165.69.72.10 ^ TCP/IP local host (1.2.3.5) | 165.69.72.22 █ FTP control port (eg. 0,21) | 0,21 █ FTP data port (eg. 0,20) | 0,20 █ Standby link port (eg.0,128) | 0,128 █ FTP user name a | REEL █ FTP password a | █ FTP account a | █ FTP user name for PCS use a | PCSCOM █ FTP password for PCS use a | █ FTP account for PCS use a | █ FTP run command after STOR a | █ FTP report interval (secs) | 10 █ FTP max action reports/file | 10 █ FTP max conveyr reports/file | 10 █ FTP max racking reports/file | 10 █ FTP max barcode reports/file | 10 █ FTP max emula'n reports/file | 10 █ FTP max reply reports/file | 10 V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Configuration Data TCP/IP server host (1.2.3.4) 165.69.72.10

The Variables Intended to be Presented

As was described in the section titled: "Full Description of this Window", which variables are included in this window may be altered by yourself, from the set of variables contained in the "Configuration Data" record set.

The variables that are included in this window by default are described in the following sub-sections.

TCP-IP Addresses

The TCP/IP server and local hosts are both "TCP-IP Host" fields.  The "TCP/IP local host" is the IP address of the Movement Controller, and is used in constructing the FTP PORT command.  The "TCP/IP server host" is used to provide the address of the host_computer, with which it is to exchange files.

For information on the communications with the host_computer, please refer to the section of the TECHNICAL MANUAL titled: "Host Computer System".

The TCP/IP server host IP address may be overridden, using a command line switch when the main program is run, with an alternate IP address or a domain name. For information on overriding the server host IP address, please refer to the section of the TECHNICAL MANUAL titled: "Server IP Address".

For instructions on editing "TCP-IP Host" fields, please refer to the section titled "Entering Information", and its subsection: "TCP-IP Host".

TCP-IP Ports

TCP-IP ports are used for the operation of FTP ("FTP control port" and "FTP data port), the remote terminal interface to the Movement Controller ("R.T.  control port" and "R.T. data port"), a link to a standby computer ("Standby link port"), on which a copy of the database is kept, and, sometimes, for custom purposes ("Custom control" and "Custom data port").  These port values are to be specified the corresponding "TCP-IP port" field.

The "FTP control port" and the "FTP data port" specify the control and data ports used for FTP.  The two comma separated values can range from 0 to 255. The data port used by the server is determined by the host_computer.  The data port used by the client is changed for each file, by incrementing the offset from "4,0" to "5,0" to ... "255,0" then back to "4,0", and adding that to the value specified here, "0,20".  We start and wrap to "4,0" because of experience with computers refusing to allow connections with lower values than the resulting "4,20".

The "R.T. control port" and "R.T. data port" specify the control and data ports used for implementing a remote operator interface.  The two comma separated values can range from 0 to 255.  The remote terminal data port number must be one greater than the remote terminal control port.  The remote terminal control port must be specified in the command line when running the "connect" program, to which an operator interface on a remote computer must communicate.

Typically, batch files would be used to run the connect.exe programs that allow operator interfaces on remote computers to access the main program (main.exe).  These batch files would contain the line:



connect 192.158.10.69 129

where "192.158.10.69" is the IP address of the main computer, and "129" is the control port used.  The connect program will assume that its data port is one greater than its control port.  If you specify a control port such as "4,129", you will need to multiply the first number by 256, then add it to the second to specify the control port, which, in this case, would be "1153".

The "Custom control" and "Custom data port" specify the control and data ports used for other uses of the TCP-IP communications.  The two comma separated values can range from 0 to 255.

The "Standby link port" specifies the port to be used when securing the database to a dedicated standby computer.

For instructions on editing "TCP-IP Port" fields, please refer to the section titled "Entering Information", and its subsection: "TCP-IP Port".

All these ports are discussed in greater detail in the section titled: "Configuration Data".

FTP User Text Fields

When using FTP, user names, passwords, and, sometimes, account names, need to be specified for use by both the Movement Controller when connecting to the host_computer and vice-versa.  These are to be typed into the corresponding "Name" fields.

The passwords are not displayed until the cursor is moved into the field.  It is removed from window immediately after the cursor is moved out of the field.

For editing instructions for these types of fields, please refer to the sections titled: "Entering Information", and its subsection: "Name".

Directories for Host Communications

Communications with the host_computer may be conducted by exchanging files by placing them in specific directories.

The variables used to hold these directory names are:

  • Path for file transfers (Tfr_D)
  • Path for finished transfer (TfrDD)
  • Path for transfer failures (TfrDE)
  • Path for XML reports (RptDX)
  • Path for other reports (Rpt_D)

The specific use of these variables is discussed in greater detail in the section titled: "Configuration Data".  The records that will interest you will be those described as "Tfr_D:", "TfrDD:", "TfrDE:", "RptDX:", and "Rpt_D:".  The correspondence between these records and the variables, as described in this window, is shown in the above list.

If either of the variables, "TCP/IP server host (1.2.3.4)" or "TCP/IP server latter numbers", is set and the variable, "FTP L USER:", is also set, the "Rpt" directory variables will be ignored.  These two "TCP/IP server" variables are presented as a single value in the "Set Network Definition Data window (as described in the section titled: "Set Network Definition Data", and, in particular, its subsection titled: "TCP-IP Addresses".

Blanking both of the variables, "TCP/IP server host (1.2.3.4)" and "TCP/IP server latter numbers", or the one variable, "FTP L USER:", will allow you to switch over to reporting via the "Rpt" directories.  Should those variables be set, reporting via the "Rpt" directories will be disabled.

Set Current Time and Date

This window provides a "Set of Fields" comprising two data.  The first, a "Symbolic Name" field, indicates "Eastern Standard" or "Daylight Saving", while the second, a "Current Time" field, contains the current time and date.

Below is a rough text-representation of this window:

Set current time and date Time Standard Eastern Standard Current Time 16:28:26 19-JAN-99 ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Upon entry into the window, the cursor will be located in the time standard field.  The time standard may be set to either "Eastern Standard" or "Daylight Savings".  When the time standard is changed, the time is adjusted by one hour in the appropriate direction.

Modify List of Users

This is a "Maintenance Viewing Data" window that lists each of the users.

Below is a rough text-representation of this window:

Modify list of users Select Change Restrict Where Match Expand Insert First Last 1-nine Gregory Wood | |3 ^ Mike Dally | |3 █ Operator 1 | |1 █ Operator 2 | |2 █ Roger Bayly | |3 █ Wendy | |3 █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Users User name Gregory Wood

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the user name (a unique "Name" field), the password (a "Password" field) the privilege level (a "Numeric" field), and, for some sites, whether you would prefer to use the more DOS-like interface and whether you are a "generic" user (both "Character" fields). For editing instructions for these types of fields, please refer to the sections titled: "Name", "Password", "Numeric", and "Character".

For details on the use of the user names, passwords and privilege levels, refer to the section titled: "Log Off".

For details on how to alter the security arrangements, refer to section titled: "Edit Databases", and its subsections "Menu Text and Security", "Database Privilege", "Crane Commands and Security", "Palletiser Commands", "Carton Conveyor Commands",. and "Configuration Data".

The more DOS-like interface provides a window based menu system, rather than the horizontal menu bar, and allows the user to open only one window at a time.  That window is then sized to fill the display.  Because there is only one window open at a time, it saves the confusion when the operator has not noticed which window currently has focus and types in keys intended for another window.

A user that is flagged as "Generic", will not be allowed to perform certain operations, without first identifying himself specifically, and entering his password.  This allows a terminal to be logged on generically, so that a number of people may have access to it, but still provide extra security for certain operations.

Archive List of Events to Floppy Disc

This window allows you to archive the event log file to a floppy disc.  This floppy will contain all event logs still in the log file, which have not yet been backed up. When a log file approaches the full level, a warning appears on the Heavy-Unit-Load Conveyors diagram.  Refer to the section titled: "Heavy-Unit-Load Conveyors".

You will be instructed to install a blank, formatted disc in Drive A and then to type [F1].  Should you decide at this stage not to proceed, type [ESCAPE] to return to the menu.  Otherwise, install the blank disc, then type [F1] as instructed.

If the file overflows the disc you will be instructed to install a second blank disc, and so forth.

When the archive is complete, an appropriate message will be displayed and you should then remove and store the archive disc, then type [ESCAPE] to return to the menu.

The filename of the file written to the archive disc is composed of six digits, representing the date in a straight-forward manner.  You may, contrary to the above instructions, use a disc that has been previously used to archive this file (and so is not blank), as the first disc, provided that the disc was last used on another day.  When the file overflows, a blank disc should then be used.

This procedure provides for efficient use of discs, leaving no wasted space.

The first two bytes of the file on the archive disc contain the sequence number, which is 0x0000 for the first disc, and increments for each subsequent disc.  The remainder of the file contains records in the same form as they are printed (expanded from the form on the hard disc).

Archive Load Movements to Floppy Disc

This window allows you to archive the load movements file to a floppy disc.  This floppy will contain all load movements still in the log file, which have not yet been backed up. When a log file approaches the full level, a warning appears on the Heavy-Unit-Load Conveyors diagram.  Refer to the section titled: "Heavy-Unit-Load Conveyors".

You will be instructed to install a blank, formatted disc in Drive A and then to type [F1].  Should you decide at this stage not to proceed, type [ESCAPE] to return to the menu.  Otherwise, install the blank disc, then type [F1] as instructed.

If the file overflows the disc you will be instructed to install a second blank disc, and so forth.

When the archive is complete, an appropriate message will be displayed and you should then remove and store the archive disc, then type [ESCAPE] to return to the menu.

The filename of the file written to the archive disc is composed of six digits, representing the date in a straight-forward manner.  You may, contrary to the above instructions, use a disc that has been previously used to archive this file (and so is not blank), as the first disc, provided that the disc was last used on another day.  When the file overflows, a blank disc should then be used.

This procedure provides for efficient use of discs, leaving no wasted space.

The first two bytes of the file on the archive disc contain the sequence number, which is 0x0000 for the first disc, and increments for each subsequent disc.  The remainder of the file contains records in the same form as they are printed (expanded from the form on the hard disc).

Backup Database to Floppy

This window allows you to backup the database file to a floppy disc.  The database is initially loaded from the hard disc, and kept in memory.  As alterations are made to the database they are written away to the hard disc, however it is advisable to maintain a backup of the database on a floppy disc in case the hard disc becomes damaged.

Please note that the contents of "memo" files will not be backed up - only the first line, which is contained within the database.  Please refer to the section titled: "Memo",

You will be instructed to install a blank, formatted disc in Drive A and then to type [F1].  Should you decide at this stage not to proceed, type [ESCAPE] to return to the menu.  Otherwise, install the blank disc, then type [F1] as instructed.

When the backup is complete, an appropriate message will be displayed and you should then remove and store the backup disc, then type [ESCAPE] to return to the menu.  A message will then be printed confirming the backup took place.

Restore Database from Floppy

This window allows you to replace the database read from the hard disc with that on a backed-up disc.

You will be instructed to install a disc, containing the replacement database, in Drive A and then to type [F2]. Should you decide at this stage not to proceed, type [ESCAPE] to return to the menu.  Otherwise, install the backed-up disc, then type [F2] as instructed.

When the loading is complete, an appropriate message will be displayed and you should then remove and store the backup disc, then type [ESCAPE] to return to the menu.

System Definition

This menu provides access to windows designed for the site definition.

Below is a rough text-representation of this menu:

Movement Controller (C) Copyright 1998 to 2009 Woodgrove Digital Engineering File View ┌─-─────────────────────┐ │New User │ │Operations >│ │Reports >│ │Communication reports >│ │Configuration >│ │Maintenance >│ ┌─-───────────────────────────────────────┐ │Definition████████████>│ │Initial software configuration │ │Special Functions >│ │Enter or modify the device types │ │Exit │ │Fast definition of conveyors │ └─-─────────────────────┘ │Enter or modify the conveyors │ │Enter or modify the transfers │ │Enter or modify explicit P.E. placements │ │Enter or modify explicit device alarm │ │Create, edit, compile and execute │ │Define the crane and rack arrangement │ │Enter or modify the carton conveyors │ │Enter or modify the palletisers │ │Enter or modify machine definition │ └─-───────────────────────────────────────┘

Use of these windows should be restricted to experienced personnel.

Initial Software Configuration

This screen allows you to alter certain configuration variables in a straight-forward manner:

  • find the line describing the quantity you wish to change,
  • double click on this line, and,
  • when the dialogue window opens, enter the new value.

Full Description of this Window

This is a very limited version of the "Maintenance Viewing Data" window that lists certain records from the "Configuration Data" database.  The [LEFT] and [RIGHT] keys are still effective for setting restrictions (should you want to) however their action is not visible on the window and has no effect on the operation of the "C" key used to change the contents of a field.  Instead, the "C" key always refers to the setting of the miscellaneous data and never its description.  Also typing the "S", [ENTER] or [RETURN] key has the same effect as typing "C". You may also double click the line.

The "Configuration Data" database includes the "Miscellaneous Name" field (a unique "Name" field), "Miscellaneous Data" field (a "Miscellaneous Data" field) and the "Initial/Run/Network <I/R/N>a" field (a "Character" field). For editing instructions for these types of fields, please refer to the sections titled: "Name", "Character", and "Miscellaneous Data".

Only those records of the "Configuration Data" with the "Initial/Run/Network <I/R/N>a" field set to "I" will be included on this window.  Please refer to the section titled: "Configuration Data".  You should also refer to that section of the manual for more information about the meaning of the records presented here.

The miscellaneous data field is also coloured to highlight those fields not containing 0 and therefore likely to be in the abnormal state.

The records from the "Configuration Data" database chosen for inclusion on this window are those records that provide the most basic system definition options.

Some of the changes made here will not come into effect until the software is restarted.

Below is a rough text-representation of this window:

Initial software configuration Select Change Restrict Where Match Expand Insert First Last 1-nine Run fr clock interrupt <N/C> | N ^ Emulate period 10msec <1-99> | ## █ Digicom or ComXi <D/C> | D █ KTXD ch 1 DH+ or 485 <D/4> | D █ Single step system build <S> | █ Load square Circle/Big <C/B> | █ Rise-fall device type t | Rise Fall █ Turn-table device type t | Turntable █ Elevator device type t | Elevator █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Configuration Data Run fr clock interrupt <N/C> N

The Variables Intended to be Presented

As was described in the section titled: "Full Description of this Window", which variables are included in this window may be altered by yourself, from the set of variables contained in the "Configuration Data" record set.

The variables that are included in this window by default are described in the following sub-sections.

Selection of Communications Boards

There are two styles of asynchronous serial communications boards used.  The "ComXi" board has certain protocols down-loaded to it at system start-up and the interface to it is therefore very different to the interface to more standard communications boards.

If we are using a KTxD card, channel 1 may be used for Data Highway plus (DH+) or DH-485 communications.

Presentation of Loads

Heavy-unit loads can be displayed as squares (representing pallets of cartons) or as circles to represent reels, coils or baskets.  If representing reels, coils, or baskets you can opt for a larger representation of the reel, however, this results in decreased visibility of the conveyor state beneath the load. Enter a [SPACE] if you require a square load, a "C" for the regular circular load, or a "B" for the larger circular load.

Defining the Conveyor System

When we are developing the Heavy-Unit-Load Conveyors diagram, there is the option to step through it, conveyor by conveyor as it is built.  This is handy for debugging.

There are three intrinsic devices to the Heavy-Unit-Load Conveyor Systems.  These are the rise-fall conveyors, the turntables and the elevators.  Their treatment is partially hard coded and partially customisable via the configuration of the Heavy-Unit-Load Conveyor devices window.  Here these intrinsic devices are related to the customisable device definitions.

When you come to modify (or create) the definitions of these devices, the rise-fall device must be given the type code "RF", the turntable "T" and the elevator "E".  You will also need to supply the names for the macros for the conveyor interlock, device control and device emulation for each of these.  You will then need to enter details all alarms, outputs (including push-button specifications) and inputs.  You should not enter any input conditions. Refer to the section titled: "Enter or Modify Device Types".

Delay Between Crane Test Cycles

When you are exercising the crane, using the "Run Test Cycles" command, this can result in causing its drives to overload, as in normal operation, for which they are designed, there is usually a period of rest between journeys in order to access the load.  If this is a problem, you can use the variable, "Crane test cycle delay", to specify the number of seconds the crane should be rested between test cycles.

Defining the Heavy-Unit-Load Conveyor System

The definition of the Heavy-Unit-Load Conveyor System is achieved using the following windows:

  • Enter or Modify Device Types
  • Fast Definition of Conveyor System
  • Enter or Modify the Conveyors
  • Enter or Modify the Transfers
  • Create, Edit, Compile and Execute

The object is to describe the Heavy-Unit-Load Conveyor System sufficiently accurately to allow the generation of PLC software for its control and monitoring and graphics for its operator interface.

The first stage of the generation of the PLC code is to create source code, which is to be compiled into a form that may be imported into the PLC programming software or, for the purposes of emulation, imported into this software.

The creation of the PLC code involves combining standard hand-written source code, application-specific hand-written source code and application-specific software-written source code based on tables of data entered to describe the Heavy-Unit-Load Conveyor System.

The graphical presentation of the Heavy-Unit-Load Conveyor System is mostly based on the same tables describing the Heavy-Unit-Load Conveyor System itself, combining hard-coded conveyor representations with configurable representations of other devices.

PLC Source code

It is conceivable that an application can be created without explicitly writing any PLC source code.  However, you are most likely to need to add device macros to the "Devices.Mac" file to accommodate any new device types, add logic to the main module to handle system startup and add logic to "Traffic1.Sbr" to arbitrate between competing transfers - we refer to this as the "high level control of transfers".

This section introduces you to the structure of the modules that are used to create the heavy unit load conveyor PLC program.  For the detailed programming instructions, refer to the section titled: "Syntax of the PLC Source Code".

The PLC source code files normally reside in the working directory, however, you may also specify upto three other directories, in which the files may be placed.  These other directories will only be searched if the file is not found in the working directory.  These directories are specified in the "Configuration Data" records, titled "Compile 1", "Compile 2", and "Compile 3". Please refer to the section titled: "Configuration Data".

The PLC source code consists of a main module, "POCOLDME.boo", which will typically contain a mixture of standard and non-standard code, and will "include" the following modules:

  • #Include Devices.Mac 

    STANDARD Contains the macro definition for the various types of devices about the Heavy-Unit-Load Conveyor System.  This file should be modified to add macros as new device types are defined.

  • #Include Configur.Mac

    SOFTWARE-WRITTEN This file defines the offsets for each conveyor within the conveyor data files, the transfers within the transfer data files, the devices within the device data files and the alarms within the alarm data files.

    It also defines the number of loads on each conveyor, which photocells are fitted and definition of other miscellaneous constants and the declaration of various data units.

    It's major job however is the declaration of the data files for the conveyors, transfers, alarms and devices, along with calls to the device declaration macros contained within the "Devices.Mac" file for the declaration of the miscellaneous data units required for the devices.

  • #Include Conveyor.Mac

    SOFTWARE-WRITTEN This sets the contents of a data file, created by "Configur.Mac" at the file number specified in the system definition.  All other files created by "Configur.Mac" number from after this one.

    This data file contains the file numbers and other information to enable the Movement Controller to find the data it needs for the control and monitoring of the PLC.  The first word in this file is the length of the file, allowing the Movement Controller to continue to work with PLC software created from various versions of the generating software.

  • #Include RTransfr.Mac

    STANDARD This file contains the macro definitions used by the software-written subroutines.  This approach allows a greater level of flexibility in what is finally produced from the software-written subroutines.  This file can include non-standard code that will come into effect for nominated transfers.

    This file includes extensive documentation of its major macro definitions, "RunTransfer" and "RunIndex".  These macros are invoked from the series of software-written subroutines, "M___M___.Sbr", which are all called from the software-written subroutine, "Transfrs.Sbr".

    The other macro definitions are "EmulateTransfer", "EmulateIndex", and "Conveyor".  The macros, "EmulateTransfer", and "EmulateIndex", are invoked from the software-written subroutine "Emulate.Sbr", while "Conveyor" is invoked from the standard subroutine "Control2".

  • #Include Presets.Mac 

    NON-STANDARD This file contains the settings of the transfer watchdog timers.  This module is optional and is usually only provided once the tuning of the Heavy-Unit-Load Conveyor System has been performed, providing the results of this tuning for future generations of the PLC code.

The main module, "POCOLDME.boo", will also include calls to the major subroutine modules.  The recommended sequence of calling the major subroutines is:



FirstScan.JSR.Initiali;
!RunMode&&!TestMode&&ProgMode.JSR.Emulate; \ One or other of
(RunMode||TestMode||!ProgMode).JSR.Inputs; / these only.
.JSR.Control1;
.JSR.Traffic1;
.JSR.Transfrs;
.JSR.Traffic2;
.JSR.Control2;
.JSR.Traffic3;
.JSR.Interloc;
.JSR.Control3;
.JSR.Outputs;

Where "FirstScan" is the PLC flag indicating that this is the first proper scan of the program since the software has started, "RunMode" is the PLC flag indicating that the PLC is in run mode, "TestMode" is the PLC flag indicating that the PLC is in test mode and "ProgMode" is the PLC flag indicating that the PLC is in program mode.

The program can not be executed within the PLC unless the PLC is in either run or test mode so "Emulate" will never be called from within the PLC.  Conversely, when the program is executing within the Movement Controller in simulation, the "ProgMode" bit will always be set, so "Emulate" will be called rather than "Inputs".

The function of the PLC source code files are:

  •   project_name.boo

    STANDARD This file specifies the type of PLC used, certain compiler options, global flag settings to control the compilation of subsequent code and modules, definition of constants, declaration of miscellaneous data units, inclusion of macro definition files, definition of photocell overrun macros, calls to the read the inputs or to simulate the inputs, various overhead code and calls to the major software-written and hand written modules, and finally the call to the module to set the outputs.

  • INITIALI.SBR

    STANDARD This subroutine sets to zero various data files, sets other data units to preset values, calls the software written subroutine "SetData.Sbr" to set the bulk of the preset values.  After this call will typically be included some non-standard software to flag certain conveyors as supporting simultaneous transfers.

  • SETDATA.SBR 

    SOFTWARE-WRITTEN Each conveyor position is allocated six photocells.  This subroutine flags which of these photocells are actually implemented.  It then sets the flags to indicate whether each conveyor is part-taking in a transfer as a source or destination.  This information can become compromised if the PLC scan is interrupted.

  • INPUTS.SBR  

    SOFTWARE-WRITTEN The existence of the bulk of the inputs is known to the software from information in the tables describing the Heavy-Unit-Load Conveyor System.  The software generates a dummy input definition file, "POCOLDME.AIN", which is to be edited (during the definition phase - after the generation of the software and before the compilation of the software) to provide the physical addresses for the inputs and outputs in place of the underscores ("___") within the file.

    This file should not be altered but copied into (not "copied to" as there may be other records in the destination file other than those associated with the I/O) "POCOLDME.ASC" before editing.

    The "Inputs.Sbr" is created by the software to map these inputs to a "bit" data file in a more useful arrangement.

  • EMULATE.SBR 

    SOFTWARE-WRITTEN This subroutine simulates the operation of the inputs given the outputs.  It invokes the transfer emulation macros from within "RTransfr.Mac".  Transfer specific code may be added to the emulation macros within "RTransfr.Mac", should some special case need to be simulated.

    This subroutine also invokes the device emulation macros from within "Devices.Mac".

  • CONTROL1.SBR

    STANDARD This subroutine reports alarms to the Movement Controller and generates the conveyor contactor feedback alarms and photocell discrepancy alarms, changes the destination for loads under instruction of the Movement Controller, processes the manual commands from the Movement Controller (erasing them when communications is lost) and initialises data for the control of transfers and conveyors.

  • RFTAGBIT.SBR

    SOFTWARE-WRITTEN A fundamental concept of the Heavy-Unit-Load Conveyor System is that of rise-fall conveyors, along with turntables and elevators.  The rise-fall conveyors are defined independently of the conveyor position they are rising from.  The rise-fall is then related to this conveyor position, as a result we have a single physical position (at least from the photocell view-point) with two logical positions.  The file "Control1.Sbr" has set a bit file to reflect the logical arrangement of loads about the Heavy-Unit-Load Conveyor System.  The subroutine, "RFTagBit.Sbr", is needed to patch this information to make up for this physical-versus-logical discrepancy, prior to the generation of photocell alarms.  It is called from "Control1.Sbr".

  • TRAFFIC1.SBR

    NON-STANDARD This subroutine is called prior to calling the "Transfrs.Sbr" subroutine, which provides for the high level control of the transfers of loads from one conveyor position to another. These transfers are dependent upon (among other things) a permission bit being set.  In order to provide preference to one transfer over another, code should be included here to reset the permission bit of the opposing transfer until the favoured transfer has started.  The state of these bits is ignored once the transfer is in progress.

  • TRANSFRS.SBR

    SOFTWARE-WRITTEN This subroutine provides the high-level control of the conveyor software, deciding which transfers to start, whether they can run, processing their completion and checking that they complete in time.

    This subroutine makes calls to the series of software-written subroutines, "M___M___.Sbr", which each look after a straight run of transfers.  These subroutines make use of macros files from "RTransfer.Mac", while the subroutine "Transfrs.Sbr" makes use of macros files from "Devices.Mac".

    The "M___M___.Sbr" subroutines are created to structure the PLC code more conveniently and to avoid the PLC limitation on the number of labels in a single subroutine (256).

  • TRAFFIC2.SBR

    NON-STANDARD This subroutine is called after calling the "Transfrs.Sbr" subroutine, which provides for the high level control of the transfers of loads from one conveyor position to another. This subroutine is rarely implemented.  On the occasion it was implemented, it was used to drive the next conveyor motor in an instance where a conveyor load position was shared by two conveyors so that a door could operate between these conveyors in the centre of the position.

  • CONTROL2.SBR

    STANDARD This subroutine looks after recovering from load overruns on conveyors that have bidirectional control and overrun photocells at each end (typically shuttle cars, turntables and elevators).  It then combines these resulting conveyor requests with the requests from "Transfrs.Sbr" and "Traffic2.Sbr" and the manual requests from the Movement Controller in preparation for "Interloc.Sbr".

  • TRAFFIC3.SBR

    NON-STANDARD This subroutine is called after "Control2.Sbr" and prior to "Interloc.Sbr" to add to the conveyor requests from any hard-wired push-button control requests.

  • INTERLOC.SBR

    SOFTWARE-WRITTEN This subroutine takes the requests for conveyor motion and checks that they do not offend any interlocks. Some of these interlocks relate to devices on the conveyors and will be defined within "Devices.Mac".

  • CONTROL3.SBR

    STANDARD The subroutine "Interloc.Sbr" sets for each conveyor a forward and a reverse bit.  If you require a run and a reverse bit this subroutine can provide the conversion.  This subroutine is also responsible for summarising the status for reading by the Movement Controller.

  • OUTPUTS.SBR 

    SOFTWARE-WRITTEN This subroutine calls the device control macros from "Devices.Mac" to control the devices along the Heavy-Unit-Load Conveyor System, then takes the forward and reverse (or run and reverse) bits and maps these to the outputs.

You should refer to the sample subroutine files supplied and base your subroutines on these.

Graphical Representation

The topology of the Heavy-Unit-Load Conveyor System is derived from the data tables entered to define the Heavy-Unit-Load Conveyor System.  The topology is enhanced further by information within these tables, which indicates the number of loads on each conveyor, providing some indication of the length of each conveyor.

This is combined with the tables placing devices of varying types along and about the conveyor.  The definition of the device types provides the graphics to represent the device on the Heavy-Unit-Load Conveyor System.

From this information the system definition software makes a stab at generating the graphical representation of the Heavy-Unit-Load Conveyor System.  In most systems, however, a little stretching and pushing is required for the representation to more closely reflect the physical system.  This is particularly the case if one part of the system is isolated from the rest.

The image may also be rotated in 90 degree increments and the overview may be expanded in either or both the X (width) and Y (height) directions.

This stretching, pushing, rotating and expanding is not part of the system definition, but is carried out on the Heavy-Unit-Load Conveyors window. Refer to the section titled: "Heavy-Unit-Load Conveyors".

The rotating and expanding is individually set for each terminal on the system.

Windows may be assigned to specific conveyor positions, allowing these windows to called up by "zooming into" these conveyor positions.  To assign windows to conveyor positions for this function refer to the section titled: "Conveyors from which to Zoom".

Steps in the System Definition

The following is a sequence in which the Heavy-Unit-Load Conveyor System is most conveniently defined, however, in reality you will most likely be going back and forth between these points:

  •  1  
    Define any additional device types needed.
  •  2  
    Erase any previous definition.
  •  3  
    Enter the runs of conveyors.
  •  4  
    Define the rise-fall conveyors and set the number of loads to be accommodated by the longer conveyors.
  •  5  
    Set the destination values for the decision points.
  •  6  
    Place the devices on and about the Heavy-Unit-Load Conveyor System.
  •  7  
    Generate the software-written PLC code and the graphics.
  •  8  
    Review the non-standard PLC code and add device type macros as required.
  •  9 *
    Set the physical I/O addresses into "POCOLDME.ASC" using "POCOLDME.AIN".
  • 10  
    Compile the PLC source code.
  • 11  
    View the error listing if necessary
  • 12  
    Load the PLC code into the Movement Controller and execute it.
  • 13  
    Test the PLC code.
  • 14 *
    Import the PLC code into the Allen-Bradley programming software.
  • 15 *
    Download the PLC code to the PLC, connect the PLC to the Movement Controller and start commissioning.
  • 16 *
    During commissioning the times taken for transfers to complete are recorded to assist in tuning the system.
  • 17 *
    Once tuned, set the timer presets into "Presets.Mac", to save retuning in the case where the software generation needs to be repeated.

The above points flagged with an asterisk ('*') require software and/or hardware beyond the scope of the Movement Controller software and its host hardware.

Enter or Modify Device Types

This window is used to define the types of devices that may be used on the Heavy-Unit-Load Conveyor System.

The window will appear as shown overleaf:

Enter or Modify Device Types

This window has five selection windows, which will be displayed across the top of the main window. Of these selection windows, one will be active at any given point in time and one line from this selection window will be active.  The remainder of the main window, below these selection windows will be used to service the active line of the active selection window.

The five selection windows are:

  • DEVICE TYPES    
    lists the existing device types, which may be modified, and allows new types to be added.
  • DEVICE'S ALARMS 
    lists the existing alarms for the active device type, which may be modified, and allows new alarms to be added to the device type.
  • DEVICE'S OUTPUTS
    lists the existing outputs for the active device type, which may be modified, and allows new outputs to be added to the device type.
  • DEVICE'S INPUTS 
    lists the existing inputs for the active device type, which may be modified, and allows new inputs to be added to the device type.
  • CONDITIONS      
    lists the existing conditions for the active group of inputs for this device type, and allows new conditions to be added to the device type's group of inputs.  A group of inputs commences with the first in sequence to have no conditions set for it and ends with the first to have conditions set for it (in fact set for the group).  If each input has one or more conditions set, then each group of inputs comprises a single input.

For each device type, a number of alarms, a number of outputs and a number of inputs may be defined.  The inputs may be viewed independently or in groups, in either case, for each input or group of inputs, a number of conditions may be defined.  These windows are used to define these device types, alarms, outputs, inputs and conditions.

Navigating the Selection Windows

The active window is identified by its surround being highlighted.  The next or previous windows may be made active by typing either [RIGHT] or [LEFT] respectively.

The line pointer may be moved up or down using [UP] and [DOWN] respectively.

These navigating features also correspond to push-buttons presented at the bottom of the window, and so are also available using the letters "R", "L", "U" and "D" in place of [RIGHT], [LEFT], [UP] and [DOWN] respectively.

The selection window and line may be selected by clicking on it.  Also a pointer may be moved up and down, or the window scrolled by clicking on the selection window frame immediately above or below the pointer.

In the area beneath these windows the data relating to the active line of the active window will be displayed.  In most cases, this data will be a list of database fields, however, in the case of the fifth window, the overview and zoomed images corresponding to the active condition will be presented.

Modify, Add and Cancel Lines

No matter which window is open, lines may be modified, added or cancelled (deleted) by typing "M" (or [ENTER]), "A" (or [INSERT]) or "C" (or "D" or [DELETE]) respectively. A line may also be modified by double clicking on it.

If an attempt is made to delete a line, a check is first made to ensure that the line is not in use.  If it is in use, you will be presented with a message such as "Record is referenced by database number 145 - "Device's type"".

Otherwise you will be presented with the message "Are you sure? Press F1 to confirm intention to DELETE ... STRIKE A KEY".  If you strike any key other than [F1] the line will not be deleted, otherwise it will be.

When modifying or adding lines in the first four windows, you will need to enter a number of data fields, depending upon which window you are adding lines to.

When modifying or adding lines to the "Conditions" window, a new window will be presented allowing you to define the condition and the graphic images used to represent this condition on the overview and zoomed Heavy-Unit-Load Conveyor Systems.

Defining the Device Type

When a line from the "Device Type" window is selected for modification, the area below the windows will display the details corresponding to the device type.  These may now be edited.

The data you need to enter to define the device type, prior to defining the alarms, outputs, inputs and graphics, is:

  • The name of the device type

  • The device type code.  This is a two character code to which is appended first the conveyor position designation (minus its first character - maximum of four characters) then the four (for alarms) or three (for outputs and inputs) characters to identify the alarm, output or input.  In the case of inputs an additional character, "I", will appended to represent the image of the input transferred to a bit file, While in the case of outputs, a "1" will be appended to represent the manual control from the Movement Controller to turn the output on and a "0" will be appended to represent the manual control to turn the output off.

    You can create "null devices" by leaving this field blank.  If you do so, there is little point in filling in the remaining fields nor in creating alarms or outputs for the device type.  The purpose of "null devices" is to be able to place fixed images on the window at points where there are no real devices defined.  You will need to create a single input for these types of devices; what you enter in the fields is unimportant, however it is better to enter something so that the entry can be seen.  You will then need to create an image for the input, specifying "X" as the condition value.  These steps are described, in general, in the subsequent sections.

  • Will the device require the load to pause? This is a single digit in the range 0 to 3 and is interpreted as described in the section titled: "Heavy-Unit-Load Conveyor Device Pause Need".

  • The name of the declarations macro, if any.  If devices of this type require bits, words or timers to be associated with them and referenced by non software-written PLC code, or by multiple macro definitions for the device type, then the declarations for these data elements need to be included in a macro file, which is to be invoked in the "Configur.Mac" file so that the element is globally accessible.

    On the other hand, if the element is only referenced within a single macro definition, it may instead be declared within that macro definition, not requiring a separate macro for its definition.

    Macro definitions of this type are introduced with the string "#Macro XXXXXXXXXX( DeviceName )" where "XXXXXXXXXX" is the name you have entered into this field.  The body of the macro will have entries such as "#Declare Bit DeviceName1234;" where "1234" are the last four characters of the declared element's symbol.  The remainder of this symbol is passed to the macro when it is invoked and will consist of the device type code and the conveyor position designation (minus its first character).

    The macro must be terminated, as with all macros, by "#EndM".

  • The name of the source transfer macro, if any.  If there are conditions for which a load should remain at the device's conveyor position and not move on (other than the general safety interlocks associated with this type of device), then these conditions should be stated in the source transfer macro and its name should be entered here.

    For example, in the case of an alignment bar, such a condition would be that the load has not been aligned yet.

    Macro definitions of this type are introduced with the string "#Macro ALIGNPERM( DeviceName, ConveyorName, Number, Position, Control, Reverse)" where "ALIGNPERM" is the name you have entered into this field. The invocation might be something like, "ALIGNPERM( AB89A, M89, 89, A, 1, 0)".

    The "AB89A", the "DeviceName", to which must be appended alarm, input, output or other one to four character codes, to form data element symbols.

    The "M89", the "ConveyorName", is the name of the conveyor, where as the "89 is the name of the conveyor minus its first character.  The "A" represents the position along the conveyor at which the device is positioned, which is appended to the "ConveyorName" to form the name of the conveyor position.

    The "1", the "Control", can be either "1", "2" or "3", to indicate to the macro definition whether the invocation is on behalf of the conveyor position itself ("1"), a rise-fall at this conveyor position ("2") or a rise-fall somewhere else along the conveyor.

    The "0", the "Reverse", can be either "0" or "1", to indicate to the macro definition whether the invocation is referring to the normal forward ("0") operation of the conveyor or its reverse ("1") operation.

    The body of the macro would generally have data element references "and"ed or "or"ed together and sandwiched between "#<" and "#>" pairs.  An example could be "#< DeviceNameLBKI && DeviceNameRBKI #>"

    The macro must be terminated, as with all macros, by "#EndM".

  • The name of the destination transfer macro, if any.  If there are conditions under which a load should not start to transfer into the device's conveyor position, (other than the general safety interlocks associated with this type of device), these conditions should be stated in the destination transfer macro and its name should be entered here.

    For example, in the case of a scissor lift, such a condition would be that the lift is up (or down as appropriate) before the load may enter.

    This condition is, unlike the source transfer macro, a basic interlock, which can not be circumvented with manual control.  If not satisfied, the corresponding conveyor will be able to run, however, a conveyor feeding this will only be able to run so long as the photocell at the head of the conveyor is clear.

    These macros have a similar definition to the source transfer macro.

  • The name of the conveyor interlock macro, if any.  If there are conditions related to this type of device, under which the conveyor associated with the device should not be allowed to run, these conditions should be entered here.

    For example, in the case of an alignment bar, such a condition would be that the alignment bar is back (retracted).

    This condition is a basic interlock, which can not be circumvented with manual control.  If not satisfied, the corresponding conveyor will not be able to run.

    These macros have a similar definition to the source transfer macro.

  • The name of the device control macro, if any.  This macro is necessary if devices of this type have, associated with them, alarms or outputs.  In this macro you will need to define the logic controlling this type of device, and generating alarms from its behaviour.

    It is in this macro that automatic control, manual control and interlocks for devices of this type are all to be specified.

    Macro definitions of this type are introduced with the string "#Macro TURNTABLE( DeviceName, ConveyorName, Number, Position)" where "TURNTABLE" is the name you have entered into this field.  The invocation might be something like, "TURNTABLE( TT89A, M89, 89, A)".

    The "TT89A", the "DeviceName", to which must be appended alarm, input, output or other one to four character codes, to form data element symbols.

    The "M89", the "ConveyorName", is the name of the conveyor, where as the "89 is the name of the conveyor minus its first character.  The "A" represents the position along the conveyor at which the device is positioned, which is appended to the "ConveyorName" to form the name of the conveyor position.

    The body of the macro may be quite elaborate.  You are best to refer to examples of such macros already developed.

    The macro must be terminated, as with all macros, by "#EndM".

  • The name of the device emulation macro, if any.  This macro is needed if devices of this type have inputs and you need to provide logic to simulate these devices to test your code.

    These macros have a similar definition to the device control macro.

  • The remaining macros are in anticipation of future software that will be used to perform more efficient bulk control of the all devices of a given type.  These should not be filled in for the time being.

For each macro name specified, the corresponding macro definition should be written to the "Devices.Mac" file.

Macros are formally described in the section titled: "Macros".

Defining the Device Type's Alarm

When a line from the "Device's Alarms" window is selected for modification, the area below the windows will display the details corresponding to the selected alarm for the selected device type.  These may now be edited.

Unless the device is an abnormally complex device, such as a pallet detierer or perhaps a destacker, only a single alarm would be required for devices of the type.

The data you need to enter to define an alarm for the device type is:

  • The four character code to be appended to the device name to form a symbol to uniquely identify this alarm bit.

  • The name used to describe this alarm in the above window.  This is of no importance beyond this window.

  • The remainder of the PLC address comment for the data element representing the alarm.  This consists of three lines of ten characters. The full address comment is composed of the symbol (the first line), the name of the device (the second line) and then this text.

    For example, if the four character code were "2SLO", and the device type code were "SD", and the text entered for this field was

    
    "too slow  to reach  the top"

    , then after system generation, the address comment for this alarm at conveyor position M89A would be:

    
    
         SD89A2SLO
          SD89A
         too slow
         to reach
         the top  

    Refer also to the section titled: "Heavy-Unit-Load Conveyor Device I/O Comments".

  • The text presented in the alarm window when this alarm is raised.  Within this text should be a per cent sign ("%"), which will be replaced by the device names when the system is generated.

    For example, you could enter "Scissor lift % failed to rise in the time allowed".  When the system is generated, a number of alarms will be created such as "Scissor lift SD89A failed to rise in the time allowed".

  • The type of alarm.  Alarms may be grouped into generic types, which have generic text defined to advise the operator what the problem is likely to be and what action should be taken to remedy the fault.  You can either reference a previously defined type, or create a new generic type. For editing instructions for these types of fields, please refer to the sections titled: "Symbolic Name", and "Fault Assistance".

Defining the Device Type's Output

When a line from the "Device's Outputs" window is selected for modification, the area below the windows will display the details corresponding to the selected output for the selected device type.  These may now be edited.

The data you need to enter to define an output for the device type is:

  • The three character code to be appended to the device name to form a symbol to uniquely identify this output bit.  Appended again to this will be a "1" or a "0" to uniquely identify the manual control to turn on or off this output bit.

  • The name used to describe this output in the above window.  This is of no importance beyond this window.

  • The remainder of the PLC address comment for the data element representing the output and its manual control bits.  This consists of three lines of ten characters, as in the case of the similar field in the definition of the alarms.

  • The text for the top and lower lines of the push buttons used to effect the manual turning off or on of this output.  There is no obligation to enter this data if you do not require manual control for this output.

  • Whether the manual controls for this output should be latching or momentary-action.

    On the other hand, if there are several outputs, you may only need to define these buttons for some of these outputs.

    The Movement Controller will set the manual control bits in response to the operator typing the key corresponding to the first letter in the top line of the push-button. What this bit does is under control of the device control macro, which you are to write.

Defining the Device Type's Input

When a line from the "Device's Inputs" window is selected for modification, the area below the windows will display the details corresponding to the selected input for the selected device type.  These may now be edited.

The data you need to enter to define an input for the device type is:

  • The three character code to be appended to the device name to form a symbol to uniquely identify this input bit.  Appended again to this will be an "I" to describe the image of the input copied to a bit file. This should be the bit your macros refer to, rather than the actual input, so that the emulation macro can be effective.

  • The name used to describe this input in the above window.  This is of no importance beyond this window.

  • The remainder of the PLC address comment for the data element representing the input and its bit file image.  This consists of three lines of ten characters, as in the case of the similar field in the definition of the alarms.

Defining the Device Input's Condition

The image to be displayed for a group of inputs is determined by matching the state of the group with values set in this window, then presenting the corresponding image.

The order in which the conditions are listed is significant if several may satisfy a single combination of the states of the inputs.  In creating the image, the conditions matching the input states are executed from the top of the list, so those lower down may overwrite those above.  If you need to rePosition a condition, highlight it then type "P".  You may then raise or lower the record using the [UP] and [DOWN] keys (or "U" and "D") to relocate it.  Once you have reached the new location among the conditions, type "P" (or [ESCAPE]) to finish the rePositioning of this record.

To enter the data for a condition, a new window is presented, with four areas.  These areas are titled:

  • Condition Matching   
    specifying the input states
  • Overview Colour      
    setting the colour for the overview image
  • Graphical Overview   
    setting the pixels for the overview image
  • Graphical Mode Zoomed
    specifying the shapes and colours for the zoomed image

The window will appear as shown overleaf:

Enter or Modify Device Types -- Input's Condition

The cursor keys may be used to move the highlight to other areas.

Once the area to be edited is highlighted, you will need to type "M" or [ENTER] before you can commence to edit the area.

The overview and zoomed images are normally shown beside the corresponding conveyor representation.  These images can also be overlaid on their corresponding conveyor images by typing "O".  To turn this feature off, type "O" a second time.  While this feature is on the "OVERLAY CONVEYR" push-button will be highlighted.

The navigating features also correspond to push-buttons presented at the bottom of the window, and so are also available using the letters "R", "L", "U" and "D" in place of [RIGHT], [LEFT], [UP] and [DOWN] respectively.

The highlight may be moved from area to area by clicking on the area.  Double clicking on an area selects it for modification.

Specifying Device Condition Matching

When defining these device types, a number of inputs can be grouped together to select a graphic image to reflect the implied condition.  This group of inputs can be represented by a number of such images, depending upon which "condition" their state currently reflects.  Refer to the section titled: "Heavy-Unit-Load Conveyor Device Condition".

When at least one condition has been defined for an input, its description in the "Device's Inputs" window will be shown white.  Otherwise its description will be shown yellow.  If while in the "Device's Inputs" window you move the line pointer down past, say, two yellow inputs to the next line, then move across to the "Conditions" window, the conditions you then add to or modify within the window will apply to the group of inputs including the active input and the yellow inputs above it.

After selecting a condition for modification or adding a new condition, the first information you will be required to enter is what state or states each input in the group should be in to match the condition and cause the images you are about to define to be displayed on the Heavy-Unit-Load Conveyors diagram.

Corresponding to each input you can specify either "0", "1" or "X" to imply that the input must be 0, 1 or anything respectively to match the condition.

The [UP] and [DOWN] keys may be used to specify the input to be matched. By then typing "1" (or [ENTER]), "0" or "X" the condition value may be set to "1", "0" or "X" respectively. You can also specify the input by clicking on it, and set and set the condition value by double clicking to cycle through the three possibilities.

Once you have set the condition values for each input in the group, type "E" (or [ESCAPE]) to exit from editing the condition-matching specification.

Overview Image Colour

To define an image to be presented on the overview in the event of this condition being matched, you need to first select a colour for this image. To do this, move the highlight to the colour selection area, then type [ENTER].  Then specify the colour by its purpose, and type [ENTER].

This selection is not by the name of the colour but by the purpose the colour serves, such as to indicate that a device is in automatic.  This allows the colour scheme to be more easily adjusted.  This purpose is a "Symbolic Name" field. For editing instructions for this type of field, please refer to the section titled: "Symbolic Name".

To familiarise yourself with the purposes for the colours, refer to the section titled: "Changing the Colours".

Once the name of the purpose has been typed in, type [ENTER] to confirm this as the colour and exit from specifying the overview image's colour.

Overview Image Pixel Editing

The next step in the definition of the overview image is to define the four pixel maps, each containing sixteen rows by eight pixels.  Each map corresponds to a possible orientation of a conveyor.

After moving the highlight to this area, type [ENTER].  The text "LEFT" will be highlighted, below the pixel representation for the image used when the conveyor is orientated on the window so that its forward direction is left.

You can use the "L", "R", "U" and "D" to highlight the text corresponding to the alternate orientations, left, right, up and down respectively.  The cursor keys may also be used, though not with their natural function; typing [LEFT], [RIGHT], [UP] and [DOWN] will call up, directly and respectively, the orientations, left, right, up and down.

After highlighting the text of an image, the pixel map may be edited by typing "M" (or [ENTER]).  In response, the "MODIFY PIXELS" push-button is highlighted and a new window is created, in which each pixel is represented by a sixteen-by-eight pixel character, either a solid block or an "X" or a space.

To edit these pixels, refer to the section titled: "Heavy-Unit-Load Conveyor Device Character".

Once a pixel map has been defined, this map may be copied to memory (presented in the centre of the square defined by the four orientations) by typing "C".  Any other pixel map can then be set to the map in the memory or exchanged with it by, first, highlighting the other orientation, then typing "G" to get the pixel map from the memory, or "S" to swap its pixel map with that in the memory.

When done modifying the pixel maps for the overview images, type [ESCAPE] to exit from editing the overview pixel maps.

Zoomed Image Editing

To create the zoomed image, we need to enter the specification of a number of shapes to be presented within a conveyor load position cell.  These cells each measure sixty-four pixels by sixty-four pixels.

These specifications are presented on subsequent lines within the "Graphical Mode Zoomed" area.  After pressing [ENTER], the first specification will be highlighted and the shape corresponding to this will be shown in black rather than its specified colour, unless its specified colour was black, in which case it will be shown in white.  The full details of this specification will be shown in a new area at the top left of the window.

There are up to eight details associated with each specification.  The first four are mandatory and consistent for all shapes and are:


"Shape"
"Colour"
"X Coordinate"
"Y Coordinate" 

The available shapes are circles, characters, lines, rectangles, semi-circles, numbers, and bargraphs.  For circles and semi-circles, the x and y coordinates refer to the centre from which they are generated, while for characters and numbers, they refer to the upper left corner of the character, for rectangles and bargraphs, they refer to one corner and, for lines, they refer to one end.

Circles

For circles, the remaining details are the radius and thickness.  The thickness should be less than or equal to the radius, and if equal to it will result in a solid circle.

Characters

For characters, the remaining details are the ASCII code for the character in hexadecimal (extended ASCII characters refer to the IBM PC extended character set), and the thickness for each logical pixel.  The characters are defined in sixteen rows by eight pixels, setting the thickness to 1 will present a character this size, to 2, twice this size, to 3, three times et cetera.

Lines

For lines, the remaining details are the coordinates for the other end of the line and the thickness of the line.  If the thickness is other than 1, lines will be thickened to the left, looking from the first coordinates towards the second.

Rectangles

For rectangles, the remaining details are the coordinates for the opposite corner.  Rectangles are always orientated with their sides parallel to the borders of the window.

Semi-Circles

For semi-circles, the remaining details are as per circles, plus a direction, which is either left, up, right or down.

Numeric Display

For semi-circles, the remaining details are the number of digits, the number of decimal places and the base.

Bargraph

For bargraphs, the remaining details are as per rectangles, plus a direction, which is either left, up, right or down, and a maximum value, which, if negative, implies bidirection presentation.

With unidirectional (not bidirectional) presentation, the bargraph will represent "0" and negative values as a line across the end of the defined rectangle, perpendicular to the nominated direction, while it will present positive values as a rectangle, extending from this line in the direction nominated.

With bidirectional presentation, the bargraph will represent "0" as a line across the centre of the defined rectangle, perpendicular to the nominated direction, while it will present positive values as a rectangle, extending from this line in the direction nominated, and negative values as a rectangle, extending in the opposite from this line direction.

Change or Add Specifications

The highlight may be moved to other listed specifications using the [UP] and [DOWN] keys (or "U" and "D").  To edit an existing specification, highlight the specification then type "M" (or [ENTER]).  To add a new specification, type "A" (or [INSERT]).  In either case you will be presented with the form to fill in to define the shape.

The highlight may be moved by either clicking on the image of the specification or the line corresponding to this image. If the position clicked is shared by more than one specification's image, subsequent clicks will cycle through these specifications. Double clicking will enable you to edit the specification.

After changing or adding a specification, the image display will be updated to reflect this.

Conveniently Add Text Strings

Type "L", or click on "Letters".  In response, a dialogue window will be opened, requesting the colour in which they are to be presented (a "Symbolic Name" field), the coordinates at which the string will start (both "Numeric" fields), the size of the letters (1 to 4, a "Numeric" field), the string of letters themselves (a "Name" field), and whether you want this string to replace all other letters currently defined for this condition (a "Character" field).

After entering this information, the image display will be updated to reflect this.

Reordering Image Specifications

The order in which the specifications are listed is significant if there is an overlap between them.  In creating the image, the specifications are executed from the top of the list, so those lower down may overwrite those above.  If you need to rePosition a specification, highlight it then type "P".  You may then raise or lower the record using the [UP] and [DOWN] keys (or "U" and "D") to reposition it.  Once you have reached the new location among the specifications, type "P" (or [ESCAPE]) to finish the rePositioning of this record.

The specification to be repositioned may be changed by either clicking on the image of the specification or the line corresponding to this image. If the position clicked is shared by more than one specification's image, subsequent clicks will cycle through these specifications.

Relocating the Entire Image

Should you need to shift (horizontally or vertically) or rotate the image you have constructed, consisting of several shape specifications, first type "S" for "SHIFT IMAGE", then type "L", "R", "U", "D" or "9", corresponding to moving the image left, right, up, down and rotating the image by 90 degrees respectively.  Alternatively, typing [LEFT], [RIGHT], [UP] and [DOWN] will call up directly and respectively the shift directions, left, right, up and down.

Had you requested to shift the image (as distinct to rotating it) you will then be prompted to enter the number of pixels by which the image is to be moved.  Once you enter this number, the specifications will be adjusted accordingly and the image will be redisplayed in this new position.

On the other hand, had you requested to rotate the image, the specifications would have been adjusted.  When rotating the image, characters are not rotated.

The effect of typing "S" remains in force, so to make further adjustments, simply type "L", "R", "U", "D" or "9", again then, if required, enter the distance.

When done relocating the image, type "E", [ESCAPE] or [ENTER], to return to the editing of the specifications.

Duplicating Images

Often, the images for one condition may form a convenient basis from which to build the images for another condition of the same inputs or a condition of an entirely different set of inputs.  By typing "F", you can have these images recorded.  In response the "FLAG ALL IMAGES" push-button is highlighted, while the "GET FROM FLAGGED" push-button remains darkened.

Initially the "GET FROM FLAGGED" push-button was darkened because no images were flagged.  It is now darkened because the flagged images are its own.

If you were to exit the entering of data for this condition and select an alternate condition (or create one), you will find that the "FLAG ALL IMAGES" push-button is no longer highlighted, while the "GET FROM FLAGGED" push-button is highlighted.  By typing "G" at this time, the condition matching specification will be reset and the colours and images will be set to be identical to those flagged.

Fast Definition of Conveyor System

This window provides a more efficient method of entering the tables upon which the Heavy-Unit-Load Conveyor System definition is based.  The results of this exercise are written to two tables (one for the conveyors and one for the transfers between conveyor positions), which can be directly accessed by the "Enter or Modify the Conveyors" window and the "Enter or Modify the Transfers" window.

One of the steps in this section is merely to provide access to the "Enter or Modify the Conveyors" window at the appropriate point in the system definition.  At this stage you will be referred to the documentation of this window for further instruction.

Below is a rough text-representation of this window:

Fast definition of conveyors HELP ESCAPE:exit The fast definition of the conveyor system is accomplished through these steps: STEP 1 Erase any previous system definition. STEP 2 Enter the runs of conveyors, beginning with the rear conveyor in each run. If transfers are to occur in both directions, repeat starting at the other end and work backwards. It is best to do all transfers for all conveyors with a given orientation before moving onto those with another orientation. STEP 3 Enter the number of loads which can be accommodated by each conveyor, where this number is other than one, then stipulate where the rise-fall conveyors are located. You should at this stage specify which conveyors are elevators. When setting a conveyor as an elevator, it may be necessary to lower its level and, if so, move its "1st Position" to its "2nd Position". STEP 4 Set the destination numbers for the points at which there are alternative paths open to a load. A transfer can be enabled if the load's destination is one of up to six specified numbers or else all but one of the specified numbers. STEP 5 Enter the user-definable devices, specifying the device type, associated or nearest conveyor and its distance from it. When complete, go to the "Create, edit, compile and execute" display.

The first step, if you are starting a new system definition, is to erase any previous system definition.

Having done this, the next step is to enter the runs of conveyors, beginning with the rear conveyor in each run.

The next step uses the "Enter or Modify the Conveyors" window to enable you to provide further detail on some of the conveyors.

The fourth step runs you through the decision points in the system, so that the destination numbers may be set.  When loads move about the Heavy-Unit-Load Conveyor System, they are tracked with a word of data. Contained in this word is the destination for the load.  When it reaches a decision point, the Heavy-Unit-Load Conveyor System is to send it one way or the other depending on the value it carries.  What you need to do at this point is to provide the basis upon which the Heavy-Unit-Load Conveyor System will make its decision.

The final step is to enter the miscellaneous devices along the Heavy-Unit-Load Conveyor System.  These devices are any other than elevators, turntables and rise-fall conveyors.  In this sense, an elevator is a device that takes a load from conveyors on one level to conveyors on another level.  If your system does not have conveyors passing above others, it is better to represent the Heavy-Unit-Load Conveyor System on a single level, with no elevators - only scissor lifts.

To use this window you may type the step number, or click or use the [UP] and [DOWN] keys to highlight the desired step number then type [ENTER], or double click on the desired step number.  Subsequently, after exiting the step, the highlight will be advanced to the next step in the process.

When you have completed all the steps of this window, you are ready to generate the system, edit the file, "POCOLDME.AIN", and any PLC source code files, then compile the software, then load the software into the emulator and execute it.  At this stage you should refer to the section titled: "Create, Edit, Compile and Execute".

Erase System Definition

This is the first step in the process and will erase all the information in the conveyor and transfer definition tables.

Below is a rough text-representation of this window:

Erase system definition Erase definitions <E/N>a N

To confirm that you indeed intend to erase these tables, enter "E". Otherwise type [ESCAPE] or enter "N".

This is all that this step entails.

Enter Run of Conveyors

This is the second step in the process and it is here that the bulk of the information for the conveyor and transfer definition tables is provided.

Enter the Details of Rear Conveyor

You are first prompted to enter the name of the rear conveyor in a run of conveyors.  Should you enter a blank field, you will leave this step.  This is the usual method of finishing; instructions to this effect are presented at the base of the window.

The conveyor name may have up to four characters.  The first character is used to identify it as a conveyor (usually "C" or "M") and the subsequent three characters to uniquely identify this conveyor from other conveyors.

These three characters will also be appended to the one or two characters used to identify a device type to form a device name.  You should bear this in mind to ensure that the resulting conveyor and device names can not be confused.

After entering the conveyor name, the software checks to see if the name already exists or not.  If it does not, it will create a new entry in the conveyor definition table with this conveyor name, otherwise it will call up the existing entry.

Below is a rough text-representation of this window:

Rear conveyor Details - M047 Conveyor number a Conveyor level <1/2> 1 Fwd direction <N/S/E/W>a S One-way or Reversible <O/R>a O Single or Dual speed <S/R>a S Contactor feedback <N/F>a N Isolated if open, ... s Overloaded if open, ... s ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

You are presented here with a "Set of Fields" presenting some of the information required for the definition of the conveyor.  Refer to the section titled: "Set of Fields".

This "Set of Fields" includes the conveyor name (a unique "Name" field), the level of the Heavy-Unit-Load Conveyor System ("1" or "2") on which the conveyor resides, the nominal orientation of the conveyor - north, south, east or west - whether the conveyor is capable of running in reverse, whether the conveyor is capable of slow speed, whether the conveyor has a contactor feedback input allocated to it, (these are all "Character" fields), and the input identifications for the isolated and overload indications (both "Symbolic Name" fields). For editing instructions for these types of fields, please refer to the sections titled: "Name", "Symbolic Name", and "Character".

This system supports conveyors on two levels, allowing conveyors to pass over one another.  Unless your system requires this, enter "1" as the conveyor level.

The nominal direction does not need to relate to true/magnetic/geographic north, the top of the drawing is a good enough approximation for this purpose.  The system really needs only to establish at which angle each conveyor is running with respect to the others.

You need only specify that a conveyor is reversible, if it is not used in this way in automatic operation.  If the automatic operation requires the conveyor to be reversible, the system definition will discover this soon enough.

If the conveyor has no input to monitor its isolator, then you should leave this field blank or enter "No corresponding input".

If the conveyor has an explicit input all to itself for the monitoring of its isolator, then if this input is on when the isolator is off (isolating) then you should enter "Contact closed for condition", otherwise enter "Contact open for condition".

If the conveyor shares this input with a number of other conveyors in the zone, then your entry should uniquely identify the name of the zone, with a "Z" (case unimportant) followed by two digits, not include the string of characters "open" (again case unimportant) unless the input being off indicates that the isolator is off.  An example would be "Z22:M22-25 isolated if opend".  It is not necessary for the "Z22" to appear at the start, however it would prove more convenient if it is there.

The same applies to the overload indication field.  If both the isolated and overload inputs are zoned, you may use the same zone names for each however the strings entered should not be identical unless the same logic also applies.

Select Forward or Reverse Transfers

Having filled in this information, you will be asked whether you are entering the run in the forward direction of the conveyors.  This is normally the case when starting the definition and always the case if there are no transfers requiring the conveyors to run reverse.  Enter "F" for forward or "R" for reverse accordingly.

You will now see the conveyor name you had just entered appear at the top left of the window.

Enter Names of Subsequent Conveyors

You are now asked to enter the name of the next conveyor in the run of conveyors.  Enter the name of the conveyor that is fed directly from this conveyor.  This question will be repeated each time it is answered, and the sequence of previous answers will progress across the top of the window from the left.

Below is a rough text-representation of this window:

Defining a run of conveyors M047 Enter the runs of conveyors, beginning with the rear conveyor in each run. To end a run, make a blank entry; a blank entry as the rear conveyor exits. If transfers run in both directions, repeat starting at the other end and work backwards. It is best to do all transfers for all conveyors with a given orientation before moving onto those with another. Next conveyor in the run a M046 ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ HELP ││ ESCAPE: exit │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Once you reach a turntable, you should not enter the conveyor that it feeds unless it feeds this conveyor without needing to turn; if it feeds two conveyors, enter the name of the conveyor it will feed without needing to turn.

Once you reach an elevator, you should not enter the conveyor that it feeds unless it feeds this conveyor at this level; if it feeds two conveyors, enter the name of the conveyor it will feed at this level.

Each conveyor in the run inherits most of the information entered for the first conveyor in the run.

Ending the Run of Conveyors

Once you reach the end of a run, make a blank entry.  In response, the window will be cleared and you will again be asked to enter the rear conveyor of a run of conveyors.

Repeat for the Next Run

Repeat this as often as necessary to define all the strings of conveyors.

Must Be Turntable or Elevator

As each conveyor is entered the software checks whether it knows anything about it and, is so, whether it is prepared to believe what you have entered.  Should it have found a conveyor in a north-south run, which you are now entering in an east-west run, you will be asked to confirm that the conveyor is a turntable.  Should it have found a conveyor on level two that you are now entering on level one, you will be asked to confirm that the conveyor is an elevator.

Ending the Last Run of Conveyors

When you have entered the last of the conveyors in the last of the runs, enter a blank conveyor as the next in the run and another blank conveyor as the rear conveyor of the next run.  In response you will exit from entering the runs of conveyors, ready for the next step.

Multi-Load Two-Way Conveyors Notes

If a conveyor, with accumulation for more than one load, has a rise-fall anywhere along its length, it is assumed to require an index in the forward direction.  You should bear this in mind when deciding which will be the forward direction for a reversible conveyor.  Hence, if you require a reversible conveyor to index loads in one direction, you should nominate this direction as the forward direction.

Please note that bidirectional indexes are not allowed for as yet.

Conveyor Lengths and Rise-Falls

This is the third step in the process.  As a result of the previous step, the system definition now has a number of strings of conveyors, with little idea of how to interconnect these strings (unless the Heavy-Unit-Load Conveyor System makes extensive use of turntables).

The most important phase of this step is to tie these strings together.  These strings are physically tied together by the rise-fall conveyors; so what needs to be done is to enter against the rise-fall conveyors the names of the conveyors (and the position along the conveyor) on which they are located.

If there are conveyors in the system with accommodation for a number of loads, this information must be entered.

If there are conveyors for which the information associated with the head conveyor of their run does not apply, then the information for these conveyors should be adjusted accordingly.

For detailed instructions for using this window, refer to the section titled: "Enter or Modify the Conveyors".

When you have made the required modifications, type [ESCAPE] to exit from entering the conveyor lengths and rise-falls, ready for the next step.

Enter Destinations for Decision Points

This is the fourth step in the process and runs you through the decision points in the system, so that the destination numbers may be set.

When loads move about the Heavy-Unit-Load Conveyor System, they are tracked with a word of data.  Contained in this word is the destination for the load.  When it reaches a decision point, the Heavy-Unit-Load Conveyor System is to send it one way or the other depending on the value it carries.  What you need to do at this point is to provide the basis upon which the Heavy-Unit-Load Conveyor System will make its decision.

When you enter this window the software will search the system definition for the first decision point and display the records from the transfer definition file for this point.  Refer to the section titled: "Enter or Modify the Transfers".

Below is a rough text-representation of this window:

Enter destinations for decision points HOME: first conveyor END: last PG UP: previous conveyor PG DN: next 23 C065 C064 A 140 C063 C63X A Destinations for conveyor C065 Conflicting destination numbers Source conveyor C065

The source conveyor in each of these records will either be the same or the source conveyor in one of these will prove to be a rise fall upon the other.

The conveyor at which the decision point lies will be indicated at the lower left of the window, and the software's verdict on the currently specified set of destination numbers will be indicated to the lower right.

Each of the competing transfers have associated with them a set of destination numbers that will need to match a load at the source for the transfer to start.  There should be no intersection of these sets of numbers and the union of these set should represent all possible destination numbers.

The set of numbers may be specified explicitly, by setting the "All but/Destinations" field to "D" for destinations, then entering the numbers of the set into the next six fields.

Alternatively, the set of numbers may be specified implicitly, by setting the "All but/Destinations" field to "A" for "all but", then entering the numbers not included in the set into the next six fields.

There will normally be one transfer in each competing set with the set of numbers specified implicitly and the others specified explicitly.

Initially, there would be no destination numbers set and the "All but/Destinations" field would be set to "A".  The resulting verdict would be that there are "Conflicting destination numbers" as all sets would contain all numbers.

If there are destination numbers not covered by any of these competing transfers, the resulting verdict would be that there are "Missing destination numbers"

To remedy the situation, select one of these records and fill in the "All but/Destinations" and the "Destination 1" to "Destination 6" fields appropriately.  Had you not selected the last of these records, once you complete the entry for the record, the next will be presented.

Below, once suitable entries have been made, is a rough text-representation of this window:

Enter destinations for decision points HOME: first conveyor END: last PG UP: previous conveyor PG DN: next 23 C065 C064 A 11 140 C063 C63X D 11 Destinations for conveyor C065 Destination numbers are satisfactory Source conveyor C065

Once you have set all decision points you will exit from this window.  You can exit this window earlier by typing [ESCAPE].

Enter or Modify the Devices

This is the final step in the process, allowing you to place devices of previously defined device types along the Heavy-Unit-Load Conveyor System.

This is a "Maintenance Viewing Data" window that lists each of the devices on the Heavy-Unit-Load Conveyor System (other than elevators, turntables and rise-fall conveyors).

Below is a rough text-representation of this window:

Enter or modify the devices Select Change Restrict Where Match Expand Insert First Last 1-nine 1|Emergency Stop |C207 | 1|L|1 ^ 2|Stretch Wrapper |C273 | 1|R| █ 3|Forklift Loop |C202 | 1|B|1 █ 4|Stretch Wrapper |C280 | 1|R|1 █ 5|Stretch Wrapper |C210 | 1|R|1 █ 6|Stretch Wrapper |C226 | 1|R|1 █ 7| | | 1| | █ 8| | | 1| | █ 9| | | 1| | █ 10| | | 1| | █ 11| | | 1| | █ 12| | | 1| | █ 13| | | 1| | █ 14| | | 1| | █ 15| | | 1| | █ 16| | | 1| | █ 17| | | 1| | █ 18| | | 1| | █ 19| | | 1| | V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Devices Device's type Emergency Stop

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the device type, the conveyor (both "Symbolic Name" fields) and the position along the conveyor with which the device is associated (a "Numeric" field), whether it is to the left, right, ahead of or behind the position (a "Character" field) and, if so by how many load positions. For editing instructions for these types of fields, please refer to the sections titled: "Symbolic Name", "Symbolic Numeric", and "Character".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Device types - 1 Device's type t Emergency Stop Device's conveyor number a M39 Device pos'n (1=rear)<1-256> 1 L/R/Ahead/Behind <L/R/A/B>a R Distance from conveyor <0-9> 1 ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

If a device has no inherent attachment to a conveyor, it must still reference the conveyor as the naming of the device and the position at which it is presented on the window - not just the impact of its interlock macros - is dependent on this information.

For more information on the definition of the devices, refer to the section titled: "Enter or Modify Device Types".

When you have entered the last of the devices, type [ESCAPE] to exit from entering the devices.

Enter or Modify the Conveyors

This is a "Maintenance Viewing Data" window that lists each of the conveyors.  These records define each conveyor by describing its features and setting its place in the system with respect to the other conveyors.

Below is a rough text-representation of this window:

Enter or modify the conveyors Select Change Restrict Where Match Expand Insert First Last C006|S|1|C008 | 1| |O|S|N| |C069 | 2| 1 ^ C007|N|1| | 1| |O|S|N| |C069 | 1| 1 █ C008|S|1|C010 | 1| |O|S|N| | | 1| 1 █ C010|S|1|C019 | 1| |O|S|N| | | 1| 1 █ C011|E|1|C012 | 1| |O|S|N| |C010 | 1| 1 █ C012|E|1|C013 | 1| |O|S|N| | | 1| 1 █ C013|E|1|C014 | 1| |O|S|N| | | 1| 1 █ C014|E|1|C015 | 1| |O|S|N| | | 1| 1 █ C015|E|1|C016 | 1| |O|S|N| | | 1| 1 █ C016|E|1|CR17 | 1| |O|S|N| | | 1| 1 █ C017|N|1| | 1| |O|S|N| | | 1| 1 █ C018|N|1|C017 | 1| |O|S|N| | | 1| 1 █ C019|S|1|C021 | 2| |O|S|N| | | 1| 1 █ C021|S|1| | 1| |O|S|N| |C022 | 1| 1 █ C022|E|1|C023 | 2| |O|S|N| | | 1| 1 █ C023|E|1|C028 | 2| |O|S|N| | | 1| 1 █ C024|S|1| | 1| |O|S|N| | | 1| 1 █ C025|S|1|C024 | 1| |O|S|N| | | 1| 1 █ C026|S|1|C025 | 1| |O|S|N| | | 1| 1 V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Conveyor definition Conveyor number C006

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes

  • the conveyor's name (a unique "Name" field),
  • its nominal orientation (a "Character" field),
  • the level on which it is (a "Character" field),
  • the conveyor to which it delivers its loads, without turning or rising,
  • the number of loads it may accommodate (a "Symbolic Name" field),
  • whether it is required to pack its loads tight (a "Character" field) (normally when delivering loads to a conveyor with accommodation for multiple loads, both conveyors will run until the source photocell has been cleared; if this flag is set there will need to be a reverse stop photocell at the rear of the accumulation - the destination - and the destination will not start until it is blocked.  Similarly, when retrieving loads from a conveyor with accommodation for multiple loads, both conveyors will run until the source photocell has been cleared; if this flag is set there will need to be a forward slow photocell at the rear of the destination, and the accumulation - the source - will stop as soon as it is blocked),
  • whether it must dispense its loads singly (a "Character" field) (transfers between conveyors with equal accommodation for loads, will usually involve all loads being transferred as one; if this flag is set the loads will instead be transferred singly),
  • whether it is capable of reversing (a "Character" field),
  • whether it is capable of dual speed (a "Character" field) (for the dual speed to be implemented, slow-down photocells will need to be fitted; if this flag is set, these photocells will be assumed to be fitted),
  • whether there is an input for its contactor feedback (a "Character" field),
  • whether it is a regular conveyor, a turntable or an elevator (a "Character" field),
  • whether it is a rise-fall, and if so, which conveyor it is on (a "Symbolic Name" field),
  • if it is a rise-fall, where along the conveyor it is (a "Numeric" field),
  • if it is a rise-fall, which position along it is to rise and fall (a "Numeric" field) (normally a rise-fall conveyor has only accommodation for a single load, however some have been encountered with accommodation for two loads that pivot at one end),
  • if it is a turntable or elevator, the other conveyor, if any, to which it delivers its loads (a "Symbolic Name" field),
  • how its isolator is monitored (a "Symbolic Name" field),
  • how its overload is monitored (a "Symbolic Name" field) and
  • whether it needs to communicate with the Movement Controller for each load (a "Numeric" field) (the Movement Controller will need to interact with the Heavy-Unit-Load Conveyor System at the infeeds and outfeeds - other than interfaces to the cranes - and where certain devices are fitted - e.g.  sizing stations - and will need to identify each of these positions with a unique number, this number).

For editing instructions for these types of fields, please refer to the sections titled: "Name", "Symbolic Name", "Symbolic Numeric", and "Character".

The bulk of this information is usually entered via the fast definition of the Heavy-Unit-Load Conveyor System. Please refer to the section titled: "Fast Definition of Conveyor System", and in particular, its subsection "Conveyor Lengths and Rise-Falls".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Conveyor - C006 Conveyor number a C006 Fwd direction <N/S/E/W>a S 1 Conveyor delivers to a C008 Number of loads <1-256> 1 One-way or reversible <O/R>a O S N R/F at conveyor a C069 2 1 Conveyor position 2 fwd a Isolated if open, ... s Overloaded if open, ... s Computer index number <0-63> ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Enter or Modify the Transfers

This is a "Maintenance Viewing Data" window that lists each of the transfers between conveyors.  These records define each transfer by referencing the source of the transfer, the destination (if different from the source - i.e. not just indexing a load along the conveyor) and specifying the destination numbers the load must possess to be conducted by the transfer.

Below is a rough text-representation of this window:

Enter or modify the transfers Select Change Restrict Where Match Expand Insert First Last 1-nine 1|C202|C205|A ^ 2|C205|CR05|A █ 3|C203|C204|A █ 4|C204|CR04|A █ 5|C209|C210|A █ 6|C210|C211|A █ 7|C211|C212|A █ 8|C212|C213|A █ 9|C213|C214|A █ 10|C214|C215|A █ 11|C215|CR16|A █ 12|C218|C219|A █ 13|C219|C220|A █ 14|C220|C221|A █ 15|C221|C222|A █ 16|C222|C223|A █ 17|C223|C224|A █ 18|C224|CR25|A █ 19|C052|C053|A V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Transfers Source conveyor C202

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the source conveyor, the destination conveyor (both "Symbolic Name" fields), and the set of the destination numbers of which a load's destination must be a member to be conducted by this transfer (a "Character" field and six "Numeric" fields). For editing instructions for these types of fields, please refer to the sections titled: "Symbolic Name", "Symbolic Numeric", and "Character".

The bulk of this information is usually entered via the fast definition of the Heavy-Unit-Load Conveyor System.  Please refer to the section titled: "Fast Definition of Conveyor System" and in particular, its subsection "Enter Destinations for Decision Points".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Transfer - 61 Source conveyor a C165 Destination conveyor a C105 All but/Destinations <A/D>a A Destination 1 <0-31> 13 14 20 ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Enter or Modify the P.E. Placement

This is a "Maintenance Viewing Data" window that lists each of the conveyor positions at which the photocell arrangement is not according to that automatically generated by the code generation phase (please refer to the section titled: "Create, Edit, Compile and Execute" and in particular, its subsection "Create PLC Code and Operator Interface").

Below is a rough text-representation of this window:

Enter or modify explicit P.E. placements Select Change Restrict Where Match Expand Insert First Last MA01 | 1|---------Slow>>>>>------------- ^ MA02 | 2|------------->>>>>SlowStop----- █ MB01 | 1|------------->>>>>------------- █ MB21 | 1|------------->>>>>------------- █ MB21 | 2|------------->>>>>SlowStop----- █ MB22 | 1|------------->>>>>------------- █ MB23 | 1|Clear-------->>>>>------------- █ MC01 | 1|------------->>>>>------------- █ MD01 | 1|------------->>>>>------------- █ MMA1 | 1|-----Stop---->>>>>Slow--------- █ MMA1 | 2|------------->>>>>----StopClear █ MR02 | 1|ClearStop---->>>>>Slow--------- █ MR02 | 2|------------->>>>>Slow--------- █ MR02 | 3|------------->>>>>Slow--------- █ MR02 | 4|------------->>>>>Slow--------- █ MS11 | 1|Clear----Slow>>>>>------------- █ MS11 | 2|------------->>>>>SlowStop----- █ MS12 | 1|------------->>>>>------------- █ Ms13 | 1|-----StopSlow>>>>>------------- V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Explicit photocells Conveyor for explicit pes a MA01

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the conveyor (a "Symbolic Name" field), the position along the conveyor (a "Numeric" field, "1" represents the rear of the conveyor), and the photocell arrangement (a "Photocell Arrangement" field). For editing instructions for these types of fields, please refer to the sections titled: "Symbolic Name", "Numeric", and "Photocell Arrangement".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Explicit P.E. configurations - 1 Conveyor for explicit pes a MA01 PE cnv pos'n (1=rear)<1-256> 1 Photocell arrangement ---------Slow>>>>>------------- ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Enter or Modify Explicit Device Alarm

This is a "Maintenance Viewing Data" window that lists each of the device alarms for which explicit text needs to be set.  The definition of the system depends on associating all devices to a conveyor position, and the alarm text so generated is referencing the device in this way, which may not be appropriate for devices whose only association with the conveyor is due to placement rather than control.  This list allows you to sppecify more appropriate text for such alarms.

The default alarm text is automatically generated by the code generation phase (please refer to the section titled: "Create, Edit, Compile and Execute" and in particular, its subsection "Create PLC Code and Operator Interface").  This text is contained in the file "alarms.asc".

Below is a rough text-representation of this window:

Enter or modify explicit device alarm Select Change Restrict Where Match Expand Insert First Last Access Gate |NOKY|MA01 | 4|Key (s) is missing from the maintenance/operator^ Access Gate |NOKY|MA01 | 5|The key is missing from the forklift access gate█ Access Gate |NOKY|MD01 | 5|The key is missing from the western gate █ Access Gate |NOKY|MDE2 | 1|The key is missing from the eastern gate █ Access Gate |OPEN|MA01 | 4|The dock-side maintenance/operator's access gate█ Access Gate |OPEN|MA01 | 5|The forklift access gate is open █ Access Gate |OPEN|MD01 | 5|The western access gate is open █ Access Gate |OPEN|MDE2 | 1|The factory-side maintenance/operator's access g█ Access Gate |OPEN|MDE2 | 5|The eastern access gate is open █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Explicit alarms Explicit alarm device type t Access Gate

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the device type and the conveyor (both "Symbolic Name" fields), the alarm code (a "Name" field, which must match the alarm code field of an alarm defined for the nominated device type), the position along the conveyor (a "Numeric" field, "1" represents the rear of the conveyor), and the text for the alarm (a unique "Name" field). For editing instructions for these types of fields, please refer to the sections titled: "Name", "Symbolic Name", and "Numeric".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Explicit alarm definition - 1 Explicit alarm device type t Access Gate Explicit alarm code a NOKY Conveyor 4 explicit alarm a MA01 Conv posit'n (1=rear)<1-256> 4 Device alarm text s Key (s) is missing from the maintenance/operator ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Create, Edit, Compile and Execute

Before entering this window, you should have specified any new device types required, then filled in the conveyor and transfer definition files.  Refer to the sections titled: "Enter or Modify Device Types", and "Fast Definition of Conveyor System".

This window is intended to guide you through the remaining steps involved in the creation of the PLC code and operator interface.

Below is a rough text-representation of this window:

Create, edit, compile and execute HELP ESCAPE:exit After defining the conveyor system, it is necessary to process the definition to create the PLC code and the Operator Interface. STEP 1 Generate the source code for the PLC code compiler, the symbols for the inputs and outputs for the PLC code (these will need to be assigned to the actual I/O by editing XXXXXXXX.AIN to XXXXXXXX.ASC), the remaining symbols for the PLC code, the text for the alarms, the names for the conveyors and the Heavy-Unit-Load Conveyors diagram. STEP 2 THIS STEP IS OPTIONAL. At this stage you may edit the PLC source code. Do not make changes to the files marked as generated by the computer as these files will be overwritten. You will need to edit the source code to set traffic control algorithms and to write code not directly associated with the conveyor system. You may also use a text editor on these files. STEP 3 Compile the PLC source code to generate the ".PC5" file which may be imported to the A-B programming software as well as this software. STEP 4 THIS STEP IS SKIPPED IF NO COMPILATION ERRORS. Here the contents of the error log (contained in the ".LOG" file) may be viewed. STEP 5 For the purpose of testing or running without an A-B PLC5, you may load the compiled PLC code (the ".PC5" file) into the software and have it executing.

To use this window you may type the step number, or click or use the [UP] and [DOWN] keys to highlight the desired step number then type [ENTER], or double click on the desired step number.  Subsequently, after exiting the step, the highlight will be advanced to the next step in the process.

Overview of the Steps

There are five steps involved in the creation of the PLC code and the operator interface, once the definition has been entered.  These steps are

  • 1
    Generation of PLC source code and mimics from definitions
  • 2
    Editing PLC I/O tables and source modules
  • 3
    Compiling of PLC source code
  • 4
    Listing compilation errors
  • 5
    Loading and emulating the PLC code
Overview of the Generation Step

The first step is to instruct the software to take the definition tables and from these generate the PLC source code and the symbols for the PLC inputs, outputs, and other data elements.  The software will also take these tables to generate the operator interface, by setting the text for the alarms, the names for the conveyor positions and the graphics for the Heavy-Unit-Load Conveyors diagram.

Overview of the Editing Step

One of the files produced in the first step is "POCOLDME.AIN".  This file needs then to be copied into the file, "POCOLDME.ASC", and have the I/O addresses inserted in it.  The file, "POCOLDME.ASC", may contain, as well as the completed "POCOLDME.AIN" file, the symbols and corresponding address comments for any symbols you have created in the file, "POCOLDME.boo", and the ".SBR" files.

Because of improvements to the syntax enable you to set the address comments for symbols when they are declared in the boolean source code files ("POCOLDME.boo", and the ".SBR" files), you are discouraged from using "POCOLDME.ASC" for any purpose other than to contain the I/O addresses and address comments.

You may, when adding the symbols corresponding to non I/O points, include the data element address if you do not want the system definition to assign them.

The format of the file, "POCOLDME.ASC", is the same as the Allen-Bradley symbol export, ".TXT", files.

At this time you might also need to modify the "Devices.Mac" file and the standard PLC source code modules, and, perhaps, to write some non-standard PLC modules.

The requirements for these modules have been described in previous sections; refer to the sections titled: "Enter or Modify Device Types", and "Fast Definition of Conveyor System".

The syntax of the PLC source code is provided in this section to assist in the development of these modules, though the sample modules should also be of considerable assistance.

Overview of the Compilation Step

The third step is to compile this code to create the file, "POCOLDME.PC5" (or "POCOLDME.SLC") containing the Allen-Bradley exported version of the PLC-5 (or SLC-500) code and the file, "POCOLDME.TXT", containing the Allen-Bradley exported symbol table.

Overview of the Listing Step

If errors are encountered in the third step, they can be examined in the fourth step.  Otherwise you should advance to the fifth step.

Overview of the Loading Step

The fifth step enables you to load the Allen-Bradley exported version of the PLC-5 (or SLC-500) code and to execute it in the simulation environment.  The execution of the code may be monitored via the Heavy-Unit-Load Conveyors diagram and the display and adjust PLC memory window.  Refer to the sections titled: "Heavy-Unit-Load Conveyors", and "Monitor and Adjust the PLC Memory".

Syntax of the PLC Source Code

The main functions of the PLC code compiler are to take a program containing symbolic references to data items and macro definitions and allocate data file elements to these references, expand the macro references and produce code in a form suitable for import into Allen-Bradley PLC programming software.

There is a strong correspondence between the source code and the exported code, once the macros have been expanded and the symbols translated.

This documentation assumes that you are familiar with Allen-Bradley PLCs, their programming, the programming software's import/export functions and the format of these files.  If you are not familiar with any of this, you are referred to the manufacturer's documentation.

In processing the PLC source code, the case of all letters is ignored.

The following description will follow the order in which essential statements should appear in the PLC source code and then describe the remaining features.

Program Header

The first statements needed are to specify the type of PLC the software is to be compiled for.

PLC-5 Series

When producing software for a PLC-5 series programmable controller, the first line of an exported ".PC5" file must contain a line similar to "START PLC5_40 SERIES_C REV_D COMPLETE".  To instruct the compiler to produce this line, your source code should begin with the following statement:



Target PLC is a "PLC5_40 SERIES_C REV_D"

For further explanation of this statement, you should refer to the PLC manufacturer's documentation.

The compiler also tries to match the text specified as the "target PLC" to an entry in the "ab_plcs.dat" file.  If it succeeds, it will extract the size of the I/O image tables and the status files from this entry.  It needs to match more than the first four characters of the entry and will be deemed to match the entry with which it has the longest match.

Therefore it is not necessary for this file to have every series and every revision listed unless the series and revision do not impact on the sizes of the I/O and status files.

The format of entries in this file corresponding to a PLC-5 series programmable controller, are similar to the following:



PLC5_40 SERIES_A REV_A  > Plc5 I:177 S:127

This entry begins with "PLC5_40 SERIES_A REV_A", which describes the programmable controller - matching the above example with 15 characters. The greater-than sign (">") delimits this field.  This delimiter should be followed by "Plc5" (using this capitalisation), with nothing but spaces between.  This is then followed, in any order, by the designation of the last word in the inputs file and the status file.  The input file words are addressed in octal, while the status file words are addressed in decimal.

The "ab_plcs.dat" file is to be located in the directory specified by the "KTxD Path" configuration data item.  Refer to the section titled: "Configuration Data".

SLC-500 Series

When producing software for an SLC-500 series programmable controller, the first line of an exported ".SLC" file must contain a line similar to "START 1747-L542A".  To instruct the compiler to produce this line, your source code should begin with the following statement:



Target PLC is a "1747-L542A"

Following this statement needs to be the definition of the racks and the I/O cards contained therein.  These statements need to be in the same form as expected by the ".SLC" file.  An example would be:



RACK 1 1746-A7
RACK 2 1746-A7
SLOT 1 1746-IA16 SCAN_IN 1 SCAN_OUT 0
SLOT 2 1746-IA16 SCAN_IN 1 SCAN_OUT 0
SLOT 3 1746-IA16 SCAN_IN 1 SCAN_OUT 0
SLOT 4 1746-IA16 SCAN_IN 1 SCAN_OUT 0
SLOT 5 1746-IA16 SCAN_IN 1 SCAN_OUT 0
SLOT 6 1746-IA16 SCAN_IN 1 SCAN_OUT 0
SLOT 7 1746-OW16 SCAN_IN 0 SCAN_OUT 1
SLOT 8 1746-OW16 SCAN_IN 0 SCAN_OUT 1
SLOT 9 1746-OW16 SCAN_IN 0 SCAN_OUT 1
SLOT 10 1746-OW16 SCAN_IN 0 SCAN_OUT 1
SLOT 11 1746-OW16 SCAN_IN 0 SCAN_OUT 1

For further explanation of these statements, you should refer to the PLC manufacturer's documentation.

The compiler also tries to match the text specified as the "target PLC" to an entry in the "ab_plcs.dat" file.  If it succeeds, it will extract the size of the status file from this entry.  It needs to match more than the first four characters of the entry and will be deemed to match the entry with which it has the longest match.

Therefore it is not necessary for this file to have every series and every revision listed unless the series and revision impact on the size of the status file.

The format of entries in this file corresponding to a SLC-500 series programmable controller, are similar to the following:



1747-L542A > Slc500 S:96

This entry begins with "1747-L542A", which describes the programmable controller - matching the above example with 11 characters.  The greater-than sign (">") delimits this field.  This delimiter should be followed by "Slc500" (using this capitalisation), with nothing but spaces between.  This is then followed by the designation of the last word in the status file.  The status file words are addressed in decimal.

The "ab_plcs.dat" file is to be located in the directory specified by the "KTxD Path" configuration data item.  Refer to the section titled: "Configuration Data".

Program Tail

In the case of PLC-5 processors (as distinct from the SLC-500 series), as well as a header, the resulting PLC instructions import file will need a "tail", which provides considerable information for the processor, to which I am not privy.

The tail is to be contained in a file with the same stem as the main PLC source code file, with the extension ".cfg", that is "POCOLDME.cfg".

The best way to generate this file is to use the Allen-Bradley software to write a minimal program for the desired processor, and export the processor memory, then edit the resulting file and copy everything from the line starting with "FORCE" to the ".cfg" file.

Failure to provide such a file will result in an error message during compilation, and should you attempt to load the resulting import file into a processor, you will have difficulty configuring the inputs and outputs.

Setting the Ladder File's Name

The main PLC source code file ("POCOLDME.boo") is compiled to form ladder program file 2.  The name this file is given is specified in the program name statement.  When you come to write the subroutines, you will need to provide a similar statement to set the name for their ladder program file.

The syntax of the program name statement is:



program_name_statement = text "program_file_name[comment]"
text                   = any sequence of characters excluding
                         double quotation marks ("""); it is
                         discarded.
program_file_name      = a letter, followed by up to nine
                         letters, digits, or an underscore ("_")
comment                = a backslash character ("\") followed by
                         a sequence of characters, not including
                         a double quotation mark ("""),
                         providing four lines by ten characters
                         of address comment.  The backslash
                         character can be used to terminate the
                         ten character line without padding it
                         out to ten characters, otherwise each
                         "line" is assumed to start after each
                         set of ten characters. 

Examples of such a statements are:



Program Name is "MAIN"

and

Program Name is "Initialise\should be\called on\first scan"
Making the Emulator's Task Easier

When Allen-Bradley PLCs execute arithmetical functions, certain flags are set within the processor's status file.  When these functions are executed by the Movement Controller, similar flags are set within the computer's microprocessor, however moving these flags to the simulated PLC status file is inefficient.

If your program does not make use of all these flags, better performance can be achieved from the emulator by including one or more of the following statements:



#NoSupportRequiredFor carry
#NoSupportRequiredFor zero
#NoSupportRequiredFor sign
#NoSupportRequiredFor overflow
Specifying Which Data Files to Use

When you come to declare miscellaneous data elements, you will be telling the compiler only what type of data element it is and providing it with a name.  The compiler will need to add an element to a suitable file and allocate that element to the declaration.

In order to select suitable files, you will need to tell the compiler which files to use for which types of data elements.

The syntax of the data file use statement is:



data_file_use_statement = #Use data_file_type  file decimal
data_file_type          = [ bit | timer | counter
                          | control | integer ]
decimal                 = a digit from one to nine followed by
                          any number of digits.

Examples of such statements are:



#Use bit file 3
#Use timer file 4
#Use counter file 5
#Use control file 6
#Use integer file 7 
Definition of Program Constants

If your PLC code makes reference to specific numbers, it is good practice to assign these numbers to symbols and to refer, instead to these symbols through your PLC code.

By doing this, if you need to change one of these numbers, it is conveniently located and needs only to be changed in a single place.  This also provides better documentation for your source code, as the number itself is largely meaningless.

The syntax of the program constant statement is:



program_constant_statement = #Assign INTEGER name value
name                       = a letter, followed by any number of
                             letters, digits, or the following:
                             "_", "$", "@", "`", "{", "}".
value                      = numeric_constant
numeric_constant           = [ decimal | binary | octal
                             | hexadecimal ]
binary                     = a zero followed by a "b" followed
                             by any number of "1"s and "0"s
octal                      = a zero followed by any number of
                             digits from zero to seven.
hexadecimal                = a zero followed by an "x" followed
                             by any number of digits or the
                             letters "a" to "f".

Examples of such statements are:



#Assign INTEGER StartTime                   1000
#Assign INTEGER TransferTimeLimit           1000
#Assign INTEGER TimeForPalletToPassPhotocell 650
#Assign INTEGER RiseFallTimeLimit            200
#Assign INTEGER TurntableOverdriveTime        50

The value of a program constant may be altered by a subsequent program constant statement, using the same name.

There is another form of the "assign" statement, where the text "DATA" replaces the text "INTEGER".  This statement is explained later in the section titled: "Setting Values into Data Elements".

Declaring Data Elements

All data elements used by your PLC code must be declared.  The declaration of data elements will either instruct the compiler to allocate a data element or to use the data element specified in the statement, then instruct the compiler what to call the data element, then, optionally provide a value to the data element.

If the data element is a timer or counter, any value supplied will be applied to the "preset" sub-element.

The syntax of the declaration statement is:



declare_statement = #Declare declarator declarator_list ;
declarator        = [ data_address | data_file_type ] { symbol }
                    { value { comment } }
declarator_list   = [ ,declarator declarator_list | ]
data_address      = PLC element address, e.g.  S:0/0
symbol            = a letter, followed by up to nine letters,
                    digits, or the following:
                    "_", "$", "@", "`", "{", "}".
value             = [ numeric_constant |
                      the name of a numeric_constant ]
comment           = a sequence of characters, not starting with
                    white space, not including a comma (",")
                    nor a semi-colon (";") unless preceded by a
                    backslash character ("\"), providing four
                    (three for elements with sub-elements)
                    lines by ten characters of address comment.
                    The backslash character ("\") can also be
                    used to terminate the ten character line
                    without padding it out to ten characters,
                    otherwise each "line" is assumed to start
                    after each set of ten characters. 

Examples of such statements are:



#Declare S:0/0 Carry;
#Declare S:0/1 Overflow;
#Declare S:0/2 Zero;
#Declare S:0/3 Sign;
#Declare S:1/1 RunMode;
#Declare S:1/2 TestMode;
#Declare S:1/3 ProgMode;
#Declare S:1/15 FirstScan;

#Declare Bit FreeFrSrc,ManLiftOK,FRunning,CRunning,AlarmOn;
#Declare Bit FB39ACO0,FB39ACO1,FB38ACO0,FB38ACO1,FB36ACO0;
#Declare Bit FB40ACO0,FB40ACO1,FB01ACO0,FB01ACO1,FB06ACO0;
#Declare Bit FB88ACO0,FB88ACO1,FB86BCO0,FB86BCO1,FB86ACO0;
#Declare Bit FB89ACO0,FB89ACO1,FB51ACO0,FB51ACO1,FB56ACO0;
#Declare Timer Starting StartTime System\start up\delay;
#Declare Timer AlarmT 500 Alarm\filter;

#Macro Alarm
#<B18#>
#EndM
#Declare Integer AlarmN 0 Index into\alarm file;
#Declare Alarm/[AlarmN] Next_Alarm 0 Next alarm\to report\to the\computer;

#Declare N15:11 ;

The declarations of "Starting" and "AlarmT" include address comments.

The last example includes no symbol, it is merely an instruction to the compiler to create a data file N15 of sufficient size to include the data element N15:11.

The second last example provides a symbol and comment for an indirect data element reference.  Here "Alarm" is a macro reference, which is translated as "B18".  For information on macros, please refer to the section titled: "Macros".

Setting Values into Data Elements

If when the variable was declared, you opted not to provide it with a value, you are able to set that value afterwards.

The syntax of the set data values statement is:



set_data_values_statement = #Assign DATA symbol value

Examples of such statements are:



#Assign DATA X001Watchd TransferTimeLimit
#Assign DATA X002Watchd TransferTimeLimit
#Assign DATA X003Watchd TransferTimeLimit
#Assign DATA X004Watchd TransferTimeLimit
#Assign DATA X005Watchd TransferTimeLimit
#Assign DATA X006Watchd TransferTimeLimit
Include Source Code from other Files

Source code for your program may also be written in files to be included in the main file so that standard modules can be referenced.  This is particularly useful when writing standard macro files, which you will want to use in many projects, or to interface to software-written modules.

The syntax of the include statement is:



include_statement = #Include filename
filename          = an MS-DOS file name

Examples of such statements are:



#Include Devices.Mac
#Include Configur.Mac
#Include Conveyor.Mac
#Include RTransfr.Mac
PLC Rung Statements

A PLC rung contains branches, with tests along the branches and, if the branch reaches the end of the rung, an output at the end of the branch.

The simplest test is the "examine input closed" instruction.  The following shows this instruction at the start of a rung in the ladder, export file and source code:



LADDER                 EXPORT             SOURCE CODE

║FirstScan             SOR XIC S:1/15     FirstScan&&
║ This is
║the first
║scan since
║PLC startd
║   S:1
╟───] [────
║     15

The "&&" shown in the above is only necessary if this is followed by another such test.

The next simplest test is the "examine input open" instruction.  The following shows this instruction away from the start of a rung in the ladder, export file and source code:



LADDER                 EXPORT             SOURCE CODE

 FirstScan             XIO S:1/15         !FirstScan&&
  This is
 the first
 scan since
 PLC startd
    S:1
────]/[────
      15

The simplest output instruction is the "output enable" instruction.  The following shows this instruction at the end of a rung in the ladder, export file and source code:



LADDER                 EXPORT             SOURCE CODE

  AlarmOn  ║           OTE S:1/15 EOR     .OTE.AlarmOn;
 An alarm  ║
 is present║
           ║
           ║
    B3     ║
────( )────║
      15   ║
Branches

The following illustrates the use of these instructions with branches in the ladder, export file and source code:



LADDER

║ FirstScan    Silence                                Siren    ║
║  This is    Alarm has                             Sound the  ║
║ the first      been                                audible   ║
║ scan since  acknowledg                              alarm    ║
║ PLC startd                                                   ║
║    S:1         B3                                   O:025    ║
╟┬───] [────┬────]/[───────────────────────────────┬───( )────┬╢
║│    15    │     16                               │    15    │║
║│ AlarmOn  │                                      │FlashLamp │║
║│An alarm  │                                      │Light the │║
║│is present│                                      │ flashing │║
║│          │                                      │dome light│║
║│          │                                      │          │║
║│   B3     │                                      │  O:025   │║
║└───] [────┘                                      └───( )────┘║
║     15                                                16     ║

EXPORT

SOR BST XIC S:1/15 NXB XIC B3/15 BND XIO B3/16 BST OTE O:025/15
NXB OTE O:025/16 BND EOR

SOURCE CODE

(FirstScan||AlarmOn)&&!Silence&&(.OTE.Siren||.OTE.FlashLamp);

From the above example, you can see how the ( ... || ... ) reflects the BST ... NXB ... BND construct in the export file and the branches in the ladder.  You should also note that there is no equivalent to the start of rung (SOR) and that the semi-colon (";") is used to represent the end of rung (EOR).

Test Instructions

Now all other PLC test instructions fit within this structure, replacing the bit reference (e.g. "FirstScan", "AlarmOn", "Silence") with their syntax.

The syntax for a multi-operand test instruction is:



test_instruction = operand .opcode. operand_list
operand          = [ symbol | data_address ]
operand_list     = [ operand { , operand_list } | ]
opcode           = a PLC three-character instruction mnemonic

Examples of such instructions are "CountSoFar.GRT.MaxNumber" and "M09ATag.MEQ.0xF,7".

Output and File Instructions

Now all other PLC output instructions fit within this structure, replacing the "output enable" instruction and its bit reference (e.g. ".OTE.Siren", "OTE.FlashLamp") with their syntax.

The syntax for non-assignment output instructions is:



output_instruction = .opcode. operand_list

Examples of such instructions are ".OTL. Siren", ".COP. #CStart:0, #CStarted:0, NConveyorWords" and ".TON. FStarting, 0.01, 500".  Note that current value (".ACC") operands are not needed.

The syntax for assignment style output instructions is:



assign_instruction = operand:= operand { .opcode. operand_list }

Examples of such instructions are "TTimeTaken := TWatchdog.ACC", and "M089Tag := M089Ident .OR. 7".

The PLC file output instructions are triggered by a true-to-false transition.  When coding these in the source code, the compiler will arrange for them to be triggered every scan.

Subroutines

The jump to subroutine (JSR) is a special output instruction, which is to be provided with the filename stem of the subroutine file as the first operand - in place of the ladder program file number.

To the filename stem will be appended ".SBR".  This file should contain the PLC source code for this subroutine.  The file will require a program name statement, then the text to specify the PLC instructions as per usual.

The first PLC instruction should be the subroutine (SBR) instruction if parameters are to be passed to the subroutine, while the last PLC instruction should be the return (RET) instruction if it is to return a result.

The first parameter, after the filename in the JSR instruction, is the number of parameters that are to be passed to the subroutine, whilst the actual parameters to be passed follow this.  Any further parameters beyond the number of parameters specified, are the variables that are to receive the results of the subroutine as returned by the RET instruction.

For example, consider the following two lines (which would be contained in different program files):



.JSR.TRIVIAL,5,1,2,3,4,5,N7:0,N7:1;

.SBR.N7:101,N7:102,N7:103,N7:104,N7:105&&.RET.6,7;

The first line calls the subroutine defined in the file "TRIVIAL.SBR", passing it five values: 1, 2, 3, 4, and 5.  The subroutine, defined in "TRIVIAL.SBR", places these five values respectively into registers: N7:101, N7:102, N7:103, N7:104, and N7:105.  The return instruction the places the values 6 and 7 into registers N7:0 and N7:1 respectively.

Jumps and Labels

The jump (JMP) and label (LBL) instructions each require a single operand, a name, which is used by the compiler to tie the jumps and labels together.  This name is used as the first line of the address comment for the label and is converted to a number when producing the export file.

The remainder of the address comment may be included with the LBL instruction, using the following syntax:



label_instruction = .LBL.name[comment]&&
comment           = a backslash character ("\") followed by a
                    sequence of characters, not including two
                    adjacent ampersand characters ("&&")
                    providing four lines by ten characters of
                    address comment.  The backslash character can
                    be used to terminate the ten character line
                    without padding it out to ten characters,
                    otherwise each "line" is assumed to start
                    after each set of ten characters. 
Instruction Shorthand

Rather than always using the three-character opcodes, the following equivalents are available:

  • *          
    (Multiply) is the same as ".MUL."
  • |          
    (Divide) is the same as ".DIV."
  • +          
    (Add) is the same as ".ADD."
  • -          
    (Subtract) is the same as ".SUB."
  • <          
    (LessThan) is the same as ".LES."
  • >          
    (GreaterThan) is the same as ".GRT."
  • = and ==   
    (EqualTo) is the same as ".EQU."
  • != and <>  
    (NotEqualTo) is the same as ".NEQ."
  • >=         
    (GreaterThanOrEqualTo) is the same as ".GEQ."
  • <=         
    (LessThanOrEqualTo) is the same as ".LEQ."
Unsupported or New Instructions

If you need to use an instruction that is unknown to the compiler, you should enclose the instruction, with its operands within double quotation marks (""").

Arithmetic Expressions

Arithmetic expressions may be entered in the standard way using the operators "*", "|", "+" and "-", along with the open and close parentheses "(" and ")".  The compiler will break these into individual PLC instructions, storing temporary results in a set of words it has set aside for this purpose.

The compiler will execute arithmetic expressions involving only program constants.  For example, given "X:=A+B*C" where B and C are program constants equal to 7 and 3 respectively, and X and A are data elements N7:3 and N7:2 respectively, the code produced will be "ADD N7:2 21 N7:3".

Normal rules of precedence apply.

The other option is to enclose the expression within double quotation marks and provide it as a parameter to the compute (".CPT.") instruction.

Allen-Bradley rules of precedence apply.

Boolean Expressions

This is very much the same as the branch construct introduced earlier. However, you are permitted to precede the expression with a "not" operator ("!").  The compiler will try to invert the expression appropriately, or, failing this, will create a rung to hold the expression, setting its result to a temporary bit it has reserved for this, then examining the temporary bit using an "examine input open" instruction in the rung in place of the expression.

For example, the compiler, given "!(A&&B||C&&D).OTE.F;" would first try to produce "(!A||!B)&&(!C||!D).OTE.F;", but failing this would produce the two rungs "!(A&&B||C&&D).OTE.Dummy;" and "!Dummy.OTE.F".

Whether it succeeds or fails in its first attempt depends largely on the complexity of the expression; in the above case it would be expected to have succeeded.

Precedence of Instructions

Precedence is not applicable to the following operators:

  • StartOfRung
    (SOR)
  • ContactClosed
    (XIC)
  • ContactOpen
    (XIO)
  • BranchStart
    (BST)
  • NextBranch
    (NXB)
  • BranchEnd
    (BND)
  • EndOfRung
    (EOR)

The instructions with the highest precedence (0) are the following:

  • Label
    (LBL)
  • Subroutine
    (SBR)
  • LimitedProcessing
    - "
  • OpenParenthesis
    - (
  • CloseParenthesis
    - )

The instructions with precedence 1 are the following:

  • Negate
    (NEG)
  • Integer
  • Sine
    (SIN)
  • Cosine
    (COS)
  • Tangent
    (TAN)
  • ArcCosine
    (ACS)
  • ArcSine
    (ASN)
  • ArcTangent
    (ATN)
  • ToDegrees
    (DEG)
  • ToRadians
    (RAD)
  • NaturalLog
    (LN )
  • LogBase10
    (LOG)
  • SquareRoot
    (SQR)
  • RaiseToPower
    (XPY)
  • Scale
    (SCL)

The instructions with precedence 2 are the following:

  • Multiply
    (MUL)
  • Divide
    (DIV)

The instructions with precedence 3 are the following:

  • Add
    (ADD)
  • Subtract
    (SUB)

The instructions with precedence 4 are the following:

  • Complement
    (NOT)

The instructions with precedence 5 are the following:

  • Mask
    (AND)

The instructions with precedence 6 are the following:

  • ExclusiveOr
    (XOR)

The instructions with precedence 7 are the following:

  • Set
    (OR)

The instructions with precedence 8 are the following:

  • EmbeddedAssign
    (:=)

The instructions with precedence 10 are the following:

  • Compare
    (CMP)
  • LessThan
    (LES)
  • GreaterThan
    (GRT)
  • Limit
    (LIM)
  • MaskedEquate
    (MEQ)
  • EqualTo
    (EQU)
  • NotEqualTo
    (NEQ)
  • GreaterThanOrEqualTo
    (GEQ)
  • LessThanOrEqualTo
    (LEQ)

The instructions with precedence 11 are the following:

  • Not
    (!)

The instructions with precedence 12 are the following:

  • And
    (&&)
  • OneShot
    (ONS)
  • OneShotRising
    (OSR)
  • AlwaysFalseInput
    (AFI)

The instructions with precedence 13 are the following:

  • Compute
    (CPT)
  • BinaryToBCD
    (TOD)
  • Output
    (MOV)
  • Clear
    (CLR)
  • MaskedMove
    (MVM)
  • BitDistribute
    (BTD)
  • Copy
    (COP)
  • Fill
    (FLL)
  • FileSearchAndCompare
    (FSC)
  • FileArithmeticLogic
    (FAL)
  • DiagnosticDetect
    (DDT)
  • ReadWriteMessage
    (MSG)
  • BlockTransferRead
    (BTR)
  • BlockTransferWrite
    (BTW)
  • OutputEnable
    (OTE)
  • Latch
    (OTL)
  • Unlatch
    (OTU)
  • MasterControlRelay
    (MCR)
  • TimeOn
    (TON)
  • TimeOff
    (TOF)
  • RetentiveTimer
    (RTO)
  • ResetTimerCounter
    (RES)
  • CountUp
    (CTU)
  • CountDown
    (CTD)
  • Jump
    (JMP)
  • JumpToSubroutine
    (JSR)
  • SubroutineReturn
    (RET)
  • ImmediateInput
    (IIN)
  • ImmediateOutput
    (IOT)
  • PauseEmulation
    (PAW)

The instructions with precedence 14 are the following:

  • Or
    (||)

The instructions with precedence 15 are the following:

  • NextParameter
    (,)

Be careful to distinguish between the "and", "or" and "not" instructions (Boolean instructions) and the "mask" ("AND"), "set" ("OR") and "complement" ("NOT") instructions (logical word instructions).

Examples of Instructions

The following are a set of examples, which provide at least one example per supported instruction.

EXAMPLE 1: The following source code:



Target PLC is a "PLC5_40 SERIES_C REV_E"

Program Name is "MAIN"

#Rem Emulation optimization controls:
#Rem #NoSupportRequiredFor carry
#NoSupportRequiredFor zero
#NoSupportRequiredFor sign
#NoSupportRequiredFor overflow

#Use bit file 3
#Use timer file 4
#Use counter file 5
#Use control file 6
#Use integer file 7

.JSR.Trivial,5,1,2,3,4,5,N7:0,N7:1;

generates:

SOR JSR 5 1 2 3 4 5 N7:0 N7:1 EOR

EXAMPLE 2: The following source code:



Program Name is "TrivialTst\trivial\demonstr'n\program"

#Declare Bit TestBit1 0 Test bit\number 1;
#Declare Bit TestBit2 0 Test bit\number 2;

.SBR.N7:101,N7:102,N7:103,N7:104,N7:105.OTE.TestBit1;

.LBL.Loop1\Destinat'n\for\subsequent\JMP&&
  (TestBit1&&!TestBit2||.AFI.)
      .JMP.Loop1;

.RET.6,7;

generates:

SOR SBR N7:101 N7:102 N7:103 N7:104 N7:105 OTE B3/0 EOR
SOR LBL 1 BST XIC B3/0 XIO B3/1 NXB AFI BND JMP 1 EOR
SOR RET 6 7 EOR

and sets the comments:

AC      3                   "TRIVIALTST TRIVIAL  DEMONATR'N PROGRAM"
AC      B3/0                " TESTBIT1  TEST BIT  NUMBER 1"
AC      B3/1                " TESTBIT1  TEST BIT  NUMBER 2"
AC      3:LBL1              "   LOOP1  DESTINAT'N   FOR    SUBSEQUENT
JMP"

EXAMPLE 3: The following source code:



Program Name is "TrivialInt\trivial\demonstr'n\interrupt\program"

#Declare Bit TestBit1 0 Test bit\number 1;
#Declare Bit TestBit2 0 Test bit\number 2;

.INT..IIM.I:7.0,7,1;

generates:

SOR INT IIM I:7.0 7 1 EOR

EXAMPLE 4: Miscellaneous instructions:



#Rem the following two lines are equivalent
N7:0:=N7:1;
.MOV.N7:1,N7:0;

#Rem the following two lines are equivalent
N7:0:=0;
.CLR.N7:0;

.MVM.N7:1,0x00F0,N7:0;
N7:0:=.NEG.N7:1;
F8:0:=.SIN.F8:1;
F8:0:=.COS.F8:1;
F8:0:=.TAN.F8:1;
F8:1:=.ASN.F8:0;
F8:1:=.ACS.F8:0;
F8:1:=.ATN.F8:0;
F8:0:=.DEG.F8:1;
F8:1:=.RAD.F8:0;
F8:0:=.LN.F8:1;
F8:0:=.LOG.F8:1;
F8:0:=.SQR.F8:1;
F8:0:=F8:1.XPY.F8:2;
27.LIM.N7:1,50     &&  N7:0:=N7:1.SCL.N7:2,N7:3;

#Rem the following two lines are equivalent
N7:1.GRT.0         &&  N7:0:=N7:1.MUL.N7:2;
N7:1.GEQ.0         &&  N7:0:=N7:1*N7:2;

#Rem the following two lines are equivalent
N7:1>0             &&  N7:2:=N7:0.DIV.N7:1;
N7:1.GRT.0         &&  N7:2:=N7:0|N7:1;

#Rem the following two lines are very similar
N7:1.LES.0         &&  N7:2:=N7:0.ADD.N7:1;
N7:1.LEQ.0         &&  N7:2:=N7:0+N7:1;

#Rem the following two lines are equivalent
N7:1<0 && N7:2==5  &&  N7:0:=N7:2.SUB.N7:1;
N7:1<0 && N7:2==5  &&  N7:0:=N7:2-N7:1;

B3/1.MCR.;
N7:0:=.NOT.N7:1;
N7:2.MEQ.0x00FF,12 &&  N7:0:=N7:2.AND.N7:1;
N7:0:=N7:2.OR.N7:1;
N7:0:=N7:2.XOR.N7:1;
.CMP."N7:0>=N7:2+N7:1" .CPT.N7:0,"N7:0-(N7:2+N7:1)";
.MCR.;

#Rem the following two lines show various forms of EQU and NEQ.
N7:1==N7:2 && N7:2=N7:3  && N7:3.EQU.N7:4 .OTE.N71_EQ_N74;
N7:1!=N7:2 && N7:2<>N7:3 && N7:3.NEQ.N7:4 .OTE.LORD_KNOWS;

B3/0  .ONS.B3/1        .OTL.B3/2;
B3/0  .OSR.B3/1        .OTU.B3/2;
.TOD.N7:1,N7:2;

.FRD.N7:1,N7:2;
.BTD.N7:1,4,N7:2,12,4;
.COP.#N7:1,N12:0,20;
.FLL.0,N12:0,20;
.FSC.N7:8,20,"#N12:0=5";
.FAL.20,#N12:0,"#N13:0.AND.N14:0";

.DDT.#N12:0,#N13:0,#N7:1,R6:0,320;
R6:2/FD                .OTE B3/0;

#Rem Write to me if you need details on this one: .MSG.

.BTR,04,1,3,R6:1,N7:1,1,N;
.BTW,04,1,3,R6:2,N7:2,1,Y;

B3/0                   .TON.T4:0,0.01,200;
B3/0                   .TOF.T4:1,0.01,200;
B3/0                   .RTO.T4:2,1.00,150;
B3/1                   .RES.T4:2;

.ONS.B3/0              .CTU.C5:0,200;
.ONS.B3/1              .CTD.C5:1,200;
!B3/2                  .RES.C5:1;

.IIN.45;
I:45/0&&I:45/1.OTE.O:23/0;
.IOT.23;

.PAW.;
Breaking Data Elements into Components

In order to make use of the indirect addressing features of the Allen-Bradley PLCs, it is convenient to be able to refer to the file number, word number and/or bit number of a data element.  The following constructs provide for this:

  • File_N(DataElemnt)
    returns the file number corresponding to data element "DataElemnt".
  • Word_N(DataElemnt)
    returns the word number corresponding to data element "DataElemnt".
  • Bit_N(DataElemnt) 
    returns the bit number corresponding to data element "DataElemnt".

For example, consider the following statements:



Declare N15:11/3 DataElemnt;
Declare Integer DataFileN File_N(DataElemnt);
Declare Integer DataWordN Word_N(DataElemnt);
Declare Integer DataBitN  Bit_N(DataElemnt);

These statements declare four data elements.  The last three, "DataFileN", "DataWordN" and "DataBitN", are declared within data file N7 and are set to the values, 15, 11 and 3 respectively.

Referencing Subroutines Outside of JSR

You may need to assign a subroutine file number to a PLC status variable in order for the PLC to call in response to, say, a power failure.  Use the construct "Program_N(ProgFile)" to obtain the PLC file number corresponding to the subroutine "ProgFile.SBR".

For example:

Declare S:29 FaultProg Program_N(FaultPrg) Fault\routine\program\file no.;

This provides the symbol, "FaultProg", for data element, S:29, along with four lines of comments, "Fault", "routine", "program", and "file no.", and sets its initial value to the program file used to hold the contents of "FaultPrg.SBR".

Remarks - Comments

You can instruct the compiler to ignore the remainder of a line of PLC source code by placing the text, "#Rem", at this point.

This is usually placed at the beginning of a succession of lines so that you can describe what you are trying to achieve in the following section of code.

Conditional Compilation

You can instruct the compiler to ignore certain areas of you source code depending on the values you have set in your program constants.

The structure of the conditional compilation is:



#If Boolean expression
   ...
   ...
   ...
#EndIf

or

#If Boolean expression
   ...
   ...
   ...
#Else
   ...
   ...
#EndIf

Conditional compilation may also be nested.  For example:



#If Boolean expression 1
   ...
   ...
   #If Boolean expression 2
      ...
      ...
      ...
   #EndIf
   ...
#Else
   ...
   ...
#EndIf

The Boolean expressions must contain only program constants (i.e. no references to the contents of data elements) as they are evaluated at compile time - not run time.  The Boolean expressions may include relational tests on the results of arithmetic expressions. For example:



#If Emulation && ButtLoadsTimeLimit<TransferTimeLimit-Window 

where "Emulation", "ButtLoadsTimeLimit", "TransferTimeLimit" and "Window" are all program constants

Repeated Compilation

You can instruct the compiler to create multiple instances of a section of your PLC source code.  This is not normally useful unless your repeated PLC source code can then instruct the compiler to produce something different each time.

For it to be able to do this it must know which iteration of the repeated code it is.  For this purpose, when the code is repeated, the compiler makes a program constant, "Iteration", available.  This constant will have the value 1 during the first incarnation of the code, 2 for the next and so on.  For example:



Repeat (NConveyors)

( Tag:Iteration<>0 && PE:0/Iteration ||
  Tag:Iteration==0 && !PE:0/Iteration ) &&
     ( .TON. PETimers:Iteration, 0.01, 1000 ||
       PETimers:Iteration/DN .OTE. Alarms:PEAlarms/Iteration);

#EndR

In the above example, the iterations work through a sequence of contiguous words, bits and timers.  In other applications, you may wish to work through a set of parameters that are not contiguous, however, their symbols have been defined using a common root and an incrementing identifer appended to this root.

Considering the above example, we might have a set of integers named "Tag1", "Tag2", et cetera, a set of inputs named "StopPe1", "StopPe2", et cetera, a set of timers named "PeTimer1", "PeTimer2", et cetera, and a set of alarms named "StopPeAl1", "StopPeAl2", et cetera.

When we are forming these symbols, within the "repeat", we need to place "Iteration" within a pair of question marks, so that the new repeat definition becomes:



Repeat (NConveyors)

( Tag?Iteration?<>0 && StopPe?Iteration? ||
  Tag?Iteration?==0 && StopPe?Iteration? ) &&
     ( .TON. PeTimer?Iteration?, 0.01, 1000 ||
       PeTimer?Iteration?/DN .OTE. StopPeAl?Iteration?);

#EndR

This use of question marks instructs the compiler, when expecting a symbol, to evaluate the following text as a program constant, convert that program constant to an ASCII string representing the value in base 10, then include the result within the symbol that is in the process of being extracted from the code.  This can be used with other program constants and outside "repeat" definitions.

The second question mark, in the above examples, is optional, as the end of the program constant would be suitably delimited anyway.  The second question mark is necessary where the program constant is to be imbedded within the symbol and is generally good practice.

Macros

Macros are templates for PLC source code, whereby the source code needed to control devices of the same type can be specified once for all devices of the type, then invoked individually for each device of the type.

The syntax for the macro definition header is:



macro_header = #Macro name { ( formal_parameter_list ) }
formal_parameter_list = [ formal_parameter
                          { , formal_parameter_list } | ]
formal_parameter      = a sequence of characters, starting with
                        a printable character and not containing
                        semi-colons, commas, close parentheses,
                        or end-of-line.

Following this header is the body of the macro definition.  Any sequence of characters within the body of the macro that matches a formal parameter will be replaced with the corresponding parameter from the macro invocation when the macro is invoked.

To avoid inadvertent parameter matching, your formal parameters should contain strings unlikely to appear naturally.  For example, you could prefix and suffix each formal parameter with, say, "$".

Should you need to break your formal parameter list up over several lines, a "new line" indication may be placed after the open parenthesis ("(") or after a comma (",") and a space - i.e. a space must appear between the comma and the "new line" indication.

The end macro instruction, "#EndM", is placed after the body of the macro, terminating the macro.

An example macro definition would be:



#Macro LOAD_STOP($DeviceName$,$ConveyorName$)
#Declare Timer $DeviceName$Timr;

($DeviceName$GO&&$DeviceName$UPI||
!$DeviceName$GO&&!$DeviceName$UPI)
   .TON.$DeviceName$Timr,0.01,StopWatchdog;

$DeviceName$Timr/DN.OTE.$DeviceName$WDOG;
(
   $ConveyorName$LAuto&&$DeviceName$GO||
   !$ConveyorName$LAuto&&!$DeviceName$GO0&&
      ($DeviceName$GO1||$DeviceName$GO)
   ).OTE.$DeviceName$GO;
#EndM

A corresponding macro invocation might be:



LOAD_STOP(LS014A,C014)

The resulting code generated would be:



#Declare Timer LS014ATimr;

(LS014AGO&&LS014AUPI||
!LS014AGO&&!LS014AUPI)
   .TON.LS014ATimr,0.01,StopWatchdog;

LS014ATimr/DN.OTE.LS014AWDOG;
(
   C014LAuto&&LS014AGO||
   !C014LAuto&&!LS014AGO0&&
      (LS014AGO1||LS014AGO)
   ).OTE.LS014AGO;

Due to the structure of the macro definition, the macro will normally contain end-of-line characters.  In some instances this can be undesirable, so in these instances you can restrict the extent of the macro body using the text, "#<" to set the start of the macro body and the text, "#>", to set the end of the macro body.

An example of such a macro definition would be:



#Macro SetDataTable($Name$,$Type$,$FileNumber$,$Length$)
   #Macro $Name$
      #<$Type$$FileNumber$#>
   #EndM
   #Declare $Name$:($Length$-1) ;
#EndM

A corresponding macro invocation might be:



SetDataTable(Tag,N,15,12)

The resulting code generated would be:



   #Macro Tag
      #<N15#>
   #EndM
   #Declare Tag:(12-1) ;

This resulting code also contains a macro definition and invocation, "Tag".  When this invocation is executed, the resulting code generated would be:



   #Declare N15:(12-1) ;

In this way we have created a name with which to refer to a PLC data file.

Evaluating Constants Earlier

Previously, we have advocated the use of the program constant statement, which assigns a name to a value, allowing you to use the name in place of the value throughout the PLC source code.  If, however, you pass this name to a macro invocation, it will be the name that replaces the formal parameter, not the value.

For example, consider the following program constant statements and macro invocation:



#Assign INTEGER FileNumber 15;
#Assign INTEGER FileLength 12;
SetDataTable(Tag,N,FileNumber,FileLength)

The resulting PLC code would be:



   #Declare NFileNumber:(FileLength-1) ;

The compiler will have no problem evaluating "(FileLength-1)" and coming up with the value 11, however it will have no idea of what to do with the entity "NFileNumber".  To overcome this situation, we prefix the parameter with the text "EVALUATE(" and suffix it with ")", so that the new invocation becomes:



SetDataTable(Tag,N,EVALUATE(FileNumber),FileLength)

The resulting PLC code would be:



   #Declare N15:(FileLength-1) ;

Note that the question mark construct, introduced in the section on the "repeat" definition, could also have been used to help out here.

The question mark and evaluate constructs are effective except within macro definitions; within macro definitions they are treated as text and stored with the definition ready to be executed when the macro is invoked.

Question mark constructs and evaluate constructs may be nested within other question mark and evaluate constructs, except that question mark constructs may not be nested, directly, within question mark constructs.  You may nest a question mark construct within an evaluate contstruct, which is in turn nested within a question mark construct.

Examples:



TagEVALUATE(_CN_+NTagsEVALUATE(_CN_)-1)<>0.OTE.Occupied;
Tag?_CN_+NTagsEVALUATE(_CN_)-1?<>0.OTE.Occupied;
TagEVALUATE(_CN_+NTags?_CN_?-1)<>0.OTE.Occupied;
Tag?_CN_+NTags?_CN_?-1?<>0.OTE.Occupied;

The first three, if "_CN_" and "NTags26" were, say, 26 and 4 respectively, would result in:



Tag29<>0.OTE.Occupied;

The final example would, in attempting to evaluate "_CN_+NTags", raise an error, complaining that "NTags" had not been declared.  It would probably follow this with several other warnings.

Embedding Macro Calls into Symbols

Your program may contain a range of symbols that are based on a common stem, which, in turn, may also contain an identifying number.  Consider, for example, a number of shuttles, 1, 2, and 3, which might be known as, "SHS11B", "SHS21B", and "SHS31B", which each have a number of variables associated with them, which are identified using these stems with various "tails", such as, "AtDE", "LdRq", and "UlRq".

You may need to construct the symbol for a given input, having only the shuttle number to work with.

First you will need to define a macro that constructs the stem from the provided shuttle number.  Here we use the concept introduced in the section titled: "Evaluating Constants Earlier".

An example would be:



#Macro ShuttleDeviceName
 #<SHSEVALUATE(ShuttleN)1B#>
#EndM

Next we need to construct the variable from the stem, in such a way that the compiler knows that it needs to recognise the first part of the symbol, the "stem", as a macro call.  We achieve this by isolating the stem from the tail, using the "##" construct as follows:



.OTU.ShuttleDeviceName##LdRq;

Had "ShuttleN" been 2, the resulting instruction would be:



.OTU.SHS21BLdRq;

Create PLC Code and Operator Interface

This is the first step in the assembly process.  Once you enter this window the software commences to create the software, listing the stages as it executes them, and reporting errors as it finds them.  You will need to acknowledge each error individually.

These steps are:


Processing data
Creating configur.mac
Creating inputs.sbr
Creating setdata.sbr
Creating transfrs.sbr
Creating interloc.sbr
Creating outputs.sbr
Creating emulate.sbr
Creating timers.sbr
Creating ____.ain
Creating ____.tin
Creating alarms.asc
Creating conveyor.asc
Creating conveyor.inc
Creating system.inc

The files "configur.mac", "conveyor.mac", "inputs.sbr", "setdata.sbr", "transfrs.sbr", "interloc.sbr", "outputs.sbr" and "emulate.sbr" comprise the PLC source code, while the files "____.ain" and "____.tin" provide the symbols and address comments for the PLC code, where "____" is the project name.  The file "conveyor.mac" is produced with "conveyor.inc".

The files "alarms.asc", "conveyor.asc", "conveyor.inc" and "system.inc" are produced as the system creates the alarm text and associated details, names the conveyor positions, defines the operator interface to the conveyor PLC and creates the conveyor diagram respectively.

The final stage, "Creating system.inc", involves the creation of the Heavy-Unit-Load Conveyor System.  During this stage the above list is replaced by a rough conveyor layout.  This can be configured to single-step, requiring operator confirmation as each conveyor is added. Refer to the section titled: "Initial Software Configuration" and, in particular, its subsection titled: "Defining the Conveyor System".

If not in single step mode, you will see the conveyor diagram being rapidly built before exiting from this window, provided errors were not encountered.  Had errors been encountered, the diagram so far will be presented, along with the error message, such as "Can not fit conveyor system into the system diagram ...Strike a key".  This message will remain until you acknowledge it by typing almost any key.

Single Step

If in single step mode, as each conveyor is added to the diagram, the prompt, "Control:<U/D/L/R/1/2/9/C/G>a" will be presented.  The result of typing one of the offered keys is as follows:

  • "U"
    The view of the diagram is raised, bringing the upper parts of the diagram to the window.
  • "D"
    The view of the diagram is lowered, bringing the lower parts of the diagram to the window.
  • "L"
    The view of the diagram is shifted left, bringing the left-most parts of the diagram to the window.
  • "R"
    The view of the diagram is shifted right, bringing the right-most parts of the diagram to the window.
  • "1"
    Conveyors on level one will be displayed.
  • "2"
    Conveyors on level two will be displayed.
  • "9"
    The view will be rotated by 90 degrees.
  • "C"
    The next conveyor will be added to the diagram.
  • "G"
    This prompt will no longer be presented, all remaining conveyors will be added without operator confirmation.

Edit Boolean File

This window allows you to edit the Boolean file defining the PLC code for the Heavy-Unit-Load Conveyor System.  You are first required to enter the name of this file, or to confirm that the file offered is the file you wish to edit. You are to click on the "F2: select file" button, or type [F2], to select a file other than the file offered and to start editing it.  Alternatively, you may click on the "F3: edit" button, or type [F3], to commence editing the file offered.

This file is assumed to have the ".boo" extension, making it a "main file". It is this file that is offered for editing when this window is first entered.

When you enter the editor, the file is loaded into the editor's memory and any edits you make are applied to this memory - not to the file itself. When you exit the editor, you will be asked whether you wish the changes discarded or written to the file.

Below, once you have entered the filename, is a rough text-representation of this window:

Edit boolean file Target PLC is a "PLC5_40 SERIES_C REV_D" Program Name is "MAIN" #NoSupportRequiredFor carry #NoSupportRequiredFor zero #NoSupportRequiredFor sign #NoSupportRequiredFor overflow #Use bit file 3 #Use timer file 4 #Use counter file 5 #Use control file 6 #Use integer file 7 #Include Configur.Mac #Include Devices.Mac #Declare S:0/0 Carry; #Declare S:0/1 Overflow; #Declare S:0/2 Zero; #Declare S:0/3 Sign; Editing POCOLDMEine 1 Column 1 Insert

This file and the other source files comprising the suite of files to be compiled to form the PLC code may be edited by any editor (in non-document mode if a word-processing editor) however this editor has some features tailored to its work as editing these files.

Key Assignments

The editor allows you to allocate up to three keys to each function and supports two modes of "select, cut and paste" in an attempt to allow the editor to be configured to roughly mimic your usual editor.

This section describes the method used to display and set these assignments. While this may seem a rather esoteric point to embark on the description of the editor, we begin here so that you will be able to configure the editor to best match your previous experience, thereby reducing the level of learning required to use it.

If you press [F1], you will be presented with a list of the key assignments.

Below is a rough text-representation of this window:

Edit boolean file Enter 1c0d e00d ---- Copy 4e2b ---- ---- Up 4800 48e0 ---- Cut 4a2d ---- ---- Down 5000 50e0 ---- Paste 5230 ---- ---- Left 4b00 4be0 ---- Skip word forward 7400 74e0 ---- Right 4d00 4de0 ---- Skip word backward 7300 73e0 ---- Page Up 4900 49e0 ---- Learn 2600 4100 ---- Page Down 5100 51e0 ---- Terminate 1400 ---- ---- Beg Line/Screen/File 4700 47e0 ---- Execute 2d00 4200 ---- End Line/Screen/File 4f00 4fe0 ---- Repeat 1300 ---- ---- Insert Overstrike 5200 52e0 ---- Quit 1000 11b ---- Delete This Char 5300 53e0 ---- Edit Macro File 1200 ---- ---- Delete Previous Char e08 ---- ---- Set Up Keys 1f00 3b00 ---- Delete To End Line 2500 ---- ---- Find 3f00 2100 ---- Delete Entire Line 2000 1519 ---- Find Next 5900 3100 ---- Select 532e ---- ---- Find and Replace 4000 ---- ---- Select Up 4838 ---- ---- ---- ---- ---- Select Down 5032 ---- ---- ---- ---- ---- Select Left 4b34 ---- ---- ---- ---- ---- Select Right 4d36 ---- ---- ---- ---- ---- Select Page Up 4939 ---- ---- ---- ---- ---- Select Page Down 5133 ---- ---- ---- ---- ---- Use arrows to locate key then press ENTER. ESCAPE to exit. Return Editing POCOLDMEine 1 Column 1 Insert

This displays the key assignments in two columns.  Each line of each column corresponds to one key function.  For each key function, the name of the function and the scan codes of up to three keys are displayed.  The three scan codes are displayed in three columns, with one scan code highlighted.

In the lower right of the window, the scan code highlighted is explained.  In the above case, the highlighted scan code is 1c0d, with the text "Return" displayed in the lower right area of the window.

The cursor can be moved, using the specified keys for the "Up", "Down", "Left" and "Right" functions, to each scan code position to present its translation or to change the key for the function.

To change the key assignment for a given function, move the highlight to the function, and across to the required scan code column, then type [ENTER], then type the key you wish to use for this function (or [SPACE] if you change your mind about wanting to change the key assignment).

You can also use the mouse to select a key function and scan code column by clicking on the corresponding scan code location.  To change the key assignment, double click on the location, then type the key you wish to use for this function (or [SPACE] if you change your mind about wanting to change the key assignment).

If you are calling up this window for help rather than to alter the key assignments, you can have presented, next to each function description, one of the key descriptions for the function.  The key description presented will be dependent upon which column the highlighted scan code is in.  To call this up, type [F1] again.

Below is a rough text-representation of this window:

Edit boolean file Enter Return Copy Grey Plus Up 8/Up Cut Grey Minus Down 2/Down Paste SHIFT 0/Insert Left 4/Left Skip Word Forward CONTROL 6/Right Right 6/Right Skip Word Backward CONTROL 4/Left Page Up 9/Page Up Learn ALTERN' L Page Down 3/Page DownTerminate ALTERN' T Beg Line/Screen/File 7/Home Execute ALTERN' X End Line/Screen/File 1/End Repeat ALTERN' R Insert Overstrike 0/Insert Quit ALTERN' Q Delete This Char ./Delete Edit Macro File ALTERN' E Delete Previous Char BackSpace Set Up Keys ALTERN' S Delete To End Line ALTERN' K Find F5 Delete Entire Line ALTERN' D Find Next SHIFT F6 Select SHIFT ./Delete Find and Replace F6 Select Up SHIFT 8/Up no key assigned Select Down SHIFT 2/Down no key assigned Select Left SHIFT 4/Left no key assigned Select Right SHIFT 6/Right no key assigned Select Page Up SHIFT 9/Page Up no key assigned Select Page Down SHIFT 3/Page Down no key assigned Use arrows to locate key then press ENTER. ESCAPE to exit. Return Editing POCOLDMEine 1 Column 1 Insert

By typing the specified keys for the "Left" and "Right" functions, in this mode, the key descriptions for the previous or next columns will instead be presented. Right clicking on the mouse is equivalent to typing the specified key for the "Right" function.

You are still able to alter key assignments in this mode.  To do so, move the highlight to the function, and present the appropriate column (as described above), then type [ENTER], then type the key you wish to use for this function (or [SPACE] if you change your mind about wanting to change the key assignment).

To use the mouse to change the key assignment, by double click on the location, then type the key you wish to use for this function (or [SPACE] if you change your mind about wanting to change the key assignment).

Once you have finished interrogating or changing the key assignments, type [ESCAPE] to return to editing you file.

This function is the "Set Up Keys" function, which, according to the above screen dump, can be called up by typing [ALTERNATE S], whereas this section has instructed you to type the [F1] key to call up this function.  You will notice on the previous window that two scan codes were presented for this function, 1f00 and 3b00.  These scan codes correspond to [ALTERNATE S] and [F1] respectively.

Because of the flexibility of this editor, instructions for using it throughout the rest of the sections of the document will refer to the keys by their function.

Basic Editing

Most keys, when typed, result in their associated ASCII character being added to the file's buffer and the appropriate character being displayed on the window at the cursor position, moving the cursor one place to the right.

Cursor Movement

The cursor may be moved about the window using the specified keys for the "Up", "Down", "Left" and "Right" functions, in the natural manner.

The cursor may be set to any text position displayed, by clicking on that text.  You can not place the cursor beyond the end of the line.

Pressing any of the keys specified for the "Enter" function, will move the cursor to the start of the next line, possibly scrolling the window upwards.

The cursor may be moved to the beginning or end of the current line by typing a key specified for "Beg Line/Screen/File" or "End Line/Screen/File" function respectively when not at the beginning or end of the line respectively.

The cursor may be moved to the beginning or end of the window by typing a key specified for the "Beg Line/Screen/File" or "End Line/Screen/File" function respectively when at the beginning or end of the line respectively but not at the beginning or end of the window respectively.

The cursor may be moved to the beginning of the current string of characters (or if already there to the beginning of the previous string) by typing a key specified for the "Skip Word Backward".

The cursor may be moved to the beginning of the next string of characters by typing a key specified for the "Skip Word Forward".

Screen Movement

The window displays only a portion of the file.  The window can be made to view other portions of the file by typing any of the keys specified for the "Page Up" and "Page Down" functions to move the window a number of lines up or down the file.

The window may be moved to the beginning or end of the file by typing a key specified for "Beg Line/Screen/File" or "End Line/Screen/File" function respectively when at the beginning of the first line on the window or at the end of the last line on the window respectively.

Scroll Bars

There are scroll bars for both horizontal and vertical.  Operating the scroll bars will cause the cursor to be dragged along by the trailing window edge so that it remains on the screen.

Find

A further means of cursor and window movement may be achieved using the find functions.

After typing any of the keys for the "Find" function, you will be prompted to enter the text you wish to find.  When you terminate this entry, an attempt will be made to find the specified text.

The search is conducted from the cursor position to the end of the file.  In matching the text to the file, the case of letters is ignored. The case is ignored because this editor is explicitly designed to edit files that are used to create the Allen-Bradley PLC software.  These files are to be compiled by the built in compiler, which itself ignores the case of letters.

If the text is not found, a message to this effect will be presented, which you will be required to acknowledge by typing any key.

Had the text been found, the cursor and window will be relocated within the file to this text.

Once the text has been searched for once, a further search may be initiated by typing one of the keys for the "Find Next" function.

Find and Replace

You can ask the editor to replace one, several or all occurrences of a specified text string with another by typing one of the keys for the "Find and Replace" function.

In response, you will be prompted to enter the text you wish to find and then the text you wish to replace it with.  When you terminate the second entry (the replacement text), an attempt will be made to find the first specified text.

The search is conducted from the cursor position to the end of the file.  In matching the text to the file, the case of letters is ignored.

As each occurrence is found, the text will be highlighted and the prompt, "Replace/No/Global <R/N/G>", will be presented.  Enter "R" to replace the highlighted text, "N" to skip to the next occurrence or "G" to replace this and all subsequent occurrences.  Alternatively you can quit from the replace cycle by typing [ESCAPE].

The above question is presented just below the window, or else to the right of the window, or failing both these options, in the middle of the screen.  If the above question appears in an inconvenient location, you should resize or reposition your editing window so as to allow room for dialogue windows to appear below or to the right of the window.  If you simply reposition the dialogue window, it will have no effect on the next time it is presented.

If the first character of the replacement text is upper case, or the first character of the found text is lower case, the replacement text will be unmodified as it replaces the found text.

On the other hand, if the first character of the replacement text is lower case, and the first character of the found text is upper case, the replacement text will be modified as it replaces the found text.  If the second character of the found text is also upper case, the replacement text will be converted to upper case as it replaces the found text.  Had the second character of the found text been lower case, only the first character of the replacement text will be converted to upper case as it replaces the found text.

You should not be overly concerned with the case of characters, as this is ignored by the compiler for which these files are created.

Insert or Overtype Mode

Normally as characters are being typed and the cursor is moving to the right, the text previously at the cursor position is advanced with the cursor, inserting the new characters between it and the character that was previously to the left of the cursor.

Also, when typing one of the keys for the "Enter" function, before the cursor is relocated to the beginning of the next line, the lines below the cursor are moved down by one line and any characters to the right of the cursor will be relocated to the start of the new line.

In overtype mode, the character at the cursor position is replaced by the new character entered.  The cursor still moves one place to the right.

Also, when typing one of the keys for the "Enter" function, only the cursor is relocated; all the text remains where it is.

This mode is toggled between insert and overtype each time one of the keys corresponding to the "Insert Overtype" function is typed.  The current mode is displayed just left of the centre of the third last line on the window.

Deleting Text

The character at the cursor may be deleted by typing one of the keys for the "Delete This Char" function.  The cursor will be unmoved, and any text to the right of the cursor will be moved one place left.

The character to the left of the cursor may be deleted by typing one of the keys for the "Delete Previous Char" function.  The cursor will be moved to the left, and any text at or to the right of the cursor will be moved one place left.

The remainder of the line, from the character the cursor is at to the end of the line, may be deleted by typing one of the keys for the "Delete To End Line" function.  The cursor will be unmoved.

The line the cursor is on may be deleted by typing one of the keys for the "Delete Entire Line" function.  The cursor will be unmoved, and any lines below the cursor will be moved up by one line.

Select, Cut and Paste

The concept of "select, cut and paste" is common to most screen editors.  You are first to define a portion of the document by placing a marker at the start and end of the portion; this is the "select" phase.  You then remove the text so marked; this is the "cut" phase.  You can then relocate your cursor and insert the saved portion of the document there; this is the "paste" phase.

As you define an area to cut, the characters to be removed are highlighted.

The character where the cut is started is included in the cut if the end of the cut is ahead of it, otherwise it will be excluded.  Similarly, the character at the end of the cut is included if the start of the cut is ahead of it, otherwise it will be excluded.  In other words, if the start and end of the cut are coincident, no characters are included in the cut, but otherwise either the character at the start of the cut or the character at the end of the cut will be included in the cut, depending upon which is the first in the file.

This behaviour is at odds with most editors, with which I have had experience, however, it is the more correct behaviour, allowing you to simply cut a number of lines by selecting at the start of one line and cutting at the start of another. With other editors, this would include the first character of the line after the cut within the cut.  This behaviour is, however, asymetrical, so if you are in the habit of starting the selection then extending backwards, you will need to bear this in mind.

There are two methods of "Select, Cut and Paste" employed.  Using the first method, you explicitly flag the beginning of the selection, using one of the keys for the "Select" function, then move the cursor/window to the point in the file at which you wish to end the selection.  Refer the sections titled: "Cursor Movement", "Screen Movement", and "Find".

You can then either delete the selection (by typing one of the keys for the "Delete This Char" function), copy it to the "paste" buffer (by typing one of the keys for the "Copy" function), or cut it - copy it then delete it - to the "paste" buffer (by typing one of the keys for the "Cut" function).

Using this first method, you can cancel a selection by again typing one of the keys for the "Select" function.

Using the second method, you flag the beginning of the selection the first time you type a key corresponding to one of the following "Select and Move" functions to extend or reduce the selection:

  • Select Up       
    moves the end of the selection up by one line
  • Select Down     
    moves the end of the selection down by one line
  • Select Left     
    moves the end of the selection left by one character
  • Select Right    
    moves the end of the selection right by one character
  • Select Page Up  
    moves the end of the selection up by twenty-two lines
  • Select Page Down
    moves the end of the selection down by twenty-two lines

The selection can then be deleted, copied or cut as described for the first method.

Using this second method, you can cancel a selection by typing one of the keys for the "Cursor Movement" or "Screen Movement" functions. Refer the sections titled: "Cursor Movement", and "Screen Movement".

You can use the mouse to emulate the second method, by clicking down on the first character to be included in the text to be cut, then with the button held down, moving the mouse ahead to just past the last character to be included.  Alternatively, you can click down on the first character beyond the text to be included in the cut and then move the mouse back to the first character to be included.

As you are moving the mouse, you may also use the keyboard to scroll through or across the file.  In particular, if you type a [SHIFT] key while the left mouse button is held down, the window will be scrolled by a few lines and/or columns away from the mouse, if the mouse is sufficiently close to the corresponding edge or edges of the window.

After creating the selection using the mouse, you may right click on the mouse to copy the selection, or use the keyboard to cut, copy, or delete the selection.  Also, after creating the selection using the mouse, you may alter the range of the selection using the keys described above for the second method.

After copying or cutting a selection to the "paste" buffer, you would normally move the cursor to another point in the file, then insert the copied or cut text at this point by typing one of the keys for the "Paste" function.

Key Sequence Macros - Learning

Sometimes it is necessary to repeat a given sequence of key strokes an inordinate number of times when editing a file.  To alleviate this, the editor may be instructed to remember these key strokes and to play them back time and time again.

To start the recording of key strokes, type one of the keys for the "Learn" function.  Then proceed to type the keys you wish recorded; as you do this the keys will be treated normally, resulting in the expected changes to the file and window.

During this phase, the text "Learning" will be displayed alongside the "Insert" or "Overstrike" text in the third bottom line of the window.

Please note that mouse movements are not learnt, so do not mix mouse operations with your key strokes when recording key strokes.  Also bear in mind that the behaviour of key strokes is modified while the left mouse button is depressed.

You should take particular care of how you start and end the sequence, especially if you wish it to be executed a number of times in succession. In particular, ensure that if you start in "Insert" mode that you end in "Insert" mode, or if you start in "Overstrike" mode that you end in "Overstrike" mode.

Once you have completed the sequence of key strokes, type one of the keys for the "Terminate" function.

To replay this sequence, type one of the keys for the "Execute" function.

The sequence can be terminated and executed immediately by typing one of the keys for the "Execute" function in place of typing one of the keys for the "Terminate" function.

During the execution of the sequence, the text "Executing" will be displayed alongside the "Insert" or "Overstrike" text in the third bottom line of the window.

Repeating Key Strokes and Macros

The editor may be instructed to repeat any key stroke a given number of times by first typing one of the keys for the "Repeat" function, then entering the number of times the key stroke is to be repeated, then typing the key to be repeated.

The key to be repeated may be one of the keys for the "Execute" function, allowing you to execute the key-sequence macro a given number of times.

During the execution of the repeated key strokes, the number of iterations remaining is displayed further to the right of the "Insert" or "Overstrike" text than the "Learning" or "Executing" text on the third bottom line of the window.

Edit Other Source Files

This is a special feature of this editor, relating to its application to the creation of Allen-Bradley PLC software.

As well as the "main file" (the ".boo" file) the source code will typically include a number of other files.  These files are included by either coding a "JSR" (jump to subroutine) instruction (subroutine files) or explicitly including the file (included files).

The subroutine files all have extensions ".SBR" and are edited by moving the cursor to the line containing the "JSR" instruction referencing them then typing one of the keys for the "Edit Macro File" function.  The parameter to the "JSR" instruction is the eight character filename to which is appended the ".SBR" extension.

Below are displayed examples of such lines:

Edit boolean file !RunMode&&!TestMode&&ProgMode.JSR.Emulate; (RunMode||TestMode||!ProgMode).JSR.Inputs; .JSR.Control1; .JSR.Transfrs; .JSR.Control2; .JSR.Interloc; .JSR.Control3; .JSR.Outputs; Editing POCOLDMEine 48 Column 1 Insert

The included files may have any extension (though generally ".MAC") and are edited by moving the cursor to the line containing the "#Include" instruction referencing them then typing one of the keys for the "Edit Macro File" function.

Examples of the "#Include" instruction can be seen in the first screen dump presented in the section titled: "Edit Boolean File".

In the case of either file type, subsequent to typing "Edit Macro File", you will exit from the editor for this file and enter the editor for the file in question.  Refer to the section titled: "Exiting from the Editor".

Exiting from the Editor

To leave the editor, type one of the keys for the "Quit" function.  In response the software will check to see if changes have been made.  If none have been made you will exit from this file without any more ado.

If changes have been made, you will be presented with one of the following prompts, "Save/discard/continue <S/D/C>" or "Save or discard work <S/D>", depending upon whether you are exiting to return to the previous file (or exiting completely) or are exiting to edit a subroutine file (or included file) respectively.  Refer to the section titled: "Edit Other Source Files".

If you had been returning or exiting completely and have now decided you no longer wish to exit, enter "C".

Otherwise, enter "S" to save the changes or "D" to discard them.

Had you been exiting completely, you will be returned to the "Create, Edit, Compile and Execute" window.

Compile Conveyor Code

Once the system has been defined and generated, the I/O addresses set, all macros and other source code prepared, the system may be compiled.

Although this compiler was written to create Heavy-Unit-Load Conveyor System code, it is not limited to this application and can be used to create Allen-Bradley PLC code for most applications.  Refer to the section titled: "Syntax of the PLC Source Code".

When you enter this window, you will be presented with the project name. Click on the "Select file" button to change this selection, and enter the name of some other main module.

When the desired file has been selected, you may click on the "Compile" button to start compiling the file.  During this time, the file currently being processed will be displayed at the top of the window and beneath this is the line of code currently being digested.  This second line of the window will normally be changing too fast to be read.

As errors are encountered, the compilation is suspended, and the next ten lines of the file from this point will be presented, along with the error description.  Once you have noted the error, type a key to proceed with the compilation or [ESCAPE] to abort it.

Errors are also written to a side file as they are encountered.  Once the compilation is complete, this file may be viewed.  Refer to the section titled: "List the Compiler Log File".

Upon completion of the compilation, the word "FINISHED" will be displayed. You will need to press [ESCAPE] to exit this window.

Note: It is possible that errors will not be detected in this step, which will surface when loading the emulator.  It is also possible that the Allen-Bradley programming software will detect errors not detected here nor by the emulator; this is due to the ability of both the compiler to produce code and the emulator to execute code more complex than the PLC can deal with.

If you experience this, you should try to simplify the corresponding source code.  There is a strong correlation between the source code, the exported PLC code and the actual PLC code so the identification of the offending portion of the PLC source code should not be a difficult exercise.

List of Errors

The errors it is possible to receive are grouped and sorted alphabetically within the groups.  The groups are:

  • Fundamental problems
  • Mistakes in the source code
  • Exceeding the compiler limitations
  • Problems relating to opening or creating files
  • Internal compiler errors

Fundamental problems

  • No PLC source file has been specified
    The compiler found itself being asked to compile, but the first character of the filename was found to be a space.
  • Plc editor/compiler is currently in use by another terminal
    This is a multi-user system, however the compiler, editor and other related functions all make use of a common resource.  As it is not anticipated that these functions are expected to be used simultaneously, or, for that matter, from any location other than the main console, This is not anticipated to be of significant inconvenience.

Mistakes in the source code:

  • A label has been jumped to but not placed
    At the end of producing a ladder file, the compiler checks that all jumps (JMP) have been resolved and all labels (LBL) have been used.  In this case it found a JMP for which it had no corresponding LBL.
  • A label has been placed but not jumped to
    At the end of producing a ladder file, the compiler checks that all jumps (JMP) have been resolved and all labels (LBL) have been used.  In this case it found an LBL for which it had no corresponding JMP.
  • Bad syntax
    In interpreting a rung, the compiler could not find an instruction where one was expected.
  • Else encountered out of context
    The "#Else" instruction must be after a "#If" instruction and its associated "#EndIf" instruction.
  • End if encountered out of context
    The compiler has encountered more "#EndIf" instructions than "#If" instructions.
  • End of macro encountered out of context
    The compiler has encountered more "#EndM" instructions than "#Macro" instructions.
  • End of repeat encountered out of context
    The compiler has encountered more "#EndR" instructions than "#Repeat" instructions.
  • Expected a subroutine instruction
    This is at the start of a subroutine where parameters are being passed to the subroutine.  If parameters are being passed, the subroutine must start with the SBR instruction.
  • First parameter must begin with an alpha
    The text, "#Assign INTEGER", is expected to be followed by a name.  A name must begin with a letter; this was not the case.
  • Incorrect file type in symbol's address
    The declaration of a symbol, referenced a data file already known to the compiler, with a file type not matching the file type when the data file had been introduced previously.  Note that the declaration of a symbol can be included in the PLC source code, in the file, "POCOLDME.ASC", or the file, "POCOLDME.TIN".
  • Incorrect number of parameters expected from subroutine
    A subroutine call (JSR) expected a different number of parameters from the subroutine than were provided in the RET instruction for the subroutine.  In this case the JSR was compiled after the subroutine.
  • Incorrect number of parameters in subroutine
    The SBR instruction specified a different number of parameters than the subroutine call (JSR) passed to it.  In this case the JSR was compiled before the subroutine.
  • Incorrect number of parameters passed to subroutine
    A subroutine call (JSR) specified a different number of parameters to be passed to the subroutine than were provided in the SBR instruction for the subroutine.  In this case the JSR was compiled after the subroutine.
  • Incorrect number of parameters returned from subroutine
    The RET instruction specified a different number of parameters than the subroutine call (JSR) expected from it.  In this case the JSR was compiled before the subroutine.
  • Instructions follow output instruction
    After an output instruction, the only instruction allowed is the end of rung instruction (";" and "EOR"), otherwise it must be at the end of a branch, with output instructions at the end of all the branches in parallel with it and no instructions between the branch end (BND) and the end of rung.
  • Label must be at start of rung
  • Subroutine Label must be at start of rung
  • Label not placed immediately after start-of-rung
  • Subroutine label not placed immediately after start-of-rung
    These errors advise you that the only legitimate place for the LBL and SBR instructions is at the start of a rung.  These two pairs of error messages are equivalent, however they are produced during different phases of the compilation.
  • Missing data memory symbol in "assign data" statement
    The text, "#Assign DATA", is expected to be followed by a data element reference; it was not.
  • Missing "ENDM" instruction
    The compiler has reached the end of the file and a macro definition is still incomplete; there was a "#Macro" instruction but no corresponding "#EndM" instruction.
  • Missing "ENDR" instruction
    The compiler has reached the end of the file and a repeat definition is still incomplete; there was a "#Repeat" instruction but no corresponding "#EndR" instruction.
  • Missing "ENDIF" instruction
    The compiler has reached the end of the file and an if construct is still incomplete; there was a "#If" instruction but no corresponding "#EndIf" instruction.
  • Missing output instruction
    There is no output instruction, or there are branches at the end of the rung and one of the branches is missing its output instruction.
  • No output instruction in rung
    Every rung must have an output instruction of some kind.
  • No PLC machine type.  Something like "PLC5_40 SERIES_C REV_H".
    The program header is missing.
  • No program name provided.  Expect something like "Program_10".
    The program name is missing.
  • One shot instruction must reference a bit
    Either there was no data element following the ONS instruction, or that data element was not a bit reference.
  • Output instruction is out of place
    The output instruction can only appear at the end of a statement or at the end of a branch, where there are no instructions beyond the branch.
  • Remainder of program ignored
    This would normally accompany other error messages.  As a result of those other errors, the compiler has found that it had not progressed any further through the source file during it attempt to process the last rung, so, to prevent itself going into an infinite loop (which appears imminent), it abandons any further processing of the current file.  It may proceed to the next file.
  • Subroutine instruction is out of context
    The SBR instruction can only appear as the first instruction in a subroutine.
  • Symbol used by two addresses
    The same symbol has been used to describe two distinct data elements.  Note that the declaration of a symbol can be included in the PLC source code, in the file, "POCOLDME.ASC", or the file, "POCOLDME.TIN".
  • Too many closed parentheses
  • Too few closed parentheses
    These errors attempt to detect unmatched parentheses.  There is a limitation in this test - conditional compilation.  If, say, an unmatched open parenthesis appears in the "true" portion and the "false" portion of an if-then-else construct, the compiler will count two open parentheses, not just the one for the active portion.  If you fall foul of this, rearrange your if-then-else construct to avoid this.
  • Two symbols for the same address
    Two symbols have been used to describe the same data element.  Note that the declaration of a symbol can be included in the PLC source code, in the file, "POCOLDME.ASC", or the file, "POCOLDME.TIN".
  • Unknown constant variable in expression
    The compiler has been evaluating an expression, where a constant is required and has come across what is either a name for a constant, which has not yet been "assigned" or is a symbol for a data element; data elements can not be used to evaluate a constant.
  • Unknown symbol in indirect address specification
    The symbol used to indirectly address a data element has not been declared.
  • Unrecognised file type
    The compiler was expecting a file type, but found something that did not match its knowledge of the types of Allen-Bradley data files.
  • You have turned off support for CARRY (S:0/0)
    A reference to status file bit, S:0/0, has been made even though the instruction "#NoSupportRequiredFor carry" was used.
  • You have turned off support for OVERFLOW (S:0/1)
    A reference to status file bit, S:0/1, has been made even though the instruction "#NoSupportRequiredFor overflow" was used.
  • You have turned off support for ZERO (S:0/2)
    A reference to status file bit, S:0/2, has been made even though the instruction "#NoSupportRequiredFor zero" was used.
  • You have turned off support for SIGN (S:0/3)
    A reference to status file bit, S:0/3, has been made even though the instruction "#NoSupportRequiredFor sign" was used.
  • Unknown symbol in FILE_N(XXX)
  • Unknown symbol in WORD_N(XXX)
  • Unknown symbol in BIT_N(XXX)
    The symbol referenced in these constructs has not been declared.

Exceeding the compiler limitations:

  • Expression too complex #1
  • Expression too complex #2
  • Expression too complex #3
    Try simplifying the expression in question.
  • Include files nested too deeply
    An include file is allowed to contain the "#Include" instruction itself.  This is referred to as nesting include files.  There is a limit on how deeply this nesting can go.
  • Out of room in buffer for instructions
    There is no more room in the buffer in which the instructions for the current rung are being assembled.  You may need to simplify your rung.
  • Out of room in buffer for macros
    There is no more room in the buffer that holds the macro definitions.
  • Repeated code size too large
    The amount of code generated by the "#Repeat" instruction is more than the compiler has catered for.
  • Too many data tables used
    The program uses more PLC data tables than the compiler has catered for.
  • Too many internal variables used
    The program uses more "assign integer" statements than the compiler has catered for.
  • Too many labels encountered in the one program file
    The program uses more labels in a single PLC ladder file than the compiler has catered for.
  • Too many macro definitions
    There is a limit on the number of macro definitions allowed.
  • Too many parameters in macro call
    When invoking a macro, the compiler has encountered more parameters than it ever expected it would need to handle.
  • Too many parameters in macro definition
    When interpreting the macro header, the compiler has encountered more formal parameters than it ever expected it would need to handle.
  • Too many parameter references in macro definition
    When interpreting the macro body, the compiler has encountered more references to the macro's formal parameters than it ever expected it would need to handle.
  • Too many program files referenced
    The program uses more PLC ladder files than the compiler has catered for.
  • Too many symbols
    The total of number of declarations - source code "declare" statements and lines in the files "POCOLDME.ASC" and "POCOLDME.TIN" - is more than the compiler has catered for.
  • Too many temporary variables required for rung
    As the compiler interprets the PLC source code statement, it may need to create PLC code to store interim results in data elements for reference later in the interpretation of the statement in question.  It has a fixed number of such elements allocated to it, which it may reuse for the next statement.  This PLC source code statement has required the compiler to use all these elements to store interim results and still need more.

Problems relating to opening or creating files:

  • Can not open ".ASC" file
    The compiler has encountered an operating system error when attempting to open the file, "POCOLDME.ASC".  This is merely a warning.  You do not have to provide this file, its just rare for it to be omitted.
  • Can not open file "XXXXXXXX.XXX"
    The compiler has encountered an operating system error when attempting to open the specified file.  This could be the main boolean file ("POCOLDME.boo"), an included file or a subroutine file.
  • Can not create ".SY5" file
  • Can not create ".TXT" file
  • Can not create ".LOG" file
  • Can not create ".PC5" file
  • Can not create ".SLC" file
  • Can not create "WORKFILE.TMP" file
    The compiler encountered an operating system error when trying to create a file.  A possible cause is that you have run out of disc space.
  • Handle "error_file_handle" is already open
  • Handle "list_file_handle" is already open
    These errors indicate that there is a problem with the Movement Controller's house-keeping, with respect to opening and closing files.
  • Invalid include filename
    The filename specified in the include statement is too long for an MS-DOS filename.

Internal compiler errors:

  • Compiler error 1
  • Compiler error 2
  • Data table number is out of range when setting sub-element symbol
  • Embedded expression did not resolve appropriately
  • Expression was not resolved
  • Removing non-existent instructions
  • Sub-element number is out of range when setting sub-element symbol
  • Symbol number is out of range when setting sub-element symbol
  • Unrecognised file type when setting sub-element symbol
    These should be referred to us, along with a copy of the database ("MAIN,DAT") and the PLC source code.

List the Compiler Log File

You would normally enter this window after encountering errors in your compilation.  Refer to the section titled: "Compile Conveyor Code".

This file contains a log entry for each file opened and each error encountered.  When you enter the file, should you not see your errors, type any of the keys specified for the "Page Down" function for the boolean file editor.

When you enter this window, you will be presented with the project name. Should you wish some other error log, click on the "Select file" button to change this selection, and enter the name of another main module. When the desired file has been selected, you may click on the "List" button to view the error log. Type [ENTER] to confirm that this is the project for you wish to list the errors.  In response the software will open the error log and present the list of errors encountered.

This file lister shares the same key interpretations as the boolean file editor.  The functions it supports are: Up, Down, Left, Right, Page Up, Page Down, Beg Line/Screen/File, End Line/Screen/File, Set Up Keys and Quit.  Refer to the section titled: "Edit Boolean File".

Below, after paging down, is a rough text-representation of this window:

List the compiler log file Opening file OUTPUTS.SBR Opening file SETDATA.SBR Opening file ETRANSFR.SBR Opening file EINDEX.SBR Opening file RFTAGBIT.SBR Opening file RTRANSFR.SBR Opening file RINDEX.SBR Opening file CONVEYOR.SBR *** ERROR (line 25)Too many closed parentheses *** ERROR (line 26)Too many closed parentheses Opening file TURNTABL.SBR Source listing of POCOLDMEse PAGE UP, PAGE DOWN, UP, DOWN, HOME and END

Type any of the keys for the "Quit" function to exit this window.

Load PLC Emulator

After successfully compiling the PLC source code, the export file can be loaded for simulation.

When you enter this window, you will be presented with the project name. Click on the "Select file" button to change this selection, and enter the name of some other main module.

When the desired file has been selected, you may click on the "Load emulator" button to start loading the file.  During this time, the button will remain pressed, and the word "Loading" will appear at the left of the window.

When the loading has completed, the button will return to the unpressed condition, and the word "Loaded" will appear at the left of the window.

Once the export file has been successfully loaded, you may start the emulation of the PLC code by clicking the "Run emulator" button.  This operation takes an instant.  The word "Loaded" will be immediately replaced with "RUNNING".

You have now only to click on the "ESCAPE: exit" button, or type [ESCAPE], and thereby exit the window.

Define the Crane and Rack Arrangement

This window provides a step-by-step method of defining the crane and rack arrangement.

Below is a rough text-representation of this window:

Define the crane and rack arrangement HELP ESCAPE:exit The definition of the crane system is accomplished through these steps: STEP 1 Erase any previous crane and rack definition. (NB: Need to restart) STEP 2 Enter the number of cranes (maximum is 8). (NB: Need to restart) STEP 3 Enter the definitions of the crane racking. This allows you to set individual cranes as non-existent, set the number of long travel and hoist level stops. STEP 4 Enter the correlation between the crane racking outfeed positions and the conveyors servicing these positions. STEP 5 Enter the correlation between the crane racking infeed positions and the conveyors servicing these positions. At this stage, you should also enter names for the other destinations of the conveyor system. Each conveyor destination has an associated number which has been used in the conveyor system definition. This number should be also entered here.

The first step, if you are starting a new crane system definition, is to erase any previous crane system definition.

Having done this, the next step is to set the number of cranes in your system.

These steps determine how many tasks will be needed to run to support the cranes.  These will not automatically kill the currently running crane tasks or start new crane tasks; you must restart the software for this to occur.  You would not normally wish this to happen until you have completed your definition.

The third step is to enter the definition of the crane racking.

The fourth and fifth steps tie certain rack locations to the Heavy-Unit-Load Conveyor positions, thereby defining the interface between the systems.

To use this window you may type the step number, or click or use the [UP] and [DOWN] keys to highlight the desired step number then type [ENTER], or double click on the desired step number.  Subsequently, after exiting the step, the highlight will be advanced to the next step in the process.

Erase Previous Crane and Rack Definition

If you are starting a new crane system definition, you will need to erase any previous crane system definition.

Below is a rough text-representation of this window:

Erase pallet racking definition ╔══════════════════╗┌──────────────────┐┌──────────────────┐┌──────────────────┐ ║ No, don't ║│ Erase ││ HELP ││ ESCAPE: exit │ ╚══════════════════╝└──────────────────┘└──────────────────┘└──────────────────┘

To confirm that it is indeed your intention to erase the previous definition, enter "E", otherwise type [ESCAPE] or enter "N".

Set the Number of Cranes

After selecting this step, you will be requested to enter the number of cranes required.  Once you do this, you will be ready for step 3.

Define the Racking

This is the third step, requiring that the number of cranes is set before commencing.

This is a "Maintenance Viewing Data" window that lists each of the cranes along with the definition of its racking.

Below is a rough text-representation of this window:

Define the racking Select Change Restrict Where Match Expand Insert First Last 1-nine 1 |Crane 1 |100| 10|2|100| 10|2|1 ^ 2 |Crane 2 |100| 10|2|100| 10|2|1 █ 3 |Crane 3 |100| 10|2|100| 10|2|1 █ 4 |Crane 4 |100| 10|2|100| 10|2|1 █ 5 |Crane 5 |100| 10|2|100| 10|2|1 █ 6 |Crane 6 |100| 10|2|100| 10|2|1 █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Rack definition Crane Existent <N>a

The "Set of Fields" includes:

  • whether the crane exists (a "Character" field) (helpful when commissioning only part of the system at a time)
  • the name of the crane PLC - refer to the section titled: "PLC Setup"-(a "Symbolic Name" field),
  • the file number within the crane PLC where the crane PLC file structure is noted (a "Numeric" field),
  • the Heavy-Unit-Load Conveyor alarm number that, if active, will instruct the crane to shut down (a "Numeric" field),
  • the number of long travel locations along side 1 of the racking (a "Numeric" field),
  • the long travel location where a discontinuity in the numbering occurs along side 1 of the racking (a "Numeric" field),
  • the number of long travel locations omitted at this discontinuity in the numbering along side 1 of the racking (a "Numeric" field),
  • the number of hoist level locations on side 1 of the racking (a "Numeric" field),
  • the number of depths in the racking on side 1 of the racking - either "1" or "2" - (a "Numeric" field),
  • the number of long travel locations along side 2 of the racking (a "Numeric" field),
  • the long travel location where a discontinuity in the numbering occurs along side 2 of the racking (a "Numeric" field),
  • the number of long travel locations omitted at this discontinuity in the numbering along side 2 of the racking (a "Numeric" field),
  • the number of hoist level locations on side 2 of the racking (a "Numeric" field),
  • the number of depths in the racking on side 2 of the racking - either "1" or "2" - (a "Numeric" field) and
  • the number of different heights of racking locations for this crane (a "Numeric" field).

For editing instructions for these types of fields, please refer to the sections titled: "Symbolic Name", "Symbolic Numeric", and "Character".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Rack definition - 1 Crane Existent <N>a Crane 1 N long travels side 1<0-255> 100 N hoist levels side 1<0-255> 10 N bays deep, side 1 <1-2> 2 N long travels side 2<0-255> 100 N hoist levels side 2<0-255> 10 N bays deep, side 2 <1-2> 2 Number of load heights <1-9> 1 ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Once you have completed these entries, type [ESCAPE] to exit the definition of the racking.

Define the Conveyor System Infeeds

In this step we tie certain Heavy-Unit-Load Conveyor locations to certain locations in the racking so that the software will be able to coordinate the retrieval of loads from the crane with the placement of loads on the conveyors.

This is a "Maintenance Viewing Data" window that lists each of the outfeeds from the cranes along with the conveyor position and the racking coordinates corresponding to this point.

Below is a rough text-representation of this window:

Define the conveyor system infeeds Select Change Restrict Where Match Expand Insert First Last Crane1Out |C161A|42:15-C-001-1 ^ Crane2Out |C101A|42:13-C-001-1 █ Crane3Out |C106A|42:11-C-001-1 █ Crane4Out |C111A|41:09-C-001-1 █ Crane5Out |C116A|41:07-C-001-1 █ Crane6Out |C127A|41:05-C-001-1 █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Conveyor infeeds Source names Crane1Out

The "Set of Fields" includes:

  • a name for the crane outfeed - not used elsewhere, merely identifying this record - (a "Name" field),
  • the conveyor position where the crane will place loads it retrieves - (a "Symbolic Name" field),
  • the racking coordinates used by the crane to get the load to this conveyor position (a "Store Reference" field),

For editing instructions for these types of fields, please refer to the sections titled: "Name", "Symbolic Name", and "Store Reference".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Sources - Crane1Out Source names t Crane1Out Source conveyor a C161A Source rack WW:RR-H-LLL-Da 42:15-C-001-1 ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Once you have completed these entries, type [ESCAPE] to exit the definition of the racking.

Define the Conveyor System Outfeeds

In this step we tie certain Heavy-Unit-Load Conveyor locations to certain locations in the racking so that the software will be able to coordinate the arrival of loads on the conveyors with the storage of these loads by the crane.

This is a "Maintenance Viewing Data" window that lists each of the outfeeds from the Heavy-Unit-Load Conveyor System, along with a destination number for loads looking to reach that destination, and if the location is a crane infeed, the racking coordinates corresponding to this point.

Below is a rough text-representation of this window:

Define the conveyor system outfeeds Select Change Restrict Where Match Expand Insert First Last Crane1In |1 |42:13-A-001-1 ^ Crane2In |2 |42:11-A-001-1 █ Crane3In |3 |41:09-A-001-1 █ Crane4In |4 |41:07-A-001-1 █ Crane5In |5 |41:06-C-001-1 █ Crane6In |6 |42:15-A-001-1 █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Conveyor outfeeds Destination names C024

The "Set of Fields" includes:

  • a name for the crane infeed - not used elsewhere, merely identifying this record - (a "Name" field),
  • the destination number for the conveyor outfeed position from where the crane will pick up loads (a "Numeric" field),
  • the conveyor position where the crane will pick up loads - usually left blank as this is implied by the destination number, however it is provided in case the Heavy-Unit-Load Conveyor System has not been developed using the system definition of this software - (a "Symbolic Name" field),
  • the racking coordinates used by the crane to pick up the load from this conveyor position (a "Store Reference" field),

For editing instructions for these types of fields, please refer to the sections titled: "Name", "Numeric", "Symbolic Name", and "Store Reference".

Below, once a set of fields has been selected for editing, is a rough text-representation of this window:

Destinations - C024 Destination names t C024 Destination values <0-31> 2 At rack? WW:RR-H-LLL-Da 42:13-A-001-1 ╔════════════════════════╗┌────────────────────────┐┌────────────────────────┐ ║ OK ║│ DELETE ││ HELP │ ╚════════════════════════╝└────────────────────────┘└────────────────────────┘

Once you have completed these entries, type [ESCAPE] to exit the definition of the racking.

Enter or Modify the Carton Conveyors

The definition of the carton conveyor system and picking areas is performed by the following steps:

  • 1
    Defining the types of conveyors.  This provides the dimensions and speeds of the conveyor types, and, of course, assigning a type name so that conveyor section may reference the type.
  • 2
    Defining the pick and dispatch zones.  These tie the conveyors to the picking areas.  The zones require a name and type.
  • 3
    Specifying the physical layout of the carton conveyor system along with its associated picking or dispatch zone (if relevant) and the identification of its motor (if any).
  • 4
    Placing the devices along the carton conveyor system.
  • 5
    Defining the standard picking compartment sizes.  When the pick areas are later defined, they will be matched to these to determine what type and quantity of product they can handle.
  • 6
    Defining the different formats of the pick areas.
  • 7
    Specifying the physical layout of the pick areas, referring to the previously defined formats.
  • 8
    Setting the addresses for the pick area divisions.

The window will appear as shown overleaf:

Enter or Modify the Carton Conveyors

The lamps on the pick areas are intended to indicate whether the pick areas are stocked and whether picking is under way.  During the system definition, they will normally reflect whether the pick areas have been addressed. If the lamp corresponding to a given pick area is:

  • BLACK 
    none of its addresses are set in the database
  • GREY  
    some of its addresses are set in the database
  • YELLOW
    all of its addresses are set in the database

Push Buttons

There are "push buttons" presented at the foot of this window. The purpose of these push buttons is indicated by the text within them.  The first letter of this text is larger and is to be typed to "press" the button. The button may also be clicked with the mouse.

There are also two operating-system-painted buttons.  One of which, "ESCAPE: exit", is for exiting from a "push button" selection or from the window completely if no such selection is active.  The other, "HELP", calls up the help feature, refer to the section titled: "Help".

If the button is grey, it is available.  If it is dark green with black text it is unavailable.  If it is light green, it is either available with there being some particular reason that you might wish to "press" it or it is "pressed".

In response to activating certain push-buttons, the mode of control changes. This is reflected by a change in the push-buttons available.

Record List

To the right of the push buttons, in the area initially showing the carton conveyor system alarms, will be a list of records associated with the phase of the definition currently under way.

Initially, before any definitions have been created, this area will be blank. As definitions are created (i.e. records are added), they will be listed in this area to the right of the push buttons, with one entry highlighted.  The highlight may be moved to other entries using the following keys:

  • [UP]               
    Move the highlight up one line
  • [DOWN]             
    Move the highlight down one line
  • [PAGE UP]          
    Move the highlight up seven lines
  • [PAGE DOWN]        
    Move the highlight down seven lines
  • [CONTROL PAGE UP]  
    Move the highlight to the first line
  • [CONTROL PAGE DOWN]
    Move the highlight to the last line

The highlight may be moved by clicking the line in question.  Double clicking will normally call up the "Set of Fields" for you to modify.  There will also be a vertical scroll bar for presenting records that do not fit in the space provided.

Refer to the section titled: "Set of Fields".

In many cases, these definitions relate to portions of the conveyor and pick-to-light mimic diagram.  In these cases, as a record is highlighted, the corresponding parts of the mimic will be highlighted as well.

The highlight may be moved to the line corresponding to a portion of the mimic by clicking on that portion.  Double clicking will normally call up the "Set of Fields" for you to modify.  Even before a definition phase has been selected, you can, by clicking on a portion of the mimic, call up one of the following definition phases: "Defining the Conveyors", "Placing the Devices", or "Defining the Pick Areas", and highlight the appropriate line.

Defining the Conveyor Types

This window is entered from the first by pressing "T".  A conveyor type is defined by providing it with a name, the dimensions and pitch of its rollers, the speed of the conveyor and the overall width.  A nominal carton length is also to be specified to allow the simulation to display the cartons.

The conveyor types are referenced by the conveyor sections and impact on the presentation of these conveyors and the simulation of the movement of cartons along these conveyors.

To add a type, you need to press "A" or [INSERT], then enter a name for the type and the details.

As types are defined, they will be listed to the right of the push buttons, with one entry highlighted.  Please refer to the section titled: "Record List".

Once some types and part of the carton conveyor system have been defined, as an entry is highlighted, the conveyor sections referencing that type will be shown in white.

The highlighted entry may be modified by pressing "M" or [ENTER] then re-entering the details.  The highlighted entry may be deleted by pressing "D" or [DELETE].  If the entry is referenced, it can not be deleted.

To return to the first window, press [ESCAPE].

Naming the Zones

This window is entered from the first by pressing "N".  A zone is defined by providing it with a name and indicating whether it is a picking or dispatch zone.

Picking zones are referenced by pick areas and certain conveyor sections.  The Movement Controller will be told what product is needed for which cartons.  It will find the product in the pick area, then know the zone it needs the carton to reach.  By matching this to the conveyor section with the same zone reference it will know to where the carton is to be directed and what needs to be picked when it gets there.

One dispatch zone will be entered for each carton.  Once the carton has finished its picking, the Movement Controller will need to guide the carton to the conveyor section referencing this dispatch zone.

To add a zone, you need to press "A" or [INSERT], then enter a name for the zone and whether it is a picking or dispatch zone.

As zones are defined, they will be listed to the right of the push buttons, with one entry highlighted.  Please refer to the section titled: "Record List".

Once some zones, part of the carton conveyor system and some of the pick areas have been defined, as an entry is highlighted, the pick areas referencing that zone will be shown in light blue while the conveyor sections referencing that zone will be shown in white.

The highlighted entry may be modified by pressing "M" or [ENTER] then re-entering the details.  The highlighted entry may be deleted by pressing "D" or [DELETE].  If the entry is referenced, it can not be deleted.

To return to the first window, press [ESCAPE].

Defining the Conveyors

This window is entered from the first by pressing "C".  The carton conveyor system is defined by defining a series of conveyor sections.  Each conveyor section is either straight or a constant radius curve, controlled by one only motor, though this motor may control several sections.

The conveyor section is defined by specifying the physical location of its left rear corner, the conveyor section that feeds it (if any) the type of conveyor it is (these types set the non-length dimensions and the speed of the conveyor), which zone it services (if any) and which motor drives it (if any).

When specifying the conveyor that feeds it, the referenced conveyor must actually feed it, not just end where it starts, as this information is used to generate the routing.

A straight section of conveyor is completely specified when the entry for its left rear corner is created and another conveyor section references it as feeding it.  Should it not feed another conveyor, an "end" entry must be made, with the coordinates of the section's left front corner and referencing the section as feeding it.

A curved section of conveyor is completely specified when the entry for its left rear corner is created and a completely specified straight conveyor section references it as feeding it. Should it not feed another conveyor, a short straight conveyor section must be completely specified, referencing the section as feeding it and angled suitably to define the end of the arc.

To add a conveyor section definition, you need to press "A" or [INSERT], then enter the details as described.

As conveyor sections are defined, they will be listed to the right of the push buttons, with one entry highlighted. Please refer to the section titled: "Record List".

If the highlighted definition completes the specification of another conveyor section, that conveyor section will be shown on the conveyor diagram in yellow, while, if the conveyor section corresponding to the highlighted definition is completely specified, it will be shown on the conveyor diagram in white.

The highlighted entry may be modified by pressing "M" or [ENTER] then re-entering the details.  The highlighted entry may be deleted by pressing "D" or [DELETE].  If the entry is referenced, it can not be deleted.

Devices may also be placed on the conveyor from this window by typing "P" then entering the details, however this is covered in more detail in the next section.

To return to the first window, press [ESCAPE].

Interactive Conveyor Editing

Once a conveyor section is completely specified its position can be interactively modified.  To do this, first highlight the definition of the conveyor section, so that its representation in the conveyor diagram is shown in white, then press "E" to "edit section", then press "I" to set the increments for orthogonal movements (metres - usually a decimal) and twists (degrees).

Having set the increments, each time you press "U", "D", "L" or "R" the conveyor section will be moved by the specified increment in either the up, down, left or right direction. Similarly, each time you press "t" the section will be rotated clockwise about the centre of its left edge by the specified twist increment.  Pressing [SHIFT T] rotates the section in the counter-clockwise direction.  The connected conveyor sections will be distorted accordingly.

Once you are finished interactively editing the conveyor section, press "E" to return to the definition of the conveyor diagram.

Placing the Devices

This window is entered from the first by pressing "D".  The device types are predefined and include barcode readers, check weighers, tape sealers, diverters, draw bridges, pop-up stops, tape sealers, merges and diverges.  To place a device, it must be given a name, a type, a conveyor section and a distance along the conveyor.  Do not place the merges and diverges, as these are done in one key stroke at the end.

To add a device, you need to press "A" or [INSERT], then enter the details as described.

As devices are defined, they will be listed to the right of the push buttons, with one entry highlighted.  Please refer to the section titled: "Record List".

The highlighted device will be shown in yellow on the conveyor diagram.

The highlighted entry may be modified by pressing "M" or [ENTER] then re-entering the details.  The highlighted entry may be deleted by pressing "D" or [DELETE].  If the entry is referenced, it can not be deleted.

When finished placing the other devices, press "S" to have the software add the merges and diverges to this list.  Check these on the conveyor diagram.  Mistakes in the placement of merges and diverges reflect errors in the specification of the conveyor sections.

To return to the first window, press [ESCAPE].

Setting Compartment Sizes

This window is entered from the first by pressing "S".  The compartment sizes are used to specify which products and what quantity can be accommodated by the pick area divisions.  To define a compartment size, it must be given a name, a length and height.

To add a compartment size, you need to press "A" or [INSERT], then enter the details as described.

As compartment sizes are defined, they will be listed to the right of the push buttons, with one entry highlighted. Please refer to the section titled: "Record List".

The highlighted entry may be modified by pressing "M" or [ENTER] then re-entering the details.  The highlighted entry may be deleted by pressing "D" or [DELETE].  If the entry is referenced, it can not be deleted.

To return to the first window, press [ESCAPE].

Format of Pick Area Types

This window is entered from the first by pressing "F".  By defining types of pick areas, with formats for each type, we reduce the effort, which would have otherwise been required to define the pick areas.

To add a pick area type, you need to press "A" or [INSERT], then enter the name for the pick area type, then its dimensions (length, height and depth).

Having done this the window will be replaced with a light blue rectangle, with dimensions proportional to the height and width specified.

Below the rectangle is presented the details of the highlighted "cut" (initially there will be no cuts).

At the bottom of the window will three push buttons and to the right of these is presented the details of the largest matching compartment size to the light blue division.

Typically, the pick area type needs to be divided into shelves with vertical separations along each shelf.  This dividing is achieved by inserting "cuts" to create "divisions".  To insert a cut press "I" or [INSERT], then enter whether the cut is a horizontal shelf ("L" for long) or a vertical separator ("C" for cross) then enter the position of the cut from the left or top, in metres (you will be offered the mid point).

As cuts are made, the original rectangle is divided into a number of divisions.  One division will be shown in light blue, while the rest will be shown in a deeper blue.  Similarly, one cut will be shown in yellow, while the rest will be shown in black.

The window will appear as shown overleaf:

Enter or Modify the Carton Conveyors -- Format of Pick Area Types

Using the [LEFT], [RIGHT], [UP] and [DOWN] keys the light blue area may be moved to any division within the original rectangle. As the light blue moves, so does the yellow cut, however not all cuts can be made yellow. The division (and its cut) may be selected by clicking within the division. As the light blue and yellow move, the compartment size details and the cut details will be updated to reflect the change.

The yellow cut can be deleted by pressing "D" or [DELETE].

Once all cuts have been made, press "E" or [ESCAPE] to return to the definition of the types of pick areas.

As pick area types are defined, they will be listed to the right of the push buttons, with one entry highlighted. Please refer to the section titled: "Record List".

If pick areas have been defined, those pick areas employing the highlighted type will be presented on the conveyor diagram in light blue, while the rest will be presented in a deeper blue.

The highlighted entry may be modified by pressing "M" or [ENTER] then re-entering the details.  The highlighted entry may be deleted by pressing "D" or [DELETE].  If the entry is referenced, it can not be deleted.

To return to the first window, press [ESCAPE].

Defining the Pick Areas

This window is entered from the first by pressing "P".  The definition of the pick areas draws on the prior definition of the picking zones and the pick area types.  To define a pick area, it must be given a zone, a name, a position (x and y), an access angle, and a pick area type.

There is another field provided, the "Right neighbour", which should be left alone at this stage.

The position coordinates reference the front right hand corner of the pick area.  This information, combined with the dimensions supplied with the pick area type definition and the access angle are sufficient to display the pick area on the conveyor diagram.

The pick area is displayed as a blue rectangle with a black edge around three of its sides.  The fourth side is the side from which it is accessed.

To add a pick area, you need to press "A" or [INSERT], then enter the details as described.

As pick areas are defined, they will be listed to the right of the push buttons, with one entry highlighted. Please refer to the section titled: "Record List".

The highlighted pick area will be presented on the conveyor diagram in light blue, while the rest will be shown in a deeper blue.

The highlighted entry may be modified by pressing "M" or [ENTER] then re-entering the details.  The highlighted entry may be deleted by pressing "D" or [DELETE].  If the entry is referenced, it can not be deleted.

This job is usually the most tedious and time-consuming part of the definition process.  If the system is a large one, it may be worth placing a few pick areas in key positions, then exporting the appropriate records, editing them with your favourite editor to extrapolate to the remaining pick areas then importing the resultant file.  Refer to the section of the TECHNICAL MANUAL titled: "Exporting from and Importing to the Database".

To return to the first window, press [ESCAPE].

Addressing the Pick Areas

This window is entered from the first by pressing "A".  Each division within each pick area must be given a unique address so that messages may be sent to it along a multi-drop communications channel.

This is performed by the following steps:

  • 1
    Setting an addressing pattern (Harness Wiring) for each pick area type.
  • 2
    Determine which pick areas are electrically adjacent to which.
  • 3
    Provide start addresses for each block of electrically adjacent pick areas.
  • 4
    Set the pick-to-light unit addresses into the database for each pick area division.
  • 5
    Write the pick-to-light unit addresses into the hardware of each pick area division.

The first three of these steps specify the algorithm for assigning addresses to the pick areas.  The fourth step executes the algorithm to assign the addresses to the database for each pick area division, while the final step involves programming these addresses into the hardware.

The vital thing is that the address written to the database must match the address written to the hardware.

To return to the first window, press [ESCAPE].

Harness Wiring

This window is entered from the "addressing pick areas" window by pressing "H".  Each division within each pick area type must be given a unique address offset within that type.

The address offset consists of two numbers, separated by a period (full-stop, dot or ".").  The first we will call the wire number and the second the station number.  You can arrange that all addresses within a single pick area be consecutive, in which case they would all share the same wire number, normally "1", and have consecutive station numbers starting from "1".

If a pick area using this type is addressed subsequent to a pick area to its left, its addresses will be consecutively numbered in the same order as its station numbers, while if the pick area is addressed subsequent to a pick area to its right, its addresses will be consecutively numbered in the reverse order to its station numbers.

If you use several wire numbers, you would normally start from "1" and work up consecutively.  You may have several pick areas alongside one another and wish all divisions on the same level to be numbered consecutively.  For this you would use a different wire number for each shelf, and number your station numbers from left to right.

If, rather than using one pick-to-light unit per division, you are using one per column of divisions, with an LED at each division, then you will require that the addresses are assigned consecutively in the vertical direction first, as such units "consume" a consecutive run of addresses.  It is also better to arrange such units vertically, as there is provision for them to fill in for damaged left or right neighbours - which they can not do if they are their own neighbour.

This window presents the pick area types in a list to the right of the push buttons, with one entry highlighted. Please refer to the section titled: "Record List".

As the harness wiring becomes defined, the lamps on the pick areas reflect the status of the harness wiring for that type of pick area. If the lamps corresponding to a given pick area type are:

  • BLACK 
    no harness information is set for the type
  • GREY  
    some of the harness information is set for the type
  • YELLOW
    all of the harness information is set for the type

The pick areas employing the highlighted type will be presented on the conveyor diagram in light blue, while the rest will be presented in a deeper blue.

The harness wiring for highlighted entry may be created/modified by pressing "M" or [ENTER].

Having done this the window will be replaced with a blue rectangle, with dimensions proportional to the height and width specified.  One division will be shown in light blue, while the rest will be shown in a deeper blue.  Similarly, one cut will be shown in yellow, while the rest will be shown in black.

At the bottom of the window will be a single push button (specific for this phase) and to the right of this is presented the details of the largest matching compartment size to the light blue division.

Using the [LEFT], [RIGHT], [UP] and [DOWN] keys the light blue area may be moved to any division within the original rectangle. As the light blue moves, so does the yellow cut, however not all cuts can be made yellow.  The division (and its cut) may be selected by clicking within the division.  As the light blue and yellow move, the compartment size details and the cut details will be updated to reflect the change.

You need to move the light blue to each division and press "M" or [ENTER] then enter the unique address offset (wire number and station number) for that division of the pick area type. "Unique", here means that the address offset is not used elsewhere in this pick area type - most pick area types will include address 1.1 for example.

To return to the harness wiring window, press [ESCAPE].

Repeat this process for each pick area type.

To return to the addressing pick areas window, press [ESCAPE].

Setting Adjacency

This window is entered from the "addressing pick areas" window by pressing "A".  Given that we know how we are to allocate addresses within each pick area, we now need to decide how we are going to allocate addresses from pick area to pick area.

When you first enter this window, having completed all previous steps, but not having assigned the adjacency between any pick areas, all pick areas will be listed to the right of the push buttons, with the highlighted pick area displayed on the conveyor diagram in light blue and the rest in a deeper blue.

Please refer to the section titled: "Record List".

The software will expect you to assign electrical adjacency to physically adjacent pick areas, but will make no assumptions beyond this.  You should highlight a pick area at the physical left hand end of a row of pick areas then press "M" or [ENTER].

You will be requested to enter the zone and name of the right hand neighbour.  So long as the software finds physical right hand neighbours, it will present these as a default.  You would normally accept these defaults.  When you run out of defaults, you must decide whether you intend to link this last pick area to a pick area at the physical left hand end of a nearby row of pick areas, or to finish this run.

To continue the run, enter the zone and pick area name of the next pick area, and continue through the defaults again.

To finish a run, enter nothing into the field.  You will now notice that not one, but several pick areas are now shown in light blue and that only the first of these is presented in the list.  If you now move the highlight to another pick area, those for which you have set the adjacency will be shown in grey, except the first, which is returned to the deeper blue.

Ultimately, once you have completed setting all required adjacencies, the only entries in the list will be the starting pick areas for the adjacencies, while the conveyor diagram will show the pick areas adjacent to the highlighted pick area in light blue, the first pick areas of the remaining adjacencies in the deeper blue and all other pick areas in grey.

To return to the addressing pick areas window, press [ESCAPE].

Running the Wires

This window is entered from the "addressing pick areas" window by pressing "R".  Given that we know how we are to allocate addresses within each pick area, and that we know how the pick areas are interconnected, we can now assign the start addresses to each adjacency run.

To define an adjacency run, you must first specify the start address, the first pick area in the adjacency, the first wire number in the pick area type to use and whether you are starting from the left of the right of the adjacency.

The software will work its way through the adjacency till it reaches the end, where it will prompt you to enter the next wire number.  If you do enter the next wire number, the software will then work its way back through the adjacency to the first where it will again prompt you to enter the wire number.

If you do not wish the numbers to run forward along one wire number then backwards along the next, and so on, do not provide a next wire number when prompted.  Instead enter a blank wire number then start a new adjacency run commencing again at the first pick area, this time specifying the next wire number.

To add such an adjacency run, you need to press "A" or [INSERT], then enter the details as described.  The start address will be offered by the software.

As adjacency runs are defined, they will be listed to the right of the push buttons, with one entry highlighted. Please refer to the section titled: "Record List".

As the wiring becomes defined, the lamps on the pick areas reflect this.  If the lamp corresponding to a given pick area is black, no addresses have been defined for any of its divisions. If the lamp is grey, addresses have been defined for some of these divisions.  If the lamp is yellow, addresses have been defined for all of these divisions.

The highlighted entry may be modified by pressing "M" or [ENTER] then re-entering the details.  The highlighted entry may be deleted by pressing "D" or [DELETE].  If the entry is referenced, it can not be deleted.

To return to the addressing pick areas window, press [ESCAPE].

Patch the Shelves

This window is entered from the "addressing pick areas" window by pressing "P".  This window allows you to access the records used to patch the adjacency runs from one wire number to another.

These records are usually created in the previous section, however direct access to these records may be of use.  To define a patch record, it must be given a zone and pick area name and the source and destination wire numbers.

To add a patch record, you need to press "A" or [INSERT], then enter the details as described.

As patch records are defined, they will be listed to the right of the push buttons, with one entry highlighted. Please refer to the section titled: "Record List".

The highlighted entry may be modified by pressing "M" or [ENTER] then re-entering the details.  The highlighted entry may be deleted by pressing "D" or [DELETE].  If the entry is referenced, it can not be deleted.

To return to the addressing pick areas window, press [ESCAPE].

Setting the Addresses

This function is invoked from the "addressing pick areas" window by pressing "S".  Given that we have completed all previous steps, we have now provided enough information for the software to determine which addresses to assign to each division within each pick area.  As soon as we type "S", the software writes these addresses into the database records corresponding to each pick area division.

Allocating Communications Channels

This window is entered from the "addressing pick areas" window by pressing "C".  This window allows you to set which communications channels are to be used for which ranges of pick area addresses.

To allocate a communications channel to a range of pick area addresses, you must specify the name of the channel, then the first and last addresses it will use.

To add a channel record, you need to press "A" or [INSERT], then enter the details as described.

As channel records are defined, they will be listed to the right of the push buttons, with one entry highlighted. Please refer to the section titled: "Record List".

Also as channel records are defined, the lamps on the pick areas reflect this.  If the lamp corresponding to a given pick area is:

  • BLACK 
    none of its addresses are allocated to a channel
  • GREY  
    some of its addresses are allocated to a channel
  • YELLOW
    all of its addresses are allocated to a channel

The colour of the pick areas will reflect their relationship with the highlighted channel.  If the pick area is:

  • GREY      
    none of its addresses are allocated to this channel
  • DARK BLUE 
    some of its addresses are allocated to this channel
  • LIGHT BLUE
    all of its addresses are allocated to this channel

The highlighted entry may be modified by pressing "M" or [ENTER] then re-entering the details.  The highlighted entry may be deleted by pressing "D" or [DELETE].  If the entry is referenced, it can not be deleted.

Once the channel information is set, had the channel not previously been used for this purpose, and is not allocated to any other purpose, the channel communications parameters will be set to suitable default values for this use and a message to this effect will be displayed in the error line.

Had the channel been found to be allocated to another purpose, a message to this effect will be displayed in the error line.  This message must be acknowledged by typing almost any key.  To find out more about the use of the channel in question, refer to the section titled: "Channel Setup".

The range of addresses specified is then checked against the other channels and if a conflict is found, a message to this effect is displayed in the status line.

To return to the addressing pick areas window, press [ESCAPE].

Writing to the Field

Before invoking with this function, the pick-to-light hardware must be installed, connected to the correct communications channels and powered up.

This function is invoked from the "addressing pick areas" window by pressing "W".  Given that all the pick area divisions have been allocated addresses, and that these addresses have also been allocated to communications channels, we now need to inform the hardware of its addresses.

The intention of all that has gone before is to allocate addresses to the divisions in a logical fashion that is easily reproduced on the warehouse floor.  This is what we are now about to do.

Having pressed "W", the Movement Controller will broadcast a command to wipe all addresses from all pick-to-light units.

In response these units will set their displays to "FFF".

You are now to go to each unit in order of ascending address and press the "ACCEPT" button.  The unit will respond by displaying the lowest three digits of its address.  If a unit requires several addresses (because it is looking after several divisions), the next unit you press will show not the next address but an address several higher.

For example, if the display units are each responsible for five divisions, the first unit pressed will show an address of "001", while the next will show an address of "006".

Once all units have been so programmed, press "W" to turn off this function.  All display units will return to blank.  The software and hardware are now configured.

Global Editing

As you proceed through the definition of the conveyors and the pick areas, you may find that you have made some big mistakes.

This section describes some of the tools to be used to recover from some of these.

This window is entered from the first by pressing "G".  The window offers functions to move the entire carton conveyor system, or selected portions of it either up, down, left or right, and to alter its elevation.

If you wish only to alter part of the carton conveyor system with these operations, you will need to first specify which parts.  Do this press "J" to enter the "just do some" window.  Refer to the section titled: "Just Do Some".

After returning from the "just do some" window, had you left restrictions in force (as was your aim) the "just do some" push button will be illuminated.

To perform the global editing, press "U", "D", "L" or "R" then enter the required distance to move the entire conveyor diagram (or a part thereof) up, down, left or right respectively.  To alter the elevation, press "E" then enter "R" to raise or "L" to lower, then enter the distance the elevation is to be altered by.

To return to the first window, press [ESCAPE].

Just Do Some

If, when performing global editing, you wish only to alter part of the carton conveyor system with these operations, you need to first specify which parts.  To do this press "J" to enter the "just do some" window.

This window provides the ability to make the following restrictions to the conveyor system:

  • "C"
    Restrict global editing to the conveyor sections only.  The devices and the pick areas will be unaffected.  This restriction can be released by typing "C" a second time or by typing "P" or "D".
  • "D"
    Restrict global editing to the devices only.  The conveyor sections and the pick areas will be unaffected.  This restriction can be released by typing "D" a second time or by typing "C" or "P".
  • "P"
    Restrict global editing to the pick areas only.  The conveyor sections and the devices will be unaffected.  This restriction can be released by typing "P" a second time or by typing "C" or "D".
  • "X"
    Restrict global editing to a objects within a range of X values.  You will be prompted to enter the minimum and maximum values in metres.  This restriction can be released by typing "X" a second time then entering blank values.
  • "Y"
    Restrict global editing to a objects within a range of X values.  You will be prompted to enter the minimum and maximum values in metres.  This restriction can be released by typing "Y" a second time then entering blank values.
  • "E"
    Restrict global editing to a objects within a range of elevations.  You will be prompted to enter the minimum and maximum values in metres.  This restriction can be released by typing "E" a second time then entering blank values.

Once restrictions are in place, the responsible push button will be illuminated and only those objects satisfying the restrictions will be coloured normally.  Conveyor sections with one end satisfying the restriction and the other end not will be shown in yellow.  Objects not satisfying the restrictions will be coloured grey.

When satisfied that the restrictions are as desired, type "S" or [ESCAPE] to return to the global editing window.  Had you left restrictions in force (as was your aim) the "just do some" push button will now be illuminated.

Changing the Appearance

The diagram can be scrolled (panned and tilted), rotated, and zoomed.

The [LEFT], [RIGHT], [HOME] and [END] keys are used to horizontally scroll (pan) the view past the conveyors, with the [LEFT] and [HOME] keys moving the view left and the [RIGHT] and [END] keys moving the view right.  The [HOME] and [END] keys scroll by larger increments.

The [UP], [DOWN], [PAGE UP] and [PAGE DOWN] keys are used to vertically scroll (tilt) the view past the conveyors, with the [UP] and [PAGE UP] keys moving the view "higher".  The [PAGE UP] and [PAGE DOWN] keys scroll by larger increments.

There will be scroll bars that can be used horizontally (pan) and vertically (tilt) scroll the images.

By typing "R" or [SHIFT R] the display may be rotated or rotated back in 15 degree increments. [CONTROL R] will rotate the display in 1 degree increments in the reverse direction to the last "R" or [SHIFT R] key.  [ALTERNATE R] will reverse the direction for future typings of [CONTROL R].  Clicking on the "ROTATE SH.: CCW" button, with the left button, rotates the display clockwise while clicking, with the right button, rotates the display counter-clockwise.

By typing "Z" or [SHIFT Z] the display may be zoomed in or out. [CONTROL Z] will zoom by a finer amount in the opposite direction to the last "Z" or [SHIFT Z] key. [ALTERNATE Z] will reverse the direction for future typings of [CONTROL Z].  Clicking on the "ZOOM IN SH.: OUT" button, with the left button, zooms the display in while clicking, with the right button, zooms the display out.

These changes can be made permanent for this terminal by pressing "W" to store them.  To return to the settings last made permanent, press "L".

Enter or Modify the Palletisers

This is a "Maintenance Viewing Data" window that lists each of the palletisers.  These are defined to specify to the Movement Controller the name of each palletiser, the PLC data file that contains the PLC and machine definition and the patterns that are to be used by this palletiser.

Below is a rough text-representation of this window:

Enter or modify the palletisers Select Change Restrict Where Match Expand Insert First Last 1-nine 1|Palletiser|410|16|8S1 |9D2 |6U2 ^ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ █ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Database: Palletisers Palletiser PLC Palletiser 4

Refer to the section titled: "Viewing Data", and its subsection "Maintenance Viewing Data".

The "Set of Fields" includes the palletiser's name (a unique "Name" field), the PLC data file containing the machine definition and the maximum number of patterns allowed for in the PLC (both "Numeric" fields) and the patterns (sixteen "Symbolic Name" fields). For editing instructions for these types of fields, please refer to the sections titled: "Name", "Symbolic Name", and "Numeric".

It is necessary to write to the PLC after making changes to the following "Specific Instructions" windows:

Refer to the section titled: "Writing Pattern Data".

The palletiser status and commands windows may be called up from the Heavy-Unit-Load Conveyor diagram by zooming into a related conveyor position.  This correspondence between these windows and the conveyor positions needs to be specified; to do this refer to the section titled: "Conveyors from which to Zoom".

As you exit this window, you will be asked whether you wish to write the pattern information to the palletisers.  To do so, type [F1].

Enter or Modify Machine Definition

A "machine" is a mechanism that requires more status monitoring than is afforded by the definition of devices within the Heavy-Unit-Load Conveyor System and has not had explicit software developed for it (as in the case of cranes and palletisers).

First a machine definition needs to be entered, which gives the machine a name, tells the software on which PLC it is located and in which PLC data file the status and alarms are presented.

Secondly, the bits within the status, alarm, and control words need to be described so that the status and alarms may be presented meaningfully.

Finally, the graphical presentation of the status and the positioning of the raw status and alarms on the machine status window needs to be defined.

This section describes the first and last of these operations, for the second, refer to the sections titled: "Enter or Modify Machine States", "Enter or Modify Machine Alarms", and "Enter or Modify Machine Controls".

The window will appear as shown overleaf:

Enter or Modify Machine Definition

This window has four selection windows, which will be displayed across the top of the main window.  Of these, one will be active at any given point in time and one line from this selection window will be active.  The remainder of the main window, below these selection windows will be used to service the active line of the active selection window.

The four selection windows are:

  • MACHINES        
    lists the existing machines, which may be modified, and allows new machines to be added.
  • MACHINE'S AREAS 
    lists the existing window areas for the active machine, which may be modified, and allows new areas to be added to the machine.
  • MACHINE'S INPUTS
    lists the existing inputs for the active area of the active machine, which may be modified, and allows new inputs to be selected for the area.
  • CONDITIONS      
    lists the existing conditions for the active group of inputs for this area of this machine, and allows new conditions to be added to the machine's group of inputs.  A group of inputs commences with the first in sequence to have no conditions set for it and ends with the first to have conditions set for it (in fact set for the group).  If each input has one or more conditions set, then each group of inputs comprises a single input.

For each machine, a number of window areas may be defined; for each of these window areas a number of inputs may be selected; for each input (or group of inputs a number of conditions (or states) may be defined - the inputs may be viewed independently or in groups.  These windows are used to define these machines, window areas and conditions and to organise the inputs into the window areas.

The machine status windows may be called up from the Heavy-Unit-Load Conveyor diagram by zooming into a related conveyor position.  This correspondence between these windows and the conveyor positions needs to be specified; to do this refer to the section titled: "Conveyors from which to Zoom".

Navigating the Selection Windows

The active window is identified by its surround being highlighted.  The next or previous windows may be made active by typing either [RIGHT] or [LEFT] respectively.

The line pointer may be moved up or down using [UP] and [DOWN] respectively.

These navigating features also correspond to push-buttons presented at the bottom of the window, and so are also available using the letters "R", "L", "U" and "D" in place of [RIGHT], [LEFT], [UP] and [DOWN] respectively.

The selection window and line may be selected by clicking on it.  Also a pointer may be moved up and down, or the window scrolled by clicking on the selection window frame immediately above or below the pointer.

In the area beneath these windows the data relating to the active line of the active window will be displayed.  In most cases, this data will be a list of database fields, however, in the case of the fourth window, the images corresponding to the active condition will be presented.

Modify, Add and Cancel Lines

No matter which window is open, lines may be modified, added or cancelled (deleted) by typing "M" (or [ENTER]), "A" (or [INSERT]) or "C" (or "D" or [DELETE]) respectively. A line may also be modified by double clicking on it.

If an attempt is made to delete a line, a check is first made to ensure that the line is not in use.  If it is in use, you will be presented with a message such as "Record is referenced by database number 456 - "Machine, area belongs to"".

Otherwise you will be presented with the message "Are you sure? Press F1 to confirm intention to DELETE ... STRIKE A KEY".  If you strike [F1] the line will be deleted; if you strike any other key it will not be deleted.

When modifying or adding lines in the first three windows, you will need to enter a number of data fields, depending upon which window you are adding lines to.

When modifying or adding lines to the "Conditions" window, a new window will be presented allowing you to define the condition and the graphic images used to represent this condition on the machine status window.

Defining the Machine

When a line from the "Machine" window is selected for modification, the area below the windows will display the details corresponding to the machine.  These may now be edited.

The data you need to enter to define the machine, prior to defining the window areas, inputs, alarms, controls, and graphics, is:

  • The name of the machine (a unique "Name" field),
  • The PLC that controls the machine (a "Symbolic Name" field),
  • The PLC data file containing the machine status and alarm information (a "Numeric" field),
  • The background colour for the mimic (a "Symbolic Name" field),
  • The foreground colour for the alarm text (a "Symbolic Name" field),
  • The foreground colour for the status text (a "Symbolic Name" field),
  • The terminal location from which the controls (if there are controls and if not all locations are to be allowed access to then) may be used (a "Symbolic Name" field).

For editing instructions for these types of fields, please refer to the sections titled: "Name", "Symbolic Name", and "Numeric".

Defining the Window Areas

A window area is defined by giving it a name and dedicating a rectangular portion of the window to it.  Inputs for a machine are each allocated to a specific window area, where they are to be presented graphically.

When an input, allocated to a window area, changes, that window area is erased then repainted.  So as to minimise the amount of repainting, the diagram is divided into these window areas, so that when one input changes, only a single area of the window is updated.

Breaking the window into areas and developing the graphics in these areas allows the relative position of the graphics to be simply adjusted to create a more proportional whole.

When a line from the "Machine's Areas" window is selected for modification, the area below the windows will display the details corresponding to the area.  These may now be edited.

The data you need to enter to define the machine area, prior to allocating inputs to it, is:

  • The name of the machine area (a unique "Name" field),
  • The machine of which the area is a part - this is automatically set to the selected machine - (a "Symbolic Name" field),
  • The start and end X and Y coordinates (all "Numeric" field).

For editing instructions for these types of fields, please refer to the sections titled: "Name", "Symbolic Name", and "Numeric".

To display alarms on the machine status window, create an area of suitable size (recommended width 168 pixels) and include the string of letters "ALARM" in the area's name - case is unimportant.  The text "ALARM" will be presented at the top of this area on the machine status window, and beneath it will be listed the active alarms.

To present control push-buttons on the machine status window, create an area of suitable size (recommended width 76 pixels per push-button; recommended height 9 pixels plus 32 pixels per push-button) and include the string of letters "CONTROL" in the area's name - case is unimportant.  The text "CONTROLS" will be presented at the top of this area on the machine status window, and beneath it will be listed the active alarms.

To display raw status text on the machine status window, create an area of suitable size (recommended width 168 pixels) and include the string of letters "STATUS" in the area's name - case is unimportant.  The text "STATUS" will be presented at the top of this area on the machine status window, and beneath it will be listed the active inputs.

Select/Organise Inputs for an Area

The inputs for the machine are to be previously defined.  The inputs are selected from these for each of the window areas.  As each input is selected it is removed from the list of available inputs.

When images have been defined for the inputs, they will be presented in the order in which the inputs are listed in this window, so that the images for the later inputs will overlay the images for the earlier inputs. When inputs are grouped together to define a set of images, these inputs must be consecutive.  For both these criteria, the sequence, in which the inputs are presented in this window, is significant.

The sequence, in which the inputs are presented, is the same as the sequence in which they are defined in the PLC status file.  As this sequence may not be conveniently altered, this sequence may be overridden by providing some inputs with a sequence number.  As a result all inputs with the lowest sequence number will be presented first, in the sequence in which they appear in the PLC status file, followed by the inputs with the next lowest sequence number.

When this window becomes active, the inputs allocated to the active area, if any, will be displayed.

The first step is to select inputs for this area.  This is done by first typing "A" or [INSERT].  The contents of this window will be replaced with a list of the available inputs.  Move the pointer to the desired input then type [ENTER] to select it, otherwise, type [ESCAPE].  In either case, the window will be returned to displaying the inputs allocated to the active area.  Repeat this process for each input required.

When a line from the "Machine's Inputs" window is selected for modification, the area below the windows will display the details corresponding to the input.  These may now be edited.

The data you need to enter to modify a machine input, prior to allocating images to it, is:

  • The name of the machine input (a unique "Name" field),
  • The machine area in which the input is to be displayed - this is automatically set to the selected area - (a "Symbolic Name" field),
  • The sequence number of the input (a "Numeric" field).
  • Whether the input is a bit or a word (a "Character" field).

For editing instructions for these types of fields, please refer to the sections titled: "Name", "Symbolic Name", "Numeric", and "Character".

Once you have assembled the inputs required for this window, review the list, setting sequence numbers so as to order the inputs ensuring those to be grouped are consecutive and those whose images are to overlay others are after those others.

It may help to view sequence numbers as group numbers, allocating "0" to the inputs of the first group, "1" to the inputs of the second and so forth.

Defining the Machine Input's Condition

The image to be displayed for a group of inputs is determined by matching the state of the group with values set in this window, then presenting the corresponding image.

The order in which the conditions are listed is significant if several may satisfy a single combination of the states of the inputs.  In creating the image, the conditions matching the input states are executed from the top of the list, so those lower down may overwrite those above.  If you need to rePosition a condition, highlight it then type "P".  You may then raise or lower the record using the [UP] and [DOWN] keys (or "U" and "D") to relocate it.  Once you have reached the new location among the conditions, type "P" (or [ESCAPE]) to finish the rePositioning of this record.

To enter the data for a condition, a new window is presented, with two areas.  These areas are titled:

  • Condition Matching
    specifying the input states
  • Graphical Images  
    specifying the shapes and colours for the image

In the top left, in a cut out the size defined for the area, is presented the resulting image.

The window will appear as shown overleaf:

Enter or Modify Machine Definition -- Input's Condition

The cursor keys may be used to move the highlight to other areas.

Once the area to be edited is highlighted, you will need to type "M" or [ENTER] before you can commence to edit the area.

The navigating features also correspond to push-buttons presented at the bottom of the window, and so are also available using the letters "R", "L", "U" and "D" in place of [RIGHT], [LEFT], [UP] and [DOWN] respectively.

The area to be highlighted can be set by clicking on it, while double clicking on it will start you editing it.

Specifying Machine Condition Matching

When defining these machines, a number of inputs can be grouped together to select a graphic image to reflect the implied condition.  This group of inputs can be represented by a number of such images, depending upon which "condition" their state currently reflects.  Refer to the section titled: "Heavy-Unit-Load Conveyor Device Condition".

When at least one condition has been defined for an input, its description in the "Machine's Inputs" window will be shown white.  Otherwise its description will be shown yellow.  If while in the "Machine's Inputs" window you move the line pointer down past, say, two yellow inputs to the next line, then move across to the "Conditions" window, the conditions you then add to or modify within the window will apply to the group of inputs including the active input and the yellow inputs above it.

After selecting a condition for modification or adding a new condition, the first information you will be required to enter is what state or states each input in the group should be in to match the condition and cause the images you are about to define to be displayed on the machine status window.

Corresponding to each input you can specify either "0", "1" or "X" to imply that the input must be 0, 1 or anything respectively to match the condition.

The [UP] and [DOWN] keys may be used to specify the input to be matched. By then typing "1" (or [ENTER]), "0" or "X" the condition value may be set to "1", "0" or "X" respectively. You can also specify the input by clicking on it, and set and set the condition value by double clicking to cycle through the three possibilities.

Once you have set the condition values for each input in the group, type "E" (or [ESCAPE]) to exit from editing the condition-matching specification.

Machine Image Editing

To create the image, we need to enter the specification of a number of shapes to be presented within a machine window area.

These specifications are presented on subsequent lines within the "Graphical Image" area.  After pressing [ENTER], the first specification will be highlighted and the shape corresponding to this, in the window area, will be shown in black rather than its specified colour, unless its specified colour was black, in which case it will be shown in white.

There are up to eight details associated with each specification.  The first four are mandatory and consistent for all shapes and are:


"Shape"
"Colour"
"X Coordinate"
"Y Coordinate" 

The available shapes are circles, characters, lines, rectangles, semi-circles, numbers, and bargraphs.  For circles and semi-circles, the x and y coordinates refer to the centre from which they are generated, while for characters and numbers, they refer to the upper left corner of the character, for rectangles and bargraphs, they refer to one corner and, for lines, they refer to one end.

Circles

For circles, the remaining details are the radius and thickness.  The thickness should be less than or equal to the radius, and if equal to it will result in a solid circle.

Characters

For characters, the remaining details are the ASCII code for the character in hexadecimal (extended ASCII characters refer to the IBM PC extended character set), and the thickness for each logical pixel.  The characters are defined in sixteen rows by eight pixels, setting the thickness to 1 will present a character this size, to 2, twice this size, to 3, three times et cetera.

Lines

For lines, the remaining details are the coordinates for the other end of the line and the thickness of the line.  If the thickness is other than 1, lines will be thickened If the thickness is other than 1, lines will be thickened to the left, looking from the first coordinates towards the second.

Rectangles

For rectangles, the remaining details are the coordinates for the opposite corner.  Rectangles are always orientated with their sides parallel to the borders of the window.

Semi-Circles

For semi-circles, the remaining details are as per circles, plus a direction, which is either left, up, right or down.

Numeric Display

For semi-circles, the remaining details are the number of digits, the number of decimal places and the base.

Bargraph

For bargraphs, the remaining details are as per rectangles, plus a direction, which is either left, up, right or down, and a maximum value, which, if negative, implies bidirection presentation.

With unidirectional (not bidirectional) presentation, the bargraph will represent "0" and negative values as a line across the end of the defined rectangle, perpendicular to the nominated direction, while it will present positive values as a rectangle, extending from this line in the direction nominated.

With bidirectional presentation, the bargraph will represent "0" as a line across the centre of the defined rectangle, perpendicular to the nominated direction, while it will present positive values as a rectangle, extending from this line in the direction nominated, and negative values as a rectangle, extending in the opposite from this line direction.

Change or Add Specifications

The highlight may be moved to other listed specifications using the [UP] and [DOWN] keys (or "U" and "D").  To edit an existing specification, highlight the specification then type "M" (or [ENTER]).  To add a new specification, type "A" (or [INSERT]).  In either case you will be presented with the form to fill in to define the shape.

The highlight may be moved by either clicking on the image of the specification or the line corresponding to this image. If the position clicked is shared by more than one specification's image, subsequent clicks will cycle through these specifications. Double clicking will enable you to edit the specification.

After changing or adding a specification, the image display will be updated to reflect this.

Conveniently Add Text Strings

Type "L", or click on "Letters".  In response, a dialogue window will be opened, requesting the colour in which they are to be presented (a "Symbolic Name" field), the coordinates at which the string will start (both "Numeric" fields), the size of the letters (1 to 4, a "Numeric" field), the string of letters themselves (a "Name" field), and whether you want this string to replace all other letters currently defined for this condition (a "Character" field).

For editing instructions for these types of fields, please refer to the sections titled: "Name", "Symbolic Name", "Numeric", and "Character".

After entering this information, the image display will be updated to reflect this.

Reordering Image Specifications

The order in which the specifications are listed is significant if there is an overlap between them.  In creating the image, the specifications are executed from the top of the list, so those lower down may overwrite those above.  If you need to rePosition a specification, highlight it then type "P".  You may then raise or lower the record using the [UP] and [DOWN] keys (or "U" and "D") to relocate it.  Once you have reached the new location among the specifications, type "P" (or [ESCAPE]) to finish the rePositioning of this record.

Relocating the Entire Image

Should you need to shift the image you have constructed, consisting of several shape specifications, horizontally or vertically, first type "S" for "SHIFT IMAGE", then type "L", "R", "U" or "D", corresponding to moving the image left, right, up or down respectively. Alternatively, typing [LEFT], [RIGHT], [UP] and [DOWN] will call up directly and respectively the shift directions, left, right, up and down.

You will then be prompted to enter the number by which the image is to be moved, in pixels.  Once you enter this number, the specifications will be adjusted accordingly and the image will be redisplayed in this new position.

The effect of typing "S" remains in force, so to make further adjustments, simply type "L", "R", "U" or "D", again then enter the distance.

When done relocating the image, type "E", [ESCAPE] or [ENTER], to return to the editing of the specifications.

Duplicating Images

Often, the images for one condition may form a convenient basis from which to build the images for another condition of the same inputs or a condition of an entirely different set of inputs, possibly for a different machine.  By typing "F", you can have these images recorded.  In response the "FLAG ALL IMAGES" push-button is highlighted, while the "GET FROM FLAGGED" push-button remains darkened.

Initially the "GET FROM FLAGGED" push-button was darkened because no images were flagged.  It is now darkened because the flagged images are its own.

If you were to exit the entering of data for this condition and select an alternate condition (or create one), you will find that the "FLAG ALL IMAGES" push-button is no longer highlighted, while the "GET FROM FLAGGED" push-button is highlighted.  By typing "G" at this time, the condition matching specification will be reset and the colours and images will be set to be identical to those flagged.

Viewing the Assembled Display

Once areas and images have been defined, they may be previewed by typing "V".  In response, the window will be replaced with a dark green background.  Each area for the active machine will be depicted by a thin rectangle, black, except for the active area that will be yellow.

The image for the first condition for each group of inputs will be displayed. To view alternate conditions, reposition the alternate condition to the top of the list of conditions for the input group.  Refer to the section titled: "Enter or Modify Machine Definition".

Alternate areas may be made active using the [UP] and [DOWN] keys.

Special Functions

This menu provides access to windows reserved for the site configuration and on-line fault diagnosis.

Below is a rough text-representation of this menu:

Movement Controller (C) Copyright 1998 to 2009 Woodgrove Digital Engineering File View ┌─-─────────────────────┐ │New User │ │Operations >│ │Reports >│ │Communication reports >│ │Configuration >│ │Maintenance >│ │Definition >│ ┌─-────────────────────────────────────────┐ │Special Functions█████>│ │Edit databases │ │Exit │ │Monitor communications │ └─-─────────────────────┘ │Monitor and adjust the PLC memory │ │Monitor the securing of the database │ │Monitor threads of execution │ │Restore factory default settings │ │Importing and Exporting from the Database │ └─-────────────────────────────────────────┘

Use of these windows should be restricted to experienced personnel.

Edit Databases

You need to decide what you want to edit.

Most of the database fields are associated with a database, however, there are many that are not associated with a database and so can only be edited by selecting them explicitly.  Generally it is more convenient to edit a collection of fields as a database rather than just edit the individual field, so, if the field is available as part of a database, this is the better way to edit it.

So, bearing all that in mind, when you first select this menu option, you will be asked whether you wish to edit a database or a field.

Should you opt to edit a database (which is generally the case), you will then be asked to enter the name of the database that you wish to edit.  This dialog box contains a "Symbolic Name" field, so please refer to the section titled: "Symbolic Name".  Each of the subsections of this section, bar the last, describe one of the databases.

Should you have opted to edit a field, you will then be asked to enter the prompt that corresponds to the database field that you wish to edit.  Again, this dialog box contains a "Symbolic Name" field, so please refer to the section titled: "Symbolic Name".  Any fields that I have deemed fit to describe are described in the final subsection of this section, the one titled: "General".

Once a database or field has been chosen, a "Maintenance Viewing Data" window, for that database or field, will be presented.  Refer to the sections titled: "Viewing Data", and "Maintenance Viewing Data".

Most of the databases that are of interest to you are more accessible from other windows, however, some of those that may still be of use are described in the following sections.

Screen Attributes

The screen attributes are used:

  • by the DOS based software, which makes use of all these attributes,
  • by some of the windows of the operator interface - mostly those of the "Viewing Data" variety (these use "Basic Colour", "Symbolic Match/Expanded", "Editing", "Highlight", "Expanded Highlight", and "Restrictions/Screen title"),
  • by the operator interface when viewing a report (this uses "Editing", "Expanded Highlight", and "Restrictions/Screen title"),
  • by the operator interface in the dialogue windows' "combo" widget, when presenting options in pop-up boxes (see "Basic Colour", and "Editing"),
  • by the operator interface in the dialogue windows' "combo" and "entry" widgets, when presenting the function key legend (see "Highlight"),
  • by the operator interface's configuration windows (see "Configure off", "Configure on", "Configure off selected", and "Configure on selected").

These records contain two fields:

  • The name of the attribute (a unique "Name" field).  The name is intended to describe the attribute's use, and either
  • The value of the attribute to be used by the daemon (an "Attribute" field).  This specifies the colour of the foreground and background of the screen character position in which the character is to be written, or
  • The value of the attribute to be used by the operator interface (an "Attribute for Graphics" field).  This specifies the colour of the foreground and background of the window character position in which the character is to be written.

For editing instructions for these types of fields, please refer to the sections titled: "Name", "Attribute".

The names of these records are:

  • Basic Colour                

    This is the attribute used for the bulk of the text inside the windows.  The background colour is ignored.  The foreground is also used for the column headings.

    The pop-up windows in the dialogue windows' "combo" widgets use this attribute for the all options other than the highlighted one.

  • Symbolic Match/Expanded     

    When editing a symbolic name field using the DOS software, the characters beyond those that you have already typed, which have been taken from a matching name field are shown in this attribute.

    Also, when using the viewing data windows, the records may be expanded to display also the referenced databases.  These referenced databases will be shown using this attribute for both the daemon and the operator interface.

  • Editing                     

    When editing a field using the DOS software, the field contents will be shown in this attribute.

    Also, when using the viewing data windows, the highlighted field in the highlighted record will be shown using this attribute for both the daemon and the operator interface.

    Also when viewing a report all characters, other than those to be printed boldly, will be presented in this attribute.

    The pop-up windows in the dialogue windows' "combo" widgets use this attribute for the highlighted option.

    The messages dialogue windows use this attribute to present their message.

  • Foot Note                   

    This is unused.

  • Legend                      

    This is unused.

  • Legend Selected             

    This is unused.

  • Highlight                   

    This is unused.

  • Expanded Highlight          

    When viewing a report the characters to be printed boldly will be presented in this attribute.

  • Screen title                

    Restrictions are presented on "Viewing Data" windows in the tablet at the top of the window, using the foreground colour from this attribute.

  • Foot Note Highlight         

    This is unused.

  • Legend Highlight            

    This is unused.

  • Attention/Kollection        

    When a number of records have been identified as belonging to a "collection", then those records will be presented in this attribute.  For information of collections, please refer to the section titled: "Multiple Record Editing (Kollecting)".

  • Selected Part Load          

    When retrieving loads by location, part loads selected for this schedule will be displayed in this attribute.  Should the instruction to retrieve the load be already issued to the crane, it will be shown in the "Basic Colour". If the load is on another schedule, the load will be shown in the "Editing" attribute.

  • Selected Full Load          

    When retrieving loads by location, full loads selected for this schedule will be displayed in this attribute.  Should the instruction to retrieve the load be already issued to the crane, it will be shown in the "Basic Colour". If the load is on another schedule, the load will be shown in the "Editing" attribute.

  • Part Load                   

    Part loads on the stores diagram will be shown in this attribute.

  • Full Load                   

    Full loads on the stores diagram will be shown in this attribute.

  • Disabled Part Load          

    Part loads in disabled locations, on the stores diagram will be shown in this attribute.

  • Disabled Full Load          

    Full loads in disabled locations, on the stores diagram will be shown in this attribute.

  • Alert                       

    This colour is used to display any character associated with an alarm condition.

  • Load Destination 0          
  • Load Destination 1          
  • Load Destination 2          
  • Load Destination 3          
  • Load Destination 4          
  • Load Destination 5          
  • Load Destination 6          
  • Load Destination 7          

    These attributes are used to identify the destinations to which loads are being directed.  They are eight in number.  If there are more than eight destination numbers, modulo eight is taken from these numbers and used to index this table of attributes.  These attributes are best to be in the range "8" to "f", and to be unique from other attribute digits used elsewhere.  This range is chosen as the attributes in the range "0" to "7" are more popular.  It is best that these attributes have exclusive use of these numbers, as there is likely to be a fair bit of fiddling of the corresponding palette registers in order to get these to display a suitable set of colours.

  • Not Running                 

    This is used to display conveyors that are out of service.

  • Running                     

    This is used to display conveyors that are in service.

  • Running in Reverse          

    This is used to display conveyors that are running in reverse.

  • Down-ender colour           

    Unused.

  • Configure off               
  • Configure on                
  • Configure off selected      
  • Configure on selected       

    When using the "Control Mode of Operation", "Set Network Definition Data" and "Initial Software Configuration" windows, these attributes are used to present the data in it zero and non-zero states for the non-highlighted records and the highlighted record.

  • Zoom auto mode              
  • Zoom manual mode            
  • Zoom selected               
  • Zoom forward                
  • Zoom reverse                
  • Zoom below                  
  • Zoom alignment bar          
  • Zoom photocell on           
  • Zoom photocell off          
  • Zoom up                     
  • Zoom in between             
  • Zoom down                   
  • Zoom pushbutton on          
  • Zoom pushbutton off         
  • Zoom pushbutton surround    

    These attributes are used to display the Heavy-Unit-Load Conveyor System in character graphics, when zoomed in.

  • Border                      
  • Active Border               
  • Active Text                 
  • Active Lamp                 

    These attributes are used to display lamps and push-buttons when presented in character mode.

Menu Text and Security

This database can be used to set, for each function window, the text, security level, refresh period, location on the screen and the size of the window.  It is not anticipated that you will need alter the text, and the screen location and window size can be set interactively using standard windows functions. However, you may need to alter the security level associated with the window when working out the security arrangements, and to adjust the refresh period.

Database Privilege

This database can be used to set the prompt and security level associated with each database field.  It is not anticipated that you will need alter the prompt, however, you may need to alter the security level associated with the database when working out the security arrangements.

For some sites, there is also incorporated into this database, an ignore flag, called "Database hidden".  If this is set to "H" (for hide) for a given database field, then that database field will be excluded from presentation in any database that includes it.

Again for some sites (not necessarily those same sites), there is also incorporated into this database, the "Database name for "Where"" field.  The names listed on this display may be used in expressions to restrict the records displayed to those satisfying such expressions.  Please refer to the section titled: "Viewing Data" and its subsection "Records Satisfying an Expression".

Crane Commands and Security

This database can be used to set the description and security level associated with each crane command.  It is not anticipated that you will need alter the description, however, you may need to alter the security level associated with the command when working out the security arrangements.

Be warned, that if you change the text, the software may fail to correlate the command with the text in the manual, by which the command is described.  As a result, it will not be able to call up the correct page of the help in response to the right-click request (for details on this "request", please refer to the section titled: "Operator Commands").

Crane Manual Commands

This database can be used to set the security level associated with each of the manual crane commands (push buttons).  You might be inclined to set a higher security level for the high speed operations and fork operations.

Crane Bit Descriptions

This database can be used to set the descriptions of the option bits, inputs and outputs of the crane PLC, specifying which of these three types of bits each is and where in its corresponding data file, each is to be found.

This information is used by the "Save and Restore Crane PLC Configuration" window to present the last saved crane configuration in a meaningful format. Please refer to the section titled: "Save and Restore Crane PLC Configuration".

The "index" refers to the offset, for the input or output in question, within a data file that is associated with the inputs and outputs, not within the actual input and output files themselves.  The actual inputs and outputs are mapped to a standard arrangement.

Palletiser Commands

This database associates privilege levels with the push buttons on the palletiser status and commands window.

Carton Conveyor Commands

This database associates privilege levels with the push buttons on the carton conveyor system window.

Path Names

This database contains the names for all the locations within the system that can accommodate loads.  You can change the names goven to these locations by editing these records.

Configuration Data

This database contains a list of constants used by the software for "miscellaneous" purposes.

Several of these records are presented on the various configuration screens, where they can be more conveniently edited.  Please refer to the sections titled: "Control Mode of Operation", "Set Network Definition Data", and "Initial Software Configuration".

If you are editing them here, you will need to be able to distinguish between "string" and numeric variables.

Each record has three or more fields:

  • The name field, which describes the variable.
  • The screen field, which specifies on which, if any, of the configuration screens the variable is to be presented.
  • For some sites, there is a privilege field, which further restricts whether this variable will be presented on a configuration screen, depending on the operator's privilege level.
  • For some sites, there is also the group and sub-group fields, which allow the records of this database to be presented in a more organised fashion.
  • The value field, which contains the numeric variable's value, and in which all variable values, whether "string" or numeric, will be presented.

The "string" variables are stored in the name field, so if you edit them here, you will need to edit the name field rather than the value field.

The group and sub-group fields are usually flagged as "hidden", and so, even if existing, will not be presented, however, their effect will be evident in the sequence of record numbers.  Should you wish to alter the settings in the group and sub-group fields, you should first turn off the "Database hidden" flag for these database fields (see "Database Privilege").

Some of the records of this database, which may be of particular interest, are:

  • Ticks Per 4 Seconds

    This constant may be used to tune the ratio between your computer's system ticks and the real time.  The ratio may be obtained from information in your computer's hardware manual or else you could measure the screen saver time period and adjust this constant so that the screen saver period reflects the value entered as the "Seconds before screen save".

  • Seconds before screen save

    This constant may be used to set the period needed to elapse between keystrokes before the screen will be blanked.  The screen will be restored when a key is pressed.  Setting this period to zero disables the screen saving.  This period should not be set above 3,400 seconds approximately - more precisely, the product of this value and the "Ticks Per 4 Seconds" should

  • Relative long travel speed
  • Relative hoist speed

    These are used in order to determine which of two positions is closest to the crane in time.  The actual speed is unimportant, only the relative value of one against the other.

  • Level: change loads

    This constant specifies the privilege level required of an operator before he can use the plant and store display windows to insert, delete or modify loads.  With less privilege, the operator may still be allowed to access these windows to monitor the condition of the plant or to observe the state of the stores.

    If this value exceeds 3, then the function is disabled at all privilege levels.

  • Level: conveyor alarms

    This constant specifies the privilege level required of an operator before he can use the Conveyor Alarms window to reset conveyor alarms.  With less privilege, the operator may still be allowed to access the Conveyor Alarms window to find out which alarms are active.

    If this value exceeds 3, then the function is disabled at all privilege levels.

  • Level: conveyor manual

    This constant specifies the privilege level required of an operator before he can use the Heavy-Unit-Load Conveyors diagram to manually control the Heavy-Unit-Load Conveyor System. Please refer to the section titled: "Push Button Control of the Plant: Overview".

    If this value exceeds 3, then the function is disabled at all privilege levels.

  • Level: adjust PLC mem.

    This constant specifies the privilege level required of an operator before he can use the monitor and adjust PLC program window to alter the PLC data memory.  Please refer to the section titled: "Monitor and Adjust the PLC Memory".

    If this value exceeds 3, then the function is disabled at all privilege levels.

  • Level: kollect records

    This constant specifies the privilege level required of an operator before he can collect records (usually activated by typing "K"), in order to make changes to the collection. Please refer to the sections titled: "Modifying Several (KOLLECT TO EDIT)", "Modifying Several Locations At Once", "Viewing Data", and "Multiple Record Editing (Kollecting)".

    If this value exceeds 3, then the function is disabled at all privilege levels.

  • Level: crane auto off

    This constant specifies the privilege level required of an operator before he can turn on or off the automatic issuing of commands (and just retrieval commands) to the crane. Please refer to the sections titled: "Turning Off and On Automatic Commands", and "Turning Off and On Retrieval Commands".

    If this value exceeds 3, then the function is disabled at all privilege levels.

  • No floppy archive

    If this constant is set, the "FLOPPY ACHIVE" button and function will be removed from the Heavy-Unit-Load Conveyors diagram. Please refer to the sections titled: "Archive Log Files (FLOPPY ARCHIVE)".

  • Using HP DeskJet

    This constant specifies the Hewlett-Packard DeskJet PCL language is to be used to communicate with the printer rather than the IBM printer language.

  • Print wide reports A4
  • Print wide in landscape
  • Lines in portrait
  • Lines in landscape

    These constants control the way reports are printed.  Wider reports may be printed in "condensed" print (by setting the "Print wide reports A4" record), or, if using an HP DeskJet (or equivalent), in "landscape" (by setting the "Print wide in landscape" record).  If you are using an HP DeskJet, "landscape" will take precedence over "condensed", otherwise the "landscape" setting is ignored.  Neither of these settings has any impact on the narrower reports, which will be always printed in "portrait".

    Once the decision is made between "landscape" and "portrait" has been made, you can set the number of lines per page of the report, using the appropriate "Lines ..." record.

  • Window maximum x
  • Window maximum y
  • Window minimum width
  • Window minimum height

    These constants prevent windows from being set to ridiculus sizes or positions, which may result in them not being seen.  Should you find that, because your screen resolution is greater than the maximum x and y values specified here, that you can not size and place windows to take full advantage of the screen resolution, you will need to adjust these values accordingly.

  • Compile 1:
  • Compile 2:
  • Compile 3:

    These strings tells the Movement Controller where to go looking for source files for the compiling of the Allen-Bradley PLC code.  If they are not found in the current working directory, the directory specified in "Compile 1" will be checked, then "Compile 2", and finally, "Compile 3".

  • Programming with AI

    The generation of Allen-Bradley PLC code is usually tailored towards the 6200 and APS series of programming software.  Set this constant to produce export files suitable for the AI series of software.

  • Track extra conv data

    This constant tells the Movement Controller that, when it is creating the Heavy-Unit-Load Conveyor software, it should advance, not only the load tags, but also the extra data (words corresponding to the pallet tags, residing in the next PLC file).

    For detailed instruction on creating the PLC code for a heavy-unit-load Heavy-Unit-Load Conveyor System, please refer to the sections titled: "Defining the Heavy-Unit-Load Conveyor System".

  • Run local PLC at start

    This constant tells the Movement Controller to execute the PLC code for the first PLC in the PLC setup database.  It will be automatically set upon loading the export file and having it executed during system definition. Refer to the sections titled: "Load PLC Emulator", and "PLC Setup".

  • Digicom or ComXi fitted
  • KTXD card is fitted
  • KTXD ch 1 DH+ or 485

    These constants are set depending upon whether the software has detected the presence of the corresponding card.  Each time the software changes these values, it logs a message to this effect.

  • KTxD base address 1
  • KTxD base address 2

    These constants tell the Movement Controller where the KTxD dual port memory resides.

  • KTxD Path

    This string tells the Movement Controller where the binary files needed to be down-loaded to the KTxD card reside.  This is also the directory in which it will look for the PLC type definition file, "ab_plcs.dat".

  • Customisation

    This constant enables software explicitly written for a given application.

  • TCP/IP server host (1.2.3.4)
  • TCP/IP server latter numbers

    These two combined specify the IP address of the host_computer.  If these are to be modified using the network definition screen, it is only necessary to flag the first for inclusion.  If you are setting the address here, rather than via the network definition screen, you will need to enter the address into both these fields. For more information, please refer to the section titled: "Set Network Definition Data", and, in particular, its subsection titled: "TCP-IP Addresses".

  • TCP/IP local host  (1.2.3.5)
  • TCP/IP local latter numbers 

    These two combined specify the IP address of the Movement Controller.  If these are to be modified using the network definition screen, it is only necessary to flag the first for inclusion.  If you are setting the address here, rather than via the network definition screen, you will need to enter the address into both these fields. For more information, please refer to the section titled: "Set Network Definition Data", and, in particular, its subsection titled: "TCP-IP Addresses".

  • FTP control port   (eg 0,21)
  • FTP data port      (eg 0,20)

    These specify the control and data ports used for FTP. For more information, please refer to the section titled: "Set Network Definition Data", and, in particular, its subsection titled: "TCP-IP Ports".

  • R.T. control port (eg 0,129)
  • R.T. data port    (eg 0,130)

    These specify the control and data ports used for implementing a remote operator interface. For more information, please refer to the section titled: "Set Network Definition Data", and, in particular, its subsection titled: "TCP-IP Ports".

  • Custom control    (eg 0,131)
  • Custom data port  (eg 0,132)

    These specify the control and data ports used for other uses of the TCP-IP communications. For more information, please refer to the section titled: "Set Network Definition Data", and, in particular, its subsection titled: "TCP-IP Ports".

  • Standby link port (eg 0,128)

    This specifies the port to be used when securing the database to a dedicated standby computer.

  • FTP L USER:
  • FTP L PASS:
  • FTP L ACC.:

    These specify the user name, password, and account to be used by the Movement Controller's FTP client when logging onto the host_computer's FTP server.

    Should you set the user name to blank (or, for that matter, the IP address of the host_computer's FTP server to all zeros), the FTP client task will cease to send files to the host_computer's FTP server, until it is, once again, set to other than blank.  Of course, it should be set to the correct value before the FTP client task needs to reconnect with the host_computer's FTP server.

  • FTP R USER:
  • FTP R PASS:
  • FTP R ACC.:

    These specify the user name, password, and account to be used by the host_computer's FTP client when logging onto the Movement Controller's FTP server.

  • FTP DONE:

    This specifies the contents of an RCMD command, which will be sent after reports are sent to the host_computer's FTP server.

    Alternatively, if communications with the host_computer is via a directory, then this will specify the name of a batch file that will be executed after each report is written to the directory.

  • FTP PREP:

    This not used for normal FTP configurations (i.e. the Movement Controller STORing to the host_computer's FTP server, and the host_computer STORing to the Movement Controller).

    If, on the other hand, the Movement Controller is RETRing files from the host_computer's server, then this specifies the contents of an RCMD that will be sent prior to performing the RETR, giving the host_computer the opportunity to prepare a file to be RETRieved.

    Alternatively, if communications with the host_computer is via a directory, then this will specify the name of a batch file that will be executed prior to checking the directory.

  • FTP report interval (secs)

    This sets the minimum timer that must elapse between reports sent to the host_computer via FTP.

  • FTP max action reports/file
  • FTP max conveyr reports/file
  • FTP max racking reports/file
  • FTP max barcode reports/file
  • FTP max emula'n reports/file
  • FTP max reply reports/file
  • FTP max finish reports/file

    These limit the number of records to be contained in each report sent via FTP to the host_computer.

  • FTP retrieve interval (secs)

    This sets the rate at which attempts are made to retrieve files from the host_computer via FTP.  This only has an impact if the Movement Controller uses an FTP client to retrieve files rather than relying on the host_computer's FTP client to store them to us.

  • Tfr_D:
  • TfrDD:
  • TfrDE:
  • RptDX:
  • Rpt_D:

    These allow you to specify directories to be used in place of FTP, for communicating with the host_computer.

    If either of the variables, "TCP/IP server host (1.2.3.4)" or "TCP/IP server latter numbers", is set and the variable, "FTP L USER:", is also set, the "Rpt" directory variables will be ignored. These two "TCP/IP server" variables are presented as a single value in the "Set Network Definition Data window (as described in the section titled: "Set Network Definition Data", and, in particular, its subsection titled: "TCP-IP Addresses").

    The "Tfr_D:" specifies the location in which files from the host_computer should be placed.  As these files are processed, they will be moved to the "TfrDD:" directory.

    Should there be an error in a file, preventing it from being processed, the file will be moved to the "TfrDE:" directory, if present, instead of the "TfrDD:" directory.

    Files to be sent to the host_computer will be written to the "Rpt_D:" directory.  As well as specifying this directory, you will need to disable the FTP reporting by setting the user name to blank - check record "FTP L USER:".

    If the reports are in XML format, you may opt for those files to be placed in an alternate directory, the "RptDX:" directory.  If the report is not in XML format, or the "RptDX:" directory is unspecified, the reports will be written to the "Rpt_D:" directory.

    As these are "string" variables, in order to set any of these variables, you will need to alter the name field rather than the value field.  To edit the name field, leave the first six characters (those upto and including the first colon (":")) in tact, and present the path name from that point on, so that the name field for the "Tfr_D:" record might become "Tfr_D:D:\ftp\manifest".  Once you do this, you will see "D:\ftp\manifest" being presented in the value field.

    The directory specified must already exist.

    Blanking both of the variables, "TCP/IP server host (1.2.3.4)" and "TCP/IP server latter numbers", or the one variable, "FTP L USER:", will allow you to switch over to reporting via the "Rpt" directories.  Should those variables be set, reporting via the "Rpt" directories will be disabled.

  • Log FTP polling?

    When logging the TCP-IP communications, the period covered by the log files can be extended by not including the messages to log on to the FTP servers and their replies.  When this constant is set, the communication via the FTP control sockets will not be monitored.

  • Starting data file

    This is the first PLC data file to be used by the system definition of the Heavy-Unit-Load Conveyor System and will contain the information needed by the Movement Controller to know how to communicate with this function of the PLC.

  • Bits in destin'n mask

    The Heavy-Unit-Load Conveyor System uses a single word of data to track its loads.  This number of bits in the low order of the word will be used to specify the destination for the load, while the remainder specifies the load's identity.  This is used by the system definition when constructing the PLC code.

  • Disable load tracking

    This constant is set if the identity of individual loads on the Heavy-Unit-Load Conveyor System is of no consequence.  This is used by the system definition when constructing the PLC code and by the Movement Controller during operation.

  • Pallet width (m)
  • Pallet length (m)

    These constants are used by the palletiser graphics window to present pallets to scale.

  • Load square Circle/Big

    This variable determines whether the loads will be depicted as pallets or as reels of paper.  Further, on the Heavy-Unit-Load Conveyor System overview, you can opt for a larger circular representation by setting this to "B" for "Big" rather than "C" for "Circular".  Leaving it blank selects the depiction of a pallet.

  • Move cranes from exits

    In some warehouse systems, it is required that the cranes do not remain parked in the way of the exit tunnels.  If this flag is set, the cranes will be instructed to keep clear of level 1 areas flagged as non-existent.

  • Many loads to pickface

    If this flag is set, the Movement Controller will allow the host_computer to have more than one instruction outstanding to a single pickface location.

  • Crane manual slow down (sec)

    When the operator, using the crane remote manual controls, releases the high-speed push-button, the Movement Controller will engage slow speed in its stead for this period of time to allow the crane to slow down to a controlled stop.

  • International access code
  • Area access code

    These strings are used in the entry of a customer's details to assist with the entry of the customer's telephone and facsimile details.

  • Maximum wiring levels

    When specifying the "harness wiring" of pick areas, the wire address and station numbers are combined into a single sixteen bit number by multiplying the station number by this value, which therefore must exceed the maximum value of the wire address.  Changing this value after setting the wiring harness will stuff it up.  Refer to the section titled: "Harness Wiring".

  • Between adjacent areas  (mm)

    This constant specifies how close adjacent pick areas must be to be considered adjacent.  Refer to the section titled: "Addressing the Pick Areas".

  • Between adjacent conv's (mm)

    This constant specifies how close adjacent conveyors must be to be considered adjacent.  Refer to the section titled: "Placing the Devices".

  • Start of Alarm Report Period
  • Alarm Report Period

    These values are used together to define the periods over which such incidents as the crane and conveyor alarms are summarised.  When the time passes the "Start of Alarm Report Period" plus the "Alarm Report Period" number of days, the currently aggregating counts will be captured as the "last" period counts and then be reset to zero.  The "Alarm Report Period" number of days will then be added to the "Start of Alarm Report Period".

    This is described in greater detail in the section titled: "Control Mode of Operation" and, in particular, its subsection titled: "Alarm Summary Period".

  • Database checkpoint date
  • Database checkpoint time
  • Checkpoint period (hours)
  • Chk_F:

    These values control the checkpointing of the database.  In the Microsoft Windows operating system environment, a file can not be copied whilst another program has it open, so it does not allow you to save the main database while the main control program is running.

    To get around this, you can specify the number of hours ("Checkpoint period (hours)"), between subsequent savings of the main database and the name of the file into which it is to be saved ("Chk_F:").

    The time and date of the last saving are saved in the "Database checkpoint" values, and so if you set the number of hours to a divisor or multiple of a day, you can use these values to determine the exact time of the save.

  • Automatic exit to DOS (time)

    This value, if set in the range "00:00:00" to "23:59:59", will cause the software to automatically exit at this time of the day.  You can set this value to "24:00:00" (which is displayed as two blanks followed by ":00:00") to prevent the automatic exitting of the program.

  • Read A-B status file (secs)

    This value, if other than 0, will set the period between consecutive reads of the Allen-Bradley PLCs' status file.  From this file it can find that the PLC is experiencing a major fault, is not in run mode, or has a minor fault, such as its battery being low.  If this value is set to zero, the status file will not be read.  If this value is not provided, the status file will be read every ten minutes.  This value specifies the period in seconds.

  • Auto logout if >=2 (minutes)

    This value, if other than zero, will cause the software to automatically log out any user, whose privilege is greater than or equal to 2, after the nominated number of minutes.

  • Crane test cycle delay

    When you are exercising the crane, using the "Run Test Cycles" command, this can result in causing its drives to overload, as in normal operation, for which they are designed, there is usually a period of rest between journeys in order to access the load.  If this is a problem, you can use this constant to specify the number of seconds the crane should be rested between test cycles.

  • Automatic crane commands

    This field is shows the numbers of the cranes that currently have their automatic commands disabled.  The presentation of this field is identical to the presentation of the "Crane and Palletiser Alarms" fields, as described in the section titled: "Crane and Palletiser Alarms".

    If a crane's number is included, the only commands to be issued to that crane will be those explictly issued by the operator, via the "Crane Commands and Alarms" window.  This can also be adjusted indirectly via the "Crane Commands and Alarms" window, so for further information about this control, please refer to the section titled: "Turning Off and On Automatic Commands".

    For further information on issuing commands explicitly, please refer to the section titled: "Operator Commands".

  • Suspend crane retrievals

    This field is shows the numbers of the cranes that currently have their automatic retrievals disabled.  The presentation of this field is identical to the presentation of the "Crane and Palletiser Alarms" fields, as described in the section titled: "Crane and Palletiser Alarms".

    If a crane's number is included, the commands will not be issued automatically to that crane in order to retrieve loads to satisfy the retrieval schedules.  This can also be adjusted indirectly via the "Crane Commands and Alarms" window, so for further information about this control, please refer to the section titled: "Turning Off and On Retrieval Commands".

    For further information on issuing commands explicitly, please refer to the section titled: "Operator Commands".

  • Freezer PDS fixed
  • Chiller PDS fixed

    These variables are ignored.  They were used by the old software to treat the PDS system differently, until the photocells could be orientated to look at the loads.

  • No reject automatically

    Normally loads, which can not be scanned, have barcodes that have not been supplied, or have failed sizing, will be automatically redirected to the reject.  If you set this variable, then the load will wait on the rise-fall conveyor, at the junction to the reject.  The operator is then able to either correct the load or instruct it to proceed to the reject.

    For more detail on this, please refer to the section titled: "Reject Control (1/2 REJECT FREEZER/CHILLER)".

  • Anywhere if infeed full

    This variable is directly alterable via the Heavy-Unit-Load Conveyors diagram, so for details on this, please refer to the section titled: "Fast Putaway (GO ANY-WHERE)".

  • Loads to correct crane

    When things are busy on the Heavy-Unit-Load Conveyor System, pallets may be put away to cranes, other than the cranes to which they are intended.  If you set this variable, then the Movement Controller will, when things are less busy, bring these loads back out and put them away to the correct crane.

  • No reads HELD at reader

    This variable is directly alterable via the Heavy-Unit-Load Conveyors diagram, so for details on this, please refer to the section titled: "Keep No-Reads at Scanner (HOLD NO READ)".

  • Get password: clear crane

    There are detectors that look for obstructions along the crane aisles.  Once one of these is tripped, it is up to the operator to ensure that the aisle is clear before allowing the crane to continue.  If this variable is set, then that operator will be required to enter his name and password before being allowed to set the crane back into service after such a stoppage.

  • Fetch empty ok/auto

    This variable can be used to enable the automatic retrieval of the stacks of empty pallets from the pickface.  If set to "A" (which is displayed as "AUTOMATIC") then anytime that the racking photocells report that there is something on one of the empty pallet locations in the pickface, a retrieval schedule will be created (see "Retrieve from Stores by Location (new)"), if necessary, and this location will be added to that schedule.  This occurs only when the photocells becomes blocked, so, once it has become blocked no further requests will be issued to retrieve the stack.  So, should you delete this schedule, it will not be automatically recreated.

    Alternatively, this variable can be set so as to require that the crane room operator must first approve the retrieval, before it will be done.  This alternative is chosen by setting this variable to "O" (which is displayed as "OPERATOR CONFIRMS").  When this alternative is set, a button will be provided on the Heavy-Unit-Load Conveyors diagram, "FETCH EMPTIES", that will highlight when there are stacks of empty pallets in the pickface that need to be attended to.  This button is described in the section titled: "Retrieve Empty Pallets (FETCH EMPTIES)".  Unlike the "AUTOMATIC" setting, the button will be highlighted anytime that there is no manual retrieval schedule for a crane, specifying the empty pallet locations, yet the photocells report that there are such pallets awaiting pickup.

    If this variable is left blank or set to "N" (which will be displayed as "no automatic" and "NO AUTOMATIC" respectively), then the schedules will need to be created manually, as described in the section titled: "Retrieve from Stores by Location (new)".

  • Secs for PDS to see

    This variable, if other than zero, sets the number of seconds that the pallet detection system has in which to see a load that has been placed in the rear of the pick face.  If set to zero, then there is no check performed on the PDS seeing the deposited load.

    Should this time be exceeded and still the corresponding PDS photocell remains unblocked, then a message will be presented to the operator, if the operator has the "Heavy-Unit-Load Conveyors" window open.

    In addition to this message being presented, an entry will be made in the event log file for each such location.  Please refer to the section titled: "Event Log Historic Report".

  • Latch PDS for POWER

    If this variable is set, the Movement Controller will take care to advise the host_computer that a PDS photocell has been blocked, even if, by the time it gets around to sending this message, that photocell has since been cleared.  Should the photocell have cleared before the blocked message is set, and it remains clear, then a subsequent message will be sent to the host_computer, advising it that the photocell is now clear.

    The purpose for this is to give the host computer a trigger for it to try once more to send a load to that pick face.  Generally, the host_computer should send a load to the pick face any time that the Movement Controller indicates that the location is empty, however, should that attempt fail, for whatever reason, then it can use this flashing of the PDS photocell as a signal to give it another try.

    If this variable is not set, then, whenever the Movement Controller is sending PDS status to the host_computer, it will send the actual photocell status at the time.

  • Rise-falls change minds

    This variable affects the behaviour of the generation of source code for the Heavy-Unit-Load Conveyor PLC software.  Normally, if there is no way that a pallet can reach the upper conveyor (or the lower conveyor) from anywhere other than the lower conveyor (or the upper conveyor), then no code is provided to lower (or raise) the rise-fall in the event that its destination changes.

    If you set this variable, then this code will be generated, allowing you to redirect loads after they have been lifted (or dropped), provided that they have not started to transfer from that position. Please refer to the section titled: "Defining the Heavy-Unit-Load Conveyor System".

  • Flat/Extra conv level

    This is not provided unless the system involves multilevel heavy-unit-load conveyors.

    Normally, multilevel Heavy-Unit-Load Conveyor Systems are shown as such, requiring that you select the level you wish to view.

    If the conveyors are not intertwined between the levels (for example, you might have two independent conveyor systems, one above the other, but unconnected), you can opt to present the conveyors as though they were all on the same level.  To do this, enter an "F" into this field.

    Alternatively, you can opt to leave the Heavy-Unit-Load Conveyor System as multilevel, requiring that you use the "LEVEL CHANGE" button to select the level, but have an "extra level", which, when selected, summarises, as best it can, the information from all levels.  To do this, enter an "E" into this field.

    For more detail, please refer to the section titled: "Multilevel Conveyor Systems (LEVEL CHANGE)".

  • Remote heartbeat seconds

    Since it has become apparent that, at least at Arnott's, that connections between the Movement Controller and its remote terminals can be broken without that information being returned to the Movement Controller in the normal way, the remote connection has been designed to send regular messages, at the rate set in this variable, so that the Movement Controller has an assurance that the connection is, indeed, still in tact.  Should it not hear from the remote terminal within a period three times this number of seconds, it will close the connections to the remote terminal in question, freeing up that channel for future use.

Fault Assistance

This database lists the titles of the generic conveyor fault types along with the first line of the assistance message that accompanies the presentation of these alarms.  The fault type title is a unique "Name" field and the first line of the assistance message is a "Screen Editing" field.  There may also be a field that indicates whether or not you are allowed to reset alarms of this category (a "Character" field); this should only be permitted for alarms that complain of an action not happening in a timely fashion (what we refer to as watchdogs).

These records may be edited via the fault category reference field of the conveyor alarms while editing the details of a conveyor alarm. This is done by pressing [SHIFT F11] - refer to the section titled: "Key".

However to review the fault assistance in general, it is best to edit these records here.

For editing instructions for these types of fields, please refer to the sections titled: "Name", "Screen Editing", and "Character".

Carton Conveyor Alarms

This database sets the text displayed for the alarms from the carton conveyor PLC.  Add records to this database as you add alarms to the carton conveyor PLC.

Terminal Configuration

This database can be used to set the terminal type (IBM PC or VT-220) and the communications channel used for the remote terminals that use serial communications.

Carton Conveyor PLCs

This database specifies which PLCs include the carton conveyor function and which data file in these PLCs is used to hold the definition of how the Movement Controller interfaces to the carton conveyors.

Conveyor PLC Definition

This database is currently under-utilised.  The only information currently used is the PLC reference in the first record.  The Heavy-Unit-Load Conveyor System currently assumes that there is only one PLC for this function, the first record, and it uses the "Starting data file" record from the configuration data to determine which data file to access for the definition of the interface with this PLC.

Zone Channel Definition

This database specifies a number of channels to be used to communicate to the pick-to-light units and the range of address used on each channel.

Standby Channel Definition

This database specifies which channel should be used to communicate with the standby computer.

Channel Setup

This database identifies each channel with a name (which should not be changed significantly), the device name given to this channel in the Microsoft Windows operating system (which may be a network device, such as "\\192.62.10.21\COM1" or "\\server\COM2" - for local devices, names such as "COM1" or "\\.\COM1" are equivalent), a baud rate, parity, number of data bits, number of stop bits, communications protocol, the home station number to be used with the protocol, whether the channel is in test mode, and, for some sites, a read timeout value and/or the last time the communications port was opened.

The read timeout value, if not available or set to zero, will default to a reasonable value and is used to determine when the device, to which this channel is communicating, is deemed to be not communicating.

Certain channels are likely to have more than one unit to communicate with.  Typically the KTxD channels can have a number of PLCs to communicate with, possibly of differing types.

The highlighted communications port, provided that it corresponds to an asynchronous serial communications port and it is not in test mode and has been properly configured, may be closed and reopened with, if you like, new settings.  To do this, after highlighting the appropriate asynchronous serial communications port, type "O" or click on "Open" in the menu bar, then, when asked to confirm, type "C" or click on the "Close and reopen" button. In response to issuing this request, the main program will close and reopen the port with the new settings.  If the database has been configured with a "Channel last opened" field, then the change to this can be used as confirmation that the channel has been reopened - you might need to type "U" or click on "Update" in the menu bar to see this change.  Closing and reopening a port is a useful function if the port is provided by a terminal server, and that terminal server or its Windows driver has, unilaterally, decided to close the port.  It can also be useful when experimenting with various port settings.

PLC Setup

This database gives a name to a PLC, a PLC ladder filename (if it is an Allen-Bradley PLC), a communications channel, the station number of the PLC (our station number is defined in the setup of the referenced channel) and the type of PLC.  Also, if there are Allen-Bradley PLCs on the site, there will be the two words that store the minor fault acknowledgements, two words are needed for the PLC5, since it has two words of minor faults.

For more detail on the minor faults, please refer to the section titled: "Communications Failure Alarms".

The channel setup specifies the communications protocol.  This is not redundant with the specification here of the type of PLC as it is possible to communicate with the one type of PLC with different protocols and with different types of PLCs with the same protocol.

Conveyors from which to Zoom

This database allows you to tie a window, and a selection within the window, to a specific Heavy-Unit-Load Conveyor position, so that once you zoom into this position, a subsequent pressing of the "Z" key will bring up the nominated window.

You need to specify the conveyor position, the name of the window (as it appears on the menu), and the selection within the window.  The selection within the window is a number, typically indexing a device handled by this window, resulting in the window displaying the nominated device rather than the first device.

You may also specify a device type.  If you do, the point from which you zoom will be the point at which the device of this type, associated with the specified conveyor position, is displayed.  Please bear in mind that some of the devices, associated with a conveyor position, are presented away from that associated conveyor position.  You may wish to create a "null device" at this point to advertise the point as a zoom point, then specify this as the device type. Refer to the section titled: "Enter or Modify Device Types".

Usually the device would be selected, after entering the window, by using function keys, in which case, [F1] would be equivalent to the selection value 1, [F2] to 2 and so on.

If, for example, you have a palletiser, you would create a record to reference the Heavy-Unit-Load Conveyor position the palletiser is associated with, the palletiser status and commands window and set the selection value to the record number corresponding to the definition of this palletiser - this is the number that appears to the left of the entry for this palletiser in the enter or modify palletiser window.

Another window that would typically be referenced in these records is the machine status window; the crane status and control window does not require such records as it is already tied to the crane representations.

Barcode Scanners

This database describes the barcode scanners that are employed about the Heavy-Unit-Load Conveyors or the carton conveyors.  Each record corresponds to one barcode scanner.

First of all, a description is given to identify the scanner in question.

Next, the scanner must be assigned a communications channel.  Unless the scanners are multi-dropped, the communications channels will be unique.  These are references to the Channel Setup database (please refer to the section titled: "Channel Setup").

The next field is the station number of the barcode scanner, should you be using the one channel to multidrop to several scanners.

The next field is described as the "Scanner check digit".  This field can be set to a number of options.  As well as specifying the check digit algorithm, it can also be used to specify whether or not an acknowledge is expected by the barcode scanner.

One and only one of the next two fields must be set.  These tie the scanner to either a specific position within the carton conveyor system or a specific position within the Heavy-Unit-Load Conveyor System.

Terminal Locations

This database can be used to tie names to IP addresses so the computer can identify where an operator is and so present his displays orientated accordingly.

It also allows you, by setting the "Location allowed manual" field appropriately, to prevent operators at certain locations from exercising manual control over the Heavy-Unit-Load Conveyor System.  Only those locations listed here, and are, here, flagged to allow manual control (i.e.  the field is set to "M"), will be able to exercise the manual controls.

Similarly, by setting the "Location crane commands" field appropriately, you can prevent operators at certain locations from using the crane commands.  Set the field to "C" to allow the use of crane commands at the corresponding location.  If this field is not provided, and needed, please ask for it.

The remaining fields are best set interactively via windows opened at those addresses.

General

In response to selecting "General" (by whichever method), a dialogue window will be presented, containing a "Symbolic Name" field.  Refer to the section titled: "Symbolic Name".

If one of the fields is chosen, the menu will be replaced by a "Maintenance Viewing Data" window for that field.  Please refer to the sections titled: "Viewing Data", and "Maintenance Viewing Data" for instructions common to all windows of this type.

Small Words

This is a list of words which will be decapitalised if they appear within a "title" entry field.  A "title" entry field is one in which the last character of the prompt is a "t".

These words will not be capitalised if they appear at the beginning of the entry, nor at the end of the entry, unless a space is entered afterwards.

You can defeat the automatic decapitalisation of these words by typing the left single quote character "`" after the last letter of the word, prior to typing the [SPACE].  When you type the [SPACE], it will replace the quote and not cause the decapitalisation.

These words must be entered with their first letter capitalised, so that they match the pattern of letters before the decapitalisation takes place.  This is no real concern, as the first letter is automatically capitalised anyway.

Monitor Communications

This window allows you to get a good idea of the health of the communications between the Movement Controller and the various systems that it needs to communicate with over serial communication channels.

The Monitor Communications window defaults to channel 1.

Below is a rough text-representation of this window:

Monitor communications Ascii/hex Change channel Help on protocol Update HELP ESCAPE: exit Com port 1 CIRCULAR INPUT BUFFER : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :10: 3:bc:67:10: 6:10: 2: 9: 2:4f: :e1:4a 80: : : : : : : :10: 3:70: 7:10: 6:10: 2: 9: 1:4f: :e2:4a:10: 3:1a:48:██ ██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██ ██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:10:03:60:4e:10:█6:10:█2:█9 █1:4f:██:e0:4a:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██ ██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:40:█7:██:██:██ ██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██:██ ██:██:██: INSTANCES OF OUTPUT BUFFER 10: 2: 2: 9: f: :e1:4a: 1: : : 4: : 6: 7: : 8:10: 3:96:fc: : : :10: 3: 5 10: 2: 1: 9: f: :e2:4a: : : : 2: : 6: a: 2: : : : :10: 3:38:51:10: 3: 5 10: 2: 1: 9: f: :95:49: 1: : :39: : 6: 7:a8:82:10: 3:27:ba: : : :10: 3: 5 10: 2: 1: 9: f: :97:49: 1: : :39: : 6: a:6e:72:10: 3:3c:ec: : : :10: 3: 5 10: 2: 1: 9: f: :d9:4a: 1: : : 4: : 6: 7: : 8:10: 3:77:92: : : :10: 3: 5 10: 2: 2: 9: f: :dc:4a: 1: : :64: : 6: 7:44:c8:10: 3:4b:7c: : : :10: 3: 5 10: 2: 1: 9: f: :dd:4a: 1: : :39: : 6: 7:a8:72:10: 3:c8:1e: : : :10: 3: 5 10: 2: 1: 9: f: :de:4a: 1: : :64: : 6: a: a:c8:10: 3:90:f1: : : :10: 3: 5 10: 2: 1: 9: f: :df:4a: 1: : :39: : 6: a:6e:72:10: 3:d3:48: : : :10: 3: 5

Other channels may be selected by typing "C", or clicking on "Change channel", the entering the name of the desired "Com" port, or selecting it from the drop down list.

The channel allocation has been presented in the section of the TECHNICAL MANUAL titled: "Hardware Configuration".

After selecting the required channel, the communications may be monitored by holding down the space bar or "U" or repeatedly clicking on "Update".  To freeze a snap-shot of the communications, release the space bar or "U" or stop clicking.

At the top of the window is displayed the circular buffer containing the incoming data.  The division between old and new data is shown by the change in video attribute.

In the lower portion of the window as much of each outgoing message as will fit on one line is displayed.  It is usually the entire message.  Each time the monitor notices a change in the outgoing message buffer, the buffer is rewritten to the window on the next line.  Eventually the newer outgoing messages will reach the end of the area reserved for them and recommence at the start, overwriting the older messages.  The end of the outgoing messages is not indicated and should be interpreted from knowledge of the software.

At the computer's own screen and keyboard, the communications data will be shown in either hexadecimal or ASCII as appropriate for the channel.  This choice may be switched by pressing [RETURN] or [ENTER], or by typing "A", or by clicking on "Ascii/hex".

A terse explanation of the protocol used by some of the channels can be obtained by typing "H" or clicking on "Help on protocol" If further pages of explanation are available, these will be available by typing "H" or clicking on "Help on protocol"

Terminal Interface Via Serial Port

This window allows you to send and receive ASCII characters via a serial communications port.

You will, first, be asked to select a serial communications port over which to send and receive the characters.  It is best not to select a port that is configured for a PLC or other such device, as you are likely to interfere with its communications.  You will be provided with a symbolic name field, into which you can enter the name of one of the channels listed in the "Channel Setup" database.  Please refer to the sections titled: "Symbolic Name" and "Channel Setup".

Having selected a serial communications channel over which to converse, you are ready to type characters to it.  As you type, characters are sent over the communications channel and echoed to the window.

After each character is transmitted, if a character is received immediately (as would happen if a loopback connection were made, or the link is half-duplex), this character is ignored.  As a result, this alone can not be used to establish whether a loopback connection is in effect.  If you need to see whether the characters transmitted are being looped back, please refer to the Monitor Communications window.  Please refer to the section titled: "Monitor Communications".

Monitor and Adjust the PLC Memory

The Monitor and Adjust the PLC Memory window defaults to word 0 of file 7 of the first PLC.  The keys "0" to "9" may be used to select the other PLCs.

Below is a rough text-representation of this window:

Monitor and Adjust the PLC mmeory Change decimal Hexadecimal change Program Toggle bit Data 0-nine: other plc Outside conveyors 00 01 02 03 04 05 06 07 08 09 000 128 75 4 010 105 4 4 328 020 030 040 00 01 02 03 04 05 06 07 08 09 000 80 4b 4 010 69 4 4 148 020 030 040 N 7:000 : 00000001 00000000< PalletTime time taken Base Address: for pallet Data area: N 7 to pass 0:Outputs 1:Inputs 2:Status 3:Bits a point 4:Timers 5:Counter 6:Control 7:Integer

The body of this window shows 50 contiguous words of the PLC memory displayed twice.  The upper window shows the values in signed decimal, while the lower window shows the same words in unsigned hexadecimal.

Warning: negative numbers in the first column result in their minus sign obscuring the lease significant digit of the row address.

There is a reverse video area, which may be moved among the 50 words, using the cursor control keys or by clicking the mouse.  This assists in tying together the two representations of the word.

The word displayed in the reverse video area is also displayed below these two areas in binary notation, arranged in two groups of eight digits.  Its address is shown at the left of these digits.

The individual bits of the reverse video word may be singled out, by typing [CONTROL LEFT] or [CONTROL RIGHT].  In response, the less than sign, "<", at the right of the binary digits, will become a circumflex, "^", and be positioned beneath the first or last of the binary digits respectively. The bit may be singled out by clicking on it.

The address of the indicated bit will now be shown at the left of the digits in both the "file:word/bit" format and the "file/bit" format.

If the PLC is an Allen-Bradley PLC and the ladder filename has been supplied via the PLC setup (see "PLC Setup"), and the exported symbol table is available, the symbol associated with the highlighted data element is displayed at the lower right of the window.

Once the circumflex appears, the operation of the [LEFT] and [RIGHT] keys becomes equivalent to the [CONTROL LEFT] and [CONTROL RIGHT] keys, moving the circumflex further left or right until it is moved past the end of the binary digits (in either direction).  At this time the normal operation of the [LEFT] and [RIGHT] keys is restored.

The reverse video area may also be moved beyond the 50 words to the Base Address and the Data Area.

The word shown in reverse video may be changed by typing "C", [RETURN] or [ENTER], or double clicking on it, and entering the new value in decimal notation, or by typing "H" and entering the new value in hexadecimal notation. The base address and data areas are always specified in decimal, even if altered by typing "H".

The base address field may also be altered using the [PAGE UP] key to subtract 50 from it and [PAGE DOWN] keys to add 50 to it.

The data area field may also be changed by typing "D", then entering the new file number.

If an individual bit has been singled out, its state may be toggled by typing "T" or double clicking on it.

Ladder Program Display

If the PLC is an Allen-Bradley PLC and the ladder filename has been supplied via the PLC setup (see "PLC Setup"), and the exported PLC code is available, the ladder diagram may be displayed, with animation, by typing "P".

Below is a rough text-representation of this window:

Monitor and Adjust the PLC mmeory Data display Comment level Go to rung Program list Base hex/dec Search PROGRAM POCOLDM2 FILE MAIN POSITION 2: 0 │FirstScan INITIALISE │^ │ First │█ │ program │█ │scan after │█ │ power on │█ │ S:1/15 ╒ JSR ══════════════╕│█ ├────] [─────────────────────────────────────────────────┤ JUMP TO SUBROUTINE├┤█ │ │ Prog f 3 ││█ │ ╘═══════════════════╛│█ │ CW01Startd │█ │ CW01 is │█ │ running │█ │ │█ │ │█ │ ╒ COP ══════════════╕│█ ├────────────────────────────────────────────────────────┤ COPY FILE ├┤█ │ │ Source #B38:0 ││█ │ │ Dest #B39:0 ││█ │ │ Length 9 ││█ │ ╘═══════════════════╛│█ │ AW01STATUS │V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

You can return to the data display by typing "D".  The data file and element displayed upon return will be the data element at the cursor at the time you typed "D".

By default, this window will be presented with five lines of comments.  As this can restrict the amount of ladder program that can be shown, you can select the number of lines of comment you want displayed by typing "C" then entering a number from zero to five.

Below, after entering "1" for the number of comment lines, is a rough text-representation of this window:

Monitor and adjust the PLC memory Data display Comment level Go to rung Program list Base hex/dec Search PROGRAM POCOLDM2 FILE MAIN POSITION 2: 0 │FirstScan INITIALISE │^ │ S:1/15 ╒ JSR ══════════════╕│█ ├────] [─────────────────────────────────────────────────┤ JUMP TO SUBROUTINE├┤█ │ │ Prog f 3 ││█ │ ╘═══════════════════╛│█ │ CW01Startd │█ │ ╒ COP ══════════════╕│█ ├────────────────────────────────────────────────────────┤ COPY FILE ├┤█ │ │ Source #B38:0 ││█ │ │ Dest #B39:0 ││█ │ │ Length 9 ││█ │ ╘═══════════════════╛│█ │ AW01STATUS │█ │ ╒ FLL ══════════════╕│█ ├────────────────────────────────────────────────────────┤ FILL FILE ├┤█ │ │ Source 0 ││█ │ │ Dest #B41:0 ││█ │ │ Length 54 ││█ │ ╘═══════════════════╛│█ │ Permission│█ │ B3/44│V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

You can move about the ladder program in several ways:

  • [LEFT]     
    moves the cursor to the next instruction to the left
  • [RIGHT]    
    moves the cursor to the next instruction to the right
  • [UP]       
    moves the cursor one line up
  • [DOWN]     
    moves the cursor one line down
  • [PAGE UP]  
    moves the cursor one rung up
  • [PAGE DOWN]
    moves the cursor one rung down
  • [HOME]     
    if the cursor is not at the start of a line, it will be moved there, otherwise if not at the top of the window, it will be moved there, otherwise if not at the top of the file, it will be moved there
  • [END]      
    if the cursor is not at the end of a line, it will be moved there, otherwise if not at the bottom of the window, it will be moved there, otherwise if not at the bottom of the file, it will be moved there
  • "G"        
    You will be prompted to first enter the program file number you want to move to, then the rung number you want to move to
  • "S"        
    You will be prompted to enter a string to search for. This string must match exactly text from the export file, so it helps if you are familiar with the nature of such files
  • "P"        
    You will be presented with a list of the program files. You can move up and down this list using [UP], [DOWN], [PAGE UP], [PAGE DOWN], [CONTROL PAGE UP] or [HOME], and [CONTROL PAGE DOWN] or [END] in the usual way, then select the desired program file by typing [ENTER]

There is also a vertical scroll bar, which can be used to scroll through the program.  You may also move the cursor by clicking on a point on the ladder diagram.

Below, after typing "P", is a rough text-representation of this window:

Monitor and adjust the PLC memory Select program file 1-nine, zero-nine, enter FILE PROGRAM NAME PROGRAM SIZE PROGRAM POCOLDM2 FILE MAIN POSITION 2: 0 │FirstScan 2 MAIN 160 rungs^ │ S:1/15 3 INITIALISE 61 rungs█ ├────] [─────────────────────────────────────── 4 EMULATE 1266 rungs█ │ 5 INPUTS 633 rungs█ │ 6 CONTROL_1 81 rungs█ │ 7 TRAFFIC_1 103 rungs█ │ 8 TRANSFERS 3245 rungs█ ├────────────────────────────────────────────── 9 TRAFFIC_2 7 rungs█ │ 10 CONTROL_2 21 rungs█ │ 11 TRAFFIC_3 4 rungs█ │ 12 INTERLOCKS 95 rungs█ │ 13 CONTROL_3 12 rungs█ │ 14 OUTPUTS 575 rungs█ │ 15 SETDATATBL 172 rungs█ ├────────────────────────────────────────────── 16 RFCTAGBITS 86 rungs█ │ █ │ █ │ █ │ █ │ █ │ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

The vertical scroll bar will now reflect the portion of the program list that could be displayed and can be use to scroll through the program list.  You can also move the cursor to a line by clicking on that line.

Below, after having selected, say, program file 8, is a rough text-representation of this window:

Monitor and adjust the PLC memory Data display Comment level Go to rung Program list Base hex/dec Search PROGRAM POCOLDM2 FILE TRANSFERS POSITION 8: 0 │ M01ATag P433STATUS A561WASBAD │^ │╒ EQU ══════════════╕ B41:27/1 B15:35/1 │█ ├┤ EQUAL ├─────] [───┬─────────────────────────────────────(U)───┬┤█ ││ Src A N16:1 │ │ M01AInfT ││█ ││ │ │ ╒ TON ══════════════╕││█ ││ Src B 0 │ ├──────────────────────┤ TIMER ON DELAY ├┤│█ ││ │ │ │ Timer T4:163 │││█ │╘═══════════════════╛ │ │ T base 0.01 │││█ │ │ │ Preset 1500 │││█ │ │ │ Accum 1520 │││█ │ │ ╘═══════════════════╛││█ │ │ M01AInfT M01CCCAck M01ReqCCC ││█ │ │ T4:163/DN N57:11/0 N57:1/0││█ │ └────] [────────]/[───────────────────(L)───┘│█ │ M01ATag P433STATUS M01CCCAck M01ReqCCC │█ │╒ NEQ ══════════════╕ B41:27/1 N57:11/0 N57:1/0│█ ├┤ NOT EQUAL ├─────]/[────────] [───────────────────────────────(U)───┤█ ││ Src A N16:1 │ │█ ││ │ │█ ││ Src B 0 │ │█ ││ │ │V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

The animation of the window indicates which "examine input" instructions are conducting and the values of data words.  By default the data words are shown in decimal.  To display these in hexadecimal instead, type "B".

Below, after typing "B", is a rough text-representation of this window:

Monitor and adjust the PLC memory Data display Comment level Go to rung Program list Base hex/dec Search PROGRAM POCOLDM2 FILE TRANSFERS POSITION 8: 0 │ M01ATag P433STATUS A561WASBAD │^ │╒ EQU ══════════════╕ B41:27/1 B15:35/1 │█ ├┤ EQUAL ├─────] [───┬─────────────────────────────────────(U)───┬┤█ ││ Src A N16:1 │ │ M01AInfT ││█ ││ │ │ ╒ TON ══════════════╕││█ ││ Src B 0 │ ├──────────────────────┤ TIMER ON DELAY ├┤│█ ││ │ │ │ Timer T4:163 │││█ │╘═══════════════════╛ │ │ T base 0.01 │││█ │ │ │ Preset 5dc │││█ │ │ │ Accum 5f0 │││█ │ │ ╘═══════════════════╛││█ │ │ M01AInfT M01CCCAck M01ReqCCC ││█ │ │ T4:163/DN N57:11/0 N57:1/0││█ │ └────] [────────]/[───────────────────(L)───┘│█ │ M01ATag P433STATUS M01CCCAck M01ReqCCC │█ │╒ NEQ ══════════════╕ B41:27/1 N57:11/0 N57:1/0│█ ├┤ NOT EQUAL ├─────]/[────────] [───────────────────────────────(U)───┤█ ││ Src A N16:1 │ │█ ││ │ │█ ││ Src B 0 │ │█ ││ │ │V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

Emulation Break-Points

In either data or program mode, (or from the Heavy-Unit-Load Conveyors diagram) you can pause the execution of the PLC code or set a break-point by typing [CONTROL P] or [CONTROL B] respectively.

In response to typing [CONTROL P], the emulation software will stop executing the PLC code, leaving the data frozen for examination.

In response to typing [CONTROL B], you will be prompted to enter the word or bit address of a data element.  Once you do this, the emulation software will check this element at the end of each scan of the PLC code.  When it finds it has changed, it will stop executing the PLC code, leaving the data frozen for examination.

Subsequent typings of [CONTROL P] will set the emulation software going.

Subsequent typings of [CONTROL B] will remove the break point.

While the emulation software has stopped, you can instruct it to execute a single additional scan of the program by typing [CONTROL T] or [CONTROL S].  Typing [CONTROL T] also advances the timers by one second.

If a break point is in effect, the text "BREAK" will be displayed on the Heavy-Unit-Load Conveyors diagram.  If the emulation software has stopped, the text "PAUSE" will be displayed on the Heavy-Unit-Load Conveyors diagram.

Monitor Securing to Standby

The Monitor Securing to Standby window shows in what state the securing of data to the standby is.

Below is a rough text-representation of this window:

Monitor the securing of the database ╒══════════ MAIN.DAT ══════════════════════════════════╕ COMMUNICATION │ │ Healthy │ │ Idle │ │ │ │ │ -------------------------------------------------│ │----------------------------------------------------------------│ │----------------------------------------------------------------│ │----------------------------------------------------------------│ ╘════════════════════════════════════════════════════════════════╛ P1: 4 FRONT END PROCESSOR'S BUFFER E1: 4 ╞══╤══╪══╤══╪══╤══╪══╤══╪══╤══╪══╤══╪══╤══╪══╤══╪══╤══╪══╤══╡ P2: 125 0 10 20 30 40 50 60 70 80 90 100% E2: 125

This window presents a map showing those portions of "MAIN.DAT" that have yet to be sent via the front end processor (the RS232C ComXi board) for transmission to the standby.  Areas of the map that are beyond the end of the file are presented as hyphens.

Beside this map is shown whether communications with the standby is healthy (based on the time taken to receive the last acknowledge) and whether the front end processor is busy or idle (based on whether messages remain in its buffer ready for transmission to the standby).

If the securing to the standby is implemented with Ethernet, the "idle" status will not be displayed and in place of the healthy message will be:

  • NO TCP/IP 0
    No TCP/IP driver, or else it refuses to attach
  • ATTACHED  1
    The TCP/IP driver refuses to bind or listen
  • LISTENING 2
    Waiting for the standby to connect to us
  • CONNECTED 3
    We are connected to the standby; bombs away!

Below this map is a graph showing what portion of the buffers within the front end processor have yet to be secured to the standby.  In addition to these graphs, are the values of the four pointers controlling these circular buffers.

The first two, "P1" and "E1", are associated with the front end processor's interface buffer, with "P1" pointing to the last message given to the front end processor, and "E1" pointing to the last message transferred to the larger cache buffer.

The second two, "P2" and "E2", are associated with the front end processor's cache buffer, with "P2" pointing to the last message transferred to this buffer, and "E2" pointing to the last message sent to the standby computer.

When all is secure, no Highlighted blocks should be displayed on the window.

As the Movement Controller scans the map, the position of its pointer is indicated by one point in the maps that is differently highlighted.  So that this highlighted point may be seen when the point is secure, a "." character (dot or full stop) will be presented instead of the space.

If the securing to the standby is implemented with Ethernet, there will be no display of the contents of the front end processor's buffer.

Monitor Threads of Execution

The body of this window presents information relating to each of the threads of the Movement Controller daemon.

Below is a rough text-representation of this window:

Monitor threads of execution PID State Period and duration (usecs) Name of thread % Bargraph 727 Waiting .000072 ( 9-10) .000002 b Monitor Messages 2.9 ████████^ 728 Sleeping 1.009999 ( 9-10) .000003 5 FTP files to Host █ 729 Sleeping 1.009998 ( 9-10) .000001 5 FTP files from Host █ 730 Sleeping .061107 ( 9-10) .000019 6 Pallet conveyors █ 731 Sleeping .061107 ( 9-10) .000003 8 Crane 1 █ 732 Sleeping .061107 ( 9-10) .000004 8 Crane 2 █ 733 Sleeping .061108 ( 9-10) .000010 8 Crane 3 █ 734 Sleeping .061107 ( 9-10) .000004 8 Crane 4 █ 735 Sleeping .061107 ( 9-10) .000003 8 Crane 5 █ 736 Sleeping .061107 ( 9-10) .000004 8 Crane 6 █ 737 Sleeping .109992 ( 9-10) .000001 m Pallet detection █ 738 Sleeping .109997 ( 9-10) .000007 0 Carton conveyors █ 739 Sleeping .061107 ( 9-10) .000005 8 Palletiser █ 740 Sleeping .061108 ( 9-10) .000006 8 Unloader █ 741 Sleeping .061108 ( 9-10) .000002 8 Loader █ 742 Sleeping 1.009998 ( 9-10) .000020 c Monitor barcode reader █ 743 Sleeping 1.009999 ( 9-10) .000018 c Monitor barcode reader █ 744 Sleeping .109993 ( 9-10) .000025 c Monitor PTL channel █ 745 Sleeping .109992 ( 9-10) .000022 c Monitor PTL channel █ 746 Sleeping .109992 ( 9-10) .000022 c Monitor PTL channel █ 747 Sleeping 1.009998 ( 9-10) .000001 2 Secure to standby █ 748 Sleeping .017807 ( 9-10) .000101 B Emulate PLCs .5 ██ V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░>

The left hand column shows the process identifier (PID), so that the thread may be monitored by standard Linux utilities that need this number.

In the next column is its state.  This state may be:

  • Waiting 
    The task is waiting for an event before becoming "Ready"
  • Sleeping
    The task is waiting for a time before becoming "Ready"
  • Ready   
    The task is either running or waiting for the main mutex
  • Die     
    The task has been scheduled to die
  • Dying   
    The task has terminated, its status needs to be received
  • Inactive
    The task is either suspended or dead (status received)
  • Corrupt 
    The task structure contains an illegal value

The next set of columns, "Period and duration (usecs)" contain the average period of time between executions of the task, then an open parenthesis, then the number of samples this average was taken over, followed by a hyphen, then the number of samples the next column was averaged over, then a close parenthesis, then, finally, the average execution time of the task.  All times are in seconds, with six decimal places, providing microsecond resolution.  All times are elapsed times, and so include periods when some process outside the Movement Controller's daemon was executing.

The next column contains a single character, which provides an indication for the Movement Controller daemon's programmer as to what the process is currently doing.

The next column contains the name of the process.  The scope of this name is restricted to the Movement Controller software.  In order to obtain information about the process from other software, the process identifier (presented in the first column) must be used.

The next column provides the percentage of time used by this process, that is the duration divided by the period.  The last column presents this percentage as a bar graph with the hungriest process set to full scale, and the others scaled against this.

Restore Factory Default Settings

This allows you to restore some of the static databases from the factory default settings.  It first presents a menu.

Below is a rough text-representation of this window:

Restore factory default settings Select 1-nine, zero-nine, enter 1|Restore text for this list ^ 2|Erase data restrictions & function keys █ 3|Erase record of PLC data et cetera █ 4|Set time standards and current standard █ 5|Set crane command, status and alarm text █ 6|Set database prompts and privileges █ 7|Set user database █ 8|Set names for the lists of loads █ 9|Initialise log files: events, loads etc █ 10|Initialise communications log files █ 11|Set prompts for the configuration data █ 12|Set the configuration data itself █ 13|Set text and character graphics colours █ 14|Set graphic shape names and colours █ 15|Set menu text and associated privilege █ 16|Set menu structure █ 17|Set small words for non-capitalisation █ 18|Set default keys for the editor █ 19|Set PLC communications hardware options V <████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░> Factory settings options s Restore text for this list

Much of the system is user-customisable, however, as a result, an over-adventurous user can find that he has screwed it up somewhat in his attempts to tailor it.  These options are useful in restoring some of the databases to reasonable values in this event.

The first item on the list is to restore the list itself.  This is best to do before restoring other databases from the factory settings, as this will ensure that you will be doing what the text is indicating.

After an item has been selected, the item will be presented to you for confirmation.  To confirm, enter "S" for "sure".

When you exit this window, the databases are resorted.

Restore text for this list

This option, always the first on the list, restores the list of factory default settings.  This should be done before selecting other options in case the text does not reflect the option.

Erase data restrictions & function keys

This option erases any data restrictions that may be left in place and all function key settings for fast data entry.

Erase record of PLC data et cetera

This option erases the contents of the database that stores the state of the communications between the Movement Controller and the various PLCs and the host_computer.

This would be useful if you find the system is suffering some confusion after a new system definition is loaded.

Set time standards and current standard

This option sets the time standard text to reflect eastern standard time and eastern summer time and the current standard to be eastern standard.

Set database prompts and privileges

This option sets the prompts and privilege levels for all database fields.  I would typically use this after adding database fields to the system.  The privilege level is the minimum user privilege needed by an operator to make changes to the given database field.

Set user database

This creates a single user, "Gregory Wood", with password.

Set names for the lists of loads

The system inventory of heavy-unit loads outside the warehouse racking is maintained in sets of linked-lists.  For example, there would be a linked-list for all loads on the Heavy-Unit-Load Conveyor System.  This option sets the names of these linked-lists.

Initialise log files: events, comms etc.

This option removes all entries from all log files (excluding the communications log files), and sets their static configuration.  This would typically be done when configuring the system for a new application, removing traces of the previous application.

Also, these files may contain references to other databases, preventing the deletion of certain records from within these databases until these references have been removed.  By erasing these records, you may enable the deletion of these records, provided they are not also referenced elsewhere.

Initialise communications log files

This option removes all entries from all communications files, and sets their static configuration.  This would typically be done when configuring the system for a new application, removing traces of the previous application.

Set prompts for the configuration data

The configuration data is a set of miscellaneous data values and strings that are used to select certain options in the configuration or operation of the Movement Controller. This option sets the prompts for these options, carefully avoiding the configuration strings, which are kept in the same database as the prompts.  It also sets which windows will be used to preset individual records from these databases, if any.

This would typically be done when new configuration options are added to the system.  Refer to the sections titled: "Control Mode of Operation", "Set Network Definition Data", "Initial Software Configuration", and "Configuration Data".

Set the configuration data itself

The configuration data is a set of miscellaneous data values and strings that are used to select certain options in the configuration or operation of the Movement Controller. This option sets this data to common settings.

This would typically be done when new configuration options are added to the system.  Refer to the sections titled: "Control Mode of Operation", "Set Network Definition Data", "Initial Software Configuration", and "Configuration Data".

Set text and character graphics colours

This sets the names of the colours, the colours and the palette registers for character mode windows.

This option would normally be used to put the colours back to some reasonable condition after someone who thought they could do a better job found they couldn't

Set graphic shape names and colours

This option relates to the graphical (pixel based) windows.

It firstly sets the palette registers, and names these by colours.  It then sets the colour purpose text and points each colour purpose to one of the colours in the palette registers.

It then sets the names of shapes used to define the zoomed images of the various device types and the corresponding names for the parameters needed to complete the definition of the shapes.

This option would normally be used to put the colours back to some reasonable condition after someone who thought they could do a better job found they couldn't.

Set menu text and associated privilege

This option sets the text for the window titles as they are presented on the menus, and sets the privilege level an operator must have to access them.

It also sets the names of the databases; this is the menu first presented by the database editor.  Refer to the section titled: "Edit Databases".

Set menu structure

This option, after examining the system definition, sets the default menu structure to pretty much reflect the structure in which the windows have been described in this document.

Should you be intending to extend the system definition to, say, include palletisers for the first time, you will need to add the necessary system definition window to the menu structure, using the database editor, then use this window to indicate that there are now palletisers in the system definition, then run this option to have the other windows need for palletisers added to their appropriate menus, as well as relocating the system definition window to its regular position, in case this is not where you installed it.  Refer to the section titled: "Edit Databases".

Set small words for non-capitalisation

When entering the title of something in a database field, all major words are capitalised.  This database is a list of the words that are not to be capitalised.  This option will restore this list to its default state.

Set default keys for the editor

The boolean file editor is pretty much a standard text editor.  However the last thing anyone wants to do is learn another editor.  So as to minimise learning, this editor is easily configured to suit someone's previous experience.  Should you find the keys have been set unsuitably, this may provide a better starting point from which to customise the keys to your experience.

Set terminal locations

This sets the terminal location name for the computer's console, and the Telnet terminals.

Set types of PLCs

This option sets the names of the programmable controllers supported by the Movement Controller.

Set PLC communications hardware options

This option sets the names for the serial communications protocols supported by the Movement Controller.

Set heavy-unit-load device pause scenarios

This option sets the text that describes the significance of the values set for a Heavy-Unit-Load Conveyor devices to determine under which conditions loads on the associated conveyor will be required to stop.

Set Heavy-Unit-Load Conveyor names

This option loads the text that describes the names of the Heavy-Unit-Load Conveyors, from the file generated during the creation of the Heavy-Unit-Load Conveyor System.  This file is "CONVEYOR.ASC".

Set Heavy-Unit-Load Conveyor alarm names

This option loads the text that describes the alarms of the Heavy-Unit-Load Conveyors, along with other associated data, from the file generated during the creation of the Heavy-Unit-Load Conveyor System.  This file is "ALARMS.ASC".

Erase crane retrievals

This option erases all manual retrieval schedules.

Set crane command, status and alarm text

This option sets the text for the crane commands, status and alarms and the security levels for the crane commands.

Set crane manual commands

This options sets the descriptions of the purpose of the crane manual control window push-buttons and the security level you need to use them.

Set crane bit descriptions

This options sets the descriptions of the option bits, inputs and outputs of the crane PLC, specifies which of these three types of bits each is and where in its corresponding data file, each is to be found.  This information is used by the "Save and Restore Crane PLC Configuration" window to present the last saved crane configuration in a meaningful format.  Please refer to the section titled: "Save and Restore Crane PLC Configuration".  The "index" refers to the files associated with the inputs and outputs, not the actual input and output files them selves.

Set shelf digit and special request data

This merely sets the names of the pick-to-light digits - Units, Tens, Hundreds and the Separate LED.

Set PTL RAM memory location descriptions

The Movement Controller allows you to view the memory of the microprocessors of the pick-to-light (PTL) hardware.  In order to do this with some assistance, descriptions of the read/write memory of the microprocessor is displayed as you examine the bits and bytes of this memory.

This database holds this information.

Set carton conveyor device types

The carton conveyor device types are hard-coded, as distinct from the Heavy-Unit-Load Conveyor device types, however their descriptions are not. This option allows you to restore these descriptions to the default settings.

Set carton conveyor alarms

This option sets the text used to describe each alarm from the carton conveyor system.

Set carton command names & security

This options sets the descriptions of the purpose of the carton conveyor system window push-buttons and the security level you need to use them.

Set barcode scanner fixed data

This option assign the names to the supported barcode scanner check digit algorithms.

Set palletiser alarm text

This option sets the text used to describe each alarm from the palletisers.

Set palletiser command names & security

This options sets the descriptions of the purpose of the palletiser window push-buttons and the security level you need to use them.

Set channel names

This option sets the names for Com 1, Com 2, the extended asynchronous serial communications channels and the KTxD communications channels.

Set baud rate definitions

There are three sets of baud rates, those for the asynchronous serial communications channels, those for the KTxD in Data-Highway Plus or Scanner mode and those for the KTxD in DH-485 mode.

This option sets the names of all these baud rates, and, in the case of the asynchronous serial communications channels, the values to be written to the divisor latches to achieve these rates.

Set Allen-Bradley file definitions

This option sets the definition of the types of files supported by Allen-Bradley PLCs (PLC-5 and SLC-500).  This definition includes the file type identify characters (N, T, BT ...) the names of the file types (Integer, Timer ...) the names for the sub-elements of the file (Preset, Accumulator, ...) and to support the SLC-500, the file type (a parameter needed in interrogating the SLC-500).

Set customisation option text

All efforts are made to make the system as configurable as possible, however, applications often need variations to the standard source code, the customisation database is used to enable the customisations for particular projects.  This option sets the names of the supported customisations to date.

Frequently, these customisations are a convenient way to make changes on site without impacting other projects.  When away from the coal face, many of these are reincorporated into the configurability of the system and the need for the customisation can be removed.

Import to and Export from the Database

This allows you to export all records of selected fields from the database to a file, or to import selected fields into the database from a file.

The files to be exported to, or imported from, will/must be in the current working directory.

You must first select whether you intend to

  • export
    data from the database, that is copy data from the database to a file, leaving the database unaltered, or
  • import
    data into the database, thereby changing the contents of the database to reflect the contents of a file.

Your second choice is whether you wish to import or export

  • a number of fields together, in a format described by a "definition file", which you will need to nominate, or
  • a single field (which you will need to nominate), converting the data into ASCII (if necessary), and appending a new line to the end of each datum, so that it is human readable using most text editors, or
  • a single field (which you will need to nominate), leaving the data in its native form (which may not be human readable using most text editors) and without formatting into lines.

Your choices effectively allow you to run the equivalent programs to the off-line ancillary programs, "export", "import", "unpack", "pack", "isolate", and "deisolat".  The following table illustrates this correspondence:


┌───────────────────────────────┬────────────┬────────────┐
│                 FIRST CHOICE: │Export from │ Import to  │
│SECOND CHOICE:                 │ database   │ database   │
├-──────────────────────────────┼────────────┼────────────┤
│Use definition file            │   export   │   import   │
│Single field converted to ASCII│   unpack   │    pack    │
│Single field in binary         │   isolate  │  deisolat  │
└───────────────────────────────┴────────────┴────────────┘

Had you chosen "Use definition file" as your second choice, you will need to specify the filenames of the definition file and the target or source file.  The filenames are each expected to consist of one to eight characters, followed by a period (full-stop, dot or ".") then a one-to-three character extension.  Any pair of legal filenames will suffice, provided their length is less than or equal to twelve characters. The definition file will be checked for read access, and, had you selected "Export from database" as your first choice, the target file will also be checked.

Had you instead chosen either of the "Single field" options as your second choice, you will need to select a database field.  The target or source filename will be derived from the number that is presented against the prompt for this field when the database prompt field (the field corresponding to the prompt, "Database prompt") is selected for editing. The target or source file name will be the three digit representation of this number, right justified in a field of zeros.  For example, had you chosen the "MenuEntryName" field, whose prompt is "Menu entry name", which corresponds to the database field number 25, then the target or source filename would be "025". Had you selected "Export from database" as your first choice, the target file will also be checked for read access.

After making your choices and entering the corresponding information, type [ENTER].  The information is then checked, and if sound, the requested operation is performed, and the window is closed.  Otherwise there will be a message indicating what information is unsuitable, and you will be required to reenter the information.

For more detail on the file structures, please refer to the section of the TECHNICAL MANUAL titled: "Unpacking from and Packing to the Database", the section of the TECHNICAL MANUAL titled: "Isolating from and Deisolating to the Database", and the section of the TECHNICAL MANUAL titled: "Exporting from and Importing to the Database".

Save and Restore Crane PLC Configuration

This allows you to record the current configuration data from any of the crane PLCs, and to store these in a file.  It also allows you to, later, read this file and write its contents to the crane PLC.

You may also view the saved configuration for a crane, to ensure that it is appropriate, before restoring it to a crane.

A new crane may have some of its configuration data files initialised from the Movement Controller's database.

Below is a rough text-representation of this window:

Save and restore crane PLC configuration This display allows you to save the configuration of a crane plc to hard disc, or to read a previously saved configuration from the hard disc and write it to a crane plc. active keys: 1-... : SELECT the crane whose configuration you wish to SAVE or RESTORE S : SAVE the crane plc configuration to hard disc. This first loads the crane dimensions database, which lets us know which configuration data files are present in the crane and what size they are. We then write the data from this data file to the hard disc, followed by the data from each of the referenced configuration data files. The file's name will be CRANE1.DAT for crane 1 and so forth. This should be done after changing any of the crane's configuration data files. R : RESTORE the crane plc configuration from hard disc. This first loads the crane dimensions database, which lets us know which configuration data files are present in the crane and what size they are. We then read the remaining configuration data files from the disc and write as much as will fit to the data files nominated in the dimensions data file. This should be done after downloading a program to the crane PLC. Crane 1

The "save" operation saves the crane PLC configuration to hard disc.  This first loads the crane dimensions database, which lets us know which configuration data files are present in the crane and what size they are.  We then write the data from this data file to the hard disc, followed by the data from each of the referenced configuration data files.  The file's name will be "crane1.dat" for crane 1 and so forth.  This should be done after changing any of the crane's configuration data files.

The "restore" operation restores the crane PLC configuration from hard disc. This first loads the crane dimensions database, which lets us know which configuration data files are present in the crane and what size they are.  We then read the remaining configuration data files from the disc and write as much as will fit to the data files nominated in the dimensions data file. This should be done after downloading a program to the crane PLC.

The "view" operation allows you to examine the last saved crane PLC configuration.  You might wish to do this prior to restoring the configuration to the crane.

The "initialise" operation sets the crane's racking disabled configuration data files and racking load height configuration data files from information contained in the Movement Controller's rack definition database.

You must first select a crane, using one of the numeric keys, or typing either [PAGE UP] or [PAGE DOWN] to adjust the crane number, then select an operation, either "save", or "restore", or "view", or "initilaise", by typing "S", or "R", or "V", or "I", respectively.  If you do not first select a crane, you will be prompted to do so when you attempt one of these operations.

You may also select a crane, or select one of the operations, by moving the highlight to either the "SELECT ..." line or one of the operation lines, then pressing [ENTER].  You can also move the highlight using the cursor.  You can also double-click on the line in place of pressing [ENTER].

If the crane is executing a command, you will not be allowed to issue any of these commands other than to view the saved configuration.

Once the crane and operation have been selected, you will be presented with the text appropriate to that operation, and asked to confirm that this is your intention by entering "S", or "R", or "I", for save, or retrieve, or initialise, respectively.

The saving and restoring operations may take as long as a minute, depending on the configuration files supported by the crane and the baud rate at which the communications is running.  During this time the Crane Commands and Alarms screen will indicate which operation is taking place.  Refer to the section titled: "Crane Commands and Alarms". It is also normal for communications to appear to fail during this time, since the regular communications has been interrupted.  As a result, when the operation is completed, you may need to reset alarms on the crane and set it back into service.

There is no confirmation required for the "view" operation.  Instead you will be prompted to advance to the presentation of the next file, or the next page if more than one page is required to present the file.  Some of the descriptions of the configuration are taken from the database.  Please refer to the sections titled: "Crane Bit Descriptions" and "Set crane bit descriptions".

Exit

The final option on the main menu, "Exit", is provided to exit the operator interface completely.  In the event of selecting this option the Movement Controller's operator interface, at the (virtual) terminal from which this option was selected, will exit.

Other instances of the Movement Controller's operator interface will be unaffected, and the Movement Controller's daemon will continue to control the plant.