The main construct is the MachineModuleType ObjectType which is derived from an OPC 10000-100 DeviceType containing additional Information, including MachineModuleHistoricalRecord (8.2), MachineModuleConfiguration (8.3), MachineModuleLiveStatus (8.4), MachineModuleProduction (8.5), MachineModuleSpecification (8.6) and MachineModuleSetup (8.7).

MachineModules describe the production flow by means of their MaterialLoadingPoints ( 8.8), MaterialOutputPoints ( 8.9), MaterialStorageBuffers ( 8.10) where product is stored during production and MaterialRejectionPoints (8.11). MaterialRejectionPoints are triggered by DefectDetectionSensors (8.12) which contain SensorFunctions (8.13) and DefectReasons (8.14).

Connecting the MaterialOutputPoints of MachineModules to the MaterialLoadingPoints of the downstream MachineModule provides the production graph.

As far as production is concerned, a MachineModule is functionally equivalent to a Unit in ISA 95/88 language. A collection of MachineModules and their production graph make a Process Cell as defined in ISA 95/88.

Production in a non-loopy Process Cell, i.e. no connections looping back in the production graph, is orchestrated by means of the ProductionOrderOrchestrationLayer (8.38).

A MachineModule may contain one or more EquipmentModules (8.15) or ControlModules (8.19). In turn EquipmentModules may contain one or more ControlModules. Typical ControlModules such as AnalogInputs (8.25), DigitalInputs (8.26), Motors (8.27), Sensors (8.28) and Valves (8.29) are also provided.

Most TMC objects are described by a suitable state machine, TMCMachineStateMachine (8.43) and production state machines(8.39 and 8.40), that inherit from the OMAC PackML standardization effort adding guards to the transitions.

ProcessControlLoops (8.46) may also be included in MachineModules or used alone to expose a control loop in control of the underlying system or remotely controlled.