The Workstation is used to model work processes inside of a path system. The Workstation is detecting the Pathmovers by a box collider. As soon as the distance between the pivot point of the Path Mover is not decreasing any more the Path Mover is starting to be stopped (depending of the drive with an deceleration). When the Path Mover is stopped and the work process is started.

Public properties and methods

Dimension The Dimension of the Workstation (the visualized collider)

Distribution The Distribution of the worktime. If the distribution is not constant you need to define additional parameters. Also it is necessary to define the random seed to get deterministic random seeds.

Mean Time The mean time of the worktime in seconds (on distributed worktime)

Worktime The worktime in seconds (on constant worktime)

Availability The Station is able to simulate failures. The failures are defined by the Availability in percent of the station and the mean time to repair in seconds. For both, the failure distance and for the failure duration a random seed must be defined. The distribution function for the failure distance is negative exponential and the distribution of the failure duration is Erlang. These are the most common distributions to describe technical failures.

During a failure the Pathmovers are able to continue entry and exit out of a station. A current work process will be interrupted by a failure and the Pathmover will not be able to leave before the full time of the workprocess is done.

Defining custom working times

The working time can be defined with custom component scripts implementing the interface IGetStationTime. First on the Path Mover a component which implements the interface IGetStationTime is searched. If there is no implementation on the PathMover an implementation of the interface on the Station itself is searched. If there is no implementation of IGetStationTime available the stationtime the standard worktime which is defined in the properties is used.

Public Methods

The public methods can be for example used in your custom workstation processes.

void OpenWorkstationEntry() Opens the Workstation Entry, if before the Path Mover has been blocked by AllowEntry

void StartWorking() Starts the working process in the workstation. Needs to be started by using this method if it has been blocked by AllowStart.

Defining custom workstation processes

To define your totally custom defined workstation you can define your own component, that implements the Interface IWorkstationProcess. These methods can totally control the workstation behavior. The LoadWorkstationProcess.cs and UnloadWorkstationProcess shows you an example.

bool AllowEntry(WorkStation station, PathMover pathMover) If true is returned the Path Mover can enter the workstation. If false is returned the entry needs to be started by calling the public Method OpenWorkstationEntry()

bool AllowStart(WorkStation station, PathMover pathMover) If true is returned the working process on Path Mover can start. If false is returned, the start needs to be started by calling the public Method StartWorking()

void OnFailureStart(WorkStation station) Is called when a failure is starting.

void OnFailureEnd(WorkStation station) Is called when a failure is ending.

void OnStart(WorkStation station,float time) Is called when the work process is started.

void OnEnd(WorkStation station, PathMover pathMover) Is called when the work process is ended and the Path Mover starts leaving the Workstation.

void OnExit(WorkStation station, PathMover pathMover) Is called when the the Path Mover has totally left the Workstation

© 2022 in2Sight GmbH - All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including printing, saving, photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher.

Last updated