AutomationML · Hands on · Material Handling (draft)

Assemble a material flow line

Material flow moves items through a plant: from a source where items enter, along a chain of material handling components, to a sink where they leave. Build a line below and see it three ways at once: as a picture, as a plain-English description, and as the AutomationML instance tree it would export to.

About this page. It is a first, illustrative pass on the draft Application Recommendation: Material Handling, document identifier AR Material Handling, V 0.0.1, state June 2026. The document itself is still being finalized: several attribute units are not yet given, some descriptions are marked incomplete, and the Sensor / Actor / Drive part of the class library is not defined yet, so it is not modeled here. No official AutomationML library file was supplied for this document (unlike the Drive Configurations pages), so the export below follows the class paths written in the document text but has not been validated against a library file. Treat this page as a sketch to react to, not a finished export.

1 Build the line

2 Three views of the same model

The picture
In plain English
The AutomationML instance tree

Outer view and inner view

Every material handling component can be described from two complementary perspectives. The outer view treats the component as a black box that exposes only its incoming and outgoing ComponentConnectors, for example E1 in and A1 out. This is what lets components be chained into a continuous material flow without knowing what is inside each one.

The inner view complements this by describing the material flow within the component itself: a TransportSystem (the conveyor technology) running on a TrackModel that contains one or more Track segments, each with its own TrackConnectors such as I1 and O1. The element that carries this inner view is typed by a TransportType role, for example SingleTrack or LiftingStation: this is the station behaviour shown as the small badge on each block below.

Click any component, in the builder, the picture, or the tree, and its details appear under This part.

Multi-segment tracks

Tracks may be composed of several segments, so a real switch or monorail junction is usually several linked Track elements rather than one. This page keeps every component to a single track segment for now: a natural next step, not modeled in this first version.

Select a component above to see its class definition here.

What this model of a material flow line requires

  • Exactly one Source starts the line, and one or more Sinks end it.
  • Every material handling component points to its neighbours through ComponentConnector interfaces: an outgoing connector on one component is linked to the incoming connector of the next through Successor and Predecessor.
  • A component's inner TrackConnectors mirror its outer ComponentConnectors: this is what lets the detailed track-level view and the black-box chain-level view describe the same flow.
  • A TrackModel only exists inside a component: it is a container for that component's tracks, never a standalone element.
  • Abstract classes are never used directly. TransportType, TransportSystem, Track, FreeformTrack, Model and MaterialFlowConnector exist only so that concrete classes such as LiftingStation, BeltConveyor or LinearTrack can inherit their shared attributes.
  • A LiftingStation is the one component type here with two outgoing levels, L1 and L2, on its vertical element. This page draws both but only wires L1 into the chain; a second branch from L2 is out of scope for this first version.