In this example we introduce two events which represents two buttons to realize manual loading and unloading. The idea is that if a worker is done with the loading/ unloading operation, it must be acknolwedged manually by pressing a button. A manual loading/ unloading operation might be needed if an AGV is not able to perform this operation automatically.

This buttonPressed event, represented by agvLoadedAtGoodsPallet and agvLoadedAtWarehousePos1, is used in the respective FinishedBy statements of the corresponding TransportOrderSteps. If a TransportOrderStep is executed it can only be finished if the condition in FinishedBy evaluates to True.

Location goodsPallet
    name = "0x4711"
    type = "SmallLoadCarrier"
End

Location warehousePos1
    name = "0x4242"
    type = "SmallLoadCarrier"
End

Event agvLoadedAtGoodsPallet
    name = "agvLoaded1"
    type = "Boolean"
End

Event agvLoadedAtWarehousePos1
    name = "agvLoaded2"
    type = "Boolean"
End

TransportOrderStep loadGoodsPallet
    Location goodsPallet
    FinishedBy agvLoadedAtGoodsPallet == True
End

TransportOrderStep unloadGoodsPallet
    Location warehousePos1
    FinishedBy agvLoadedAtWarehousePos1 == True
End

Task helloTransport
    Transport
    From loadGoodsPallet
    To unloadGoodsPallet
End