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:
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.