_stTransJon) THEN _xAvailable := FALSE; // Get station interfaces _itfSourceStation := fbScheduler.M_GetStation(_stTransJon.uiFromStation); _itfTargetStation := fbScheduler.M_GetStation(_stTransJon.uiToStation); _iState := 10; END_IF // Move to pickup station 10: _tonTransportDone(IN := TRUE, PT := _timTransportTime); IF _tonTransportDone.Q THEN _tonTransportDone(IN := FALSE); // Get product from station _iFlowRecIdx := _itfSourceStation.M_RemoveProduct(); _iState := 20; END_IF // Move to drop station 20: _tonTransportDone(IN := TRUE, PT := _timTransportTime); IF _tonTransportDone.Q THEN _tonTransportDone(IN := FALSE); // Put product into station _itfTargetStation.M_InsertProduct(_iFlowRecIdx); _iState := 30; END_IF // Release all station reservations 30: _itfSourceStation.M_Release(uiHandle := _stTransJon.uiFromStationHandle); _itfTargetStation.M_Release(uiHandle := _stTransJon.uiToStationHandle); _xAvailable := TRUE; _iState := 0; END_CASE]]>