This ObjectType contains components which are necessary to operate the LDS. It is formally defined in Table 3.
Table 3 – OperationType Definition
Attribute |
Value |
||||
BrowseName |
OperationType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of 0:BaseObjectType defined in OPC UA Part 5 |
|||||
0:HasProperty |
Variable |
DeviceMappingNumber |
0:UInt32 |
0:PropertyType |
M, RW |
0:HasComponent |
Method |
IdentifyDevice |
|
|
O |
0:HasProperty |
Variable |
HighestActiveAlarmSeverity |
0:UInt16 |
0:PropertyType |
M, RO |
0:HasComponent |
Variable |
ActiveErrors |
3:ClassifiedActiveErrorDataType[] |
0:BaseDataVariableType |
M, RO |
0:HasComponent |
Method |
ResetAllErrors |
|
|
O |
0:HasComponent |
Method |
ResetErrorById |
|
|
O |
0:HasComponent |
Method |
SetCycleNumber |
|
|
O |
0:HasProperty |
Variable |
MaterialBalanceSystemType |
MaterialBalanceSystemTypeEnumeration |
0:PropertyType |
M, RO |
0:HasProperty |
Variable |
ActivateMaterialBalanceSystem |
0:Boolean |
0:PropertyType |
O, RW |
0:HasComponent |
Variable |
DeliveryType |
0:UInt16 |
0:MultiStateValueDiscreteType |
M, RW |
0:HasComponent |
Object |
DeliveryPressure |
|
3:ControlledParameterType |
O |
0:HasComponent |
Variable |
DeliveryPressureMeasuringPoint |
0:UInt16 |
0:MultiStateValueDiscreteType |
O, RW |
0:HasComponent |
Object |
DeliveryFlowrate |
|
3:ControlledParameterType |
O |
0:HasComponent |
Variable |
ActualShotWeight |
0:Double |
0:AnalogItemType |
O, RO |
0:HasComponent |
Variable |
SetShotWeight |
0:Double |
0:AnalogItemType |
O, RW |
0:HasComponent |
Variable |
SetValueCompositeDensity |
0:Double |
0:AnalogItemType |
O, RW |
0:HasComponent |
Variable |
MixingRatioTarget |
0:Double |
0:AnalogItemType |
O, RW |
0:HasComponent |
Variable |
MaxDeviationMixingRatio |
0:Double |
0:AnalogItemType |
O, RW |
0:HasComponent |
Variable |
TargetDeviationMixingRatio |
0:Double |
0:AnalogItemType |
O, RO |
0:HasComponent |
Variable |
ActualDeviationMixingRatio |
0:Double |
0:AnalogItemType |
O, RO |
0:HasComponent |
Variable |
RemainingMaterialTime |
0:Duration |
0:BaseDataVariableType |
O, RO |
0:HasComponent |
Variable |
PurgeMode |
0:UInt16 |
0:MultiStateValueDiscreteType |
O, RW |
0:HasProperty |
Variable |
PurgeStatus |
PurgeStatusEnumeration |
0:PropertyType |
O, RO |
0:HasComponent |
Variable |
PurgeQuantity |
0:Double |
0:AnalogItemType |
O, RW |
0:HasComponent |
Variable |
PurgeTimeout |
0:Duration |
0:BaseDataVariableType |
O, RW |
0:HasComponent |
Variable |
PurgeCyclicQuantity |
0:Double |
0:AnalogItemType |
O, RW |
0:HasComponent |
Variable |
PurgeCyclicIdleTime |
0:Duration |
0:BaseDataVariableType |
O, RW |
0:HasComponent |
Variable |
PurgeCyclicActive |
0:Boolean |
0:BaseDataVariableType |
O, RO |
0:HasComponent |
Variable |
ActivateRemoteControl |
0:UInt16 |
0:MultiStateValueDiscreteType |
M, RW |
0:HasComponent |
Variable |
RemoteControlActivated |
0:UInt16 |
0:MultiStateValueDiscreteType |
M, RO |
0:HasComponent |
Method |
StartDosing |
|
|
O |
0:HasComponent |
Method |
StopDosing |
|
|
O |
0:HasComponent |
Variable |
DosingActive |
0:Boolean |
0:BaseDataVariableType |
O, RO |
0:HasComponent |
Object |
Component_A |
|
ComponentType |
M |
0:HasComponent |
Object |
Component_B |
|
ComponentType |
M |
0:HasComponent |
Object |
Additive_<Y> |
|
AdditiveType |
OP |
0:GeneratesEvent |
ObjectType |
LDSCycleParametersEventType |
Defined in 9.29 |
||
Conformance Units |
|||||
OPC 40082-3 Basic |
|||||
OPC 40082-3 DosingFunction |
|||||
OPC 40082-3 Purge |
|||||
OPC 40082-3 PurgeCyclic |
|||||
OPC 40082-3 SelectableMaterialBalanceSystem |
|||||
OPC 40082-3 DeliveryPressure |
|||||
OPC 40082-3 DeliveryFlowrate |
|||||
OPC 40082-3 MixingRatioTarget |
|||||
OPC 40082-3 BalanceSystem |
|||||
OPC 40082-3 Identify Device |
|||||
OPC 40082-3 ResetAllErrors |
|||||
OPC 40082-3 ResetErrorById |
|||||
OPC 40082-3 SetCycleNumber |
|||||
OPC 40082-3 ActualShotWeight |
|||||
OPC 40082-3 SetShotWeight |
|||||
OPC 40082-3 SetValueCompositeDensity |
|||||
OPC 40082-3 RemainingMaterialTime |
|||||
OPC 40082-3 Additive |
The BrowseName of ComponentType shall be built of “Component_” and a character ‘A’, ‘B’ , … (e.g. Component_A, Component_B).
The BrowseName of AdditiveType shall be built of “Additive_” and a number from 1 to n (e.g. Additive_1).
Description:Unique identifier/address/number for devices of the same DeviceType within a local network. Several peripheral devices of the same DeviceType can be connected to an IMM. In most applications, the IMM must map the connected peripheral devices to internal logical devices and zones in a fixed configuration (e.g. hot runner systems according to the wiring or temperature control devices according to the tubing).
The mapping shall be stable after reconnecting the devices and is therefore not possible via IP addresses, which can be assigned dynamically via DHCP. DeviceMappingNumber sets the mapping order of peripheral devices of the same type on the local network and is therefore of type UInt32.
Example:1
Description:The peripheral device on which this method is called shows itself by e.g. activation of a LED.
Signature:
IdentifyDevice ();
The method has no Input- or OutputArguments.
Table 4 – IdentifyDevice Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
IdentifyDevice |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
Description:Indication of the severity of the highest active alarm (0 = no active alarm – 1000 = possible error). It provides a minimal error handling for devices without alarm support. However, the variable shall be filled even if alarms are supported.
Example:400
Description:List of the active errors of the device. It provides a minimal error handling for devices without alarm support. However, the variable shall be filled even if alarms are supported. The ClassifiedActiveErrorDataType is defined in OPC 40083. If there is no active error, the array is empty.
Description:Method to reset all errors on the device.
Signature:
ResetAllErrors();
The method has no Input- or OutputArguments.
Table 5 – ResetAllErrors Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
ResetAllErrors |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
Description:Method to reset one error of the device.
Signature:
ResetErrorById(
[in]0:StringId);
Table 6 – ResetErrorById Method Arguments
Argument |
Description |
Id |
Id of the error, listed in ActiveErrors, that shall be reset. |
Table 7 – ResetErrorById Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
ResetErrorById |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
Mandatory |
Description:Method to set the cycle number of the LDS to synchronize it with the cycle number of the injection moulding machine.
Signature:
SetCycleNumber(
[in]0:UInt64CycleNumber);
Table 8 – SetCycleNumber Method Arguments
Argument |
Description |
CycleNumber |
Number, to which the cycle counter of the LDS shall be set. The next LDSCycleParametersEvent will use this value. |
Table 9 – SetCycleNumber Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
SetCycleNumber |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
Mandatory |
Type of the material balance system.
Table 10 – MaterialBalanceSystemTypeEnumeration
Name |
Value |
Description |
NOT_AVAILABLE |
0 |
No material balance system available on the LDS. ActivateMaterialBalanceSystem is not present, because it is not possible to switch a material balance system on |
ALWAYS_ACTIVE |
1 |
Material balance system is available on the LDS and is always active. ActivateMaterialBalanceSystem is not present, because it is not possible to switch a material balance system off |
SELECTABLE |
2 |
Material balance system is available on the LDS and it can be switched on and off via the interface via the variable ActivateMaterialBalanceSystem. |
If the value is true, the material balance system is activated.
The dosing system works with delivery pressure or volumetric flow. As some LSR dosing systems support the selection of the DeliveryType, the Property can be writeable. Therefore, the TypeDefinition is MultiStateValueDiscreteType, so the Properties EnumValues and ValueAsText must be filled with the supported values out of Table 11.
Table 11 – Values for DeliveryType
EnumValue |
ValueAsText |
Description |
0 |
PRESSURE |
Dosing system with delivery pressure |
1 |
VOLUMETRIC_FLOWRATE |
Dosing system with volumetric flow |
A server can provide manufacturer specific values with EnumValues ≥ 100.
With the objects DeliveryPressure and DeliveryPressureMeasuringPoint the client can set (and monitor) the delivery pressure of the LDS. Both are optional, but the two elements shall always be used together.
For systems with DeliveryPressure the components ActualValue, SetValue, UpperTolerance and LowerTolerance defined in the ControlledParameterType are mandatory. If the upper or lower tolerance band is passed it is documented in the ErrorStatus.
Unit: bar or psi (=lbf/in²)
The variable DeliveryPressureMeasuringPoint represents the position of the pressure sensor used for the DeliveryPressure. As some LSR dosing systems support the selection of the position, the Property can be writeable. Therefore, the TypeDefinition is MultiStateValueDiscreteType, so the Properties EnumValues and ValueAsText must be filled with the supported values out of Table 12.
Table 12 – Values for PressureMeasuringPoint
EnumValue |
ValueAsText |
Description |
0 |
PUMP_A |
Pressure sensor position pump A |
1 |
PUMP_B |
Pressure sensor position pump B |
2 |
BLENDER |
Pressure sensor position blender |
3 |
MANUAL |
Pressure is manually adjusted |
A server can provide manufacturer specific values with EnumValues ≥ 100.
NOTE: The actual pressure for each component (for monitoring) is included in the ComponentType and the cyclic events.
For system with delivery volumetric flow rate the components ActualValue, SetValue, UpperTolerance and LowerTolerance are mandatory. If the upper or lower tolerance band is passed it is documented in the ErrorStatus.
Unit: l/h or gal/h
Specifies the value determined by the feeder as the shot weight.
Unit: g or lb
Reference value determined by the IMM or defined by the user on the IMM side.
Unit: g or lb
The composite set point of density.
Unit: g/cm³ or lb/in³
Target of the mixing ratio (includes ratio change when MaterialBalanceSystem is active). The share of component A (in percent) defines the value:
Examples:50 (A 50 : 50 B) without MaterialBalanceSystem
51,25 (A 51,25 : 48,75 B) active MaterialBalanceSystem
If a material balance system is used these variables are used to set and monitor the deviation from the set mixing ratio of component A and B.
MaxDeviationMixingRatio is writeable by the client and used to limit the maximum deviation in percent.
TargetDeviationMixingRatio: This deviation (in percent) is set/used by the material balance system
ActualDeviationMixingRatio: Actual deviation (in percent)
The values are given related to the mixing ratio of component A. If the maximum allowed mixing ratio is 51% component A and 49% component B MaxDeviationMixingRatio is 1%.
Remaining time until first material is empty.
Purge functions can be activated directly when the PurgeMode is selected on the LDS. Each device is allowed to set the PurgeMode. When in remote control and purging by the IMM is activated with a hard wired dosing signal, PurgeTimeout and PurgeQuantity has no effect.
When in remote control and purging by the IMM is activated with the StartDosing Method, either PurgeTimeout/PurgeCyclicIdleTime or PurgeQuantity/PurgeCyclicQuantity must be set.
After the dosing signal is deactivated again, the PurgeMode will be reset to OFF by the LDS.
Table 13 – Values for PurgeMode
EnumValue |
ValueAsText |
Description |
0 |
OFF |
No purge function. Normal dosing via dosing signal. |
1 |
WITH_COMPONENT_A |
Purge A |
2 |
WITH_COMPONENT_B |
Purge B |
3 |
WITH_COMPONENT_A_B |
Venting |
4 |
WITH_COMPONENT_A_OR_B |
System chooses the component which is used for purging (usually the component with the larger remaining quantity) |
5 |
CYCLIC_COMPONENT_A_B |
Purge A and B cyclic |
Figure 3 shows the interactions between ActivateRemoteControl, RemoteControlActivated, PurgeMode, PurgeStatus and the dosing signal.
Note: “LDS Auto” and “LDS Manual” are LDS internal parameters which are not covered by this specification.
Actual status of the purge function. PurgeStatus must show OFF if no purge function is active. The PurgeStatus is also shown in Figure 3.
Table 14 – PurgeStatusEnumeration
Name |
Value |
Description |
OFF |
0 |
No purge function is active. |
COMPONENT_A |
1 |
Purge component A is active. |
COMPONENT_B |
2 |
Purge component B is active. |
COMPONENT_A_AND_B |
3 |
Venting |
COMPONENT_A_AND_B_CYCLIC |
4 |
Cyclic purge component A and B is active. |
The PurgeQuantity is only used in relation with PurgeMode EnumValue 1-4 and describes the amount of material during the active purge mode.
Unit: cm³ or in³
PurgeTimeout describes the maximum time of the active PurgeMode (1-5). For PurgeMode EnumValue 1-4, the PurgeMode is set to 0 after the PurgeTimeout has expired. For PurgeMode EnumValue 5, the PurgeCyclicActive is set to false, PurgeMode is unaffected.
The PurgeCyclicQuantity is only used in relation with PurgeMode EnumValue 5 and describes the amount of material during a purge cycle as the sum of both components. After the volume is reached, the variable PurgeCyclicActive will become false and PurgeCyclicIdleTime starts.
Unit: cm³ or in³
The PurgeCyclicIdleTime is only used in relation with PurgeMode EnumValue 5 and describes the time until the next purge cycle starts.
PurgeCyclicActive is only used in relation with PurgeMode EnumValue 5 and indicates the difference between purging (true) and waiting (false)
It is necessary to synchronize the dosing between IMM and LSR dosing systems. This can be done via a separate interface e.g. via hardwired signals or also via OPC UA (if the process is robust against small time delays that can be caused by the client/server-connection). Signal 0 can be set by IMM or LDS, signals > 0 only by IMM.
With ActivateRemoteControl the client selects the method of remote control. If the server provides only one method for remote control, the other one is not listed in the possible values of the MultiStateValueDiscreteType.
Table 15 – Values for ActivateRemoteControl and RemoteControlActivated
EnumValue |
ValueAsText |
Description |
0 |
OFF |
Remote control / automatic mode switched off. |
1 |
SEPARATE_INTERFACE |
Activating automatic mode on LDS and using a separate interface from the injection moulding machine for remote control |
2 |
OPC_UA |
Activating automatic mode on LDS and using this OPC UA connection with the methods StartDosing/StopDosing for remote control |
A server can provide manufacturer specific values with EnumValues ≥ 100.
Figure 3 shows the interaction between ActivateRemoteControl and RemoteControlActivated.
With this signal, the LDS signals, if it is ready to be controlled via this or a separate interface. See Table 15 for possible values.
Figure 3 shows the interaction between ActivateRemoteControl and RemoteControlActivated.
Description:If RemoteControlActivated = 2, the two Methods (without arguments) are used to start and stop the dosing. With the Variable DosingActive the LDS can inform the IMM, if dosing is really active.
NOTE: The dosing can also be stopped by the LDS itself (e.g. when SetShotWeight has been reached) to avoid everlasting dosing when the client does not call the method StopDosing.
Signatures:
StartDosing();
StopDosing();
The methods have no Input- or OutputArguments.
Table 16 – StartDosing Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
StartDosing |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
Table 17 – StopDosing Method AddressSpace Definition
Attribute |
Value |
||||
BrowseName |
StopDosing |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Modelling Rule |
The LDSCycleParametersEventType represents information on a dosing cycle. A complete dosing is defined from the beginning of the dosing signal to the next one, i.e. the event for cycle n is fired, when the dosing signal for cycle n+1 starts. After the last cycle the event must be raised after a timeout which corresponds to the cycle time.
Figure 4 – Timing of LDSCycleParametersEventType
Note: The event data refer to the current injected material and not to the current dosing process (1 cycle offset).
The LDSCycleParametersEventType is formally defined in Table 18.
Table 18 – LDSCycleParametersEventType Definition
Attribute |
Value |
||||
BrowseName |
LDSCycleParametersEventType |
||||
IsAbstract |
True |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of 0:BaseEventType defined in OPC UA Part 5 |
|||||
0:HasProperty |
Variable |
CycleNumber |
0:UInt64 |
0:PropertyType |
M |
0:HasProperty |
Variable |
DosingTime |
0:Duration |
0:PropertyType |
O |
0:HasComponent |
Variable |
MixingRatioTarget |
0:Double |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
MixingRatioActual |
0:Double |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
AdditivesRatioTarget |
0:Double[] |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
AdditivesRatioActual |
0:Double[] |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
VolumeA |
0:Double |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
VolumeB |
0:Double |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
VolumeAB |
0:Double |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
VolumeAdditives |
0:Double[] |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
VolumeTotal |
0:Double |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
ResidualAmountA |
0:Double |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
ResidualAmountB |
0:Double |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
MixingPointPressureA |
0:Double |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
MixingPointPressureB |
0:Double |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
MixingPointPressureBlender |
0:Double |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
AdditivesPressure |
0:Double[] |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
FilterPressurePrimary |
0:Double |
0:AnalogItemType |
O |
0:HasComponent |
Variable |
FilterPressureSecondary |
0:Double |
0:AnalogItemType |
O |
Number of the dosing cycle. Gets counted up after each dosing cycle. The value can be set by calling the method “SetCycleNumber”. It is recommended to synchronize CycleNumber after a reconnection by calling this method.
Example: 900
Duration of the dosing cycle.
Target mixing ratio of the last cycle (includes ratio change when MaterialBalanceSystem is active). The share of component A (in percent) defines the value:
Examples:50 (A 50 : 50 B) without MaterialBalanceSystem
51,25 (A 51,25 : 48,75 B) active MaterialBalanceSystem
Actual mixing ratio of the components. The share of component A defines the value:
Example: 50,9(A 50,9 : 49,1 B)
Target ratios of additives in percentage which are set in AdditiveFraction of AdditiveType.
Actual ratios of additives in percentage.
Example: [ 2,1 % ; 1,2 % ]
Volume of component A that was added to the process in the last cycle.
Unit: cm³ or in³
Volume of component B that was added to the process in the last cycle.
Unit: cm³ or in³
Volume of components A + B that was added to the process in the last cycle.
Unit: cm³ or in³
Volumes of the additives that were added to the process in the last cycle.
Unit: cm³ or in³
Volume of all components (A + B + all additives).
Unit: cm³ or in³
Residual weight amount of component A at the end of the dosing cycle.
Unit: kg or lb
Residual weight amount of component B at the end of the dosing cycle.
Unit: kg or lb
Average pressure of component A during the last cycle at the blender.
Unit: bar or psi
Average pressure of component B during the last cycle at the blender.
Unit: bar or psi
Average pressure of components A and B during the last cycle at the blender.
Unit: bar or psi
Average pressure of the additive during the last cycle at the measuring point.
Unit: bar or psi
Average material pressure during the last cycle before and after the filter. The Pressure difference between FilterPressurePrimary & FilterPressureSecondary can be used to check if the filter is blocked/ will be blocked soon/ has to be maintained. Unit: bar or psi