The MaterialLoadingPointType ObjectType describes the machine module part where materials are loaded (either manually or by means of an automated system or both) and the materials being loaded, as well as the brand integrity checks required.

The MaterialLoadingPointType is formally defined in the following table.

Table 50 – MaterialLoadingPointType Definition

Attribute

Value

BrowseName

MaterialLoadingPointType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the TMCDeviceType i.e. inheriting the Instance Declarations of that Node.

0:HasComponent

Variable

ActualDispensingRate

0:Double

MaterialRateType

M, RO, HR

0:HasComponent

Variable

ConsumedMaterialMasterTotal

0:Double

MaterialQuantityVariableType

M, RO

0:HasComponent

Variable

ConsumedMaterialTotal

0:Double

MaterialQuantityVariableType

M, RO, HR

0:HasComponent

Variable

DispensedMaterialMasterTotal

0:Double

MaterialQuantityVariableType

M, RO

0:HasComponent

Variable

DispensedMaterialTotal

0:Double

MaterialQuantityVariableType

M, RO, HR

0:HasComponent

Variable

DispensingRateState

0:LocalizedText

0:StateVariableType

M, RO, HR

0:HasProperty

Variable

ExpectedMaterials

MaterialSublotType[]

0:PropertyType

M, RO

0:HasComponent

Variable

LoadedMaterial

MaterialSublotType[]

0:BaseDataVariableType

M, RO

0:HasProperty

Variable

MaterialPointDefinition

MaterialPointType

0:PropertyType

M, RO

0:HasProperty

Variable

MaterialIntegrityAgent

MaterialIntegrityAgentEnumeration

0:PropertyType

M, RW

0:HasProperty

Variable

MES_ID

0:String

0:PropertyType

M, RW

0:HasComponent

Variable

NominalDispensingRate

0:Double

MaterialRateType

M, RO

0:HasComponent

Variable

PresentedMaterial

MaterialSublotType

0:BaseDataVariableType

M, RW

0:HasComponent

Variable

PresentedMaterialValidationStatus

MaterialValidationStatusEnumeration

0:BaseDataVariableType

M, RO

0:HasComponent

Method

SetPresentedMaterialValidationStatus

See below.

M

0:HasProperty

Variable

AllowMixedLots

0:Boolean

0:PropertyType

M, RW

0:HasProperty

Variable

UpstreamHold

0:Boolean

0:PropertyType

M, RO

0:GeneratesEvent

ObjectType

IntegrityRejectedMaterialLogType

0:GeneratesEvent

ObjectType

LoadingPointUnloadedLogType

0:GeneratesEvent

ObjectType

MaterialConsumedLogType

0:GeneratesEvent

ObjectType

MaterialDispensedLogType

0:GeneratesEvent

ObjectType

MaterialUnloadingRequiredLogType

0:GeneratesEvent

ObjectType

NewPresentedMaterialLogType

Conformance Units

TMC Core Production

Additionally, references of type FlowsTo shall be implemented.

The components of the MaterialLoadingPointType are further described below.

BrowseName

Description

ActualDispensingRate

The actual rate at which the input material is being dispensed.

ConsumedMaterialMasterTotal

The total quantity of material that entered the machine loading point. This total is never reset.

ConsumedMaterialTotal

The total quantity of material that entered the machine loading point. When the material is loaded, it may be immediately dispensed or may be stored and dispensed when required according to the machine logic. When the material is immediately dispensed, the consumed material quantity equals the dispensed material quantity (DispensedMaterialTotal).

The quantity is reset by the successful execution of the ResetMachineTotals method, only.

DispensedMaterialMasterTotal

The total quantity of material dispensed at the machine after loading at the loading point. This total is never reset.

DispensedMaterialTotal

The total quantity of material dispensed at the machine after loading at the loading point. The quantity is reset by the successful execution of the ResetMachineTotals method, only.

DispensingRateState

The DispensingRateState provides information about the state of the dispensing rate justifying why the ActualDispensingRate is different from the NominalDispensingRate. At a minimum the list of states below shall be provided:

Id=0, Speed is at Nominal value

Id=1, Speed Changed by Operator

Id=2, Speed Followed from Downstream Internal

Id=3, Speed Reduced due to low input material

Id=4, Speed Reduced due to internal high input material level

Id=5, Speed Reduced due to Filling Mode

Id=6, Speed Reduced due to internal procedure (e.g. calibration)

Id=7, Speed Reduced due to input material change (e.g. foil splicing, inner frame bobbin change, etc.)

Id=8, Speed Changed by Remote Host

When the actual rate is not measured, Id=0 Speed is at Nominal value will be returned. The speed set by an external host, if any, is used as the NominalDispensingRate.

Null speed is a speed reduction. The list may be extended for specific states not already covered in the list above.

ExpectedMaterials

The array of sublots of the material that are expected at the machine loading point for the current production. ExpectedMaterials is a set of MaterialListItems such that the UserMachineName in LoadingPoint matches the LoadingPointID of the MaterialListItem.

LoadedMaterial

An array of the sublots that entered the machine loading point. When a sublot is unloaded, it is also removed from the array.

The sublot in the first position is the sublot from which the machine module is currently dispensing the material. The quantity of the sublot in the first position is decreased by an amount equal to the dispensing.

MaterialPointDefinition

The Property MaterialPointDefinition contains the identification of the material point and the material that is processed.

MaterialIntegrityAgent

MaterialIntegrityAgent defines how material validation is performed. The scenarios taken into consideration are defined by the MaterialIntegrityEnumeration:

  1. None: the material validation is not requested. In this case the underlying system sets MaterialValidationResult to None.
  2. External: an external system performs the material validation. The external system validates the PresentedMaterial and invokes the SetValidationResult method to transfer the validation results to the machine.
  3. Local: the underlying system performs the material validation on the PresentedMaterial and sets the result in MaterialValidationResult.

When an unsupported value is written to the variable, the underlying system will overwrite it with a supported one.

MES_ID

Unique identifier for the material point in an external system, e.g. MES.

NominalDispensingRate

The nominal rate at which the input material is dispensed when the machine runs at design speed.

PresentedMaterial

The material presented to the material loading point, but not yet loaded.

When the material is loaded, the underlying system resets the PresentedMaterial and the MaterialValidationStatus to Failed.

When an upstream machine is connected, the material output from the upstream machine is the presented material.

Read/Write to allow for external systems to request the validation of a material. When the PresentedMaterial changes, the validation system performs validation.

PresentedMaterialValidationStatus

The status of the validation of the presented material. When Passed, the presented material is loaded by the machine module; when Failed, the presented material will be removed from the loading point, either automatically or manually. When InProgress, the validation is in progress. When MaterialIntegrityAgent is None and MaterialPresented is empty, then the value is None.

AllowMixedLots

When AllowMixedLots is False and BatchManaged in the material definition of the ExpectedMaterials is True, then one material lot will be processed i.e. the first material lot received.

UpstreamHold

UpstreamHold is true when the loading point cannot receive more product and the upstream machine is required to stop loading, False when the loading point can receive product.

The SetPresentedMaterialValidationStatus Method provides a client with an affordance to perform the validation of the PresentedMaterial against the ExpectedMaterials and set the result of the validation in the PresentedMaterialValidationStatus variable.

The method is called by the material integrity agent, i.e. when MaterialIntegrityAgent is External.

The method is executed only when the MaterialValidationStatus is Waiting.

The signature of this Method is specified below. Table 51 specifies the Arguments representation.

Signature

SetPresentedMaterialValidationStatus (

[in] MaterialValidationStatusEnumeration ValidationResult,

[out] MethodExecutionFeedbackType ExecutionFeedback);

Table 51 – SetPresentedMaterialValidationStatus Method Arguments

Argument

Description

ValidationResult

The result of the validation of the PresentedMaterial.

ExecutionFeedback

The extended feedback returning a detailed message in case of execution failure.

The material validation is performed checking (1) a sublot, (2) material lot of the sublot and (3) material definition of the PresentedMaterial against each material sublot in the ExpectedMaterials array. When one matches, the PresentedMaterial is valid and its ValidationStatus is set to True, otherwise False.

The PresentedMaterial is compared against a material sublot from the ExpectedMaterials array as follows being valid when all checks are True:

Sublot:

The PresentedMaterial sublot MES_ID is equal to the sublot MES_ID of a material sublot from the ExpectedMaterials. If the MES_ID of a material sublot from the ExpectedMaterials is Null, then the result of the check is true.

Material lot:

If AllowMixedLots is True, then the result of the check is True. If AllowMixedLots is False, then the result of the check is True for the first presented MaterialSublot and for all subsequent MaterialSublots of the same MaterialLot.

The PresentedMaterial MaterialStockStatus is Unrestricted or equal to the ExpectedMaterial MaterialStockStatus. For example, a ripping machine processes blocked material.

The BestUsedBeforeDate of the material sublot from the ExpectedMaterials is not greater than the current date. If BestUsedBeforeDate is NULL, then the result of this check is true.

Material Definition:

The PresentedMaterial material definition MES_ID is equal to an ExpectedMaterial material definition MES_ID. If the ExpectedMaterial MES_ID is Null, then the result of the check is true.

When the material is validated, the machine proceeds loading it. If it is not validated, the IntegrityRejectedMaterialLogType event is triggered and when the PresentedMaterial is unloaded and the loading procedure terminates, the LoadingPointUnloadedLogType event is generated. If the underlying system cannot reject the invalid material automatically, a MaterialUnloadingRequiredLogType event is generated.