The FeederModuleType defines the structure of an Object of the FeederModuleType. Figure 13 shows the hierarchical structure and details of the composition. It is formally defined in Table 11.
An Object of the FeederModuleType represents a feeder system. A feeder system is a subdevice of an automatic scale for conveying the product (e.g., a belt or a screw conveyor) to or from the WeighingBridge. A feeder must be part of another device (e.g., an Object of the ScaleDeviceType).
The Type defines a general communication interface for a feeder system. It contains only variables and methods.
Figure 13 − Overview FeederModuleType
Table 11 − FeederModuleType Definition
Attribute |
Value |
||||
BrowseName |
FeederModuleType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ComponentType defined in OPC 10000-100 |
|||||
0:HasComponent |
Variable |
FeederLoad |
0:Number |
MeasuredItemType |
Optional |
0:HasProperty |
Variable |
FeederRunning |
0:Boolean |
0:PropertyType |
Optional |
0:HasComponent |
Variable |
FeederSpeed |
0:Number |
TargetItemType |
Optional |
0:HasComponent |
Method |
SetFeederSpeed |
|
|
Optional |
0:HasComponent |
Variable |
MaximumFeederSpeed |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
MinimalFeederSpeed |
0:Number |
0:AnalogItemType |
Optional |
0:HasAddIn |
Object |
2:Identification |
|
3:MachineryItemIdentificationType |
Optional |
FeederLoad defines the current loaded weight on the feeder system.
FeederRunning indicates that the feeder system is running.
FeederSpeed defines the current speed of a feeder system. The unit of the FeederSpeed depends on the construction system. Possible values are velocity or a flow rate (kg/s).
MaximumFeederSpeed defines the maximum possible speed of the feeder.
MinimalFeederSpeed defines the minimal possible speed of the feeder.
The Identification-AddIn contains information about the identification and nameplate of a feeder.
Allows to set a new value for the speed of the feeder system. The OPC UA server must check if the value is between the minimal and maximum allowed speed and if the unit is allowed. The signature of this Method is specified below. Table 12 and Table 13 specify the Arguments and AddressSpace representation, respectively.
Signature
SetFeederSpeed(
[in]Float FeederSpeed
[in]EUInformation EngineeringUnits);
Table 12 – SetFeederSpeed Method Arguments
Argument |
Description |
FeederSpeed |
The target speed of a feeder system. |
EngineeringUnits |
The unit of the target feeder speed. The server must check the unit. |
Table 13 – SetFeederSpeed Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
SetFeederSpeed |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The PrinterModuleType defines the structure of an Object of the PrinterModuleType. Figure 14 shows the hierarchical structure and details of the composition. It is formally defined in Table 14.
An Object of the PrinterModuleType represents a printing device. A printing device is a subdevice of a scale that prints labels or other documents related to the scale or to the measurement results. The variables of the module are only readable. So, the primary use case of the module is to monitor the label and print media status.
Figure 14 − Overview PrinterModuleType
Table 14 − PrinterModuleType Definition
Attribute |
Value |
||||
BrowseName |
PrinterModuleType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ComponentType defined in OPC 10000-100 |
|||||
0:HasComponent |
Variable |
LabelLength |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
LabelStock |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
LabelTypeId |
0:String |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
LabelWidth |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
PrintMediaStock |
0:Number |
0:AnalogItemType |
Optional |
0:HasAddIn |
Object |
2:Identification |
|
3:MachineryItemIdentificationType |
Optional |
LabelLength defines the length of the labels in stock.
LabelStock indicates the level of labels in stock in percent.
LabelTypeId defines the ID of the label to be printed.
LabelWidth defines the width of the labels in stock.
PrintMediaStock defines the level of the print media in percent (e.g., ink, wear of thermal element, etc.).
The Identification-AddIn contains information about the identification and nameplate of a printer.
The ScaleSystemType defines the structure of an Object of the ScaleSystemType. Figure 15 shows the hierarchical structure and details of the composition. It is formally defined in Table 15.
An Object of the ScaleSystemType represents a scale system and contains one or more scales. The VisionSystemType defines a general communication interface for a scale system and is the entry point for clients. This interface makes it possible to interact with this system independent of the knowledge of the internal structure and the underlying processes of the scale system.
The system is modelled with a finite state machine and contains primary information about the state and the status of the system. It optionally can also contain the objects ProductionPreset and ProductionOutput.
Figure 15 − Overview ScaleSystemType
Table 15 − ScaleSystemType Definition
Attribute |
Value |
||||
BrowseName |
ScaleSystemType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ComponentType defined in OPC 10000-100 |
|||||
0:HasProperty |
Variable |
Policy |
0:LocalizedText[] |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
ProcessStateId |
0:String |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
ProcessStateMessage |
0:LocalizedText |
0:PropertyType |
Mandatory |
0:HasComponent |
Object |
ProductionPreset |
|
ProductionPresetType |
Optional |
0:HasComponent |
Object |
ProductionOutput |
|
StatisticType |
Optional |
0:HasComponent |
Object |
SystemState |
|
4:PackMLBaseStateMachineType |
Optional |
0:HasComponent |
Object |
SubDevices |
|
2:ConfigurableObjectType |
Optional |
0:HasComponent |
Method |
ResetGlobalStatistics |
|
|
Optional |
|
|||||
The following nodes are overridden from ComponentType and the Modelling Rule change to Mandatory |
|||||
0:HasProperty |
Variable |
2:DeviceClass |
|
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
2:HardwareRevision |
|
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
2:Manufacturer |
|
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
2:Model |
|
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
2:SerialNumber |
|
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
2:SoftwareRevision |
|
0:PropertyType |
Mandatory |
0:HasAddIn |
Object |
2:Identification |
|
3:MachineIdentificationType |
Optional |
The Identification-AddIn contains information about the identification and nameplate of a machine.
A scale system can contain one or more scales. The scales must be a subtype of the ScaleDeviceType but must not be of the same type. The ScaleDeviceType is described in section 8.4.
Policy defines the legal guidelines that apply for the scale or need to be complied by the scale.
ProcessStateId contains a relating identification for the occurring ProcessStateMessage.
ProcessStateMessage contains the message of the current overall state of the scale.
ProductionPreset contains the production presets. See section 8.7 for the complete definition of the ProductionPresetType.
SystemState provides information about the current state of the scale system and methods for controlling it. PackMLBaseStateMachineType is defined in OPC 30050.
ProductionOutput defines the overall statistic for the scale production.
The modules (subdevices) of a scale system are aggregated in the SubDevices Object (see section 7.3 and OPC 10000-100).
The components of the ScaleSystemType have additional references which are defined in Table 16.
Table 16 – ScaleSystemType Additional Subcomponents
BrowsePath |
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
SubDevices |
0:HasComponent |
Object |
<ScaleDevice> |
|
ScaleDeviceType |
OptionalPlaceholder |
All statistics relating to the scale system but not to a product are reset.
Signature
ResetGlobalStatistics(
);
The ScaleDeviceType defines the structure of an Object of the ScaleDeviceType. Figure 16 shows the hierarchical structure and details of the composition. It is formally defined in Table 17.
The ScaleDeviceType is an abstract ObjectType. An Object of a subtype of the ScaleDeviceType represents a scale. The ScaleDeviceType contains all information that is relevant for most of the scale types. The system is modeled with a finite state machine and contains primary information about the state and the status of the system.
Figure 16 − Overview ScaleDeviceType
Table 17 − ScaleDeviceType Definition
Attribute |
Value |
||||
BrowseName |
ScaleDeviceType |
||||
IsAbstract |
True |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ComponentType defined in OPC 10000-100 |
|||||
0:HasProperty |
Variable |
AllowedEngineeringUnits |
0:EUInformation[] |
0:PropertyType |
Optional |
0:HasComponent |
Method |
ClearTare |
|
|
Optional |
0:HasComponent |
Variable |
CurrentWeight |
WeightType |
WeightItemType |
Mandatory |
0:HasComponent |
Object |
ListOfWeighingRanges |
|
WeighingRangeElementType |
MandatoryPlaceholder |
0:HasProperty |
Variable |
MaterialClass |
0:LocalizedText |
0:PropertyType |
Optional |
0:HasComponent |
Variable |
MinimalWeight |
0:Number |
0:AnalogUnitType |
Optional |
0:HasProperty |
Variable |
ProcessStateId |
0:String |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
ProcessStateMessage |
0:LocalizedText |
0:PropertyType |
Optional |
0:HasComponent |
Object |
ProductionPreset |
|
ProductionPresetType |
Optional |
0:HasProperty |
Variable |
Policy |
0:LocalizedText[] |
0:PropertyType |
Optional |
0:HasComponent |
Variable |
RegisteredWeight |
WeightType |
WeightItemType |
Optional |
0:HasComponent |
Method |
RegisterWeight |
|
|
Optional |
0:HasComponent |
Method |
SetPresetTare |
|
|
Optional |
0:HasComponent |
Method |
SetTare |
|
|
Optional |
0:HasComponent |
Method |
SetZero |
|
|
Optional |
0:HasComponent |
Object |
SubDevices |
|
2:ConfigurableObjectType |
Optional |
0:HasComponent |
Object |
State |
|
4:PackMLBaseStateMachineType |
Optional |
|
|||||
The following nodes are overridden from ComponentType and the Modelling Rule change to Mandatory |
|||||
0:HasProperty |
Variable |
2:DeviceClass |
|
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
2:HardwareRevision |
|
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
2:Manufacturer |
|
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
2:Model |
|
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
2:SerialNumber |
|
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
2:SoftwareRevision |
|
0:PropertyType |
Mandatory |
|
|
|
|
|
|
The following nodes are overridden from ComponentType, the Modelling Rule change to Mandatory and the new ObjectType is now MachineIdentificationType |
|||||
0:HasAddIn |
Object |
2:Identification |
|
3:MachineIdentificationType |
Optional |
AllowedEngineeringUnits contains an array of engineering units that can be handled by the OPC UA server. A server that supports a method with the input argument EUInformation must also provide this array.
CurrentWeight defines the current value that is measured at the sensor at the current timestamp. This might be a highly fluctuating value.
MaterialClass defines the allowed material the scale may measure. It is only relevant for certain scales (e.g., totalizing hopper scale or continuous scale).
The MinimalWeight is the smallest sample quantity required for a weighment to just achieve a specified relative accuracy of weighing (see also EURAMET Calibration Guide No. 18). So it is the smallest load or component of a recipe that may be weighed on the scale. SubDevices: the modules (subdevices) of a modular scale are aggregated in the SubDevices Object. See OPC Unified Architecture for Devices for more information.
ProcessStateId contains a relating identification for the occurring ProcessStateMessage.
ProcessStateMessage contains the message of the current overall state of the scale.
ProductionPreset contains the production presets. See section 8.7 for the complete definition of the ProductionPresetType.
RegisteredWeight defines the last valid measurement that was recorded and will be used for further processing.
ListOfWeighingRanges defines the weighing range and resolution the scale may operate in with a structure of range and resolution.
Policy defines the legal guidelines that apply for the scale or need to be complied by the scale.
ScaleStateMachine provides information about the current state of the scale system and methods for controlling it. PackMLBaseStateMachineType is defined in OPC 30050.
The components of the ScaleDeviceType have additional references which are defined in Table 18.
Table 18 – ScaleDeviceType Additional Subcomponents
BrowsePath |
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
SubDevices |
0:HasComponent |
Object |
<FeederModule> |
|
FeederModuleType |
OptionalPlaceholder |
SubDevices |
0:HasComponent |
Object |
<PrinterModule> |
|
PrinterModuleType |
OptionalPlaceholder |
SubDevices |
0:HasComponent |
Object |
<WeighingModule> |
|
WeighingModuleType |
OptionalPlaceholder |
The tare value is set to zero or deleted.
Signature
ClearTare(
);
Triggers the registration of a measured value and a new value for the RegisteredWeight will be calculated.
Signature
RegisterWeight(
);
The method set the current PresetTare.
Signature
SetPresetTare(
[in]Double PresetTare
[in]EUInformation EngineeringUnits);
Table 19 – SetPresetTare Method Arguments
Argument |
Description |
PresetTare |
The value which should be set as tare value. |
EngineeringUnits |
The unit of the preset. The server must check the unit. |
Table 20 – SetPresetTare Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
SetPresetTare |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The method sets zero point. It uses the gross value of the CurrentWeight value.
Signature
SetZero (
);
The method triggers the tare operation. The CurrentWeight value is used as the tare.
Signature
SetTare(
);
The WeighingRangeElementType defines the structure of an Object of WeighingRangeElementType. Figure 17 shows the hierarchical structure and details of the composition. It is formally defined in Table 21.
For each weighing range a scale supports, the OPC UA server provides an Object of WeighingRangeElementType that contains the properties of the weighing range like the scale division.
Figure 17 − Overview WeighingRangeElementType
Table 21 – WeighingRangeElementType Definition
Attribute |
Value |
||||
BrowseName |
WeighingRangeElementType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
|||||
0:HasComponent |
ActualScaleInterval |
0:Double |
AnalogUnitType |
Mandatory |
|
0:HasComponent |
Variable |
Range |
0:Range |
BaseDataVariableType |
Mandatory |
0:HasComponent |
Variable |
VerificationScaleInterval |
0:Double |
AnalogUnitType |
Mandatory |
ActualScaleInterval defines the difference between two consecutive indicated values.
Range defines the range within the scale that may be operated depending on the additional parameters within this type.
Range.EngineeringUnit defines the engineering unit of the range.
VerificationScaleInterval defines the value, expressed in units of mass, used for the classification and verification of an instrument.
The components of the WeighingRangeElementType have additional references which are defined in Table 22
Table 22 – WeighingRangeElementType Additional Subcomponents
Source Path |
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
Range |
0:HasProperty |
Variable |
0:EngineeringUnits |
0:EUInformation |
0:PropertyType |
Mandatory |
The StatisticType defines the structure of an Object of StatisticType. Figure 18 shows the hierarchical structure and details of the composition. It is formally defined in Table 23.
The StatisticType is a container for the different statistic values. All variables are optional so that the statistics can be instantiated in an application-specific way. The StatisticType can be instantiated with parent nodes (e.g., ScaleDeviceType, …). Parent nodes other than those described in this Companion Specification are possible.
Figure 18 − Overview StatisticType
Table 23 − StatisticType Definition
Attribute |
Value |
||||
BrowseName |
StatisticType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
|||||
0:HasProperty |
Variable |
StartTime |
0:DateTime |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
ResetCondition |
0:String |
0:PropertyType |
Optional |
0:HasComponent |
Variable |
Tare |
0:Double |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
Throughput |
0:UInteger |
0:AnalogItemType |
Optional |
0:HasComponent |
Object |
TotalPackages |
|
StatisticCounterType |
Optional |
0:HasComponent |
Object |
TotalPackagesWeighed |
|
StatisticCounterType |
Optional |
0:HasComponent |
Object |
LastItem |
|
WeighingItemType |
Optional |
StartTime defines the point in time at which the system starts acquiring the statistic (e.g., 15:00). This value is relevant for time statistics. For example, it can be used to create statistics for the last 3 hours.
ResetCondition is a vendor-specific, human readable string that describes the reason and context for the reset of the statistics. For example, after 4 hours or after 1000 items. Please note that the subtype FloatingStatisticType is used for floating statistics.
Examples:
ResetCondition::= “AFTER 4 HOURS”
ResetCondition::= “AFTER 1000 ITEMS”
ResetCondition::= “OPERATOR”
Tare defines the last occurring tare value of the period of time which is used for the statistic.
Throughput defines the number of items registered over the period of the statistic (e.g., packages/min).
TotalPackages defines the totalized number of packages of one cell for weight determination. Contains packages that were sorted out but were physically transported via the scale. This value may be calculated by TotalPackagesAccepted + TotalPackagesRejected.
TotalPackagesWeighed defines the totalized number of packages for which a weight was measured. No reference to acceptance or rejection of the package.
LastItem contains the values of the last item.
The ProductionPresetType defines the structure of an Object of ProductionPresetType. Figure 19 shows the hierarchical structure and details of the composition. It is formally defined in Table 24.
ProductionPresetType provides methods to manage the production preset.
Figure 19 − Overview ProductionPresetType
Table 24 − ProductionPresetType Definition
Attribute |
Value |
||||
BrowseName |
ProductionPresetType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
|||||
0:HasComponent |
Method |
AddProduct |
|
|
Optional |
0:HasComponent |
Variable |
CurrentProducts |
0:String[] |
BaseDataVariableType |
Optional |
0:HasComponent |
Method |
DeselectProduct |
|
|
Optional |
0:HasComponent |
Method |
RemoveProduct |
|
|
Optional |
0:HasComponent |
Method |
SelectProduct |
|
|
Optional |
0:HasComponent |
Method |
SwitchProduct |
|
|
Optional |
0:HasComponent |
Object |
Products |
|
FolderType |
Optional |
CurrentProducts is an array containing the IDs of all product objects currently in processing mode. The product process can be started using the SelectProduct method or another interface or an external trigger signal.
Products contains the products used in the scale aggregated in the Products Object. The objects in the folder should have the type ProductType or a subtype of it.
The method creates an Object with a subtype of ProductType from the address space. The Object needs a reference of the type "0:HasComponent" to the product folder of the scale device. The signature of this Method is specified below. Table 25 and Table 26 specify the Arguments and AddressSpace representation, respectively.
Note: To simplify the handling, it is recommended that during the creation of the product the object is immediately locked for the client. (see section 8.8)
Signature
AddProduct(
[in]String ProductName
[in]String ProductId
[in]NodeId ProductType
[out]NodeId ProductNodeId
);
Table 25 – AddProduct Method Arguments
Argument |
Description |
ProductName |
A user-readable name of this Batch. |
ProductId |
A unique ID of this product |
ProductType |
The NodeId of a subtype of the ProductType or the NodeId of the ProductType itself |
ProductNodeId |
The NodeId of the created Object |
Table 26 – AddProduct Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
AddProduct |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
OutputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Selects the product. The scale is now able to process the product. This includes that the ID is saved in the CurrentProducts array and that the ProductMode switches from "Not processing" to "Processing". Table 27 and Table 28 specify the Arguments and AddressSpace representation, respectively.
Signature
SelectProduct (
[in]String ProductId
);
Table 27 – SelectProduct Method Arguments
Argument |
Description |
ProductId |
The ProductId of the product Object that represents the product to be selected |
Table 28 – SelectProduct Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
SelectProduct |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Deselects the product. The scale should stop to process the product. This includes that the ID is removed in the CurrentProducts array and that the ProductMode switches from "Processing" to "Not processing". The signature of this Method is specified below. Table 29 and Table 30 specify the Arguments and AddressSpace representation, respectively.
Signature
DeselectProduct (
[in]String ProductId
);
Table 29 – DeselectProduct Method Arguments
Argument |
Description |
ProductId |
The ProductId of the product Object that represents the product to be selected |
Table 30 – DeselectProduct Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
DeselectProduct |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The method removes an Object from the address space with a subtype of the ProductType. The signature of this Method is specified below. Table 31 and Table 32 specify the Arguments and AddressSpace representation, respectively.
Signature
RemoveProduct (
[in]String ProductId
);
Table 31 – RemoveProduct Method Arguments
Argument |
Description |
ProductId |
The ProductId of the product Object that represents the product to be selected |
Table 32 – RemoveProduct Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
RemoveProduct |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Selects the new product and deselects the old product. The scale is now able to process the new product. This includes that the new ID is saved in the CurrentProducts array and that the ProductMode switches from "Not processing" to "Processing". Additionally, the old ID is removed in the CurrentProducts array and the ProductMode of the old product switches from "Processing" to "Not Processing". This method is only possible if only one product is used. The signature of this Method is specified below. Table 33 and Table 34 specify the Arguments and AddressSpace representation, respectively.
Signature
SwitchProduct (
[in]String ProductId
);
Table 33 – SwitchProduct Method Arguments
Argument |
Description |
ProductId |
The ID of the product Object that represents the product to be selected |
Table 34 – SwitchProduct Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
SwitchProduct |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The ProductType is an abstract type that defines the basic structure of all objects that represent a product. Figure 20 shows the hierarchical structure and details of the composition. It is formally defined in Table 35. An Object of the type ProductType represents a product related to the scale.
The different subtypes of the ProductType are described in the following sections. The ProductType only contains the basic information about a product. The scale type-specific information is modeled in the subtypes for the different scale types. The Create Method makes it possible that a vendor can add own Variables and extend the Create Method.
Figure 20 − Overview ProductType
Table 35 − ProductType Definition
Attribute |
Value |
||||
BrowseName |
ProductType |
||||
IsAbstract |
True |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
|||||
0:HasProperty |
Variable |
BatchId |
0:String |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
BatchName |
0:LocalizedText |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
JobId |
0:String |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
JobName |
0:LocalizedText |
0:PropertyType |
Optional |
0:HasComponent |
Object |
Lock |
|
2:LockingServicesType |
Optional |
0:HasComponent |
Variable |
PresetTare |
|
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
ProductId |
0:String |
0:BaseDataVariableType |
Mandatory |
0:HasComponent |
Variable |
ProductMode |
0:Boolean |
0:TwoStateDiscreteType |
Optional |
0:HasProperty |
Variable |
ProductName |
0:LocalizedText |
0:PropertyType |
Mandatory |
0:HasComponent |
Object |
Statistic |
|
StatisticType |
Optional |
BatchId is the ID of the batch to which this product belongs.
BatchName is the human-readable name of the batch to which this product belongs.
JobId is the ID of the job to which this product belongs.
JobName is the human-readable name of the job to which this product belongs.
PresetTare defines the predefined tare weight. The value must be written before the item is measured.
ProductId defines a unique ID of this product.
The ProductMode displays the current mode of the product. The ProductType instance can be in the mode "Processing" or "Not Processing". The mode is independent from the Lock. Thus, it is possible that a product is in the "Processing mode" and writeable. The combination of these both modes should be used with care as the writeable element may be in an inconsistent state. If the ProductMode is true the Object is in "Processing". Otherwise, it is in the mode "Not Processing".
ProductName defines the name of this product.
Lock is used as container for the LockingServicesType Methods and Properties. It is defined in OPC 10000-100 (Locking). In addition to this definition, the server can also lock an object of the ProductType. In this case the property LockingClient contains the ProductUri of the server and LockingUser contains an empty String.
NOTE: If an Object is writeable not all variables must be writeable. There can be additional restrictions based on the implementation.
Statistic contains the different statistic values of the product. The statistic can’t be reset manually. All measurements that relate to the product of the job will be used in the statistics.
The components of the ProductType have additional Attributes defined in Table 36.
Table 36 – ProductType Type Attribute values for child Nodes
BrowsePath |
Value Attribute |
Description Attribute |
||
|
Processing |
|
||
|
NotProcessing |
|
The AutomaticFillingScaleType defines the structure of an Object of the AutomaticFillingScaleType. Figure 21 shows the hierarchical structure and details of the composition. It is formally defined in Table 37.
An Object of AutomaticFillingScaleType represents an automatic filling scale. It defines additional Methods and Properties required for managing automatic filling scales.
Figure 21 − Overview AutomaticFillingScaleType
Table 37 − AutomaticFillingScaleType Definition
Attribute |
Value |
||||
BrowseName |
AutomaticFillingScaleType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ScaleDeviceType |
|||||
0:HasComponent |
Variable |
Deviation |
0:Number |
0:AnalogItemType |
Optional |
0:HasProperty |
Variable |
ToleranceState |
ToleranceState |
0:PropertyType |
Optional |
Deviation defines the relative amount of over (positive value) or under (negative value) dosed value in relation to the TargetWeight.
ToleranceState describes the state of the tolerance deviation. Under: underneath the lower tolerance value. Over: above the upper tolerance value. In: within the tolerance values. The options “under” and “over” need to be determined via the TargetItemType information of TargetWeight.
ProductionPreset, which is inherited from ScaleDeviceType shall have instances of AutomaticFillingProductType or a subtype in the Products folder.
The AutomaticFillingProductType defines the structure of an Object of the AutomaticFillingProductType. Figure 22 shows the hierarchical structure and details of the composition. It is formally defined in Table 38.
An Object of AutomaticFillingProductType represents a product of an automatic filling scale. It defines additional methods and properties required for managing the product.
Figure 22 − Overview AutomaticFillingProductType
Table 38 − AutomaticFillingProductType Definition
Attribute |
Value |
||||
BrowseName |
AutomaticFillingProductType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ProductType |
|||||
0:HasComponent |
Variable |
FeedRateMeasuringInterval |
0:Duration |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
FillingTime |
0:Duration |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
FineFeedWeight |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
InFlightWeight |
0:Number |
0:AnalogItemType |
Mandatory |
0:HasComponent |
Variable |
JogFeed |
0:Boolean |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
MinimumDeltaPerFeedRateMeasuringInterval |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
SettlingTime |
Duration |
BaseDataVariableType |
Optional |
0:HasProperty |
Variable |
TareId |
0:String |
0:PropertyType |
Optional |
0:HasComponent |
Variable |
TargetWeight |
0:Number |
TargetItemType |
Mandatory |
FeedRateMeasuringInterval defines the measuring interval for evaluating the current flowrate.
FillingTime defines the maximum duration for the filling process to take place. Needs to be completed during this period.
FineFeedWeight defines the volume to be dosed in fine flow.
InFlightWeight defines the volume that is behind the valve/in flight after feeding is stopped.
JogFeed defines if an additional dosage is necessary.
MinimumDeltaPerFeedRateMeasuringInterval defines the minimum amount of weight data which needs to change within the FeedRateMeasuringInterval. Otherwise, the filling procedure is not valid.
SettlingTime defines the time that needs to be passed before the measurement process can be triggered.
TareId defines an ID of tare value for the current product or item.
TargetWeight defines the preset of the volume to be processed.
The CatchweigherType defines the structure of an Object of the CatchweigherType. Figure 23 shows the hierarchical structure and details of the composition. It is formally defined in Table 39.
An Object of the CatchweigherType represents a catchweigher. It has no method or properties defined. The CheckweigherType and the AutomaticWeightPriceLablerType inherit from the CatchweigherType.
Figure 23 − Overview CatchweigherType
Table 39 − CatchweigherType Definition
Attribute |
Value |
||||
BrowseName |
CatchweigherType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
ProductionPreset, which is inherited from ScaleDeviceType shall have instances of CatchweigherProductType or a subtype in the Products folder.
The CatchweigherProductType defines the structure of an Object of the CatchweigherProductType. Figure 24 shows the hierarchical structure and details of the composition. It is formally defined in Table 40.
An Object of the CatchweigherProductType represents a product of a catchweigher. It defines additional methods and properties required for managing the product.
Figure 24 − Overview CatchweigherProductType
Table 40 − CatchweigherProductType Definition
Attribute |
Value |
||||
BrowseName |
CatchweigherProductType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ProductType |
|||||
0:HasComponent |
Object |
<Zones> |
|
ZoneType |
OptionalPlaceholder |
0:HasComponent |
Method |
AddZone |
|
|
Optional |
0:HasComponent |
Object |
LastItem |
|
WeighingItemType |
Optional |
0:HasComponent |
Variable |
PresetHeight |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
PresetLength |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
PresetWidth |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Method |
RemoveZone |
|
|
Optional |
0:HasComponent |
Variable |
TargetThroughput |
0:Number |
TargetItemType |
Optional |
<Zones> is an OptionalPlaceholder for the different zones. Each zone defines different weighing ranges a product has to be within.
LastItem contains the measured values of the last item that was processed by the catchweigher.
PresetHeight defines the predefined height (in direction of global gravity, see Figure 25) of the measured item. If the PresetHeight value is used, the value must be written before the item is measured.
PresetLength defines the predefined length (in direction of travel, see Figure 25) of the measured item. If the PresetLength value is used, the value must be written before the item is measured.
PresetWidth defines the predefined width (in third possible orthogonal direction to height and length, see Figure 25) of the measured item. If the PresetWidth value is used, the value must be written before the item is measured.
Figure 25 − Orientation of an Object
TargetThroughput is the target value for the throughput.
Adds a zone to the zone array. The signature of this Method is specified below. Table 41 and Table 42 specify the Arguments and AddressSpace representation, respectively.
Signature
AddZone(
[in]LocalizedText ZoneName
[in]Double LowerLimit
[in]Double UpperLimit
[in]EUInformation EngineeringUnits
[out]NodeId ZoneNodeId);
Table 41 – AddZone Method Arguments
Argument |
Description |
ZoneName |
User-readable name of the zone |
LowerLimit |
Lower weight limit of this zone. The lower limit is prior to the upper limit if two zones are beside each other |
UpperLimit |
Upper weight limit of this zone |
EngineeringUnits |
Unit of the Lower and the UpperLimit. The two Limits must have the same unit |
ZoneNodeId |
NodeId of the created Object |
Table 42 – AddZone Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
AddZone |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
OutputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Removes a zone from the zone array. The signature of this Method is specified below. Table 43 and Table 44 specify the Arguments and AddressSpace representation, respectively.
Signature
RemoveZone(
[in]NodeId ZoneNodeId);
Table 43 – RemoveZone Method Arguments
Argument |
Description |
ZoneNodeId |
NodeId of the Object that should be deleted |
Table 44 – RemoveZone Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
RemoveZone |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The WeighingItemType defines the structure of an Object of an item. Figure 26 shows the hierarchical structure and details of the composition. It is formally defined in Table 45.
Figure 26 − Overview WeighingItemType
Table 45 − WeighingItemType Definition
Attribute |
Value |
||||
BrowseName |
WeighingItemType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
|||||
0:HasProperty |
Variable |
ItemId |
0:String |
0:PropertyType |
Optional |
0:HasComponent |
Variable |
MeasuredWeight |
WeightType |
WeightItemType |
Mandatory |
0:HasComponent |
Variable |
MeasuredHeight |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
MeasuredLength |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
MeasuredVolume |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
MeasuredWidth |
0:Number |
0:AnalogItemType |
Optional |
0:HasProperty |
Variable |
ZoneName |
0:String |
0:PropertyType |
Optional |
ItemId defines a unique number that is assigned to an item.
MeasuredWeight defines the registered weight that may be unmistakably referenced to one item.
MeasuredHeight defines the maximum measured height (in direction of global gravity, see Figure 25) of the measured item.
MeasuredLength defines the maximum measured length (in direction of travel, see Figure 25) of the measured item
MeasuredWidth defines the maximum measured width (in third possible orthogonal direction to height and length, see Figure 25) of the measured item.
MeasuredVolume defines the volume of the item.
ZoneName defines the name of the zone in which the item was sorted.
The AutomaticWeightPriceLabelerType defines the structure of an Object of the AutomaticWeightPriceLabelerType. Figure 27 shows the hierarchical structure and details of the composition. It is formally defined in Table 46.
An Object of AutomaticWeightPriceLabelerType represents an automatic weight-price-labeler. It defines additional methods and properties required for managing the automatic weight-price-labeler.
NOTE: Most catchweighers or automatic weight price labelers have a feeder system and a printer. These can be modeled as subdevices with the ObjectType FeederModuleType and the PrinterModuleType.
Figure 27 − Overview AutomaticWeightPriceLabelerType
Table 46 − AutomaticWeighPriceLabelerType Definition
Attribute |
Value |
||||
BrowseName |
AutomaticWeightPriceLabelerType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the CatchweigherType |
ProductionPreset, which is inherited from ScaleDeviceType shall have instances of AutomaticWeighPriceLabelerProductType or a subtype in the Products folder.
The AutomaticWeightPriceLabelerProductType defines the structure of an Object of the AutomaticWeightPriceLabelerProductType. Figure 28 shows the hierarchical structure and details of the composition. It is formally defined in Table 47.
An object of AutomaticWeightPriceLabelerProductType represents a product of an automatic weight-price-labeler. It defines additional methods and properties required for managing the product.
Figure 28 − Overview AutomaticWeightPriceLabelerProductType
Table 47 − AutomaticWeightPriceLabelerProductType Definition
Attribute |
Value |
||||
BrowseName |
AutomaticWeightPriceLabelerProductType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the CatchweigherProductType |
|||||
0:HasComponent |
Variable |
UnitPrice |
0:Number |
BaseDataVariableType |
Optional |
The following nodes are overridden from CatchweigherProductType and the TypeDefinition changed |
|||||
0:HasComponent |
Object |
LastItem |
|
PriceItemType |
Optional |
UnitPrice defines the price per weight unit.
The components of the SimpleProductType have additional references which are defined in Table 48.
Table 48 – AutomaticWeightPriceLabelerProductType Additional Subcomponents
Source Path |
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
UnitPrice |
0: HasProperty |
Variable |
CurrencyUnit |
CurrencyUnitType |
0:PropertyType |
Mandatory |
The PriceItemType defines the structure of an Object of an item that also has a price. Figure 29 shows the hierarchical structure and details of the composition. In the AutomaticWeightPriceLabeler the PriceItemType is used instead of the ItemType for the LastItem Object. It is formally defined in Table 49.
Figure 29 − Overview PriceItemType
Table 49 − PriceItemType Definition
Attribute |
Value |
||||
BrowseName |
PriceItemType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the WeighingItemType |
|||||
0:HasComponent |
Variable |
ItemPrice |
0:Number |
BaseDataVariableType |
Optional |
ItemPrice defines the price related to measured weight and UnitPrice.
The components of the PriceItemType have additional references which are defined in Table 50.
Table 50 – PriceItemType Additional Subcomponents
Source Path |
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
ItemPrice |
0: HasProperty |
Variable |
CurrencyUnit |
CurrencyUnitType |
0:PropertyType |
Mandatory |
The CheckweigherType defines the structure of an Object of the CheckweigherType. Figure 30 shows the hierarchical structure and details of the composition. It is formally defined in Table 51.
An Object of the CheckweigherType represents a checkweigher. It defines additional methods and properties required for managing the checkweigher.
Figure 30 − Overview CheckweigherType
Table 51 − CheckweigherType Definition
Attribute |
Value |
||||
BrowseName |
CheckweigherType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the CatchweigherType |
|||||
0:HasComponent |
Variable |
TU1Percent |
0:Number |
DataItemType |
Optional |
TU1Percent is the permitted percentage of items with a weight of less than TU1 and upper TU2.
ProductionPreset, which is inherited from ScaleDeviceType shall have instances of CheckweigherProductType or a subtype in the Products folder.
The CheckweigherProductType defines the structure of an Object of the CheckweigherProductType. Figure 31 shows the hierarchical structure and details of the composition. It is formally defined in Table 52.
An Object of the CheckweigherProductType represents a product of a checkweigher. It defines additional methods and properties required for managing the product.
Figure 31 − Overview CheckweigherProductType
Table 52 − CheckweigherProductType Definition
Attribute |
Value |
||||
BrowseName |
CheckweigherProductType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the CatchweigherProductType |
|||||
0:HasComponent |
Variable |
NominalWeight |
0:Number |
TargetItemType |
Mandatory |
|
|
|
|
|
|
The following nodes are overridden from CatchweigherProductType and the TypeDefinition changed |
|||||
0:HasComponent |
Object |
Statistic |
|
CheckweigherStatisticType |
Optional |
NominalWeight defines the nominal (printed) weight of the product.
For this ObjectType the Statistic is overridden with the specific CheckweigherStatisticType.
The CheckweigherStatisticType defines the structure of an Object that represents the statistic for a checkweigher. Figure 32 shows the hierarchical structure and details of the composition. It is formally defined in Table 53.
The StatisticType is a container for the different statistic values needed in a checkweigher.
Figure 32 − Overview CheckweigherStatisticType
Table 53 − CheckweigherStatisticType Definition
Attribute |
Value |
||||
BrowseName |
CheckweigherStatisticType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the StatisticType |
|||||
0:HasComponent |
Object |
<PackagesRejectedBySystem> |
|
StatisticCounterType |
OptionalPlaceholder |
0:HasComponent |
Object |
PackagesRejectedByMetal |
|
RejectedStatisticCounterType |
Optional |
0:HasComponent |
Object |
PackagesRejectedByVision |
|
RejectedStatisticCounterType |
Optional |
0:HasComponent |
Object |
PackagesRejectedByXRay |
|
RejectedStatisticCounterType |
Optional |
0:HasComponent |
Object |
PackagesRejectedByDistanceFault |
|
RejectedStatisticCounterType |
Optional |
0:HasComponent |
Object |
PackagesRejectedByLength |
|
RejectedStatisticCounterType |
Optional |
0:HasComponent |
Object |
PackagesRejectedByMeanValueRequirement |
|
RejectedStatisticCounterType |
Optional |
0:HasComponent |
Object |
PackagesRejectedByLowerToleranceLimit1 |
|
RejectedStatisticCounterType |
Optional |
0:HasComponent |
Object |
PackagesRejectedByLowerToleranceLimit2 |
|
RejectedStatisticCounterType |
Optional |
0:HasComponent |
Object |
<PackagesAcceptedWithProperty> |
|
AcceptedStatisticCounterType |
OptionalPlaceholder |
0:HasComponent |
Object |
PackagesAcceptedWithLowerToleranceLimit1 |
|
AcceptedStatisticCounterType |
Optional |
0:HasComponent |
Variable |
PercentageLowerToleranceLimit |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Object |
TotalPackagesAccepted |
|
StatisticCounterType |
Optional |
0:HasComponent |
Object |
TotalPackagesRejected |
|
StatisticCounterType |
Optional |
0:HasComponent |
Variable |
GiveAway |
0:Number |
0:AnalogItemType |
Optional |
PackagesRejectedBySystem defines an optional placeholder for additional categories in which rejected packages may be counted in. The RejectedStatisticCounterType shall be used, if the rejected packages are added to TotalPackagesRejected. The Object representing the rejected package should be named like TotalPackagesRejectedBy<SYSTEM>. <SYSTEM> can be an additional system or reason why the packages are rejected. Some reasons could be:
- OpenFlap
- AskewPackage
- UpperToleranceLimit1
- UpperToleranceLimit2
- Presorting
- …
PackagesRejectedByMetal defines a statistic counter for items rejected by a metal detection system.
PackagesRejectedByVision defines a statistic counter for items rejected by a machine vision system.
PackagesRejectedByXRay defines a statistic counter for items rejected by a x ray detection system.
PackagesRejectedByDistanceFault defines a statistic counter for items rejected by a distance fault.
PackagesRejectedByLength defines a statistic counter for items that rejected due to the item length.
PackagesRejectedByMeanValueRequirement defines a statistic counter for items that rejected due to the required mean value.
PackagesRejectedByLowerToleranceLimit1 defines a statistic counter for items that are lower than the ToleranceLimit1
PackagesRejectedByLowerToleranceLimit2 defines a statistic counter for items that are lower than the ToleranceLimit2
PackagesAcceptedWithProperty defines an optional placeholder for additional categories in which accepted packages may be counted in. The AcceptedStatisticCounterType shall be used, and the accepted packages are added to TotalPackagesAccepted. The Object representing the accepted package should be named like TotalPackagesAccepted<PROPERTY>. <PROPERTY> can be an additional system or reason why the package is accepted.
PackagesAcceptedWithLowerToleranceLimit1 defines a statistic counter for items that are lower than TU1 and upper TU2 but accepted to the “The 3 Packers Rules” of the Welmec 6.4
TotalPackagesRejected defines the totalized number of packages, which were rejected during verification, controlling or weighing processes, that may be upstream or downstream of the weighing process itself.
TotalPackagesAccepted defines the totalized number of packages, which successfully completed all verification, controlling and weighing processes.
GiveAway defines the totalized value of volume deviation from NominalWeight. The giveaway is an indicator of overproduction and is calculated as follows:
PercentageLowerToleranceLimit1 defines the current percentage of accepted items which are lower TU1 and upper TU2 as defined in the CheckweigherType.
The StatisticCounterType defines the structure of an Object of the StatisticCounterType. Figure 33 shows the hierarchical structure and details of the composition. It is formally defined in Table 54.
The StatisticType is a container for the different statistic values needed in a checkweigher. Each zone has a StatisticCounterType. There are also different total packages counters. The flag Weighed must be set if packages of this statistic should be counted in the counter TotalPackagesWeighed. The RejectedStatisticCounterType or AcceptedStatisticCounterType shall be used if packages of this statistic should be counted in the counters TotalPackagesRejected or TotalPackagesAccepted.
Figure 33 − Overview StatisticCounterType
Table 54 − StatisticCounterType Definition
Attribute |
Value |
||||
BrowseName |
StatisticCounterType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
|||||
0:HasComponent |
Variable |
ItemCount |
0:UInteger |
BaseDataVariableType |
Mandatory |
0:HasComponent |
Variable |
MaxValue |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
MeanValue |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
MinValue |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
PercentageOfTotal |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
StandardDeviation |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
SumWeight |
0:Number |
0:AnalogItemType |
Optional |
0:HasProperty |
Variable |
Weighed |
Boolean |
0:PropertyType |
Mandatory |
ItemCount is the totalized count of measurements within the scope of this statistic.
SumWeight is the totalized weight of all items in the ItemCount.
PercentageOfTotal is the percentage of this statistic in relation to the total. The total is the count of the overall statistic, just regarding the ItemCount.
MaxValue defines the highest registered weight value.
MeanValue defines the mean value of all registered weight values.
MinValue defines the lowest registered weight value.
StandardDeviation is defined as follows:
for samples
for 100% check
Weighed indicates that the element is considered also in the TotalPackageWeighed variable of the StatisticType.
The AcceptedStatisticCounterType defines the structure of an Object of the AcceptedStatisticCounterType. It is formally defined in Table 55.
The AcceptedStatisticCounterType is subtype of the StatisticCounterType and changes the semantic meaning of the StatisticCounterType. An object with the AcceptedStatisticCounterType is used, if counted items are accepted by the scale. The items are considered also in the TotalPackagesAccepted variable of the CheckweigherStatisticType.
Table 55 − AcceptedStatisticCounterType Definition
Attribute |
Value |
||||
BrowseName |
AcceptedStatisticCounterType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the StatisticCounterType |
The RejectedStatisticCounterType defines the structure of an Object of the RejectedStatisticCounterType. It is formally defined in Table 56.
The RejectedStatisticCounterType is subtype of the StatisticCounterType and changes the semantic meaning of the StatisticCounterType. An object with the RejectedStatisticCounterType is used, if counted items are rejected by the scale. The items are considered also in the TotalPackagesRejected variable of the CheckweigherStatisticType.
Table 56 − RejectedStatisticCounterType Definition
Attribute |
Value |
||||
BrowseName |
RejectedStatisticCounterType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the StatisticCounterType |
The ZoneType defines the structure of an Object of the ZoneType. Figure 34 shows the hierarchical structure and details of the composition. It is formally defined in Table 57.
The ZoneType is a container for the weighing zones in a checkweigher. It defines additional methods and properties required for managing the different zones and provides a ZoneStatistic.
Table 57 − ZoneType Definition
Attribute |
Value |
||||
BrowseName |
ZoneType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
|||||
0:HasComponent |
Variable |
LowerLimit |
0:Number |
0:AnalogItemType |
Mandatory |
0:HasComponent |
Variable |
Name |
0:LocalizedText |
BaseDataVariableType |
Mandatory |
0:HasComponent |
Variable |
UpperLimit |
0:Number |
0:AnalogItemType |
Mandatory |
0:HasComponent |
Object |
ZoneStatistic |
|
StatisticCounterType |
Optional |
LowerLimit defines the lower weight limit of this zone. The lower limit is prior to the upper limit if two zones are next to each other.
Name defines the user-readable name of the zone.
UpperLimit defines the upper weight limit of this zone.
ZoneStatistic contains statistics regarding this zone.
The ContinuousScaleType defines the structure of an Object of the ContinuousScaleType. Figure 35 shows the hierarchical structure and details of the composition. It is formally defined in Table 58.
An Object of the ContinuousScaleType represents a continuous scale. It defines additional methods and properties required for managing the continuous scale.
Figure 35 − Overview ContinuousScaleType
Table 58 − ContinuousScaleType Definition
Attribute |
Value |
||||
BrowseName |
ContinuousScaleType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ScaleDeviceType |
|||||
0:HasComponent |
Object |
<Totalizer> |
|
TotalizerType |
Optional Placeholder |
0:HasComponent |
Variable |
FlowRate |
BaseDataType |
MeasuredItemType |
Mandatory |
0:HasComponent |
Variable |
HopperWeight |
BaseDataType |
MeasuredItemType |
Optional |
0:HasComponent |
Object |
MasterTotalizer |
|
TotalizerType |
Mandatory |
0:HasComponent |
Variable |
MaxFlowRate |
0:Number |
0:AnalogItemType |
Mandatory |
0:HasComponent |
Variable |
MinFlowRate |
0:Number |
0:AnalogItemType |
Mandatory |
Totalizer defines the overall volume that was conveyed over a defined duration. Multiple objects may be instantiated depending on the use case (OptionalPlaceholder).
FlowRate defines current mass flow in mass per time.
HopperWeight defines the remaining amount of the supplied product in the hopper (e.g., for loss in weight scales).
MasterTotalizer defines the overall volume that was conveyed over the lifetime of the scale.
MaxFlowRate defines the maximum mass flow that may be conveyed. It is the largest mass per time.
MinFlowRate defines the minimum mass flow that can be conveyed. It is the smallest mass per time.
ProductionPreset, which is inherited from ScaleDeviceType shall have instances of ContinuousProductType or a subtype in the Products folder.
The ContinuousProductType defines the structure of an Object of the ContinuousProductType. Figure 36 shows the hierarchical structure and details of the composition. It is formally defined in Table 59.
An Object of the ContinuousProductType represents a product of a continuous scale. It defines additional methods and properties required for managing the product.
Figure 36 − Overview ContinuousProductType
Table 59 − ContinuousProductType Definition
Attribute |
Value |
||||
BrowseName |
ContinuousProductType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ProductType |
|||||
0:HasComponent |
Variable |
MaterialDensity |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
TargetFlowRate |
0:Number |
TargetItemType |
Optional |
0:HasComponent |
Variable |
TargetWeight |
0:Number |
TargetItemType |
Optional |
MaterialDensity defines the bulk density of the used material.
TargetFlowRate defines a preset of flowrate that needs to be conveyed. This value defines the setpoint for the FlowRate control loop.
TargetWeight defines a preset of the volume to be processed.
The LossInWeightScaleDeviceType defines the structure of an Object of the LossInWeightScaleDeviceType. Figure 37 shows the hierarchical structure and details of the composition. It is formally defined in Table 60.
An Object of the LossInWeightScaleDeviceType represents a loss in weight scale. It defines additional methods and properties required for managing the loss in weight scale.
Figure 37 − Overview LossInWeightScaleType
Table 60 − LossInWeightScaleType Definition
Attribute |
Value |
||||
BrowseName |
LossInWeightScaleType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ContinuousScaleType |
|||||
0:HasComponent |
Method |
DischargeStart |
|
|
Mandatory |
0:HasComponent |
Method |
DischargeStop |
|
|
Mandatory |
0:HasProperty |
Variable |
Discharging |
0:Boolean |
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
Refilling |
0:Boolean |
0:PropertyType |
Mandatory |
0:HasComponent |
Method |
RefillStart |
|
|
Mandatory |
0:HasComponent |
Method |
RefillStop |
|
|
Mandatory |
Discharging indicates that a discharging process is taking place.
Refilling indicates that refilling is in progress – this may be initiated by the scale.
Starts a discharging process.
Signature
DischargeStart(
);
Stops a discharging process.
Signature
DischargeStop(
);
Starts a refilling process.
Signature
RefillStart(
);
Stops a refilling process.
Signature
RefillStop(
);
The PieceCountingScaleType defines the structure of an Object of the PieceCountingScaleType. Figure 38 shows the hierarchical structure and details of the composition. It is formally defined in Table 61.
An Object of the PieceCountingScaleType represents a piece counting scale. It defines additional methods and properties required for managing the piece counting scale.
Figure 38 − Overview PieceCountingScaleType
Table 61 − PieceCountingScaleType
Attribute |
Value |
||||
BrowseName |
PieceCountingScaleType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ScaleDeviceType |
|||||
0:HasComponent |
Variable |
CurrentPieceCount |
0:Number |
MeasuredItemType |
Mandatory |
0:HasComponent |
Variable |
ReferenceOptimisationRange |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Method |
SetReferencePieceWeight |
|
|
Mandatory |
0:HasComponent |
Method |
StartReference |
|
|
Optional |
0:HasComponent |
Method |
SetNumberOfReferencePieces |
|
|
Mandatory |
CurrentPieceCount defines the number of pieces that are currently measured related to the ReferencePieceWeight.
ReferenceOptimisationRange defines the tolerance range within which the scale may optimize the ReferencePieceWeight.
ProductionPreset, which is inherited from ScaleDeviceType shall have instances of PieceCountingProductType or a subtype in the Products folder.
Sets the value for the ReferencePieceWeight (product-specific data). The signature of this Method is specified below. Table 62 and Table 63 specify the Arguments and AddressSpace representation, respectively.
Signature
SetReferencePieceWeight(
[in]UInt32 ReferencePieceWeight
[in]EUInformation EngineeringUnits);
Table 62 – SetReferencePieceWeight Method Arguments
Argument |
Description |
ReferencePieceWeight |
The reference weight of a piece |
EngineeringUnits |
Unit of the ReferencePieceWeight |
Table 63 – SetReferencePieceWeight Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
SetReferencePieceWeight |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Triggers the reference weighing process. The signature of this Method is specified below. Table 64 and Table 65 specify the Arguments and AddressSpace representation, respectively.
Signature
StartReference(
[in]UInt32 NumberOfReferencePieces);
Table 64 – StartReference Method Arguments
Argument |
Description |
NumberOfReferencePieces |
The number of the references Pieces that should be used by the next references process. |
Table 65 – StartReference Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
StartReference |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Sets the value for NumberOfReferencePieces (product-specific data). The signature of this Method is specified below. Table 66 and Table 67 specify the Arguments and AddressSpace representation, respectively.
Signature
SetNumberOfReferencePieces(
[in]UInt32 NumberOfReferencePieces);
Table 66 – SetNumberOfReferencePieces Method Arguments
Argument |
Description |
NumberOfReferencePieces |
The number of the references Pieces that should be used by the next references process. |
Table 67 – SetNumberOfReferencePieces Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
|||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The PieceCountingProductType defines the structure of an Object of the PieceCountingProductType. Figure 39 shows the hierarchical structure and details of the composition. It is formally defined in Table 68.
An Object of the PieceCountingProductType represents a product of a piece counting scale. It defines additional methods and properties required for managing the product.
Figure 39 − Overview PieceCountingProductType
Table 68 − PieceCountingProductType Definition
Attribute |
Value |
||||
BrowseName |
PieceCountingProductType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ProductType |
|||||
0:HasComponent |
Variable |
CurrentItemCount |
0:UInteger |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
FeedRateMeasuringInterval |
Duration |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
FillingTime |
Duration |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
InFlightCount |
0:UInteger |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
JogFeed |
Boolean |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
MinimumDeltaPerFeedRateMeasuringInterval |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
NumberOfReferencePieces |
0:UInteger |
BaseDataVariableType |
Mandatory |
0:HasComponent |
Variable |
ReferencePieceWeight |
0:Number |
0:AnalogItemType |
Mandatory |
0:HasComponent |
Variable |
RegisteredPieceCount |
0:UInteger |
BaseDataVariableType |
Mandatory |
0:HasComponent |
Method |
SetTargetItemCount |
|
|
Optional |
0:HasComponent |
Method |
SetTargetPieceCount |
|
|
Optional |
0:HasComponent |
Variable |
SettlingTime |
Duration |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
TareId |
0:String |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
TargetItemCount |
0:UInteger |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
TargetPieceCount |
0:UInteger |
TargetItemType |
Optional |
0:HasComponent |
Variable |
TotalizedItemCount |
0:UInteger |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
TotalizedWeight |
WeightType |
WeightItemType |
Optional |
0:HasComponent |
Variable |
FineFeedCount |
0:UInteger |
BaseDataVariableType |
Optional |
CurrentItemCount defines the current number of items that are captured by the scale.
FeedRateMeasuringInterval defines the measurement interval for evaluating the current flowrate.
FillingTime defines the interval during which the filling has to be completed.
InFlightCount defines the number of items that are behind valve/in flight after feeding is stopped.
JogFeed defines if an additional dosage is necessary.
MinimumDeltaPerFeedRateMeasuringInterval defines the minimum amount of weight that needs to change within the FeedRateMeasuringInterval. Otherwise the filling procedure is not valid.
NumberOfReferencePieces defines the number of pieces that need to be used for the reference process.
ReferencePieceWeight defines the reference weight of a piece.
RegisteredPieceCount defines the number of pieces that were actually counted related to the ReferencePieceWeight.
SettlingTime defines the time that needs to be passed before the measurement process can be triggered.
TareId defines the ID of the tare value for the current product or item.
TargetItemCount defines the number of items that are supposed to be counted during the measurement process.
TargetPieceCount defines the number of pieces that need to be counted.
NOTE: The engineering unit of the TargetItemType is “1” or “piece” as there is no unit possible for count.
TotalizedItemCount defines the summed-up number of items. It will be reset, which is triggered either by the user or by a different product selection.
TotalizedWeight defines the summed-up number of weights. It will be reset, which is triggered either by the user or a different product selection.
FineFeedCount defines the Items to be dosed in fine flow
Sets the number of the TargetItemCount. See TargetItemCount. The signature of this Method is specified below. Table 69 and Table 70 specify the Arguments and AddressSpace representation, respectively.
Signature
SetTargetItemCount(
[in]UInt32 TargetItemCount);
Table 69 – SetTargetItemCount Method Arguments
Argument |
Description |
TargetItemCount |
0:Number of items that are supposed to be counted during the measurement process. |
Table 70 – SetTargetItemCount Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
SetTargetItemCount |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Sets the value of the TargetPieceCount. See TargetPieceCount. The signature of this Method is specified below. Table 71 and Table 72 specify the Arguments and AddressSpace representation, respectively.
Signature
SetTargetPieceCount(
[in]UInt32 TargetPieceCount
[in]UInt32 PlusTolerance
[in]UInt32 MinusTolerance);
Table 71 – SetTargetPieceCount Method Arguments
Argument |
Description |
TargetPieceCount |
0:Number of pieces that need to be counted. |
PlusTolerance |
Plus Tolerance of the TargetPieceCount |
MinusTolerance |
Minus Tolerance of the TargetPieceCount |
Table 72 – SetTargetPieceCount Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
SetTargetPieceCount |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The RecipeScaleType defines the structure of an Object of the RecipeScaleType. Figure 40 shows the hierarchical structure and details of the composition. It is formally defined in Table 73.
An Object of the RecipeScaleType represents a recipe scale. It defines additional methods and properties required for managing the recipe scale.
Figure 40 − Overview RecipeScaleType
Table 73 − RecipeScaleType Definition
Attribute |
Value |
||||
BrowseName |
RecipeScaleType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ScaleDeviceType |
|||||
0:HasComponent |
Object |
Recipes |
|
RecipeManagementType |
Optional |
0:HasComponent |
Variable |
SupportedTargetValues |
RecipeTargetValueType[] |
BaseDataVariableType |
Optional |
0:HasComponent |
Variable |
SupportedThresholdValues |
RecipeThresholdType[] |
BaseDataVariableType |
Optional |
0:HasComponent |
Method |
StartRecipe |
|
|
Optional |
0:HasComponent |
Method |
StopRecipe |
|
|
Optional |
0:HasComponent |
Method |
ContinueRecipe |
|
|
Optional |
0:HasComponent |
Method |
SkipCurrentRecipeElement |
|
|
Optional |
0:HasComponent |
Method |
AbortRecipe |
|
|
Optional |
0:HasComponent |
Object |
SupportedMaterial |
|
|
Optional |
Recipes is an object of the Type RecipeManagmentType that contains all recipes. Elements in this folder must have the RecipeType and can be connected to the ReferenceType NextRecipeElementType. It also has some method to add and removes recipes.
SupportedTargetValues defines a list of values that may be set via the recipe.
SupportedThresholdValues defines a list of threshold values that may be used within one recipe.
SupportedMaterial defines the material that is supported.
ProductionPreset, which is inherited from ScaleDeviceType shall have instances of RecipeProductType or a subtype in the Products folder.
Starts the given recipe (input parameter). Precondition: The scale needs to be enabled/released in advance. Table 74 and Table 75 specify the Arguments and AddressSpace representation, respectively.
Signature
StartRecipe(
[in]NodeIdRecipeNodeId
);
Table 74 – StartRecipe Method Arguments
Argument |
Description |
RecipeNodeId |
NodeId of the recipe to be started |
Table 75 – StartRecipe Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
StartRecipe |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Pauses the current processing of a recipe. ContinueRecipe() continues the processing. AbortRecipe() stops the processing. Table 76 and Table 77 specify the Arguments and AddressSpace representation, respectively.
Signature
StopRecipe(
[in]NodeIdRecipeNodeId
);
Table 76 – StopRecipe Method Arguments
Argument |
Description |
RecipeNodeId |
NodeId of the recipe to be stopped |
Table 77 – StopRecipe Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
StopRecipe |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
If the recipe processing is stopped, the process can continue at the same point by means of the method ContinueRecipe. Table 78 and Table 79 specify the Arguments and AddressSpace representation, respectively.
Signature
ContinueRecipe(
[in]NodeIdRecipeNodeId
);
Table 78 – ContinueRecipe Method Arguments
Argument |
Description |
RecipeNodeId |
NodeId of the recipe that can continue |
Table 79 – ContinueRecipe Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
ContinueRecipe |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The current RecipeElement will be skipped (e.g., manually completed) and the scale continues with the next RecipeElement. Attention: This may result in a different execution of the process. Table 80 and Table 81 specify the Arguments and AddressSpace representation, respectively.
Signature
SkipCurrentRecipeElement(
[in]NodeIdRecipeNodeId
);
Table 80 – SkipCurrentRecipeElement Method Arguments
Argument |
Description |
RecipeNodeId |
NodeId of the recipe that can continue |
Table 81 – SkipCurrentRecipeElement Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
SkipCurrentRecipeElement |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Aborts the current processing of a recipe. Table 82 and Table 83 specify the Arguments and AddressSpace representation, respectively.
Signature
AbortRecipe(
[in]NodeIdRecipeNodeId
);
Table 82 – AbortRecipe Method Arguments
Argument |
Description |
RecipeNodeId |
NodeId of the recipe that can continue |
Table 83 – AbortRecipe Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
AbortRecipe |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The RecipeProductType defines the structure of an Object of the RecipeProductType. Figure 41 shows the hierarchical structure and details of the composition. It is formally defined in Table 84.
An Object of the RecipeProductType represents a product of a recipe scale. It defines additional methods and properties required for managing the product.
Figure 41 − Overview RecipeProductType
Table 84 − RecipeProductType Definition
Attribute |
Value |
||||
BrowseName |
RecipeProductType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ProductType |
|||||
0:HasComponent |
Variable |
RecipeNodeId |
NodeId |
BaseDataVariableType |
Mandatory |
0:HasComponent |
Variable |
Report |
RecipeReportElementType[] |
BaseDataVariableType |
Mandatory |
0:HasComponent |
Object |
ReportFile |
|
FileType |
Optional |
RecipeNodeId defines the node ID of the recipe that is being produced.
Report defines an array with the various messages from the recipe. Each RecipeElement generates its own report message.
ReportFile defines the file (binary, xml or other) that contains the report of the current process.
The RecipeType defines the structure of an Object of the RecipeType. Figure 42 shows the hierarchical structure and details of the composition. It is formally defined in Table 85.
An Object of the RecipeType represents a recipe. It defines additional methods and properties required for managing a recipe. The description and the structure of the recipe can be found in Annex B.
Figure 42 − Overview RecipeType
Table 85 − RecipeType Definition
Attribute |
Value |
||||
BrowseName |
RecipeType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
|||||
0:HasComponent |
Object |
RecipeElements |
|
FolderType |
Optional |
0:HasProperty |
Variable |
RecipeId |
0:String |
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
RecipeName |
0:LocalizedText |
0:PropertyType |
Mandatory |
0:HasComponent |
Method |
AddRecipeElement |
|
|
Optional |
0:HasComponent |
Method |
RemoveRecipeElement |
|
|
Optional |
0:HasComponent |
Object |
RecipeFile |
|
0:FileType |
Optional |
RecipeElements defines a folder for all RecipeElements that are part of the recipe.
RecipeId defines a unique identifier of a recipe.
RecipeName defines a user-readable name of the recipe.
RecipeFile is a file that contains the recipe in a vendor-specific format. If a client uploads the file, the recipe elements can be also part of the AddressSpace. But the Method AddRecipeElement and RemoveRecipeElement should not be used. So a recipe uploaded via file transfer cannot be modified via AddRecipeElement or RemoveRecipeElement. This avoids that there is another version of the recipe in the file and the server.
AddRecipeElement is a method to add an additional RecipeElement to the recipe. Table 86 and Table 87 specify the Arguments and AddressSpace representation, respectively.
Signature
AddRecipeElement(
[in]NodeIdElementType
[in]StringElementName
[in]NodeId[]PreviousElements
[out]NodeIdElementNodeId
);
Table 86 – AddRecipeElement Method Arguments
Argument |
Description |
ElementType |
NodeId of the Object that should be removed |
ElementName |
A user-readable name of the element |
PreviousElements |
The NodeIds of the directly previous Elements. If the element is the start Element use the Recipe node. |
ElementNodeId |
The NodeId of the created RecipeElement |
Table 87 – AddRecipeElement Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
AddRecipeElement |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
OutputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Method to remove a RecipeElement in this recipe with all related references. Table 88 and Table 89 specify the Arguments and AddressSpace representation, respectively.
Signature
RemoveRecipeElement(
[in]NodeIdRecipeElementNodeId
);
Table 88 – RemoveRecipeElement Method Arguments
Argument |
Description |
RecipeElementNodeId |
NodeId of the Object that should be removed |
Table 89 – RemoveRecipeElement Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
RemoveRecipeElement |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The RecipeManagementType defines the structure of an Object of the RecipeManagementType. Figure 43 shows the hierarchical structure and details of the composition. It is formally defined in Table 90.
An Object of the RecipeManagementType contains methods and properties required for managing recipes. The description and the structure of the recipe can be found in Annex B.
Figure 43 − Overview RecipeManagementType
Table 90 − RecipeManagementType Definition
Attribute |
Value |
||||
BrowseName |
RecipeManagementType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
|||||
0:HasComponent |
Method |
AddRecipe |
|
|
Optional |
0:HasComponent |
Object |
<Recipe_No> |
|
RecipeType |
OptionalPlaceholder |
0:HasComponent |
Method |
RemoveRecipe |
|
|
Optional |
Recipe_No defines an instance of a recipe with the value “No”.
Method to add an additional recipe of the RecipeType. The signature of this Method is specified below. Table 91 and Table 92 specify the Arguments and AddressSpace representation, respectively.
Signature
AddRecipe(
[in]0:String RecipeId
[in]0:LocalizedText RecipeName
[out]NodeId RecipeNodeId);
Table 91 – AddRecipe Method Arguments
Argument |
Description |
RecipeId |
User-readable name of the recipe. |
RecipeName |
Unique identifier of a recipe. |
RecipeNodeId |
NodeId of the created Object. |
Table 92 – AddRecipe Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
AddRecipe |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
OutputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Method to remove a recipe of the RecipeType. The signature of this Method is specified below. Table 93 and Table 94 specify the Arguments and AddressSpace representation, respectively.
Signature
RemoveRecipe(
[in]0:String RecipeId
);
Table 93 – RemoveRecipe Method Arguments
Argument |
Description |
RecipeId |
User-readable name of the recipe. |
Table 94 – RemoveRecipe Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
RemoveRecipe |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The RecipeElementType defines the structure of an Object of the RecipeElementType. Figure 44 shows the hierarchical structure and details of the composition. It is formally defined in Table 95.
An Object of the RecipeElementType represents a step, process, or action in a recipe. It defines additional methods and properties required for managing a recipe. The description and the structure of the recipe can be found in Annex B.
Figure 44 − Overview RecipeElementType
Table 95 − RecipeElementType Definition
Attribute |
Value |
||||
BrowseName |
RecipeElementType |
||||
IsAbstract |
True |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
The ActivationType defines the structure of an Object of the ActivationType. Figure 45 shows the hierarchical structure and details of the composition. It is formally defined in Table 96.
An Object of the ActivationType represents an activation step in a recipe.
Figure 45 − Overview ActivationType
Table 96 − ActivationType Definition
Attribute |
Value |
||||
BrowseName |
ActivationType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the RecipeElementType |
|||||
0:HasComponent |
Variable |
TargetValue |
0:Number |
0:AnalogItemType |
Mandatory |
0:HasProperty |
Variable |
TargetValueId |
0:String |
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
TargetValueNodeId |
NodeId |
0:PropertyType |
Optional |
TargetValue defines the value to be reached of an aggregate that is referenced by TargetValueId.
TargetValueId defines a unique ID of the aggregate that is being activated. A list of all possible TargetValueIds is defined in RecipeScaleDeviceType.
TargetValueNodeId defines the NodeId of the aggregate that is being activated. If possible, this value should be used instead of the TargetValueId.
The ConditionSleepType defines the structure of an Object of the ConditionSleepType. Figure 46 shows the hierarchical structure and details of the composition. It is formally defined in Table 97.
An Object of ConditionSleepType represents a condition sleep step in a recipe. The recipe waits until the condition is solved.
Figure 46 − Overview ConditionSleepType
Table 97 − ConditionSleepType Definition
Attribute |
Value |
||||
BrowseName |
ConditionSleepType |
||||
IsAbstract |
True |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the RecipeElementType |
|||||
0:HasComponent |
Variable |
TargetThresholdValue |
BaseDataType |
DataItemType |
Mandatory |
0:HasComponent |
Variable |
ThresholdValueId |
0:String |
DataItemType |
Mandatory |
0:HasComponent |
Variable |
ThresholdValueNodeId |
NodeId |
DataItemType |
Optional |
0:HasComponent |
Variable |
Timeout |
Duration |
DataItemType |
Optional |
TargetThresholdValue is the target value with which the threshold value is compared.
ThresholdValueId defines an ID of the process value that needs to be monitored and is element of the SupportedThresholdValues in the RecipeScale.
ThresholdValueNodeId is the NodeId of the process value that needs to be monitored and is element of the SupportedThresholdValues in the RecipeScale. This variable should be used if the value is part of the address space.
Timeout specifies the duration within which the TargetThresholdValue needs to be reached. If Timeout is exceeded an operator intervention is necessary.
The AnalogConditionSleepType defines the structure of an Object of the AnalogConditionSleepType. Figure 47 shows the hierarchical structure and details of the composition. It is formally defined in Table 99.
An Object of the AnalogConditionSleepType represents a condition sleep step in a recipe. The recipe waits until the analog condition is solved. The condition depends on the EqualityAndRelationalOperator (see section 11.6). The conditions are listed in Table 98.
Table 98 − Possible Conditions for AnalogConditionSleepType
ConditionMode |
Condition |
Equal |
ThresholdValue = TargetThresholdValue |
NotEqual |
ThresholdValue != TargetThresholdValue |
LessThan |
ThresholdValue < TargetThresholdValue |
LessOrEqualThan |
ThresholdValue <= TargetThresholdValue |
GreaterThan |
ThresholdValue > TargetThresholdValue |
GreaterOrEqualThan |
ThresholdValue >= TargetThresholdValue |
Figure 47 − Overview AnalogConditionSleepType
Table 99 − AnalogConditionSleepType Definition
Attribute |
Value |
||||
BrowseName |
AnalogConditionSleepType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ConditionSleepType |
|||||
0:HasProperty |
Variable |
ConditionMode |
EqualityAndRelationalOperator |
0:PropertyType |
Mandatory |
0:HasComponent |
Variable |
TargetThresholdValue |
0:Number |
TargetItemType |
Mandatory |
ConditionMode defines the type of condition operator that is used.
TargetThresholdValue is the target value with which the threshold value is compared.
The EdgeTriggeredSleepType defines the structure of an Object of the EdgeTriggeredSleepType. Figure 48 shows the hierarchical structure and details of the composition. It is formally defined in Table 101.
An Object of the EdgeTriggeredSleepType represents a condition sleep step in a recipe. The recipe waits until the binary condition is solved. The condition depends on the EdgeOperator (see section 0). The conditions are listed in Table 100.
Table 100 − Possible Conditions for EdgeTriggeredSleepType
ConditionMode |
Condition |
Rising |
Is true if after ThresholdValue transition from false to true |
Falling |
Is true if after ThresholdValue transition from true to false |
Figure 48 − Overview EdgeTriggeredSleepType
Table 101 − EdgeTriggeredSleepType Definition
Attribute |
Value |
||||
BrowseName |
EdgeTriggeredSleepType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ConditionSleepType |
|||||
0:HasProperty |
Variable |
ConditionMode |
EdgeOperator |
0:PropertyType |
Mandatory |
0:HasComponent |
Variable |
TargetThresholdValue |
Boolean |
DataItemType |
Mandatory |
ConditionMode defines the type of condition operator that is used.
TargetThresholdValue is the target value with which the threshold value is compared.
The TimerType defines the structure of an Object of the TimerType. Figure 49 shows the hierarchical structure and details of the composition. It is formally defined in Table 102.
An Object of the TimerType represents a timer step in a recipe. The recipe waits until at least Duration has passed.
Figure 49 − Overview TimerType
Table 102 − TimerType Definition
Attribute |
Value |
||||
BrowseName |
TimerType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the RecipeElementType |
|||||
0:HasComponent |
Variable |
Duration |
Duration |
BaseDataVariableType |
Mandatory |
Duration defines the period of time the processing needs to wait before processing the next RecipeElement.
The UserInstructionType defines the structure of an Object of the UserInstructionType. Figure 50 shows the hierarchical structure and details of the composition. It is formally defined in Table 103.
An Object of UserInstructionType represents a recipe step that requires user interaction. The recipe scale displays instructions (a text and/or application-specific symbols) on an HMI and waits until the user acknowledges the instructions.
Figure 50 − Overview UserInstructionType
Table 103 − UserInstructionType Definition
Attribute |
Value |
||||
BrowseName |
UserInstructionType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the RecipeElementType |
|||||
0:HasComponent |
Variable |
DisplayText |
0:LocalizedText |
BaseDataVariableType |
Mandatory |
0:HasComponent |
Variable |
InstructionId |
0:UInteger |
BaseDataVariableType |
Optional |
DisplayText defines instructions for this RecipeElement that will be displayed to the user.
InstructionId defines a unique ID used to identify the instruction that is displayed via DisplayText.
The WeighingType defines the structure of an Object of the WeighingType. Figure 51 shows the hierarchical structure and details of the composition. It is formally defined in Table 104.
An Object of the WeighingType represents a weighing process in a recipe. The process can be an automatic or a manual filling process. The WeighingType contains all information needed in the weighing process.
Figure 51 − Overview WeighingType
Table 104 − WeighingType Definition
Attribute |
Value |
||||
BrowseName |
WeighingType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the RecipeElementType |
|||||
0:HasComponent |
Variable |
WeighingModuleNodeId |
NodeId |
BaseDataVariableType |
Mandatory |
0:HasComponent |
Object |
Material |
|
MaterialType |
Optional |
0:HasComponent |
Variable |
TargetWeight |
0:Number |
TargetItemType |
Mandatory |
WeighingModuleNodeId defines the ID of the load cell which is used for weighing the product.
Material defines the material which needs to be measured. Each material has different characteristics that are defined in MaterialType.
TargetWeight defines the preset of the volume to be processed.
The MaterialAutomaticType defines the structure of an Object of the MaterialAutomaticType. Figure 52 shows the hierarchical structure and details of the composition. It is formally defined in Table 105.
An Object of MaterialAutomaticType represents a material in a recipe that will be filled automatically.
Figure 52 − Overview MaterialAutomaticType
Table 105 − MaterialAutomaticType Definition
Attribute |
Value |
||||
BrowseName |
MaterialAutomaticType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the MaterialType |
|||||
0:HasComponent |
Object |
FillingProductInformation |
|
AutomaticFillingProductType |
Mandatory |
FillingProductInformation defines the parameters necessary for the filling of the material. It derives from product-specific information within the AutomaticFillingScaleType.
The TotalizingHopperScaleType defines the structure of an Object of the TotalizingHopperScaleType. Figure 53 shows the hierarchical structure and details of the composition. It is formally defined in Table 106.
An Object of the TotalizingHopperScaleType represents a totalizing hopper scale. It defines additional methods and properties required for managing the totalizing hopper scale.
Figure 53 – Overview TotalizingHopperScaleType
Table 106 – TotalizingHopperScaleType Definition
Attribute |
Value |
||||
BrowseName |
TotalizingHopperScaleType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ScaleDeviceType |
ProductionPreset, which is inherited from ScaleDeviceType shall have instances of TotalizingHopperProductType or a subtype in the Products folder.
The TotalizingHopperProductType defines the structure of an Object of the TotalizingHopperProductType. Figure 54 shows the hierarchical structure and details of the composition. It is formally defined in Table 107.
An Object of the TotalizingHopperProductType represents a product of a totalizing hopper scale. It defines additional methods and properties required for managing the product.
Figure 54 – Overview TotalizingHopperProductType
Table 107 – TotalizingHopperProductType Definition
Attribute |
Value |
||||
BrowseName |
TotalizingHopperProductType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ProductType |
|||||
0:HasComponent |
Variable |
VolumeTargetValue |
0:Number |
TargetItemType |
Optional |
0:HasComponent |
Variable |
TipCounter |
0:UInteger |
BaseDataVariableType |
Mandatory |
TargetValue defines the preset of the volume to be processed.
TipCounter defines the number of fillings (downpour, bulk produce).
The SimpleScaleType defines the structure of an Object of the SimpleScaleType. Figure 55 shows the hierarchical structure and details of the composition. It is formally defined in Table 108.
An Object of the SimpleScaleType represents a simple scale. It defines additional methods and properties required for managing the simple scale.
Figure 55 – Overview SimpleScaleType
Table 108 – SimpleScaleType Definition
Attribute |
Value |
||||
BrowseName |
SimpleScaleType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ScaleDeviceType |
ProductionPreset, which is inherited from ScaleDeviceType shall have instances of SimpleProductType or a subtype in the Products folder.
The SimpleProductType defines the structure of an Object of the SimpleProductType. Figure 56 shows the hierarchical structure and details of the composition. It is formally defined in Table 109.
An Object of the SimpleProductType represents a product of a simple scale. It defines additional methods and properties required for managing the product.
Figure 56 – Overview SimpleProductType
Table 109 – SimpleProductType Definition
Attribute |
Value |
||||
BrowseName |
SimpleProductType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ProductType |
|||||
0:HasProperty |
Variable |
ContainerId |
0:String |
0:PropertyType |
Optional |
0:HasComponent |
Variable |
UnitPrice |
0:Number |
BaseDataVariableType |
Optional |
ContainerId defines the identifier of a container which contains the weighing good (e.g., bottles upon a pallet which will be filled with liquid).
UnitPrice defines the price per weight unit.
The components of the SimpleProductType have additional references which are defined in Table 110.
Table 110 – SimpleProductType Additional Subcomponents
Source Path |
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
UnitPrice |
0: HasProperty |
Variable |
CurrencyUnit |
CurrencyUnitType |
0:PropertyType |
M |
The LaboratoryScaleType defines the structure of an Object of the LaboratoryScaleType. Figure 57 shows the hierarchical structure and details of the composition. It is formally defined in Table 111.
An Object of the LaboratoryScaleType represents a laboratory scale. It defines additional methods and properties required for managing the laboratory scale.
Figure 57 – Overview LaboratoryScaleType
Table 111 – LaboratoryScaleType Definition
Attribute |
Value |
||||
BrowseName |
LaboratoryScaleType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the SimpleScaleType |
|||||
0:HasProperty |
Variable |
CalibrationNeeded |
Boolean |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
CalibrationRunning |
Boolean |
0:PropertyType |
Optional |
0:HasComponent |
Method |
CloseDraftShields |
|
|
Optional |
0:HasProperty |
Variable |
DraftShieldLeftClosed |
Boolean |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
DraftShieldRightClosed |
Boolean |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
DraftShieldTopClosed |
Boolean |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
LevelingRunning |
Boolean |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
IonisatorRunning |
Boolean |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
LevelingRunning |
Boolean |
0:PropertyType |
Optional |
0:HasComponent |
Method |
OpenDraftShields |
|
|
Optional |
0:HasComponent |
Method |
StartLeveling |
|
|
Optional |
0:HasComponent |
Method |
StartCalibration |
|
|
Optional |
0:HasComponent |
Method |
StartIonisator |
|
|
Optional |
0:HasComponent |
Method |
StopIonisator |
|
|
Optional |
CalibrationNeeded defines if a calibration procedure is needed and if the current process should be paused.
CalibrationRunning defines if a calibration procedure is running (e.g., started via method StartCalibration).
DraftShieldLeftClosed defines if the left draft shield is closed.
DraftShieldRightClosed defines if the right draft shield is closed.
DarftShieldTopClosed defines if the top draft shield is closed.
LevelingRunning defines if a leveling process is running (e.g., started via the method StartLeveling).
IonisatorRunning defines if an ionization procedure is running (e.g., started via the method StartIonizer).
Method to close a certain draft shield or all draft shields. The signature of this Method is specified below. Table 112 and Table 113 specify the Arguments and AddressSpace representation, respectively.
Signature
CloseDraftShields(
[in]DraftShieldType Shield
);
Table 112 – CloseDraftShields Method Arguments
Argument |
Description |
Shield |
The DraftShield that should be closed. |
Table 113 – CloseDraftShields Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
CloseDraftShields |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Method to open a certain draft shield or all draft shields. The signature of this Method is specified below. Table 114 and Table 115 specify the Arguments and AddressSpace representation, respectively.
Signature
OpenDraftShields(
[in]DraftShieldTypeShield
);
Table 114 – OpenDraftShields Method Arguments
Argument |
Description |
Shield |
The DraftShield that should be open. |
Table 115 – OpenDraftShields Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
OpenDraftShields |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Method to start the automatic leveling procedure of the scale.
Signature
SartLeveling(
);
Method to start the automatic calibration procedure.
Signature
StartCalibration(
);
Method to start the ionization process.
Signature
StartIonisator(
);
Method to stop the ionization process.
Signature
StopIonisator(
);
The HopperScaleType defines the structure of an Object of the HopperScaleType. Figure 58 shows the hierarchical structure and details of the composition. It is formally defined in Table 116.
An Object of the HopperScaleType represents a hopper scale. It defines additional methods and properties required for managing the hopper scale. The CurrentWeight variable corresponds to the fill level of the hopper.
Figure 58 − Overview HopperScaleType
Table 116 − HopperScaleType Definition
Attribute |
Value |
||||
BrowseName |
HopperScaleType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the SimpleScaleType |
|||||
0:HasProperty |
Variable |
<Limits> |
Boolean |
0:PropertyType |
OptionalPlaceholder |
0:HasComponent |
Variable |
LevelMax |
0:Number |
0:AnalogItemType |
Optional |
0:HasComponent |
Variable |
LevelMin |
0:Number |
0:AnalogItemType |
Optional |
0:HasProperty |
Variable |
LimitMax |
Boolean |
0:PropertyType |
Mandatory |
0:HasProperty |
Variable |
LimitMin |
Boolean |
0:PropertyType |
Mandatory |
<Limits> defines a placeholder for individual additional limits that may be reached.
LimitMin: The current fill level falls below the allowed minimum level.
LimitMax: The current fill level exceeds the allowed maximum level.
LevelMax defines the maximum fill level where an action is necessary.
LevelMin defines the minimum fill level where an action is necessary.
The components of the HopperScaleType have additional references which are defined in Table 117.
The LevelMax/LevelMode defines with which condition the LevelMax and the current fill level (CurrentWeight) are compared.
The LevelMin/LevelMode defines with which condition the LevelMax and the current fill level (CurrentWeight) are compared.
Table 117 – HopperScaleType Additional Subcomponents
Source Path |
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
LevelMax |
0:HasProperty |
Variable |
LevelMode |
EqualityAndRelationalOperator |
0:PropertyType |
Optional |
LevelMin |
0:HasProperty |
Variable |
LevelMode |
EqualityAndRelationalOperator |
0:PropertyType |
Optional |
The VehicleScaleType defines the structure of an Object of the VehicleScaleType. Figure 61 shows the hierarchical structure and details of the composition. It is formally defined in Table 119.
An Object of the VehicleScaleType represents a vehicle scale. It defines additional methods and properties required for managing the vehicle scale.
The following use cases for a vehicle scale exist:
- Checking the weight of the vehicle (e.g., a traffic check or an overload check) (check vehicle weight)
- The weight of the vehicle is known and only one measurement is needed to determine the gross weight (one pass weighing)
- The weight of the vehicle is unknown, and more than one measurement is needed to determine the gross weight (more pass weighing) (e.g. a vehicle arrives at a gravel plant full/empty and leaves it empty/full)
Table 118 shows the process of the different use cases:
Table 118 − Process of vehicle weighing
Checkweighing |
One pass weighing |
More pass weighing |
Call the method RegisterWeight to get the current value |
Call the method OnePassWeighing to trigger an outbound weighing and use the preset tare to calculate DeltaWeight |
Call the method InboundWeighing if the vehicle arrives at the area and call the method OutboundWeighing if the vehicle leaves the area. The results must be saved in the scale. If OutboundWeighing and InboundWeighing are stored in the scale the DeltaWeight (as result) can be calculated |
Figure 59 − Overview VehicleScaleType
Table 119 − VehicleScaleType Definition
Attribute |
Value |
||||||
BrowseName |
VehicleScaleType |
||||||
IsAbstract |
False |
||||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
||
Subtype of the ScaleDeviceType |
|||||||
0:HasComponent |
Method |
InboundWeighing |
|
|
Optional |
||
0:HasComponent |
Method |
OutboundWeighing |
|
|
Optional |
||
0:HasComponent |
Method |
OnePassWeighing |
|
|
Optional |
ProductionPreset, which is inherited from ScaleDeviceType shall have instances of VehicleProductType or a subtype in the Products folder.
The Method triggers an inbound weighing process of a vehicle arriving in an (e.g., filling) area. This is done to determine the present weight of the vehicle. This method may require a vehicle ID to identify the vehicle and to return the measured value. The signature of this Method is specified below. Table 120 and Table 121 specify the Arguments and AddressSpace representation, respectively.
Signature
InboundWeighing(
[in]0:String VehicleId
);
Table 120 – InboundWeighing Method Arguments
Argument |
Description |
VehicleId |
The ID of the vehicle |
Table 121 – InboundWeighing Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
InboundWeighing |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Triggers an outbound weighing process of a vehicle leaving an (e.g., filling) area. This is done to determine the total weight of the vehicle. This method may require a vehicle ID to identify the vehicle and to return the measured value. The signature of this Method is specified below. Table 122 and Table 123 specify the Arguments and AddressSpace representation, respectively.
Signature
OutboundWeighing(
[in]0:StringVehicleId
);
Table 122 – OutboundWeighing Method Arguments
Argument |
Description |
VehicleId |
The ID of the vehicle |
Table 123 – OutboundWeighing Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
OutboundWeighing |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
Triggers an outbound weighing and uses the preset tare to calculate the DeltaWeight (one-pass use case). The signature of this Method is specified below. Table 124 and Table 125 specify the Arguments and AddressSpace representation, respectively.
Signature
OnePassWeighing(
[in]0:StringVehicleId
);
Table 124 – OnePassWeighing Method Arguments
Argument |
Description |
VehicleId |
The ID of the vehicle |
Table 125 – OnePassWeighing Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
OnePassWeighing |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The VehicleProductType defines the structure of an Object of the VehicleProductType. Figure 60 shows the hierarchical structure and details of the composition. It is formally defined in Table 126.
An Object of the VehicleProductType represents a product of a vehicle product. It defines additional Methods and Properties required for managing the product.
Figure 60 − Overview VehicleProductType
Table 126 − VehicleProductType Definition
Attribute |
Value |
||||
BrowseName |
VehicleProductType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the ProductType |
|||||
0:HasProperty |
Variable |
CarrierDisplayName |
0:LocalizedText |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
CarrierId |
0:String |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
Customer |
0:LocalizedText |
0:PropertyType |
Optional |
0:HasComponent |
Variable |
DeltaWeight |
WeightType |
WeightItemType |
Mandatory |
0:HasProperty |
Variable |
Destination |
0:LocalizedText |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
DriverId |
0:String |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
DriverDisplayName |
0:LocalizedText |
0:PropertyType |
Optional |
0:HasComponent |
Method |
GetVehicleInformation |
|
|
Optional |
0:HasProperty |
Variable |
InboundScale |
NodeId |
0:PropertyType |
Optional |
0:HasComponent |
Variable |
InboundWeight |
WeightType |
WeightItemType |
Optional |
0:HasComponent |
Object |
Material |
|
MaterialType |
Optional |
0:HasProperty |
Variable |
OutboundScale |
NodeId |
0:PropertyType |
Optional |
0:HasComponent |
Variable |
OutboundWeight |
WeightType |
WeightItemType |
Mandatory |
0:HasProperty |
Variable |
ScaleOperatorId |
0:String |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
Supplier |
0:LocalizedText |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
Tare |
0:Number |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
TareExpirationDate |
0:DateTime |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
TotalWeight |
WeightType |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
TotalWeightResetDate |
0:DateTime |
0:PropertyType |
Optional |
0:HasProperty |
Variable |
VehicleId |
0:String |
0:PropertyType |
Mandatory |
InboundWeight gives the result of the InboundWeighing method in a separate variable.
InboundScale defines the NodeId of the scale that was used for measuring the InboundWeight in a multi-scale-system
OutboundWeight gives the result of the OutboundWeighing and a CheckWeighing method in a separate variable.
OutboundScale defines the NodeId of the scale that was used for measuring the OutboundWeight in a multi-scale-system.
DeltaWeight gives the loaded or unloaded net weight and is defined by the difference between InboundWeight and OutboundWeight. In case of OutboundWeighing only, the delta is defined by OutboundWeight minus tare.
Tare defines the tare value for the vehicle, used during a one pass transaction. This is different than the tare set on the terminal for regular weighing.
TareExpirationDate is the date on which the tare expires.
TotalWeight is the sum of net weights for the vehicle defined in VehicleId.
TotalWeightResetDate is the date on which the TotalWeight was reset last time.
VehicleId is a unique identifier to determine which vehicle is present (e.g., license plate number or wagon number).
Material is the name of the material.
CarrierDisplayName is the display name of the carrier that is involved in the occurring process.
CarrierId is the number of the carrier that is involved in the occurring process.
DriverDisplayName is the display name of the driver who is involved in the occurring process.
DriverId is the number of the driver who is involved in the occurring process.
Customer is an address of the customer who is involved in the occurring process.
Destination is the address of the destination that is involved in the occurring process.
Supplier is the address of the supplier that is involved in the occurring process.
ScaleOperatorId defines the ID of the operator that is triggering and the operation of the scale.
The components of the VehicleProductType have additional references which are defined in Table 127.
Table 127 – VehicleProductType Additional Subcomponents
Source Path |
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Others |
DeltaWeight |
0:HasProperty |
Variable |
IsFilling |
0:Boolean |
0:PropertyType |
Optional |
DeltaWeight.IsFilling defines if the deltaWeight is a filling weight or an unloading weight.
The Method loads vehicle information of the data store. It requires a unique vehicle ID as input. Table 128 and Table 129 specify the Arguments and AddressSpace representation, respectively.
Signature
GetVehicleInformation (
[in]0:String VehicleId
);
Table 128 – GetVehicleInformation Method Arguments
Argument |
Description |
VehicleId |
The ID of the vehicle |
Table 129 – GetVehicleInformation Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
SetFeederSpeed |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
InputArguments |
Argument[] |
0:PropertyType |
Mandatory |
The WeighingModuleType defines the structure of an Object of the WeighingModuleType. Figure 61 shows the hierarchical structure and details of the composition. It is formally defined in Table 130.
An Object of the WeighingModuleType represents a weighing bridge. It defines additional methods and properties required for managing the weighing bridge. The Object should be a subdevice of another device (e.g., a VehicleScaleDeviceType).
Figure 61 − Overview WeighingModuleType
Table 130 − WeighingModuleType Definition
Attribute |
Value |
||||
BrowseName |
WeighingModuleType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the SimpleScaleType |
No additional properties exist.
The MaterialType defines the structure of an Object of the MaterialType. Figure 62 shows the hierarchical structure and details of the composition. It is formally defined in Table 131.
An Object of the MaterialType represents a material. It defines additional properties required for managing materials (for example as part of a vehicle product or in a recipe).
Figure 62 − Overview MaterialType
Table 131 − MaterialType Definition
Attribute |
Value |
||||
BrowseName |
MaterialType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
|||||
0:HasComponent |
Variable |
MaterialId |
0:String |
BaseDataVariableType |
Mandatory |
0:HasComponent |
Variable |
MaterialName |
0:LocalizedText |
BaseDataVariableType |
Mandatory |
MaterialId defines a unique identifier for the material.
MaterialName defines a user-readable name of the material.
The FloatingStatisticType defines the structure of an Object of the FloatingStatisticType. Figure 63 shows the hierarchical structure and the details of the composition. It is formally defined in Table 132.
The FloatingStatisticType is a subtype of the StatisiticType and also a container for the different statistic values. All Variables are optional so that the statistics can be instanced application-specifically. The FloatingStatisticType is not used directly in the information model but should be used for application-specific statistics. Unlike the StatisiticType, the statistic behind the FloatingStatisticType is not time-based, but contains the last NumberOfValues values.
Figure 63 − Overview FloatingStatisticType
Table 132 − FloatingStatisticType Definition
Attribute |
Value |
||||
BrowseName |
FloatingStatisticType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the StatisticType |
|||||
0:HasProperty |
Variable |
NumberOfValues |
UInt32 |
0:PropertyType |
Mandatory |
NumberOfValues defines the number of values that are considered for this floating statistic.
The TotalizerType defines the structure of an Object of the TotalizerType. Figure 64 shows the hierarchical structure and details of the composition. It is formally defined in Table 133.
An Object of the TotalizerType contains the sum of the last measurement results (TotalizedValue). Additionally, it defines a Method to reset the totalizer and the addition of the result starts with zero.
Figure 64 − Overview TotalizerType
Table 133 − TotalizerType Definition
Attribute |
Value |
||||
BrowseName |
TotalizerType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the BaseObjectType defined in OPC 10000-5 |
|||||
0:HasComponent |
Method |
ResetTotalizer |
|
|
Optional |
0:HasComponent |
Variable |
TotalizedValue |
AbstractWeightType |
MeasuredItemType |
Mandatory |
TotalizedValue defines a summed up/totalized volume within a period of time.
Resets the TotalizedValue of this totalizer Object. Only useful if the reset is not related to a period of time (e.g., over 1h).
Signature
ResetTotalizer(
);