1 Scope

The joint VDMA and OPC Foundation Working Group “VDMA OPC UA Weighing Technology Initiative” developed an OPC UA information model for communication of scale systems. Scale systems are defined as devices within a value chain that measure the weight or mass flow of a product or Object containing several additional parameters (e.g., price, tare of packaging, etc.). Scale systems stand for a complete weight measuring device that includes one or multiple scales. The scales may fulfill different use cases within one scale system (e.g., filling and price labeling). Each scale consists of one or multiple load cells which capture the weight. It is the smallest unit regarding the components of a scale system within this Companion Specification.

The OPC UA Weighing Technology Companion Specification covers the following scale system types directly: Automatic Filling Scales, catchweigher (Automatic Price Labeling Scales, Automatic Weight Labeling Scales, checkweigher), Continuously Scales, Hopper Scales, Laboratory Scales, Piece Counting Scales, Simple Scales, Totalizing Scales and Vehicle Scales.

Other scale systems including weighing bridges may be modeled based on this Companion Specification, but probably need to be extended by certain parameters.

NOTE: The scale system class “Retail Scales” is excluded by this information model. At this time there is no relevance for an OPC UA interface and therefore there is no information modelled for representing these devices.

2 Normative references

The following documents, in whole or in part, are normatively referenced in this document and are indispensable for its application. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

OPC 10000-1, OPC Unified Architecture - Part 1: Overview and Concepts

OPC 10000-1

OPC 10000-3, OPC Unified Architecture - Part 3: Address Space Model

OPC 10000-3

OPC 10000-4, OPC Unified Architecture - Part 4: Services

OPC 10000-4

OPC 10000-5, OPC Unified Architecture - Part 5: Information Model

OPC 10000-5

OPC 10000-7, OPC Unified Architecture - Part 7: Profiles

OPC 10000-7

OPC 10000-8, OPC Unified Architecture - Part 8: Data Access

OPC 10000-8

OPC 10000-9, OPC Unified Architecture - Part 9: Alarms and Conditions

OPC 10000-9

OPC 10000-100, OPC Unified Architecture - Part 100: Devices

OPC 10000-100

OPC 10000-200, OPC Unified Architecture - Part 200: Industrial Automation - Basics

OPC 10000-200

OPC 30050, OPC UA for PackML

http://www.opcfoundation.org/documents/30050

OPC 40001-1, OPC UA for Machinery - Part 1: Basic Building Blocks OPC 40001-1

http://www.opcfoundation.org/documents/40001-1

The International Vocabulary of Basic and General Terms in Metrology (VIM)2.9
International Vocabulary of Legal Metrology (VIML)V1 - 2013
OIML D 11 General requirements for measuring instruments - Environmental conditions2011
OIML D 31 General requirements for software-controlled measuring instruments2008
OIML R 50 - Continuous totalizing automatic weighing instruments (belt weighers)2014
OIML R 51 - Automatic catchweighing instruments2006
OIML R 61 - Automatic gravimetric filling instruments2017
OIML R 76 - Non-automatic weighing instruments2006
OIML R 107 - Discontinuous totalizing automatic weighing instruments (totalizing hopper weighers)2007
WELMEC 6.4 - Guide for packers and importers of e-marked prepacked productsJune 2005

3 Terms, definitions and conventions

3.1 Overview

For this specification it is assumed that basic concepts of OPC UA information modelling are understood. This specification will use these concepts to describe the OPC UA for the Weighing Technology Companion Specification Information Model. For the purpose of this document, the terms and definitions given in OPC 10000-1, OPC 10000-3, OPC 10000-4, OPC 10000-5, OPC 10000-7, OPC 10000-100, OPC 10000-200, OPC 30050, OPC 40001-1 as well as in the following apply.

NOTE: OPC UA terms and terms defined in this specification are italicized in the specification.

3.2 OPC UA for Weighing Technology terms

The terminology used in this specification conforms to

The International Vocabulary of Legal Metrology (VIML)

Basic and General Terms in Metrology (VIM)

D 11 General requirements for measuring instruments - Environmental conditions

R 76 Non-automatic weighing instruments,

D 31 General requirements for software-controlled measuring instruments.

In addition, the following definitions apply.

3.2.1 General Terms

Table 1 - General Terms
TermDefinition
Actual scale interval, d

Value expressed in units of mass of:

the difference between the values corresponding to two consecutive scale marks, for analog indication; or

the difference between two consecutive indicated values, for digital indication.

(OIML R51)

Automatic scaleAn instrument that weighs without the intervention of an operator and follows a predetermined program of automatic processes, which are characteristic of the instrument.
Current weight Defines the current value that is measured at the sensor at the concurrent timestamp. Might be a highly fluctuating value.
DivisionValue of the smallest increment. See also (actual scale interval, verification scale interval)
FeederDevices for conveying the product to or from the weighing module
Flow rate

The flow rate is a measured value passes per unit of time. The flow rate can be defined as mass flow rate (flow of mass m through a surface per unit time t)

or as volumetric flow rate (flow of volume of fluid V through a surface per unit time t)

Gross value

Indication of the weight value of a load on an instrument, with no tare or preset tare device in operation. (see OIML R 76)

Weight of an objective or sample (net weight) including its container or packaging (tare weight)

HeightLength of an item in direction of global gravity.
ItemA physical product in scales that process a set of physical products like catchweigher. In case a “productType” represented a set of physical products the single physical product is called item.
LengthIn direction of travel.
Load

Amount of product that is currently introducing the force on the load receptor. (OIML R61)

A general term for any Object when it is intended to convey the meaning that this Object is exerting a weight force

Measurement resultSet of quantity values being attributed to a measurand together with any other available relevant information (see VIM 2.9)
Minimum WeightThe Minimum Weight is the smallest sample quantity required for a weighment to just achieve a specified relative accuracy of weighing. So it is the smallest load or component of a recipe that may be weighted on the scale.
Net value

Indication of the weight value of a load placed on an instrument after operation of a tare device. (see OIML R 76)

The weight of a material or sample after deducting the weight of its packaging or of the transport instrument (tare weight)

PackML“PackML stands for Packaging Machine Language and is an interface standard originally used in batch manufacturing in the packaging industry, but which is now used in multiple different types of production and assembly lines.” (see OPC 30050)
Preset tare valueNumerical value, representing a weight value, that is introduced into the instrument. It is a predetermined tare value that is used for one or several weighings. (see OIML R 76)
ProductFor the purposes of this Companion Specification, a product is a physical good that is processed by a weighing system. Depending on the type of scale and type of good, the result may be a single weighing and/or a statistical evaluation of many weighing operations. Additional process steps (e.g., metal detection) can also be performed. A OPC UA Object of type "productType" represented a physical product or a set of physical products and contain additional (meta-)information like a target value or some identifier.
Proportional tareTare value that is determined by the scale automatically and that is proportional to the gross weight.
RecipeSee Annex B
RegisteredWeight Defines the last valid measurement that was recorded and will be used for further processing.
Scale

Synonym: weighing instrument

Measuring instrument that serves to determine the mass of an amount of material by using the action of gravity on this material.

NOTE: In this Recommendation “mass” (or “weight value”) is preferably used in the sense of “conventional mass” or “conventional value of the result of weighing in air” according to OIML R 111 and OIML D 28, whereas “weight” is preferably used for an embodiment (= material measure) of mass that is regulated in regard to its physical and metrological characteristics.

The instrument may also be used to determine other quantities, magnitudes, parameters or characteristics related to mass. According to its method of operation, a weighing instrument is classified as automatic or non-automatic. (See OIML R 76)

Scale divisionSee division
Scale systemA scale system is the combination of several scales that are addressed by a common interface. A scale system can have additional functions, such as a state machine or a production preset.
SetpointTime at which an action is triggered
Standard deviationA quantity expressing by how much the members of a group differ from the mean value for the group.
Tare value, T

Weight value of a load, determined by a tare weighing device. (see OIML R 76)

The mass of packaging or transport container of the material that is being weighed

Target valueRequested value of a variable size at a given time and under specified conditions. (see IEC 60050)
Tolerable Negative Error (TU1) for prepackagesOnly a small number of prepackages may have a content below the nominal quantity minus the maximum permissible error (TU1-limit). These prepackages are known and referred to as ‘defectives’ (see Welmec 6.4)
TU2-limitNo prepackage with a quantity of product less than the nominal quantity minus twice the tolerable negative error (TU2-limit) may be ℮-marked. (see Welmec 6.4)
Verification scale interval, eValue, expressed in units of mass, used for the classification and verification of an instrument. (OIML R51)
WeighingProcess of determining the mass of a load using the effect of gravity on that load (OIML R61)
Weighing bridgeMechanical component of the scale that carry the load. One or more load cells are integrated into the WeighingBridge as an element of mass determination.
Weighing good IDDefines the identifier of an Object that is to be weighed (load)
Weighing instrumentSynonym: scale
Weighing modulePart of the weighing instrument that comprises all mechanical and electronic devices (i.e., load receptor, load-transmitting device, load cell, and analog data processing device or digital data processing device) but not having the means to display the weighing result. It may optionally have devices for further processing (digital) data and operating the instrument. (OIML R76)
Weighing rangeThe range of a scale can measure a mass. A scale can have several weighing ranges with different scale divisions
WidthIn third possible orthogonal direction to height and length

3.2.2 State machine terms

The terms for state machine defined in OPC 30050.

3.3 Abbreviations and symbols

value
mean value
DCSDistributed Control Systems
GGross
HMIHuman Machine Interface
HTTPHypertext Transfer Protocol
IPInternet Protocol
LLoad
NNet
OIMLInternational Organization of Legal Metrology
PTPreset tare
TTare
TCPTransmission Control Protocol
TU1 lower tolerance limit
count
standard deviation

3.4 Conventions used in this document

3.4.1 Conventions for Node descriptions

Node definitions are specified using tables (see Table 3).

Attributes are defined by providing the Attribute name and a value, or a description of the value.

References are defined by providing the ReferenceType name, the BrowseName of the TargetNode and its NodeClass.

If the TargetNode is a component of the Node being defined in the table, the Attributes of the composed Node are defined in the same row of the table.

The DataType is only specified for Variables; “[<number>]” indicates a single-dimensional array, for multi-dimensional arrays the expression is repeated for each dimension (e.g. [2][3] for a two-dimensional array). For all arrays the ArrayDimensions is set as identified by <number> values. If no <number> is set, the corresponding dimension is set to 0, indicating an unknown size. If no number is provided at all the ArrayDimensions can be omitted. If no brackets are provided, it identifies a scalar DataType and the ValueRank is set to the corresponding value (see OPC 10000-3). In addition, ArrayDimensions is set to null or is omitted. If it can be Any or ScalarOrOneDimension, the value is put into “{<value>}”, so either “{Any}” or “{ScalarOrOneDimension}” and the ValueRank is set to the corresponding value (see OPC 10000-3) and the ArrayDimensions is set to null or is omitted. Examples are given in Table 2.

Table 2 - Examples of DataTypes
NotationData­TypeValue­RankArray­DimensionsDescription
Int32Int32-1omitted or nullA scalar Int32.
Int32[]Int321omitted or {0}Single-dimensional array of Int32 with an unknown size.
Int32[][]Int322omitted or {0,0}Two-dimensional array of Int32 with unknown sizes for both dimensions.
Int32[3][]Int322{3,0}Two-dimensional array of Int32 with a size of 3 for the first dimension and an unknown size for the second dimension.
Int32[5][3]Int322{5,3}Two-dimensional array of Int32 with a size of 5 for the first dimension and a size of 3 for the second dimension.
Int32{Any}Int32-2omitted or nullAn Int32 where it is unknown if it is scalar or array with any number of dimensions.
Int32{ScalarOrOneDimension}Int32-3omitted or nullAn Int32 where it is either a single-dimensional array or a scalar.

The TypeDefinition is specified for Objects and Variables.

The TypeDefinition column specifies a symbolic name for a NodeId, i.e., the specified Node points with a HasTypeDefinition Reference to the corresponding Node.

The ModellingRule of the referenced component is provided by specifying the symbolic name of the rule in the ModellingRule column. In the AddressSpace, the Node shall use a HasModellingRule Reference to point to the corresponding ModellingRule Object.

If the NodeId of a DataType is provided, the symbolic name of the Node representing the DataType shall be used.

Nodes of all other NodeClasses cannot be defined in the same table; therefore, only the used ReferenceType, their NodeClass and their BrowseName are specified. A reference to another part of this document points to their definition.

Table 3 illustrates the table. If no components are provided, the DataType, TypeDefinition and ModellingRule columns may be omitted and only a Comment column is introduced to point to the Node definition.

Table 3 - Type Definition Table
AttributeValue
Attribute nameAttribute value. If it is an optional Attribute that is not set “--” will be used.
ReferencesNodeClassBrowseNameDataTypeTypeDefinitionModellingRule
ReferenceType nameNodeClass of the TargetNode.BrowseName of the target Node. If the Reference is to be instantiated by the server, then the value of the target Node’s BrowseName is “--”.DataType of the referenced Node, only applicable for Variables.TypeDefinition of the referenced Node, only applicable for Variables and Objects.Referenced ModellingRule of the referenced Object.
NOTE: Notices referencing footnotes of the table content.

Components of Nodes can be complex that is containing components by themselves. The TypeDefinition, NodeClass, DataType and ModellingRule can be derived from the type definitions, and the symbolic name can be created as defined in 3.4.3.1. Therefore, those containing components are not explicitly specified; they are implicitly specified by the type definitions.

3.4.2 NodeIds and BrowseNames

3.4.2.1 NodeIds

The NodeIds of all Nodes described in this standard are only symbolic names. Annex A defines the actual NodeIds.

The symbolic name of each Node defined in this specification is its BrowseName, or, when it is part of another Node, the BrowseName of the other Node, a “.”, and the BrowseName of itself. In this case “part of” means that the whole has a 0:HasProperty or 0:HasComponent Reference to its part. Since all Nodes not being part of another Node have a unique name in this specification, the symbolic name is unique.

The namespace for all NodeIds defined in this specification is defined in Annex A The namespace for this NamespaceIndex is Server-specific and depends on the position of the namespace URI in the server namespace table.

NOTE: This specification not only defines concrete Nodes, but also requires that some Nodes shall be generated, for example one for each Session running on the Server. The NodeIds of those Nodes are Server-specific, including the namespace. But the NamespaceIndex of those Nodes cannot be the NamespaceIndex used for the Nodes defined in this specification, because they are not defined by this specification but generated by the Server.

3.4.2.2 BrowseNames

The text part of the BrowseNames for all Nodes defined in this specification is specified in the tables defining the Nodes. The NamespaceIndex for all BrowseNames defined in this specification is defined in Annex A.

If the BrowseName is not defined by this specification, a namespace index prefix like ‘0:EngineeringUnits’ or ‘2:DeviceRevision’ is added to the BrowseName. This is typically necessary if a Property of another specification is overwritten or used in the OPC UA types defined in this specification. Table 18 provides a list of namespaces and their indexes as used in this specification.

3.4.3 Common Attributes

3.4.3.1 General

The Attributes of Nodes, their DataTypes and descriptions are defined in OPC 10000-3. Attributes not marked as optional are mandatory and shall be provided by a Server. The following tables define if the Attribute value is defined by this specification or if it is server-specific.

For all Nodes specified in this specification, the Attributes named in Table 4 shall be set as specified in the table.

Table 4 - Common Node Attributes
AttributeValue
DisplayNameThe DisplayName is a 0:LocalizedText. Each server shall provide the DisplayName identical to the BrowseName of the Node for the LocaleId “en”. Whether the server provides translated names for other LocaleIds is server-specific.
DescriptionOptionally a server-specific description is provided.
NodeClassShall reflect the NodeClass of the Node.
NodeIdThe NodeId is described by BrowseNames as defined in 3.4.2.1.
WriteMaskOptionally the WriteMask Attribute can be provided. If the WriteMask Attribute is provided, it shall set all non-server-specific Attributes to not writeable. For example, the Description Attribute may be set to writeable since a Server may provide a server-specific description for the Node. The NodeId shall not be writeable, because it is defined for each Node in this specification.
UserWriteMaskOptionally the UserWriteMask Attribute can be provided. The same rules as for the WriteMask Attribute apply.
RolePermissionsOptionally server-specific role permissions can be provided.
UserRolePermissionsOptionally the role permissions of the current Session can be provided. The value is server-specific and depend on the RolePermissions Attribute (if provided) and the current Session.
AccessRestrictionsOptionally server-specific access restrictions can be provided.
3.4.3.2 Objects

For all Objects specified in this specification, the Attributes named in Table 5 shall be set as specified in the table. The definitions for the Attributes can be found in OPC 10000-3.

Table 5 - Common Object Attributes
AttributeValue
EventNotifierWhether the Node can be used to subscribe to Events or not is server-specific.
3.4.3.3 Variables

For all Variables specified in this specification, the Attributes named in Table 6 shall be set as specified in the table. The definitions for the Attributes can be found in OPC 10000-3.

Table 6 - Common Variable Attributes
AttributeValue
MinimumSamplingIntervalOptionally, a server-specific minimum sampling interval is provided.
AccessLevelThe access level for Variables used for type definitions is server-specific, for all other Variables defined in this specification, the access level shall allow reading; other settings are server-specific.
UserAccessLevelThe value for the UserAccessLevel Attribute is server-specific. It is assumed that all Variables can be accessed by at least one user.
ValueFor Variables used as InstanceDeclarations, the value is server-specific; otherwise it shall represent the value described in the text.
ArrayDimensions

If the ValueRank does not identify an array of a specific dimension (i.e., ValueRank <= 0) the ArrayDimensions can either be set to null or the Attribute is missing. This behavior is server-specific.

If the ValueRank specifies an array of a specific dimension (i.e., ValueRank > 0) then the ArrayDimensions Attribute shall be specified in the table defining the Variable.

HistorizingThe value for the Historizing Attribute is server-specific.
AccessLevelExIf the AccessLevelEx Attribute is provided, it shall have the bits 8, 9, and 10 set to 0, meaning that read and write operations on an individual Variable are atomic, and arrays can be partly written.
3.4.3.4 VariableTypes

For all VariableTypes specified in this specification, the Attributes named in Table 7 shall be set as specified in the table. The definitions for the Attributes can be found in

Table 7 - Common VariableType Attributes
AttributesValue
ValueOptionally a server-specific default value can be provided.
ArrayDimensions

If the ValueRank does not identify an array of a specific dimension (i.e., ValueRank <= 0) the ArrayDimensions can either be set to null or the Attribute is missing. This behavior is server-specific.

If the ValueRank specifies an array of a specific dimension (i.e., ValueRank > 0) then the ArrayDimensions Attribute shall be specified in the table defining the VariableType.

3.4.3.5 Methods

For all Methods specified in this specification, the Attributes named in Table 8 shall be set as specified in the table. The definitions for the Attributes can be found in OPC 10000-3.

Table 8 - Common VariableType Attributes
AttributesValue
ExecutableAll Methods defined in this specification shall be executable (Executable Attribute set to “True”) unless it is defined differently in the Method definition.
UserExecutableThe value of the UserExecutable Attribute is server-specific. It is assumed that all Methods can be executed by at least one user.

4 General Information on Weighing Technology and OPC UA

4.1 Introduction to Weighing Technology Companion Specification

Scales are used in a wide range of applications. Therefore, this section describes the schematic structure of a scale and includes a simple classification of scale types.

4.1.1 Schematic Structure of a Scale system

In addition to the definition of a scale of OIML R76 the following definition applies:

A scale is a computer system, device or measuring instrument used to determine the mass or mass flow of a quantity of material and consisting of one or more weighing modules (including load receptor, load-transmitting device, load cell and data processing device) and additional modules or peripheral devices (see Figure 1). Each weighing module determines a mass. The weighing result of the scale may be the result of one weighing module or the addition of several weighing modules. Not all partial results need to be included in the result.

In addition, a scale can also have subdevices such as printers or feeder systems. Each scale needs a data processing device and at least one interface like a display or field bus. Thus, an interaction other than OPC UA is always possible.

Figure 1 - Schematic view of a scale system

Each scale provides a specific set of functions. These functions can be divided into three categories. The basic set of functions is available for all scales and behaves the same way for all scales. The scale type functions depend on the scale types (see Section 5.1.2) and behave the same within this type. An example is the administration of zones at the checkweigher or the administration of recipes at the recipe scale. In addition, further functions or applications can be specifically defined by a vendor.

A scale system is the combination of several scales that are addressed by a common interface and can have additional functions, such as a state machine or a production preset. However, a scale must be included in any case.

The schematic described here is a significant simplification of scales and focuses on the external representation of entire scale systems. It does not include any metrological details. In addition, real systems can deviate significantly from this schematic.

4.1.2 Introduction into scale classification

This classification of the scales is based on the aspect of communication via OPC UA. If possible, existing classifications (e.g., from OIML) were used. However, further conflicting classifications may exist. Since the boundaries are partly fluid, some devices can be assigned to several scale types. The resulting classification is shown in Figure 2.

Figure 2 - Scale Types Classification

The definitions of the individual types can be found in Table 9.

Table 9 - Overview of scale types
Term Definition
Automatic Filling ScaleInstrument which fills containers with predetermined and virtually constant mass of product from bulk by automatic weighing, and which comprises essentially automatic feeding device(s) associated with weighing unit(s) and the appropriate control and discharge devices. (Definition is based on OIML R61)
Catchweighing Scale (catchweigher)Automatic weighing instrument that weighs pre-assembled discrete loads or single loads of loose material. (Definition is based on OIML R51)
Automatic Weight Labeling Scalecatchweigher that labels individual pre-assembled discrete loads (e.g., prepackages) with the weight value. (Definition is based on OIML R51)
Automatic Price Labeling Scalecatchweigher that calculates the price to pay on the basis of the indicated mass and the unit price and labels individual pre-assembled discrete loads (e.g., prepackages with the weight value, unit price and price to pay). (Definition is based on OIML R51)
checkweighercatchweigher that sub-divides prepackages of different mass into two or more sub-groups according to the value of the difference between their mass and the nominal set point. (Definition is based on OIML R51)
Continuous Scale

An automatic weighing instrument for continuously weighing a bulk product on a conveyor belt (or

other mechanical facilities), without systematic subdivision of the mass and without interrupting the movement of the conveyor belt. (Definition is based on OIML R50)

Loss In Weight Scale

A special type of continuous scale is the loss in weight scale. It works according to the principle of controlled material increase or removal. The weight of the material is weighed by load cells and the change in weight per time unit is determined. The change in weight corresponds to the actual feed rate of the feeder when re-filling or emptying is stopped.

A schematic overview is shown in Figure 3.

Piece Counting ScaleA scale that can determine the number of parts in the load. A reference weight must first be determined or stored.
Recipe Weighing ScaleScale with the capacity to manage and process recipes. Single recipe steps in a recipe can be the weighing of ingredients, the display of user instructions, the monitoring of switching values or the activation of aggregates.
Simple ScaleSimple scales do not have any major functional extensions and provide only basic weighing functionality, i.e., acting as a sensor.
Hopper ScaleA scale for weighing a bulk product with a tank, vessel, box or hopper mounted on one or more weighing bridges. The primary use case is tank level monitoring.
Laboratory ScaleThe laboratory scales have a particularly high resolution and represent highly sensitive measuring instruments. For this reason, additional processes and measures are necessary to carry out an accurate measurement. For this purpose, e.g., the shielding of the environment with additional signs may be necessary.

Totalizing Hopper Scale

An automatic weighing instrument that weighs a bulk product by dividing it into discrete loads, determining the mass of each discrete load in sequence, summing the weighing results and delivering the discrete loads to bulk. (Definition is based on OIML R107)
Vehicle Scale

Automatic or non-automatic scale having one or more weight bridges that determines the mass of a vehicle. The load is typically a truck with or without a trailer or a rail wagon.

A special variant is the automatic rail-weighbridge (see OIML R106), which has one or more load receptors, including rails for the transport of rail vehicles, which determine the mass of the wagons and/or of the entire train by weighing during travel.

Figure 3 - Schematic Overview of a Loss In Weight scale

4.1.3 Product Handle Handling of product-related information

In addition to measuring, scales may also perform other tasks such as managing product data (production presetting and statistics/production output). To ensure that product-related information does not become inconsistent during the weighing process, it must be protected accordingly. For this purpose, a corresponding product information handle model shown in Figure 4 is described in this Companion Specification. It defines two different modes (ProductHandleMode/AccessRestrictionMode).

Figure 4 - Overview of a Product handle

The ProductHandleMode indicates if a product can currently be processed by the scale or not. It is possible that the product-related information can be writeable or read only in both modes. The transition between the two states of the mode can be triggered internally in the scale or via the OPC UA methods SelectProduct, DeselectProduct, SwitchProduct (see sections 7.7 - 7.8). In some cases, it is possible that several products are in the "Processing" mode. For example, a catchweigher can process different products in parallel, while a continuous scale can only process one product at a time.

The AccessRestrictionMode can be used to define the access restriction of the product. A client can make a set of changes (e.g., multiple write operations and method calls) only when the mode is in "WritableMode". This mode applies to the entire product Object, including all components such as zones. The access level of all child nodes of the product Object should at least have written access and the method should be executable. The AccessRestritionMode is used via the LockingService descripted in OPC 10000-100.

NOTE 1: When a physical product is to be processed but is not in the correct mode or has no OPC UA representation, the behavior of the scale is application-specific and must be specified separately.

NOTE 2: The combination of the "Processing" mode and the "Writable" mode should be used with caution, as the writable element may be in an inconsistent state.

4.2 Introduction to OPC Unified Architecture

4.2.1 What is OPC UA?

OPC UA is an open and royalty free set of standards designed as a universal communication protocol. While there are numerous communication solutions available, OPC UA has key advantages:

A state of art security model (see OPC 10000-2).

A fault tolerant communication protocol.

An information modelling framework that allows application developers to represent their data in a way that makes sense to them.

OPC UA has a broad scope which delivers for economies of scale for application developers. This means that a larger number of high-quality applications at a reasonable cost are available. When combined with semantic models such as Weighing Technology Companion Specification, OPC UA makes it easier for end users to access data via generic commercial applications.

The OPC UA model is scalable from small devices to ERP systems. OPC UA Servers process information locally and then provide that data in a consistent format to any application requesting data - ERP, MES, PMS, Maintenance Systems, HMI, Smartphone or a standard Browser, for examples. For a more complete overview see OPC 10000-1.

4.2.2 Basics of OPC UA

As an open standard, OPC UA is based on standard internet technologies, like TCP/IP, HTTP, Web Sockets.

As an extensible standard, OPC UA provides a set of Services (see OPC 10000-4) and a basic information model framework. This framework provides an easy manner for creating and exposing vendor defined information in a standard way. More importantly all OPC UA Clients are expected to be able to discover and use vendor-defined information. This means OPC UA users can benefit from the economies of scale that come with generic visualization and historian applications. This specification is an example of an OPC UA Information Model designed to meet the needs of developers and users.

OPC UA Clients can be any consumer of data from another device on the network to browser based thin clients and ERP systems. The full scope of OPC UA applications is shown in Figure 5.

Figure 5 - The Scope of OPC UA within an Enterprise

OPC UA provides a robust and reliable communication infrastructure having mechanisms for handling lost messages, failover, heartbeat, etc. With its binary encoded data, it offers a high-performing data exchange solution. Security is built into OPC UA as security requirements become more and more important especially since environments are connected to the office network or the internet and attackers are starting to focus on automation systems.

4.2.3 Information modelling in OPC UA

4.2.3.1 Concepts

OPC UA provides a framework that can be used to represent complex information as Objects in an AddressSpace which can be accessed with standard services. These Objects consist of Nodes connected by References. Different classes of Nodes convey different semantics. For example, a Variable Node represents a value that can be read or written. The Variable Node has an associated DataType that can define the actual value, such as a 0:String, float, structure etc. It can also describe the Variable value as a variant. A Method Node represents a function that can be called. Every Node has a number of Attributes including a unique identifier called a NodeId and non-localized name called as BrowseName. An Object representing a ‘Reservation’ is shown in Figure 6.

Figure 6 - A Basic Object in an OPC UA Address Space

Object and Variable Nodes represent instances, and they always reference a TypeDefinition (ObjectType or VariableType) Node which describes their semantics and structure. Figure 7 illustrates the relationship between an instance and its TypeDefinition.

The type Nodes are templates that define all the children that can be present in an instance of the type. In the example in Figure 7 the PersonType ObjectType defines two children: First Name and Last Name. All instances of PersonType are expected to have the same children with the same BrowseNames. Within a type the BrowseNames uniquely identify the children. This means Client applications can be designed to search for children based on the BrowseNames from the type instead of NodeIds. This eliminates the need for manual reconfiguration of systems if a Client uses types that multiple Servers implement.

OPC UA also supports the concept of sub-typing. This allows a modeller to take an existing type and extend it. There are rules regarding sub-typing defined in OPC 10000-3, but in general they allow the extension of a given type or the restriction of a DataType. For example, the modeller may decide that the existing ObjectType in some cases needs an additional Variable. The modeller can create a subtype of the ObjectType and add the Variable. A Client that is expecting the parent type can treat the new type as if it was of the parent type. Regarding DataTypes, subtypes can only restrict. If a Variable is defined to have a numeric value, a sub type could restrict it to a float.

Figure 7 - The Relationship between Type Definitions and Instances

References allow Nodes to be connected in ways that describe their relationships. All References have a ReferenceType that specifies the semantics of the relationship. References can be hierarchical or non-hierarchical. Hierarchical references are used to create the structure of Objects and Variables. Non-hierarchical are used to create arbitrary associations. Applications can define their own ReferenceType by creating subtypes of an existing ReferenceType. Subtypes inherit the semantics of the parent but may add additional restrictions. Figure 8 depicts several References, connecting different Objects.

Figure 8 - Examples of References between Objects

The figures above use a notation that was developed for the OPC UA specification. The notation is summarized in Figure 9. UML representations can also be used; however, the OPC UA notation is less ambiguous because there is a direct mapping from the elements in the figures to Nodes in the AddressSpace of an OPC UA Server.

Figure 9 - The OPC UA Information Model Notation

A complete description of the different types of Nodes and References can be found in OPC 10000-3, and the base structure is described in OPC 10000-5.

OPC UA specification defines a very wide range of functionality in its basic information model. It is not expected that all Clients or Servers support all functionality in the OPC UA specifications. OPC UA includes the concept of Profiles, which segment the functionality into testable certifiable units. This allows the definition of functional subsets (that are expected to be implemented) within a Companion Specification. The Profiles do not restrict functionality but generate requirements for a minimum set of functionalities (see OPC 10000-7).

4.2.3.2 Namespaces

OPC UA allows information from many different sources to be combined into a single coherent AddressSpace. Namespaces are used to make this possible by eliminating naming and ID conflicts between information from different sources. Namespaces in OPC UA have a globally unique 0:String called a NamespaceUri, and a locally unique integer called a NamespaceIndex. The NamespaceIndex is only unique within the context of a Session between an OPC UA Client and an OPC UA Server. The Services defined for OPC UA use the NamespaceIndex to specify the Namespace for qualified values.

There are two types of values in OPC UA that are qualified with Namespaces: NodeIds and QualifiedNames. NodeIds are globally unique identifiers for Nodes. This means the same Node with the same NodeId can appear in many Servers. This, in turn, means Clients can have built in knowledge of some Nodes. OPC UA Information Models generally define globally unique NodeIds for the TypeDefinitions defined by the Information Model.

QualifiedNames are non-localized names qualified with a Namespace. They are used for the BrowseNames of Nodes and allow the same names to be used by different information models without conflict. TypeDefinitions are not allowed to have children with duplicate BrowseNames; however, instances do not have that restriction.

4.2.3.3 Companion Specifications

An OPC UA Companion Specification for an industry specific vertical market describes an Information Model by defining ObjectTypes, VariableTypes, DataTypes and ReferenceTypes that represent the concepts used in the vertical market, and potentially also well-defined Objects as entry points into the AddressSpace.

4.2.4 RelativePath

A RelativePath is a structure that describes a sequence of References and Nodes to follow. Annex A of Part 4 Services describes a text format for a RelativePath that can be used in documentation or in files used to store configuration information

The components of a RelativePath text format are specified in Table 10.

Table 10 - RelativePath
Symbol Meaning
/ The forward slash character indicates that the Server is to follow any subtype of HierarchicalReferences.
. The period (dot) character indicates that the Server is to follow any subtype of an Aggregates ReferenceType.
<[#!ns:]ReferenceType>

A 0:String delimited by the ‘<’ and ‘>’ symbols specifies the BrowseName of a ReferenceType to follow. By default, any References of the subtypes the ReferenceType are followed as well. A ‘#’ placed in front of the BrowseName indicates that subtypes should not be followed.

A ‘!’ in front of the BrowseName is used to indicate that the inverse Reference should be followed.

The BrowseName may be qualified with a namespace index (indicated by a numeric prefix followed by a colon). This namespace index is used specify the namespace component of the BrowseName for the ReferenceType. If the namespace prefix is omitted, then namespace index 0 is used.

[ns:]BrowseName

A 0:String that follows a ‘/’, ‘.’ or ‘>’ symbol specifies the BrowseName of a target Node to return or follow. This BrowseName may be prefixed by its namespace index. If the namespace prefix is omitted, then namespace index 0 is used.

Omitting the final BrowseName from a path is equivalent to a wildcard operation that matches all Nodes which are the target of the Reference specified by the path.

&

The & sign character is the escape character. It is used to specify reserved characters that appear within a BrowseName. A reserved character is escaped by inserting the ‘&’ in front of it. Examples of BrowseNames with escaped characters are:

Received browse path name Resolves to

“&/Name_1” “/Name_1”

“&.Name_2” “.Name_2”

“&:Name_3” “:Name_3”

“&&Name_4” “&Name_4”

5 Use cases

5.1 General

This Weighing Technology Companion Specification describes how a scale system is addressed via OPC UA. For this purpose, the following primary use cases for the different scale types from section 4.1.2 were considered. Other use cases can also be covered or specified in other standards (vendor or Companion Specification).

In all defined use cases the scale system usually has the role of an OPC UA server. Therefore, this specification describes and defines the way an OPC UA client can read or write data and control the scale system via OPC UA. A scale system may also have a different interface (e.g., an HMI) that can control the scale as well. Some peripheral devices (e.g., printer, feeder) are also described in this specification but the communication between the peripheral devices and the scale is not part of the description.

NOTE: The OPC UA Companion Specification for Weighing Technology does not consider any use cases that are affected by legal requirements (like official verification). For example, further parameters may be necessary for external data access or existing parameters may not be read out. A country-specific extension of the Companion Specification would be conceivable.

5.2 Accessing Data of measurement results and statistics

An important application of a scale is the data access of individual measurement results. In many cases, the measurement result is a weight value with a unit derived from the weight (e.g., flow rate, volume, ...). A distinction can be made between the continuous display of the measured value (called “current Weight”) and a measurement (internal or external) that has been registered (called “registered Weight”). A registration could be triggered from an OPC UA-Client. The use case also includes the needed meta-data (e.g., product ID, unit) for identifying the result in further processing.

In some cases, the individual measurement result is not relevant or only of minor relevance. In some cases, a statistic (mean value, standard deviation) over several measured values or over a period of time is required.

5.3 State Machine of the Scale

A defined state machine enables the user to obtain a uniform overview of different devices from different manufacturers. This is useful in applications with a large number of machines. The interaction between a client system and the scale system depends on the current state of the device. Transition between two states can be triggered by method calls from an OPC UA client, by another interface or internally. Each state change creates an event in the OPC UA server. The PackML state machine is used for the scale system, as it is already in use in Weighing Technology, e.g., for checkweighers, and can be adapted accordingly for other scales. A more detailed description of the state machine can be found in the Companion Specification PackML for OPC UA. NOTE: Scales do not have to implement the SubStateMachine within the state "Execute".

5.4 Production Preset

Part of the access of a higher-level system to a weighing system is the management of products. This standard describes a way of creating, editing and selecting products on the scale. The entire information flow via OPC UA can also run completely or in parts via different interfaces. The schematic structure of production management is described in Section 5.1.3.

NOTE: For recipe scales, this use case also includes the creation, editing and administration of recipes. Recipe management is based on the OPC UA Companion Specification for machine vision. The structure and concept for recipes are described in section 5.1.4 and Annex B.

6 Weighing Technology Information Model overview

6.1 General

The information model for Weighing Technology has three main aspects: the generic part for all scale devices, the production management and the scale type specific part.

6.2 Overview of generic Scales

Figure 10 shows an overview of the different ObjectTypes for the Weighing Technology devices and the references to the types from the Companion Specification for devices. Four subtypes of the ComponentType are defined:

FeederModuleType

PrinterModuleType

ScaleSystemType

ScaleDeviceType

The entry point of a server is an instance of the ScaleSystemType or a ScaleDeviceType. The ScaleSystemType represents a multi-scale system and includes one or more scales and has some common information (e.g., serial number). The ScaleDeviceType is abstract and only subtypes of it can be instantiated (see section 6.3). Both Types (ScaleDeviceType and ScaleSystemType) can optionally have an Object of the ProductionPresetType (see section 7.7) and/or an Object (called ProductionOutput) of the StatisticType.

Figure 10 shows the most important Object types used in the information model and the relations between them.

Figure 10 - Notation Overview of the OPC UA Weighing Technology information model

6.3 Modular scale devices

A modular scale device is represented by a (subtype of) ScaleDeviceType or ScaleSystemType that is composed of a top-device and a set of subdevices (modules). It uses the modular devices concept of OPC UA Companion Specification for Devices (see OPC 10000-100 9.2). The modules (subdevices) of modular scale devices are aggregated in the SubDevices Object. The SupportedTypes folder for SubDevices is used to maintain the set of modules that can be added to the ScaleDevice or scale system (see Figure 11).

Figure 11 - Modular scale devices and scale systems

This Companion Specification defines the following supported types (including the subtypes) for the ScaleDeviceType:

FeederModuleType

PrinterModuleType

WeighingModuleType

This Companion Specification defines the following supported type (including the subtypes) for the ScaleSystemType:

ScaleDeviceType

The SupportedTypes folder may only refer to a subset of all possible subdevices for the modular device. Other vendor-specific modules or modules of other Companion Specifications can be defined. For more details of the concept see OPC 10000-100.

6.4 Subtypes of the ScaleDeviceType

In the information model different subtypes of a ScaleDeviceType are defined for the different scale types (see section 4.1.2). For many subtypes of the ScaleDeviceType, a subtype of the ProductType exists as a counterpart. The ProductFolder defined in the ScaleDeviceType is overload and can only contain the specific subtype of the ProductType or a subtype of them.

Figure 12 shows the main Object types used in the information model and the relations between them.

Figure 12 - Overview of the scale types in the information model

7 OPC UA ObjectTypes

7.1 FeederModuleType Definition

7.1.1 Overview

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

7.1.2 ObjectType Definition

Table 11 - FeederModuleType Definition
Attribute Value
BrowseNameFeederModuleType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ComponentType defined in OPC 10000-100
0:HasComponentVariableFeederLoad0:NumberMeasuredItemTypeOptional
0:HasPropertyVariableFeederRunning0:Boolean0:PropertyTypeOptional
0:HasComponentVariableFeederSpeed0:NumberTargetItemTypeOptional
0:HasComponentMethodSetFeederSpeedOptional
0:HasComponentVariableMaximumFeederSpeed0:Number0:AnalogUnitTypeOptional
0:HasComponentVariableMinimalFeederSpeed0:Number0:AnalogUnitTypeOptional
0:HasAddInObject2:Identification4:MachineryItemIdentificationTypeMandatory
0:HasAddInObject4:MachineryItemState4:MachineryItemState_StateMachineTypeOptional
0:HasAddInObject4:MachineryOperationMode4:MachineryOperationModeStateMachineTypeOptional
0:HasComponentObject4:Machinery BuildingBlocks0:FolderTypeOptional
Conformance Units
Scales FeederModule

The components of the FeederModuleType have additional references which are defined in Table 12.

Table 12 - FeederModuleType Additional References
SourceBrowsePath Reference Type Is Forward TargetBrowsePath
4:MachineryBuildingBlocks0:HasAddInTrue4:MachineryItemState
4:MachineryBuildingBlocks0:HasAddInTrue4:MachineryOperationMode

7.1.3 ObjectType Description

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.

MachineryItemState is used as defined in OPC 40001-1. Shall also be referenced as AddIn in the MachineryBuildingBlocks Folder

MachineryOperationMode is used as defined in OPC 40001-1. Shall also be referenced as AddIn in the MachineryBuildingBlocks Folder

MachineryBuildingBlocks is used as described in OPC 40001-1.

7.1.4 Method SetFeederSpeed

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 13 and Table 14 specify the Arguments and AddressSpace representation, respectively.

Signature

	SetFeederSpeed(
	[in]	Float		FeederSpeed
	[in]	EUInformation		EngineeringUnits);
Table 13 - SetFeederSpeed Method Arguments
Argument Description
FeederSpeedThe target speed of a feeder system.
EngineeringUnitsThe unit of the target feeder speed. The server must check the unit.
Table 14 - SetFeederSpeed Method AddressSpace definition
Attribute Value
BrowseNameSetFeederSpeed
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.2 PrinterModuleType Definition

7.2.1 Overview

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

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

7.2.2 ObjectType Definition

Table 15 - PrinterModuleType Definition
Attribute Value
BrowseNamePrinterModuleType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ComponentType defined in OPC 10000-100
0:HasComponentVariableLabelLength0:Number0:AnalogUnitTypeOptional
0:HasComponentVariableLabelStock0:Number0:AnalogItemTypeOptional
0:HasComponentVariableLabelTypeId0:StringBaseDataVariableTypeOptional
0:HasComponentVariableLabelWidth0:Number0:AnalogUnitTypeOptional
0:HasComponentVariablePrintMediaStock0:Number0:AnalogItemTypeOptional
0:HasAddInObject2:Identification4:MachineryItemIdentificationTypeMandatory
0:HasAddInObject4:MachineryItemState4:MachineryItemState_StateMachineTypeOptional
0:HasAddInObject4:MachineryOperationMode4:MachineryOperationModeStateMachineTypeOptional
0:HasComponentObject4:Machinery BuildingBlocks0:FolderTypeOptional
Conformance Units
Scales PrinterModule

The components of the ObjectType have additional subcomponents which are defined in Table 16

Table 16 - PrinterModuleType Additional References
SourceBrowsePath Reference Type Is Forward TargetBrowsePath
4:MachineryBuildingBlocks0:HasAddInTrue4:MachineryItemState
4:MachineryBuildingBlocks0:HasAddInTrue4:MachineryOperationMode

7.2.3 ObjectType Description

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.

MachineryItemState is used as defined in OPC 40001-1. Shall also be referenced as AddIn in the MachineryBuildingBlocks Folder

MachineryOperationMode is used as defined in OPC 40001-1. Shall also be referenced as AddIn in the MachineryBuildingBlocks Folder

MachineryBuildingBlocks is used as described in OPC 40001-1.

7.3 ScaleSystemType Definition

7.3.1 Overview

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

An Object of the ScaleSystemType represents a scale system and contains one or more scales. The ScaleSystemType 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

7.3.2 ObjectType Definition

Table 17 - ScaleSystemType Definition
Attribute Value
BrowseNameScaleSystemType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ComponentType defined in OPC 10000-100
0:HasPropertyVariablePolicy0:LocalizedText[]0:PropertyTypeOptional
0:HasPropertyVariableProcessStateId0:String0:PropertyTypeOptional
0:HasPropertyVariableProcessStateMessage0:LocalizedText0:PropertyTypeMandatory
0:HasComponentObject ProductionPresetProductionPresetTypeOptional
0:HasComponentObject ProductionOutputStatisticTypeOptional
0:HasComponentObject SystemState5:PackMLBaseStateMachineTypeOptional
0:HasComponentObject SubDevices2:ConfigurableObjectTypeOptional
0:HasComponentMethodResetGlobalStatisticsOptional
0:HasAddInObject4:MachineryItemState4:MachineryItemState_StateMachineTypeOptional
0:HasAddInObject4:MachineryOperationMode4:MachineryOperationModeStateMachineTypeOptional
0:HasComponentObject4:Machinery BuildingBlocks0:FolderTypeOptional
0:HasAddInObject2:Identification4:MachineIdentificationTypeMandatory
Conformance Units
Scales ScaleSystemType
Table 18 - ScaleSystemType Additional References
SourceBrowsePath Reference Type Is Forward TargetBrowsePath
4:MachineryBuildingBlocks0:HasAddInTrue4:MachineryItemState
4:MachineryBuildingBlocks0:HasAddInTrue4:MachineryOperationMode

7.3.3 ObjectType Description

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 7.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 7.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 6.3 and OPC 10000-100).

MachineryItemState is used as defined in OPC 40001-1. Shall also be referenced as AddIn in the MachineryBuildingBlocks Folder

MachineryOperationMode is used as defined in OPC 40001-1. Shall also be referenced as AddIn in the MachineryBuildingBlocks Folder

MachineryBuildingBlocks is used as described in OPC 40001-1.

The components of the ScaleSystemType have additional references which are defined in Table 19.

Table 19 - ScaleSystemType Additional Subcomponents
BrowsePath References NodeClass BrowseName DataType TypeDefinition Others
SubDevices0:HasComponentObject<ScaleDevice>ScaleDeviceTypeOptionalPlaceholder

7.3.4 Method ResetGlobalStatistics

All statistics relating to the scale system but not to a product are reset.

Signature

	ResetGlobalStatistics(
	);

7.4 ScaleDeviceType Definition

7.4.1 Overview

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

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

7.4.2 ObjectType Definition

Table 20 - ScaleDeviceType Definition
Attribute Value
BrowseNameScaleDeviceType
IsAbstractTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ComponentType defined in OPC 10000-100
0:HasPropertyVariableAllowedEngineeringUnits0:EUInformation[]0:PropertyTypeOptional
0:HasComponentMethodClearTareOptional
0:HasComponentVariableCurrentWeightWeightTypeWeightItemTypeMandatory
0:HasComponentObject <ListOfWeighingRanges>WeighingRangeElementTypeMandatoryPlaceholder
0:HasPropertyVariableMaterialClass0:LocalizedText0:PropertyTypeOptional
0:HasComponentVariableMinimalWeight0:Number0:AnalogUnitTypeOptional
0:HasPropertyVariableProcessStateId0:String0:PropertyTypeOptional
0:HasPropertyVariableProcessStateMessage0:LocalizedText 0:PropertyTypeOptional
0:HasComponentObject ProductionOutputStatisticTypeOptional
0:HasComponentObject ProductionPresetProductionPresetTypeOptional
0:HasPropertyVariablePolicy0:LocalizedText[]0:PropertyTypeOptional
0:HasComponentVariableRegisteredWeightWeightTypeWeightItemTypeOptional
0:HasComponent MethodRegisterWeightOptional
0:HasComponentMethodSetPresetTareOptional
0:HasComponentMethodSetTareOptional
0:HasComponentMethodSetZeroOptional
0:HasComponentObject SubDevices2:ConfigurableObjectTypeOptional
0:HasComponentObjectState5:PackMLBaseStateMachineTypeOptional
0:HasAddInObject4:MachineryItemState4:MachineryItemState_StateMachineTypeOptional
0:HasAddInObject4:MachineryOperationMode4:MachineryOperationModeStateMachineTypeOptional
0:HasComponentObject4:Machinery BuildingBlocks0:FolderTypeOptional
0:HasAddInObject2:Identification4:MachineIdentificationTypeMandatory
Conformance Units
Scales ScaleDeviceType

The components of the ScaleDeviceType have additional references which are defined in Table 21.

Table 21 - ScaleDeviceType Additional References
SourceBrowsePath Reference Type Is Forward TargetBrowsePath
4:MachineryBuildingBlocks0:HasAddInTrue4:MachineryItemState
4:MachineryBuildingBlocks0:HasAddInTrue4:MachineryOperationMode

7.4.3 ObjectType Description

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.

ProductionOutput defines the statistic for the scale prodution related to this ScaleDeviceType instance.

ProductionPreset contains the production presets. See section 7.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.

MachineryItemState is used as defined in OPC 40001-1. Shall also be referenced as AddIn in the MachineryBuildingBlocks Folder

MachineryOperationMode is used as defined in OPC 40001-1. Shall also be referenced as AddIn in the MachineryBuildingBlocks Folder

MachineryBuildingBlocks is used as described in OPC 40001-1.

The components of the ScaleDeviceType have additional subcomponents which are defined in Table 22.

Table 22 - ScaleDeviceType Additional Subcomponents
BrowsePath References NodeClass BrowseName DataType TypeDefinition Others
SubDevices0:HasComponentObject<FeederModule>FeederModuleTypeOptionalPlaceholder
SubDevices0:HasComponentObject<PrinterModule>PrinterModuleTypeOptionalPlaceholder
SubDevices0:HasComponentObject<WeighingModule>WeighingModuleTypeOptionalPlaceholder

7.4.4 Method ClearTare

The tare value is set to zero or deleted.

Signature

	ClearTare(
	);

7.4.5 Method RegisterWeight

Triggers the registration of a measured value and a new value for the RegisteredWeight will be calculated.

Signature

	RegisterWeight(
	);

7.4.6 Method SetPresetTare

The method set the current PresetTare.

Signature

	SetPresetTare(
	[in]	Double		PresetTare
	[in]	EUInformation		EngineeringUnits);
Table 23 - SetPresetTare Method Arguments
Argument Description
PresetTareThe value which should be set as tare value.
EngineeringUnitsThe unit of the preset. The server must check the unit.
Table 24 - SetPresetTare Method AddressSpace definition
Attribute Value
BrowseNameSetPresetTare
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.4.7 Method SetZero

The method sets zero point. It uses the gross value of the CurrentWeight value.

Signature

	SetZero (
	);

7.4.8 Method SetTare

The method triggers the tare operation. The CurrentWeight value is used as the tare.

Signature

	SetTare(
	);

7.5 WeighingRangeElementType Definition

7.5.1 Overview

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

Figure 17 - Overview WeighingRangeElementType

7.5.2 ObjectType Definition

Table 25 - WeighingRangeElementType Definition
Attribute Value
BrowseNameWeighingRangeElementType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseObjectType defined in OPC 10000-5
0:HasComponent Variable ActualScaleInterval0:DoubleAnalogUnitTypeMandatory
0:HasComponentVariableRange0:RangeBaseDataVariableTypeMandatory
0:HasComponentVariableVerificationScaleInterval0:DoubleAnalogUnitTypeMandatory
Conformance Units
Scales ScaleDeviceType

7.5.3 ObjectType Description

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 26

Table 26 - WeighingRangeElementType Additional Subcomponents
Source Path References NodeClass BrowseName DataType TypeDefinition Others
Range0:HasPropertyVariable0:EngineeringUnits0:EUInformation0:PropertyTypeMandatory

7.6 StatisticType Definition

7.6.1 Overview

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

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

7.6.2 ObjectType Definition

Table 27 - StatisticType Definition
Attribute Value
BrowseNameStatisticType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseObjectType defined in OPC 10000-5
0:HasInterfaceObjectType3:IAggregateStatisticsType
0:HasPropertyVariable3:StartTime0:DateTime0:PropertyTypeOptional
0:HasPropertyVariable3:ResetCondition0:String0:PropertyTypeOptional
3:HasStatisticComponentVariableTare0:Double0:AnalogUnitTypeOptional
3:HasStatisticComponentVariableThroughput0:UInteger0:AnalogUnitTypeOptional
3:HasStatisticComponentObject TotalPackagesStatisticCounterTypeOptional
3:HasStatisticComponentObject TotalPackagesWeighedStatisticCounterTypeOptional
0:HasComponentObjectLastItemWeighingItemTypeOptional
Conformance Units
Scales ScaleDeviceType

7.6.3 ObjectType Description

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.

7.7 ProductionPresetType Definition

7.7.1 Overview

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

ProductionPresetType provides methods to manage the production preset.

Figure 19 - Overview ProductionPresetType

7.7.2 ObjectType Definition

Table 28 - ProductionPresetType Definition
Attribute Value
BrowseNameProductionPresetType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseObjectType defined in OPC 10000-5
0:HasComponentMethodAddProductOptional
0:HasComponentVariableCurrentProducts0:String[]BaseDataVariableTypeOptional
0:HasComponentMethodDeselectProductOptional
0:HasComponentMethodRemoveProductOptional
0:HasComponentMethodSelectProductOptional
0:HasComponentMethodSwitchProductOptional
0:HasComponentObject ProductsFolderTypeOptional
Conformance Units
Scales ManageProduct
Scales SelectProduct

7.7.3 ObjectType Description

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 subcomponents of the Products Object are defined in Table 29.

Table 29 - ProductionPresetType Additional Subcomponents
BrowsePath References NodeClass BrowseName DataType TypeDefinition Others
Products0:HasComponentObject<Product>ProductTypeMandatoryPlaceholder

7.7.4 Method AddProduct

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 30 and Table 31 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 7.8)

Signature

	AddProduct(
	[in]	String		ProductName
	[in]	String		ProductId
	[in]	NodeId		ProductType
	[out]	NodeId		ProductNodeId
	);
Table 30 - AddProduct Method Arguments
ArgumentDescription
ProductNameA user-readable name of this Batch.
ProductIdA unique Id of this product
ProductTypeThe NodeId of a subtype of the ProductType or the NodeId of the ProductType itself
ProductNodeIdThe NodeId of the created Object
Table 31 - AddProduct Method AddressSpace definition
Attribute Value
BrowseNameAddProduct
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory
0:HasPropertyVariableOutputArgumentsArgument[] 0:PropertyTypeMandatory

7.7.5 Method SelectProduct

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 32 and Table 33 specify the Arguments and AddressSpace representation, respectively.

Signature

	SelectProduct (
		[in]	String		ProductId
	);
Table 32 - SelectProduct Method Arguments
Argument Description
ProductIdThe ProductId of the product Object that represents the product to be selected
Table 33 - SelectProduct Method AddressSpace definition
Attribute Value
BrowseNameSelectProduct
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.7.6 Method DeselectProduct

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 34 and Table 35 specify the Arguments and AddressSpace representation, respectively.

Signature

	DeselectProduct (
		[in]	String		ProductId
	);
Table 34 - DeselectProduct Method Arguments
Argument Description
ProductIdThe ProductId of the product Object that represents the product to be selected
Table 35 - DeselectProduct Method AddressSpace definition
Attribute Value
BrowseNameDeselectProduct
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.7.7 Method RemoveProduct

The method removes an Object from the address space with a subtype of the ProductType. The signature of this Method is specified below. Table 36 and Table 37 specify the Arguments and AddressSpace representation, respectively.

Signature

	RemoveProduct (
		[in]	String		ProductId
	);
Table 36 - RemoveProduct Method Arguments
Argument Description
ProductIdThe ProductId of the product Object that represents the product to be selected
Table 37 - RemoveProduct Method AddressSpace definition
Attribute Value
BrowseNameRemoveProduct
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.7.8 Method SwitchProduct

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 38 and Table 39 specify the Arguments and AddressSpace representation, respectively.

Signature

	SwitchProduct (
		[in]	String		ProductId
	);
Table 38 – SwitchProduct Method Arguments
Argument Description
ProductIdThe ID of the product Object that represents the product to be selected
Table 39 - SwitchProduct Method AddressSpace definition
Attribute Value
BrowseNameSwitchProduct
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.8 ProductType Definition

7.8.1 Overview

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

7.8.2 ObjectType Definition

Table 40 - ProductType Definition
Attribute Value
BrowseNameProductType
IsAbstractTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseObjectType defined in OPC 10000-5
0:HasPropertyVariableBatchId0:String0:PropertyTypeOptional
0:HasPropertyVariableBatchName0:LocalizedText0:PropertyTypeOptional
0:HasPropertyVariableJobId0:String0:PropertyTypeOptional
0:HasPropertyVariableJobName0:LocalizedText0:PropertyTypeOptional
0:HasComponentObjectLock2:LockingServicesTypeOptional
0:HasComponentVariablePresetTare0:AnalogUnitTypeOptional
0:HasComponentVariableProductId0:String0:BaseDataVariableTypeMandatory
0:HasComponentVariableProductMode0:Boolean0:TwoStateDiscreteTypeOptional
0:HasPropertyVariableProductName0:LocalizedText0:PropertyTypeMandatory
0:HasComponentObject StatisticStatisticTypeOptional
Conformance Units
Scales ProductType

7.8.3 ObjectType Description

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

Table 41 - ProductType Type Attribute values for child Nodes
BrowsePathValue AttributeDescription Attribute
Processing
NotProcessing

7.9 AutomaticFillingScaleType Definition

7.9.1 Overview

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

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

7.9.2 ObjectType Definition

Table 42 - AutomaticFillingScaleType Definition
Attribute Value
BrowseNameAutomaticFillingScaleType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ScaleDeviceType
0:HasComponentVariableDeviation0:Number0:AnalogUnitTypeOptional
0:HasPropertyVariableToleranceStateToleranceState0:PropertyTypeOptional
Conformance Units
Scales AutomaticFillingScale

7.9.3 ObjectType Description

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.

7.10 AutomaticFillingProductType Definition

7.10.1 Overview

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

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

7.10.2 ObjectType Definition

Table 43 - AutomaticFillingProductType Definition
Attribute Value
BrowseNameAutomaticFillingProductType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ProductType
0:HasComponentVariableFeedRateMeasuringInterval0:DurationBaseDataVariableTypeOptional
0:HasComponentVariableFillingTime0:DurationBaseDataVariableTypeOptional
0:HasComponentVariableFineFeedWeight0:Number0:AnalogItemTypeOptional
0:HasComponentVariableInFlightWeight0:Number0:AnalogItemTypeMandatory
0:HasComponentVariableJogFeed0:BooleanBaseDataVariableTypeOptional
0:HasComponentVariableMinimumDeltaPerFeedRateMeasuringInterval0:Number0:AnalogItemTypeOptional
0:HasComponentVariableSettlingTimeDurationBaseDataVariableTypeOptional
0:HasPropertyVariableTareId0:String0:PropertyTypeOptional
0:HasComponentVariableTargetWeight0:NumberTargetItemTypeMandatory
Conformance Units
Scales AutomaticFillingScale

7.10.3 ObjectType Description

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.

7.11 CatchweigherType Definition

7.11.1 Overview

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

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

7.11.2 ObjectType Definition

Table 44 - CatchweigherType Definition
Attribute Value
BrowseNameCatchweigherType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ScaleDeviceType
Conformance Units
Scales Catchweigher

7.11.3 ObjectType Description

ProductionPreset, which is inherited from ScaleDeviceType shall have instances of CatchweigherProductType or a subtype in the Products folder.

7.12 CatchweigherProductType Definition

7.12.1 Overview

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

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

7.12.2 ObjectType Definition

Table 45 - CatchweigherProductType Definition
Attribute Value
BrowseNameCatchweigherProductType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ProductType
0:HasComponentObject <Zones>ZoneTypeOptionalPlaceholder
0:HasComponentMethodAddZoneOptional
0:HasComponentObject LastItemWeighingItemTypeOptional
0:HasComponentVariablePresetHeight0:Number0:AnalogUnitTypeOptional
0:HasComponentVariablePresetLength0:Number0:AnalogUnitTypeOptional
0:HasComponentVariablePresetWidth0:Number0:AnalogUnitTypeOptional
0:HasComponentMethodRemoveZoneOptional
0:HasComponentVariableTargetThroughput0:NumberTargetItemTypeOptional
Conformance Units
Scales Catchweigher

7.12.3 ObjectType Description

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

7.12.4 Method AddZone

Adds a zone to the zone array. The signature of this Method is specified below. Table 46 and Table 47 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 46 - AddZone Method Arguments
Argument Description
ZoneNameUser-readable name of the zone
LowerLimitLower weight limit of this zone. The lower limit is prior to the upper limit if two zones are beside each other
UpperLimitUpper weight limit of this zone
EngineeringUnitsUnit of the Lower and the UpperLimit. The two Limits must have the same unit
ZoneNodeIdNodeId of the created Object
Table 47 - AddZone Method AddressSpace definition
Attribute Value
BrowseNameAddZone
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory
0:HasPropertyVariableOutputArgumentsArgument[] 0:PropertyTypeMandatory

7.12.5 Method RemoveZone

Removes a zone from the zone array. The signature of this Method is specified below. Table 48 and Table 49 specify the Arguments and AddressSpace representation, respectively.

Signature

	RemoveZone(
	[in]	NodeId		ZoneNodeId);
Table 48 - RemoveZone Method Arguments
Argument Description
ZoneNodeIdNodeId of the Object that should be deleted
Table 49 - RemoveZone Method AddressSpace definition
Attribute Value
BrowseNameRemoveZone
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.13 WeighingItemType Definition

7.13.1 Overview

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

Figure 26 - Overview WeighingItemType

7.13.2 ObjectType Definition

Table 50 - WeighingItemType Definition
AttributeValue
BrowseNameWeighingItemType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseObjectType defined in OPC 10000-5
0:HasPropertyVariableItemId0:String0:PropertyTypeOptional
0:HasComponentVariableMeasuredWeightWeightTypeWeightItemTypeMandatory
0:HasComponentVariableMeasuredHeight0:Number0:AnalogUnitTypeOptional
0:HasComponentVariableMeasuredLength0:Number0:AnalogUnitTypeOptional
0:HasComponentVariableMeasuredVolume0:Number0:AnalogUnitTypeOptional
0:HasComponentVariableMeasuredWidth0:Number0:AnalogUnitTypeOptional
0:HasPropertyVariableZoneName0:String0:PropertyTypeOptional
Conformance Units
Scales Catchweigher

7.13.3 ObjectType Description

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.

7.14 AutomaticWeightPriceLabelerType Definition

7.14.1 Overview

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

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

7.14.2 ObjectType Definition

Table 51 - AutomaticWeighPriceLabelerType Definition
Attribute Value
BrowseNameAutomaticWeightPriceLabelerType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the CatchweigherType
Conformance Units
Scales AutomaticWeightPriceLabeler

7.14.3 ObjectType Description

ProductionPreset, which is inherited from ScaleDeviceType shall have instances of AutomaticWeighPriceLabelerProductType or a subtype in the Products folder.

7.15 AutomaticWeightPriceLabelerProductType Definition

7.15.1 Overview

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

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

7.15.2 ObjectType Definition

Table 52 - AutomaticWeightPriceLabelerProductType Definition
Attribute Value
BrowseNameAutomaticWeightPriceLabelerProductType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the CatchweigherProductType
0:HasComponentVariableUnitPrice0:NumberBaseDataVariableTypeOptional
The following nodes are overridden from CatchweigherProductType and the TypeDefinition changed
0:HasComponentObject LastItemPriceItemTypeOptional
Conformance Units
Scales AutomaticWeightPriceLabeler

7.15.3 ObjectType Description

UnitPrice defines the price per weight unit.

The components of the AutomaticWeightPriceLabelerProductType have additional references which are defined in Table 53.

Table 53 - AutomaticWeightPriceLabelerProductType Additional Subcomponents
Source Path References NodeClass BrowseName DataType TypeDefinition Others
UnitPrice0: HasPropertyVariableCurrencyUnitCurrencyUnitType0:PropertyTypeMandatory

7.16 PriceItemType Definition

7.16.1 Overview

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 WeighingItemType for the LastItem Object. It is formally defined in Table 54.

Figure 29 - Overview PriceItemType

7.16.2 ObjectType Definition

Table 54 - PriceItemType Definition
Attribute Value
BrowseNamePriceItemType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the WeighingItemType
0:HasComponentVariableItemPrice0:NumberBaseDataVariableTypeOptional
Conformance Units
Scales AutomaticWeightPriceLabeler

7.16.3 ObjectType Description

ItemPrice defines the price related to measured weight and UnitPrice.

The components of the PriceItemType have additional references which are defined in Table 55.

Table 55 - PriceItemType Additional Subcomponents
Source Path References NodeClass BrowseName DataType TypeDefinition Others
ItemPrice0: HasPropertyVariableCurrencyUnitCurrencyUnitType0:PropertyTypeMandatory

7.17 CheckweigherType Definition

7.17.1 Overview

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

An Object of the CheckweigherType represents a checkweigher. It defines additional methods and properties required for managing the checkweigher.

Figure 30 - Overview CheckweigherType

7.17.2 ObjectType Definition

Table 56 - CheckweigherType Definition
Attribute Value
BrowseNameCheckweigherType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the CatchweigherType
0:HasComponentVariableTU1Percent0:NumberDataItemTypeOptional
Conformance Units
Scales Checkweigher

7.17.3 ObjectType Description

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.

7.18 CheckweigherProductType Definition

7.18.1 Overview

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

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

7.18.2 ObjectType Definition

Table 57 - CheckweigherProductType Definition
Attribute Value
BrowseNameCheckweigherProductType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the CatchweigherProductType
0:HasComponentVariableNominalWeight0:NumberTargetItemTypeMandatory
0:HasComponentVariableLowerToleranceLimit10:NumberAnalogUnitTypeOptional
0:HasComponentVariableLowerToleranceLimit20:NumberAnalogUnitTypeOptional
The following nodes are overridden from CatchweigherProductType and the TypeDefinition changed
0:HasComponentObject StatisticCheckweigherStatisticTypeOptional
Conformance Units
Scales Checkweigher

7.18.3 ObjectType Description

NominalWeight defines the nominal (printed) weight of the product.

For this ObjectType the Statistic is overridden with the specific CheckweigherStatisticType.

LowerToleranceLimit1 defines the first LowerToleranceLimit.

LowerToleranceLimit2 defines the second LowerToleranceLimit.

7.19 CheckweigherStatisticType Definition

7.19.1 Overview

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

The CheckweigherStatisticType is a container for the different statistic values needed in a checkweigher.

Figure 32 - Overview CheckweigherStatisticType

7.19.2 ObjectType Definition

Table 58 - CheckweigherStatisticType Definition
Attribute Value
BrowseNameCheckweigherStatisticType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the StatisticType
3:HasStatisticComponentObject <PackagesRejectedBySystem>RejectedStatisticCounterTypeOptionalPlaceholder
3:HasStatisticComponentObject PackagesRejectedByMetalRejectedStatisticCounterTypeOptional
3:HasStatisticComponentObject PackagesRejectedByVisionRejectedStatisticCounterTypeOptional
3:HasStatisticComponentObject PackagesRejectedByXRayRejectedStatisticCounterTypeOptional
3:HasStatisticComponentObject PackagesRejectedByDistanceFaultRejectedStatisticCounterTypeOptional
3:HasStatisticComponentObject PackagesRejectedByLengthRejectedStatisticCounterTypeOptional
3:HasStatisticComponentObject PackagesRejectedByMeanValueRequirementRejectedStatisticCounterTypeOptional
3:HasStatisticComponentObject PackagesRejectedByLowerToleranceLimit1RejectedStatisticCounterTypeOptional
3:HasStatisticComponentObject PackagesRejectedByLowerToleranceLimit2RejectedStatisticCounterTypeOptional
3:HasStatisticComponentObject <PackagesAcceptedWithProperty>AcceptedStatisticCounterTypeOptionalPlaceholder
3:HasStatisticComponentObjectPackagesAcceptedWithLowerToleranceLimit1AcceptedStatisticCounterTypeOptional
3:HasStatisticComponentVariablePercentageLowerToleranceLimit0:Number0:AnalogItemTypeOptional
3:HasStatisticComponentObject TotalPackagesAcceptedAcceptedStatisticCounterTypeOptional
3:HasStatisticComponentObject TotalPackagesRejectedRejectedStatisticCounterTypeOptional
3:HasStatisticComponentVariableGiveAway0:Number0:AnalogUnitTypeOptional
Conformance Units
Scales Checkweigher

7.19.3 ObjectType Description

PackagesRejectedBySystem defines an optional placeholder for additional categories in which rejected packages may be counted in. 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.

7.20 StatisticCounterType Definition

7.20.1 Overview

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

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.

Figure 33 - Overview StatisticCounterType

7.20.2 ObjectType Definition

Table 59 - StatisticCounterType Definition
Attribute Value
BrowseNameStatisticCounterType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseObjectType defined in OPC 10000-5
3:HasStatisticComponentVariableItemCount0:UIntegerBaseDataVariableTypeMandatory
3:HasStatisticComponentVariableMaxValue0:Number0:AnalogUnitTypeOptional
3:HasStatisticComponentVariableMeanValue0:Number0:AnalogUnitTypeOptional
3:HasStatisticComponentVariableMinValue0:Number0:AnalogUnitTypeOptional
3:HasStatisticComponentVariablePercentageOfTotal0:Number0:AnalogUnitTypeOptional
3:HasStatisticComponentVariableStandardDeviation0:Number0:AnalogUnitTypeOptional
3:HasStatisticComponentVariableSumWeight0:Number0:AnalogUnitTypeOptional
0:HasPropertyVariableWeighedBoolean0:PropertyTypeMandatory
Conformance Units
Scales ScaleDeviceType
Scales CheckweigherType

7.20.3 ObjectType Description

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.

7.21 AcceptedStatisticCounterType Definition

7.21.1 Overview

The AcceptedStatisticCounterType defines the structure of an Object of the AcceptedStatisticCounterType. It is formally defined in Table 60.

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.

7.21.2 ObjectType Definition

Table 60 - AcceptedStatisticCounterType Definition
Attribute Value
BrowseNameAcceptedStatisticCounterType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the StatisticCounterType
Conformance Units
Scales CheckweigherType

7.22 RejectedStatisticCounterType Definition

7.22.1 Overview

The RejectedStatisticCounterType defines the structure of an Object of the RejectedStatisticCounterType. It is formally defined in Table 61.

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.

7.22.2 ObjectType Definition

Table 61 - RejectedStatisticCounterType Definition
Attribute Value
BrowseNameRejectedStatisticCounterType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the StatisticCounterType
Conformance Units
Scales CheckweigherType

7.23 ZoneType Definition

7.23.1 Overview

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

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.

Figure 34 - Overview ZoneType

7.23.2 ObjectType Definition

Table 62 - ZoneType Definition
Attribute Value
BrowseNameZoneType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseObjectType defined in OPC 10000-5
0:HasComponentVariableLowerLimit0:Number0:AnalogUnitTypeMandatory
0:HasComponentVariableName0:LocalizedTextBaseDataVariableTypeMandatory
0:HasComponentVariableUpperLimit0:Number0:AnalogUnitTypeMandatory
0:HasComponentObject ZoneStatisticStatisticCounterTypeOptional
Conformance Units
Scales Catchweigher

7.23.3 ObjectType Description

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.

7.24 ContinuousScaleType Definition

7.24.1 Overview

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

An Object of the ContinuousScaleType represents a continuous scale. These types of scales control a continuous material output, i.e., the material output at a given flow rate. It defines additional methods and properties required for managing the continuous scale.

Figure 35 - Overview ContinuousScaleType

7.24.2 ObjectType Definition

Table 63 - ContinuousScaleType Definition
Attribute Value
BrowseNameContinuousScaleType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ScaleDeviceType
0:HasComponentObject <Totalizer>TotalizerTypeOptional Placeholder
0:HasComponentVariableControlMagnitude0:Number0:AnalogUnitTypeOptional
0:HasComponentVariableFlowRateBaseDataTypeMeasuredItemTypeMandatory
0:HasComponentObject MasterTotalizerTotalizerTypeOptional
0:HasComponentVariableMaxFlowRate0:Number0:AnalogUnitTypeOptional
0:HasComponentVariableMinFlowRate0:Number0:AnalogUnitTypeOptional
0:HasComponentVariableSpeed0:Number0:AnalogUnitTypeOptional
0:HasComponentVariableRateControlModeRateControlMode0:BaseDataVariableTypeOptional
0:HasComponentVariableTargetFlowRate0:Number0:AnalogUnitTypeOptional
0:HasComponentVariableLoad0:Number0:AnalogUnitTypeOptional
Conformance Units
Scales ContinuousScale

7.24.3 ObjectType Description

Totalizer defines the overall material quantity (weight) that was conveyed over a defined duration. Multiple objects may be instantiated depending on the use case.

ControlMagnitude is used to run the device using a defined control signal (volumetric mode) e.g., run a motor at a pre-defined speed without taking into account the TargetFlowRate. The value is usually read from the server.

FlowRate defines current measured flow rate in mass per time.

MasterTotalizer defines the overall material quantity (weight) that was conveyed over the lifetime of the scale.

MaxFlowRate set maximum allowed gravimetric flow rate (upper limit).

MinFlowRate set minimum gravimetric flow rate (lower limit).

Speed defines the speed of the volumetric feeding device.

RateControlMode defines the mode in which the controller shall regulate the flow rate. The possible rate control modes are defined by the enumeration.

TargetFlowRate is used to set the desired gravimetric flow rate.

ProductionPreset, which is inherited from ScaleDeviceType shall have instances of ContinuousProductType or a subtype in the Products folder. These elements display specific settings for the production lot.

Load defines the load on the weighing bridge - for a belt weigher it´s typically the belt load.

7.25 ContinuousProductType Definition

7.25.1 Overview

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

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

7.25.2 ObjectType Definition

Table 64 - ContinuousProductType Definition
Attribute Value
BrowseNameContinuousProductType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ProductType
0:HasComponentVariableMaterialDensity0:Number0:AnalogUnitTypeOptional
0:HasComponentVariableTargetFlowRate0:NumberTargetItemTypeOptional
0:HasComponentVariableTargetWeight0:NumberTargetItemTypeOptional
Conformance Units
Scales ContinuousScale

7.25.3 ObjectType Description

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.

7.26 LossInWeightScaleType Definition

7.26.1 Overview

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

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

7.26.2 ObjectType Definition

Table 65 - LossInWeightScaleType Definition
Attribute Value
BrowseNameLossInWeightScaleType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ContinuousScaleType
0:HasComponentVariableBinWeight0:BaseDataTypeMeasuredItemTypeOptional
0:HasComponentMethodDischargeStartMandatory
0:HasComponentMethodDischargeStopMandatory
0:HasPropertyVariableDischarging0:Boolean0:PropertyTypeMandatory
0:HasComponentVariableHopperFillLevel0:Number0:AnalogUnitTypeMandatory
0:HasComponentVariableHopperWeight0:BaseDataTypeMeasuredItemTypeMandatory
0:HasPropertyVariableRefilling0:Boolean0:PropertyTypeMandatory
0:HasComponentMethodRefillStartMandatory
0:HasComponentMethodRefillStopMandatory
Conformance Units
Scales Loss In Weight Scale

7.26.3 ObjectType Description

Discharging indicates that hopper discharge operation is in progress.

BinWeight defines the weight of the filled material in an additional bin.

HopperFillLevel defines the fill weight relative to the maximal fill weight of the hopper (Unit: percentage).

HopperWeight defines the weight of the material within the feed hopper. This excludes the weight of the hopper itself.

Refilling indicates that a refill process into the hopper is taking place.

7.26.4 Method DischargeStart

Command to completely discharge the hopper.

Signature

	DischargeStart(
	);

7.26.5 Method DischargeStop

Command to terminate the complete hopper discharge procedure.

Signature

	DischargeStop(
	);

7.26.6 Method RefillStart

Manually starts a refill process.

Signature

	RefillStart(
	);

7.26.7 Method RefillStop

Manually stops a running refill process.

Signature

	RefillStop(
	);

7.27 PieceCountingScaleType Definition

7.27.1 Overview

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

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

7.27.2 ObjectType Definition

Table 66 - PieceCountingScaleType
Attribute Value
BrowseNamePieceCountingScaleType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ScaleDeviceType
0:HasComponentVariableCurrentPieceCount0:NumberMeasuredItemTypeMandatory
0:HasComponentVariableReferenceOptimisationRange0:Number0:AnalogItemTypeOptional
0:HasComponentMethodSetReferencePieceWeightMandatory
0:HasComponentMethodStartReferenceOptional
0:HasComponentMethodSetNumberOfReferencePiecesMandatory
Conformance Units
Scales PieceCountingScale

7.27.3 ObjectType Description

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.

7.27.4 Method SetReferencePieceWeight

Sets the value for the ReferencePieceWeight (product-specific data). The signature of this Method is specified below. Table 67 and Table 68 specify the Arguments and AddressSpace representation, respectively.

Signature

	SetReferencePieceWeight(
	[in]	UInt32		ReferencePieceWeight
	[in]	EUInformation		EngineeringUnits);
Table 67 - SetReferencePieceWeight Method Arguments
Argument Description
ReferencePieceWeightThe reference weight of a piece
EngineeringUnitsUnit of the ReferencePieceWeight
Table 68 - SetReferencePieceWeight Method AddressSpace definition
Attribute Value
BrowseNameSetReferencePieceWeight
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.27.5 Method StartReference

Triggers the reference weighing process. The signature of this Method is specified below. Table 69 and Table 70 specify the Arguments and AddressSpace representation, respectively.

Signature

	StartReference(
	[in]	UInt32		NumberOfReferencePieces);
Table 69 - StartReference Method Arguments
Argument Description
NumberOfReferencePiecesThe number of the references Pieces that should be used by the next references process.
Table 70 - StartReference Method AddressSpace definition
Attribute Value
BrowseNameStartReference
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.27.6 Method SetNumberOfReferencePieces

Sets the value for NumberOfReferencePieces (product-specific data). The signature of this Method is specified below. Table 71 and Table 72 specify the Arguments and AddressSpace representation, respectively.

Signature

	SetNumberOfReferencePieces(
	[in]	UInt32		NumberOfReferencePieces);
Table 71 - SetNumberOfReferencePieces Method Arguments
Argument Description
NumberOfReferencePiecesThe number of the references Pieces that should be used by the next references process.
Table 72 - SetNumberOfReferencePieces Method AddressSpace definition
Attribute Value
BrowseName SetNumberOfReferencePieces
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.28 PieceCountingProductType Definition

7.28.1 Overview

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

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

7.28.2 ObjectType Definition

Table 73 - PieceCountingProductType Definition
Attribute Value
BrowseNamePieceCountingProductType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ProductType
0:HasComponentVariableCurrentItemCount0:UIntegerBaseDataVariableTypeOptional
0:HasComponentVariableFeedRateMeasuringIntervalDurationBaseDataVariableTypeOptional
0:HasComponentVariableFillingTimeDurationBaseDataVariableTypeOptional
0:HasComponentVariableInFlightCount0:UIntegerBaseDataVariableTypeOptional
0:HasComponentVariableJogFeedBooleanBaseDataVariableTypeOptional
0:HasComponentVariableMinimumDeltaPerFeedRateMeasuringInterval0:Number0:AnalogItemTypeOptional
0:HasComponentVariableNumberOfReferencePieces0:UIntegerBaseDataVariableTypeMandatory
0:HasComponentVariableReferencePieceWeight0:Number0:AnalogItemTypeMandatory
0:HasComponentVariableRegisteredPieceCount0:UIntegerBaseDataVariableTypeMandatory
0:HasComponentMethodSetTargetItemCountOptional
0:HasComponentMethodSetTargetPieceCountOptional
0:HasComponentVariableSettlingTimeDurationBaseDataVariableTypeOptional
0:HasComponentVariableTareId0:StringBaseDataVariableTypeOptional
0:HasComponentVariableTargetItemCount0:UIntegerBaseDataVariableTypeOptional
0:HasComponentVariableTargetPieceCount0:UIntegerTargetItemTypeOptional
0:HasComponentVariableTotalizedItemCount0:UIntegerBaseDataVariableTypeOptional
0:HasComponentVariableTotalizedWeightWeightTypeWeightItemTypeOptional
0:HasComponentVariableFineFeedCount0:UIntegerBaseDataVariableTypeOptional
Conformance Units
Scales PieceCountingScale

7.28.3 ObjectType Description

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

7.28.4 Method SetTargetItemCount

Sets the number of the TargetItemCount. See TargetItemCount. The signature of this Method is specified below. Table 74 and Table 75 specify the Arguments and AddressSpace representation, respectively.

Signature

	SetTargetItemCount(
	[in]	UInt32		TargetItemCount);
Table 74 - SetTargetItemCount Method Arguments
Argument Description
TargetItemCount0:Number of items that are supposed to be counted during the measurement process.
Table 75 - SetTargetItemCount Method AddressSpace definition
Attribute Value
BrowseNameSetTargetItemCount
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.28.5 Method SetTargetPieceCount

Sets the value of the TargetPieceCount. See TargetPieceCount. The signature of this Method is specified below. Table 76 and Table 77 specify the Arguments and AddressSpace representation, respectively.

Signature

	SetTargetPieceCount(
	[in]	UInt32		TargetPieceCount
	[in]	UInt32		PlusTolerance
	[in]	UInt32		MinusTolerance);
Table 76 - SetTargetPieceCount Method Arguments
Argument Description
TargetPieceCount0:Number of pieces that need to be counted.
PlusTolerancePlus Tolerance of the TargetPieceCount
MinusToleranceMinus Tolerance of the TargetPieceCount
Table 77 - SetTargetPieceCount Method AddressSpace definition
Attribute Value
BrowseNameSetTargetPieceCount
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.29 RecipeScaleType Definition

7.29.1 Overview

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

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

7.29.2 ObjectType Definition

Table 78 - RecipeScaleType Definition
Attribute Value
BrowseNameRecipeScaleType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ScaleDeviceType
0:HasComponentObject RecipesRecipeManagementTypeOptional
0:HasComponentVariableSupportedTargetValuesRecipeTargetValueType[]BaseDataVariableTypeOptional
0:HasComponentVariableSupportedThresholdValuesRecipeThresholdType[]BaseDataVariableTypeOptional
0:HasComponentMethodStartRecipeOptional
0:HasComponentMethodStopRecipeOptional
0:HasComponentMethodContinueRecipeOptional
0:HasComponentMethodSkipCurrentRecipeElementOptional
0:HasComponentMethodAbortRecipeOptional
0:HasComponentObject SupportedMaterialMaterialTypeOptional
Conformance Units
Scales RecipeScale

7.29.3 ObjectType Description

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.

7.29.4 Method StartRecipe

Starts the given recipe (input parameter). Precondition: The scale needs to be enabled/released in advance. Table 79 and Table 80 specify the Arguments and AddressSpace representation, respectively.

Signature

	StartRecipe(
	[in]	NodeId	RecipeNodeId
	);
Table 79 - StartRecipe Method Arguments
Argument Description
RecipeNodeIdNodeId of the recipe to be started
Table 80 - StartRecipe Method AddressSpace definition
Attribute Value
BrowseNameStartRecipe
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.29.5 Method StopRecipe

Pauses the current processing of a recipe. ContinueRecipe() continues the processing. AbortRecipe() stops the processing. Table 81 and Table 82 specify the Arguments and AddressSpace representation, respectively.

Signature

	StopRecipe(
	[in]	NodeId	RecipeNodeId
	);
Table 81 - StopRecipe Method Arguments
Argument Description
RecipeNodeIdNodeId of the recipe to be stopped
Table 82 - StopRecipe Method AddressSpace definition
Attribute Value
BrowseNameStopRecipe
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.29.6 Method ContinueRecipe

If the recipe processing is stopped, the process can continue at the same point by means of the method ContinueRecipe. Table 83 and Table 84 specify the Arguments and AddressSpace representation, respectively.

Signature

	ContinueRecipe(
	[in]	NodeId	RecipeNodeId
	);
Table 83 - ContinueRecipe Method Arguments
Argument Description
RecipeNodeIdNodeId of the recipe that can continue
Table 84 - ContinueRecipe Method AddressSpace definition
Attribute Value
BrowseNameContinueRecipe
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.29.7 Method SkipCurrentRecipeElement

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 85 and Table 86 specify the Arguments and AddressSpace representation, respectively.

Signature

	SkipCurrentRecipeElement(
	[in]	NodeId	RecipeNodeId
	);
Table 85 - SkipCurrentRecipeElement Method Arguments
Argument Description
RecipeNodeIdNodeId of the recipe that can continue
Table 86 - SkipCurrentRecipeElement Method AddressSpace definition
Attribute Value
BrowseNameSkipCurrentRecipeElement
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.29.8 Method AbortRecipe

Aborts the current processing of a recipe. Table 87 and Table 88 specify the Arguments and AddressSpace representation, respectively.

Signature

	AbortRecipe(
	[in]	NodeId	RecipeNodeId
	);
Table 87 - AbortRecipe Method Arguments
Argument Description
RecipeNodeIdNodeId of the recipe that can continue
Table 88 - AbortRecipe Method AddressSpace definition
Attribute Value
BrowseNameAbortRecipe
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.30 RecipeProductType Definition

7.30.1 Overview

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

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

7.30.2 ObjectType Definition

Table 89 - RecipeProductType Definition
Attribute Value
BrowseNameRecipeProductType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ProductType
0:HasComponentVariableRecipeNodeIdNodeIdBaseDataVariableTypeMandatory
0:HasComponentVariableReportRecipeReportElementType[]BaseDataVariableTypeMandatory
0:HasComponentObject ReportFileFileTypeOptional
Conformance Units
Scales RecipeScale

7.30.3 ObjectType Description

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.

7.31 RecipeType Definition

7.31.1 Overview

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

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

7.31.2 ObjectType Definition

Table 90 - RecipeType Definition
Attribute Value
BrowseNameRecipeType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseObjectType defined in OPC 10000-5
0:HasComponentObject RecipeElementsFolderTypeOptional
0:HasPropertyVariableRecipeId0:String0:PropertyTypeMandatory
0:HasPropertyVariableRecipeName0:LocalizedText0:PropertyTypeMandatory
0:HasComponentMethodAddRecipeElementOptional
0:HasComponentMethodRemoveRecipeElementOptional
0:HasComponentObjectRecipeFile0:FileTypeOptional
Conformance Units
Scales RecipeManagement
Scales FileRecipeManagement

7.31.3 ObjectType Description

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.

7.31.4 Method AddRecipeElement

AddRecipeElement is a method to add an additional RecipeElement to the recipe. Table 91 and Table 92 specify the Arguments and AddressSpace representation, respectively.

Signature

	AddRecipeElement(
	[in]	NodeId	ElementType
	[in]	String	ElementName
	[in]	NodeId[]	PreviousElements
	[out]	NodeId	ElementNodeId
	);
Table 91 - AddRecipeElement Method Arguments
Argument Description
ElementTypeNodeId of the Object that should be added
ElementNameA user-readable name of the element
PreviousElementsThe NodeIds of the directly previous Elements. If the element is the start Element use the Recipe node.
ElementNodeIdThe NodeId of the created RecipeElement
Table 92 - AddRecipeElement Method AddressSpace definition
Attribute Value
BrowseNameAddRecipeElement
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory
0:HasPropertyVariableOutputArgumentsArgument[] 0:PropertyTypeMandatory

7.31.5 Method RemoveRecipeElement

Method to remove a RecipeElement in this recipe with all related references. Table 93 and Table 94 specify the Arguments and AddressSpace representation, respectively.

Signature

	RemoveRecipeElement(
	[in]	NodeId	RecipeElementNodeId
	);
Table 93 - RemoveRecipeElement Method Arguments
Argument Description
RecipeElementNodeIdNodeId of the Object that should be removed
Table 94 - RemoveRecipeElement Method AddressSpace definition
Attribute Value
BrowseNameRemoveRecipeElement
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.32 RecipeManagementType Definition

7.32.1 Overview

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

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

7.32.2 ObjectType Definition

Table 95 - RecipeManagementType Definition
Attribute Value
BrowseNameRecipeManagementType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseObjectType defined in OPC 10000-5
0:HasComponentMethodAddRecipeOptional
0:HasComponentObject <Recipe_No>RecipeTypeOptionalPlaceholder
0:HasComponentMethodRemoveRecipeOptional
Conformance Units
Scales RecipeManagment

7.32.3 ObjectType Description

Recipe_No defines an instance of a recipe with the value “No”.

7.32.4 Method AddRecipe

Method to add an additional recipe of the RecipeType. The signature of this Method is specified below. Table 96 and Table 97 specify the Arguments and AddressSpace representation, respectively.

Signature

	AddRecipe(
	[in]	0:String		RecipeId
	[in]	0:LocalizedText		RecipeName
	[out]	NodeId		RecipeNodeId);
Table 96 - AddRecipe Method Arguments
Argument Description
RecipeIdUnique identifier of a recipe.
RecipeNameUser-readable name of the recipe.
RecipeNodeIdNodeId of the created Object.
Table 97 - AddRecipe Method AddressSpace definition
Attribute Value
BrowseNameAddRecipe
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory
0:HasPropertyVariableOutputArgumentsArgument[] 0:PropertyTypeMandatory

7.32.5 Method RemoveRecipe

Method to remove a recipe of the RecipeType. The signature of this Method is specified below. Table 98 and Table 99 specify the Arguments and AddressSpace representation, respectively.

Signature

	RemoveRecipe(
	[in]	0:String			RecipeId
	);
Table 98 - RemoveRecipe Method Arguments
Argument Description
RecipeIdUser-readable name of the recipe.
Table 99 - RemoveRecipe Method AddressSpace definition
Attribute Value
BrowseNameRemoveRecipe
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.33 RecipeElementType Definition

7.33.1 Overview

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

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

7.33.2 ObjectType Definition

Table 100 - RecipeElementType Definition
Attribute Value
BrowseNameRecipeElementType
IsAbstractTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseObjectType defined in OPC 10000-5
Conformance Units
Scales RecipeManagement
Scales DynamicRecipeManagement

7.34 ActivationType Definition

7.34.1 Overview

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

An Object of the ActivationType represents an activation step in a recipe.

Figure 45 - Overview ActivationType

7.34.2 ObjectType Definition

Table 101 - ActivationType Definition
Attribute Value
BrowseNameActivationType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the RecipeElementType
0:HasComponentVariableTargetValue0:Number0:AnalogUnitTypeMandatory
0:HasPropertyVariableTargetValueId0:String0:PropertyTypeMandatory
0:HasPropertyVariableTargetValueNodeIdNodeId0:PropertyTypeOptional
Conformance Units
Scales RecipeManagement
Scales DynamicRecipeManagement

7.34.3 ObjectType Description

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.

7.35 ConditionSleepType Definition

7.35.1 Overview

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

An Object of ConditionSleepType represents a condition sleep step in a recipe. The recipe waits until the condition is solved.

Figure 46 - Overview ConditionSleepType

7.35.2 ObjectType Definition

Table 102 - ConditionSleepType Definition
Attribute Value
BrowseNameConditionSleepType
IsAbstractTrue
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the RecipeElementType
0:HasComponentVariableTargetThresholdValueBaseDataTypeDataItemTypeMandatory
0:HasComponentVariableThresholdValueId0:StringDataItemTypeMandatory
0:HasComponentVariableThresholdValueNodeIdNodeIdBaseDataVariableTypeOptional
0:HasComponentVariableTimeoutDurationDataItemTypeOptional
Conformance Units
Scales DynamicRecipeManagement

7.35.3 ObjectType Description

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.

7.36 AnalogConditionSleepType Definition

7.36.1 Overview

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

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 10.6). The conditions are listed in Table 103.

Table 103 - Possible Conditions for AnalogConditionSleepType
ConditionModeCondition
EqualThresholdValue = TargetThresholdValue
NotEqualThresholdValue != TargetThresholdValue
LessThanThresholdValue < TargetThresholdValue
LessOrEqualThanThresholdValue <= TargetThresholdValue
GreaterThanThresholdValue > TargetThresholdValue
GreaterOrEqualThanThresholdValue >= TargetThresholdValue
Figure 47 - Overview AnalogConditionSleepType

7.36.2 ObjectType Definition

Table 104 - AnalogConditionSleepType Definition
Attribute Value
BrowseNameAnalogConditionSleepType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ConditionSleepType
0:HasPropertyVariableConditionModeEqualityAndRelationalOperator0:PropertyTypeMandatory
0:HasComponentVariableTargetThresholdValue0:NumberTargetItemTypeMandatory
Conformance Units
Scales DynamicRecipeManagement
Scales RecipeManagement

7.36.3 ObjectType Description

ConditionMode defines the type of condition operator that is used.

TargetThresholdValue is the target value with which the threshold value is compared.

7.37 EdgeTriggeredSleepType Definition

7.37.1 Overview

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

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 10.7). The conditions are listed in Table 105.

Table 105 - Possible Conditions for EdgeTriggeredSleepType
ConditionModeCondition
RisingIs true if after ThresholdValue transition from false to true
FallingIs true if after ThresholdValue transition from true to false
Figure 48 - Overview EdgeTriggeredSleepType

7.37.2 ObjectType Definition

Table 106 - EdgeTriggeredSleepType Definition
Attribute Value
BrowseNameEdgeTriggeredSleepType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ConditionSleepType
0:HasPropertyVariableConditionModeEdgeOperator0:PropertyTypeMandatory
0:HasComponentVariableTargetThresholdValueBooleanDataItemTypeMandatory
Conformance Units
Scales RecipeManagement
Scales DynamicRecipeManagement

7.37.3 ObjectType Description

ConditionMode defines the type of condition operator that is used.

TargetThresholdValue is the target value with which the threshold value is compared.

7.38 TimerType Definition

7.38.1 Overview

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

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

7.38.2 ObjectType Definition

Table 107 - TimerType Definition
Attribute Value
BrowseNameTimerType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the RecipeElementType
0:HasComponentVariableDurationDurationBaseDataVariableTypeMandatory
Conformance Units
Scales RecipeManagement
Scales DynamicRecipeManagement

7.38.3 ObjectType Description

Duration defines the period of time the processing needs to wait before processing the next RecipeElement.

7.39 UserInstructionType Definition

7.39.1 Overview

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

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

7.39.2 ObjectType Definition

Table 108 - UserInstructionType Definition
Attribute Value
BrowseNameUserInstructionType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the RecipeElementType
0:HasComponentVariableDisplayText0:LocalizedTextBaseDataVariableTypeMandatory
0:HasComponentVariableInstructionId0:UIntegerBaseDataVariableTypeOptional
Conformance Units
Scales RecipeManagement
Scales DynamicRecipeManagement

7.39.3 ObjectType Description

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.

7.40 WeighingType Definition

7.40.1 Overview

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

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

7.40.2 ObjectType Definition

Table 109 - WeighingType Definition
Attribute Value
BrowseNameWeighingType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the RecipeElementType
0:HasComponentVariableWeighingModuleNodeIdNodeIdBaseDataVariableTypeMandatory
0:HasComponentObject MaterialMaterialTypeOptional
0:HasComponentVariableTargetWeight0:NumberTargetItemTypeMandatory
Conformance Units
Scales RecipeManagement
Scales DynamicRecipeManagement

7.40.3 ObjectType Description

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.

7.41 MaterialAutomaticType Definition

7.41.1 Overview

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

An Object of MaterialAutomaticType represents a material in a recipe that will be filled automatically.

Figure 52 - Overview MaterialAutomaticType

7.41.2 ObjectType Definition

Table 110 - MaterialAutomaticType Definition
Attribute Value
BrowseNameMaterialAutomaticType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the MaterialType
0:HasComponentObject FillingProductInformationAutomaticFillingProductTypeMandatory
Conformance Units
Scales RecipeScale

7.41.3 ObjectType Description

FillingProductInformation defines the parameters necessary for the filling of the material. It derives from product-specific information within the AutomaticFillingScaleType.

7.42 TotalizingHopperScaleType Definition

7.42.1 Overview

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

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

7.42.2 ObjectType Definition

Table 111 - TotalizingHopperScaleType Definition
Attribute Value
BrowseNameTotalizingHopperScaleType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ScaleDeviceType
Conformance Units
Scales TotalizingHopperScale

7.42.3 ObjectType Description

ProductionPreset, which is inherited from ScaleDeviceType shall have instances of TotalizingHopperProductType or a subtype in the Products folder.

7.43 TotalizingHopperProductType Definition

7.43.1 Overview

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

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

7.43.2 ObjectType Definition

Table 112 - TotalizingHopperProductType Definition
Attribute Value
BrowseNameTotalizingHopperProductType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ProductType
0:HasComponentVariableVolumeTargetValue0:NumberTargetItemTypeOptional
0:HasComponentVariableTipCounter0:UIntegerBaseDataVariableTypeMandatory
Conformance Units
Scales TotalizingHopperScale

7.43.3 ObjectType Description

TargetValue defines the preset of the volume to be processed.

TipCounter defines the number of fillings (downpour, bulk produce).

7.44 SimpleScaleType Definition

7.44.1 Overview

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

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

7.44.2 ObjectType Definition

Table 113 - SimpleScaleType Definition
Attribute Value
BrowseNameSimpleScaleType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ScaleDeviceType
Conformance Units
Scales SimpleScale

7.44.3 ObjectType Description

ProductionPreset, which is inherited from ScaleDeviceType shall have instances of SimpleProductType or a subtype in the Products folder.

7.45 SimpleProductType Definition

7.45.1 Overview

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

Figure 56 - Overview SimpleProductType

7.45.2 ObjectType Definition

Table 114 - SimpleProductType Definition
Attribute Value
BrowseNameSimpleProductType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ProductType
0:HasPropertyVariableContainerId0:String0:PropertyTypeOptional
0:HasComponentVariableUnitPrice0:NumberBaseDataVariableTypeOptional
Conformance Units
Scales SimpleScale

7.45.3 ObjectType Description

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

Table 115 - SimpleProductType Additional Subcomponents
Source Path References NodeClass BrowseName DataType TypeDefinition Others
UnitPrice0: HasPropertyVariableCurrencyUnitCurrencyUnitType0:PropertyTypeM

7.46 LaboratoryScaleType Definition

7.46.1 Overview

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

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

7.46.2 ObjectType Definition

Table 116 - LaboratoryScaleType Definition
Attribute Value
BrowseNameLaboratoryScaleType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the SimpleScaleType
0:HasPropertyVariableCalibrationNeededBoolean0:PropertyTypeOptional
0:HasPropertyVariableCalibrationRunningBoolean0:PropertyTypeOptional
0:HasComponentMethodCloseDraftShieldsOptional
0:HasPropertyVariableDraftShieldLeftClosedBoolean0:PropertyTypeOptional
0:HasPropertyVariableDraftShieldRightClosedBoolean0:PropertyTypeOptional
0:HasPropertyVariableDraftShieldTopClosedBoolean0:PropertyTypeOptional
0:HasPropertyVariableLevelingRunningBoolean0:PropertyTypeOptional
0:HasPropertyVariableIonisatorRunningBoolean0:PropertyTypeOptional
0:HasPropertyVariableLevelingRunningBoolean0:PropertyTypeOptional
0:HasComponentMethodOpenDraftShieldsOptional
0:HasComponentMethodStartLevelingOptional
0:HasComponentMethodStartCalibrationOptional
0:HasComponentMethodStartIonisatorOptional
0:HasComponentMethodStopIonisatorOptional
Conformance Units
Scales LaboratoryScale

7.46.3 ObjectType Description

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.

DraftShieldTopClosed 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).

7.46.4 Method CloseDraftShields

Method to close a certain draft shield or all draft shields. The signature of this Method is specified below. Table 117 and Table 118 specify the Arguments and AddressSpace representation, respectively.

Signature

	CloseDraftShields(
	[in]	DraftShieldType		Shield
	);
Table 117 - CloseDraftShields Method Arguments
Argument Description
ShieldThe DraftShield that should be closed.
Table 118 - CloseDraftShields Method AddressSpace definition
Attribute Value
BrowseNameCloseDraftShields
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.46.5 Method OpenDraftShields

Method to open a certain draft shield or all draft shields. The signature of this Method is specified below. Table 119 and Table 120 specify the Arguments and AddressSpace representation, respectively.

Signature

	OpenDraftShields(
		[in]	DraftShieldType	Shield
	);
Table 119 - OpenDraftShields Method Arguments
Argument Description
ShieldThe DraftShield that should be open.
Table 120 - OpenDraftShields Method AddressSpace definition
Attribute Value
BrowseNameOpenDraftShields
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.46.6 Method StartLeveling

Method to start the automatic leveling procedure of the scale.

Signature

	SartLeveling(
	);

7.46.7 Method StartCalibration

Method to start the automatic calibration procedure.

Signature

	StartCalibration(
	);

7.46.8 Method StartIonisator

Method to start the ionization process.

Signature

	StartIonisator(
	);

7.46.9 Method StopIonisator

Method to stop the ionization process.

Signature

	StopIonisator(
	);

7.47 HopperScaleType Definition

7.47.1 Overview

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

Figure 58 - Overview HopperScaleType

7.47.2 ObjectType Definition

Table 121 - HopperScaleType Definition
Attribute Value
BrowseNameHopperScaleType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the SimpleScaleType
0:HasPropertyVariable<Limits>Boolean0:PropertyTypeOptionalPlaceholder
0:HasComponentVariableLevelMax0:Number0:AnalogUnitTypeOptional
0:HasComponentVariableLevelMin0:Number0:AnalogUnitTypeOptional
0:HasPropertyVariableLimitMaxBoolean0:PropertyTypeMandatory
0:HasPropertyVariableLimitMinBoolean0:PropertyTypeMandatory
Conformance Units
Scales HopperScale

7.47.3 ObjectType Description

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

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 LevelMin and the current fill level (CurrentWeight) are compared.

Table 122 - HopperScaleType Additional Subcomponents
Source Path References NodeClass BrowseName DataType TypeDefinition Others
LevelMax0:HasPropertyVariableLevelModeEqualityAndRelationalOperator0:PropertyTypeOptional
LevelMin0:HasPropertyVariableLevelModeEqualityAndRelationalOperator0:PropertyTypeOptional

7.48 VehicleScaleType Definition

7.48.1 Overview

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

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 123 shows the process of the different use cases:

Table 123 - Process of vehicle weighing
CheckweighingOne pass weighingMore pass weighing
Call the method RegisterWeight to get the current valueCall 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

7.48.2 ObjectType Definition

Table 124 - VehicleScaleType Definition
Attribute Value
BrowseNameVehicleScaleType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ScaleDeviceType
0:HasComponentMethodInboundWeighingOptional
0:HasComponentMethodOutboundWeighingOptional
0:HasComponentMethodOnePassWeighingOptional
Conformance Units
Scales VehicleScale

7.48.3 ObjectType Description

ProductionPreset, which is inherited from ScaleDeviceType shall have instances of VehicleProductType or a subtype in the Products folder.

7.48.4 Method InboundWeighing

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 125 and Table 126 specify the Arguments and AddressSpace representation, respectively.

Signature

	InboundWeighing(
		[in]	0:String		VehicleId
	);
Table 125 - InboundWeighing Method Arguments
ArgumentDescription
VehicleIdThe ID of the vehicle
Table 126 - InboundWeighing Method AddressSpace definition
Attribute Value
BrowseNameInboundWeighing
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.48.5 Method OutboundWeighing

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 127 and Table 128 specify the Arguments and AddressSpace representation, respectively.

Signature

	OutboundWeighing(
		[in]	0:String	VehicleId
	);
Table 127 - OutboundWeighing Method Arguments
Argument Description
VehicleIdThe ID of the vehicle
Table 128 - OutboundWeighing Method AddressSpace definition
Attribute Value
BrowseNameOutboundWeighing
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.48.6 Method OnePassWeighing

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 129 and Table 130 specify the Arguments and AddressSpace representation, respectively.

Signature

	OnePassWeighing(
		[in]	0:String	VehicleId
	);
Table 129 - OnePassWeighing Method Arguments
Argument Description
VehicleIdThe ID of the vehicle
Table 130 - OnePassWeighing Method AddressSpace definition
Attribute Value
BrowseNameOnePassWeighing
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.49 VehicleProductType Definition

7.49.1 Overview

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

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

7.49.2 ObjectType Definition

Table 131 - VehicleProductType Definition
Attribute Value
BrowseNameVehicleProductType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the ProductType
0:HasPropertyVariableCarrierDisplayName0:LocalizedText0:PropertyTypeOptional
0:HasPropertyVariableCarrierId0:String0:PropertyTypeOptional
0:HasPropertyVariableCustomer0:LocalizedText0:PropertyTypeOptional
0:HasComponentVariableDeltaWeightWeightTypeWeightItemTypeMandatory
0:HasPropertyVariableDestination0:LocalizedText0:PropertyTypeOptional
0:HasPropertyVariableDriverId0:String0:PropertyTypeOptional
0:HasPropertyVariableDriverDisplayName0:LocalizedText0:PropertyTypeOptional
0:HasComponentMethodGetVehicleInformationOptional
0:HasPropertyVariableInboundScaleNodeId0:PropertyTypeOptional
0:HasComponentVariableInboundWeightWeightTypeWeightItemTypeOptional
0:HasComponentObject MaterialMaterialTypeOptional
0:HasPropertyVariableOutboundScaleNodeId0:PropertyTypeOptional
0:HasComponentVariableOutboundWeightWeightTypeWeightItemTypeMandatory
0:HasPropertyVariableScaleOperatorId0:String0:PropertyTypeOptional
0:HasPropertyVariableSupplier0:LocalizedText0:PropertyTypeOptional
0:HasPropertyVariableTare0:Number0:PropertyTypeOptional
0:HasPropertyVariableTareExpirationDate0:DateTime0:PropertyTypeOptional
0:HasPropertyVariableTotalWeightWeightType0:PropertyTypeOptional
0:HasPropertyVariableTotalWeightResetDate0:DateTime0:PropertyTypeOptional
0:HasPropertyVariableVehicleId0:String0:PropertyTypeMandatory
Conformance Units
Scales VehicleScale

7.49.3 ObjectType Description

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

Table 132 - VehicleProductType Additional Subcomponents
Source Path References NodeClass BrowseName DataType TypeDefinition Others
DeltaWeight0:HasPropertyVariableIsFilling0:Boolean0:PropertyTypeOptional

DeltaWeight.IsFilling defines if the deltaWeight is a filling weight or an unloading weight.

7.49.4 Method GetVehicleInformation

The Method loads vehicle information of the data store. It requires a unique vehicle ID as input. Table 133 and Table 134 specify the Arguments and AddressSpace representation, respectively.

Signature

	GetVehicleInformation (
		[in]	0:String		VehicleId
	);
Table 133 - GetVehicleInformation Method Arguments
Argument Description
VehicleIdThe ID of the vehicle
Table 134 - GetVehicleInformation Method AddressSpace definition
Attribute Value
BrowseNameSetFeederSpeed
References NodeClass BrowseName DataType TypeDefinition ModellingRule
0:HasPropertyVariableInputArgumentsArgument[] 0:PropertyTypeMandatory

7.50 WeighingModuleType Definition

7.50.1 Overview

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

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

7.50.2 ObjectType Definition

Table 135 - WeighingModuleType Definition
Attribute Value
BrowseNameWeighingModuleType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the SimpleScaleType
Conformace Units
Scales WeighingBridge

7.50.3 ObjectType Description

No additional properties exist.

7.51 MaterialType Definition

7.51.1 Overview

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

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

7.51.2 ObjectType Definition

Table 136 - MaterialType Definition
Attribute Value
BrowseNameMaterialType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseObjectType defined in OPC 10000-5
0:HasComponentVariableMaterialId0:StringBaseDataVariableTypeMandatory
0:HasComponentVariableMaterialName0:LocalizedTextBaseDataVariableTypeMandatory
Conformance Units
Scales RecipeScale

7.51.3 ObjectType Description

MaterialId defines a unique identifier for the material.

MaterialName defines a user-readable name of the material.

7.52 FloatingStatisticType Definition

7.52.1 Overview

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

The FloatingStatisticType is a subtype of the StatisticType and also a container for the different statistic values. All Variables are optional so that the statistics can be instantiated in an application-specific way. The FloatingStatisticType is not used directly in the information model but should be used for application-specific statistics. Unlike the StatisticType, the statistic behind the FloatingStatisticType is not time-based, but contains the last NumberOfValues values.

Figure 63 - Overview FloatingStatisticType

7.52.2 ObjectType Definition

Table 137 - FloatingStatisticType Definition
Attribute Value
BrowseNameFloatingStatisticType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the StatisticType
0:HasPropertyVariable3:WindowNumberOfValuesUInt320:PropertyTypeMandatory
0:HasInterfaceObjectType3:IRollingStatisticsType
Conformance Units
Scales ScaleDeviceType

7.52.3 ObjectType Description

WindowNumberOfValues defines the number of values that are considered for this floating statistic.

7.53 TotalizerType Definition

7.53.1 Overview

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

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

7.53.2 ObjectType Definition

Table 138 - TotalizerType Definition
Attribute Value
BrowseNameTotalizerType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseObjectType defined in OPC 10000-5
0:HasComponentMethodResetTotalizerOptional
0:HasComponentVariableTotalizedValueAbstractWeightTypeMeasuredItemTypeMandatory
Conformance Units
Scales ContinuousScale

7.53.3 ObjectType Description

TotalizedValue defines a summed up/totalized volume within a period of time.

7.53.4 Method ResetTotalizer

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(
	);

8 OPC UA EventTypes

The ScaleEventType and the ScaleAlarmType both contain the NotificationId to identify the event or alarm. Annex C contains all events and alarms defined in this specification. If possible, scales must use these events/alarms. The NotificationId contains the properties EnumValue and ValueAsText (inherit from the MultiStateValueDiscreteType) which contain the value and a short 0:String of the available NotificationIds. This can be a subset of all NotificationIds descripted in Annex C. Additional NotificationIds can be defined in a vendor-specific way. The value of the EnumValue for vendor-specific NotificationIds must be greater than 5000. Each vendor can use an additional ID (vendor-specific NotificationId) to transmit the vendor-specific ID.

8.1 ScaleEventType Definition

8.1.1 Overview

The ScaleEventType is a subtype of the BaseEventType, which it extends with some Properties. It should be used for all Events that are relevant to the weighing technology.

Figure 65 - Overview ScaleEventType

8.1.2 ScaleEventType Definition

Table 139 - ScaleEventType Definition
Attribute Value
BrowseNameScaleEventType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the BaseEventType defined in OPC 10000-5
0:HasPropertyVariableAuxParameters0:String[]0:PropertyTypeOptional
0:HasPropertyVariableHelpSource0:String0:PropertyTypeOptional
0:HasComponentVariableNotificationCategory0:UIntegerMultiStateValueDiscreteTypeMandatory
0:HasComponentVariableNotificationId0:UIntegerMultiStateValueDiscreteTypeMandatory
0:HasComponentVariableVendorNotificationId0:StringBaseDataVariableTypeOptional

8.1.3 ScaleEventType Description

AuxParameters is an additional text of the event. In the text it is used for the placeholders in the message to the alarm.

HelpSource is a source for additional help information.

NotificationCategory provides the category of the notification. It is used to distinguish if the message is representing an internal event, an information, a dialogue message, an error, a warning, a state or an acknowledgement. Annex C contains all NotificationCategory defined in this specification.

NotificationId provides a unique identifier for the event. Annex C contains all IDs defined in this specification.

VendorNotificationId is a unique vendor-specific identifier for the event.

8.2 ScaleAlarmType Definition

8.2.1 Overview

The ScaleAlarmType is a subtype of the AlarmConditionType and extends it with some Properties. It should be used for all alarms relevant for the weighing technology.

Figure 66 - Overview ScaleAlarmType

8.2.2 ScaleAlarmType Definition

Table 140 - ScaleAlarmType Definition
Attribute Value
BrowseNameScaleAlarmType
IsAbstractFalse
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the AlarmConditionType defined in OPC 10000-9
0:HasPropertyVariableAuxParameters0:String[]0:PropertyTypeOptional
0:HasPropertyVariableHelpSource0:String0:PropertyTypeOptional
0:HasComponentVariableNotificationCategory0:UIntegerMultiStateValueDiscreteTypeMandatory
0:HasComponentVariableNotificationId0:UIntegerMultiStateValueDiscreteTypeMandatory
0:HasComponentVariableVendorNotificationId0:StringBaseDataVariableType Optional

8.2.3 ScaleAlarmType Description

AuxParameters is an additional text of the alarm. In the text it is used for the placeholders in the message to the alarm.

HelpSource is a source for additional help information.

NotificationCategory provides the category of the notification. It is used to distinguish if the message is representing an internal event, an information, a dialogue message, an error, a warning, a state or an acknowledgement. Annex D contains all options for NotificationCategory defined in this specification.

NotificationId provides a unique identifier for the alarm. Annex D contains all IDs defined in this specification.

VendorNotificationId is a unique vendor-specific identifier for the event.

9 OPC UA VariableTypes

9.1 TargetItemType

9.1.1 Overview

The VariableType defines the general characteristics of a TargetItem. A TargetItem is a OPC UA Variable that represents a target value. It is formally defined in Table 141.

Figure 67 - Overview TargetItemType

9.1.2 TargetItemType Definition

Table 141 - TargetItemType Definition
Attribute Value
BrowseNameTargetItemType
IsAbstractFalse
ValueRank-2
DataType0:Number
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the 0:AnalogItemType
0:HasComponentVariableMinusTolerance0:Number0:AnalogUnitTypeOptional
0:HasComponentVariablePlusTolerance0:Number0:AnalogUnitTypeOptional
0:HasPropertyVariableAllowedEngineeringUnits0:EUInformation[]0:PropertyTypeOptional

9.1.3 TargetItemType Description

MinusTolerance contains the lower relative limit of the value in TargetItemType. This may be a percentage or a relative concrete value.

PlusTolerance contains the upper relative limit of the value in TargetItemType. This may be a percentage or a relative concrete value.

AllowedEngineeringUnits contains an array of engineering units that can be handled by the OPC UA server.

9.2 MeasuredItemType

9.2.1 Overview

The VariableType defines the general characteristics of a MeasuredItem. A MeasuredItem is an OPC UA Variable that represents a measured value. It adds some Properties that describe the measurement parameters. It is formally defined in Table 142 and is leaned to the 0:AnalogItemType from OPC 10000-8.

Figure 68 - Overview MeasuredItemType

9.2.2 MeasuredItemType Definition

Table 142 - MeasuredItemType Definition
Attribute Value
BrowseNameMeasuredItemType
IsAbstractFalse
ValueRank-2
DataTypeBaseDataType
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the DataItemType
0:HasPropertyVariable0:EngineeringUnits0:EUInformation0:PropertyTypeMandatory
0:HasPropertyVariable0:EURange0:Range0:PropertyTypeMandatory
0:HasPropertyVariable0:InstrumentRange0:Range0:PropertyTypeOptional

9.2.3 MeasuredItemType Description

EngineeringUnits specifies the units for the DataItems value (e.g. DEGC, hertz, seconds). The 0:EUInformation type is specified in OPC 10000-8. If the DataType is a WeightItemType or a PrintableWeightItemType it is the unit of net, gross and tare.

EURange is specified like the EURange of the 0:AnalogItemType in OPC 10000-8. If the DataType is a WeightItemType or a PrintableWeightItemType it is the range of net, gross and tare.

InstrumentRange is specified like the EURange of the 0:AnalogItemType in OPC 10000-8.

9.3 WeightItemType

9.3.1 Overview

The VariableType defines the general characteristics of a WeightItem. The WeightItem is a measured weight value with some Properties. The value attribute has the DataType AbstractWeightType (see section 10.1) and contains the value of net, gross and tare. It is formally defined in Table 143.

The value of the WeightItemType is rounded to a verification scale division value if the scale is verified, otherwise it is rounded to the scale division.

Figure 69 - Overview WeightItemType

9.3.2 WeightItemType Definition

Table 143 - WeightItemType Definition
Attribute Value
BrowseNameWeightItemType
IsAbstractFalse
ValueRank-1
DataTypeWeightType
References NodeClass BrowseName DataType TypeDefinition ModellingRule
Subtype of the MeasuredItemType
0:HasPropertyVariableCenterOfZero0:Boolean0:PropertyTypeOptional
0:HasPropertyVariableCurrentRangeId0:UInt160:PropertyTypeOptional
0:HasPropertyVariableGrossNegative0:Boolean0:PropertyTypeOptional
0:HasPropertyVariableHighResolutionValueWeightType0:PropertyTypeOptional
0:HasPropertyVariableInsideZero0:Boolean0:PropertyTypeOptional
0:HasPropertyVariableLegalForTrade0:Boolean0:PropertyTypeOptional
0:HasPropertyVariableOverload0:Boolean0:PropertyTypeMandatory
0:HasPropertyVariablePrintableValuePrintableWeightType0:PropertyTypeOptional
0:HasPropertyVariableTareModeTareMode0:PropertyTypeMandatory
0:HasPropertyVariableUnderload0:Boolean0:PropertyTypeMandatory
0:HasPropertyVariableWeightId0:String0:PropertyTypeOptional
0:HasPropertyVariableWeightStable0:Boolean0:PropertyTypeOptional
0:HasPropertyVariableNet0:Double0:PropertyTypeOptional
0:HasPropertyVariableGross0:Double0:PropertyTypeOptional
0:HasPropertyVariableTare0:Double0:PropertyTypeOptional

9.3.3 WeightItemType Description

CenterOfZero defines if a value is in the vendor-specific tolerance to be zero (e.g., value differs by signal noise).

CurrentRangeId describes the identifier of the current range.

GrossNegative defines if the gross value is negative (e.g., in case of a too high preload).

HighResolutionValue defines the measured value. It is the best resolution the scale can provide in the current configuration.

InsideZero defines if the current measured value is within the valid range for the zero-setting procedure. If this variable is true, the setZero method can be called successfully if the Property does not change.

LegalForTrade defines if the current measured value is legal for trade.

Overload defines if the maximum allowed measured weight value is exceeded.

PrintableValue defines the measured value as 0:String representation without a unit. It is also rounded.

TareMode describes how the tare value is set.

Underload defines if the measued weight falls below the minimum allowed measured weight value.

WeightId defines a unique ID that refers to the verified value of a measurement procedure.

WeightStable defines if the weight is stable and not in movement.

Gross defines the gross value of weight as a 0:Double precision floating point number.

Net defines the net value of weight as a 0:Double precision floating point number.

Tare defines the tare value of weight as a 0:Double precision floating point number.

10 OPC UA DataTypes

10.1 AbstractWeightType

This is an abstract DataType that has the PrintableWeightType and the WeightType as subtypes. Both subtypes have the same structure, but their members have a different DataType. The AbstractWeightType is necessary to be able to define a VariableType with AbstractDataType and to add the actual DataType during instantiation. It is formally defined in

Table 144.

Table 144 - AbstractWeightType Definition
Attribute Value
BrowseNameAbstractWeightType
IsAbstractTrue
DisplayName Type IsArray Optional
Subtype of Structure defined in OPC 10000-5

10.2 PrintableWeightType

The DataType defines the general structure of a PrintableWeight. It is formally defined in Table 145.

Table 145 - PrintableWeightType Definition
Attribute Value
BrowseNamePrintableWeightType
IsAbstractFalse
DisplayName Type IsArray Optional
Subtype of AbstractWeightType

The structure is defined in Table 146.

Table 146 - PrintableWeightType Structure
NameTypeDescription
PrintableWeightType structureSubtype of the AbstractWeightType defined in this Companion Specification

Gross

0:StringGross defines the gross value of weight in 0:String without a unit.

Net

0:StringNet defines the net value of weight in 0:String without a unit.

Tare

0:StringTare defines the tare value of weight in 0:String without a unit.

10.3 WeightType

The DataType defines the general structure of a weight. It is formally defined in Table 147.

Table 147 - WeightType Definition
Attribute Value
BrowseNameWeightType
IsAbstractFalse
DisplayName Type IsArray Optional
Subtype of AbstractWeightType

The structure is defined in Table 148.

Table 148 - WeightType Structure
NameTypeDescription
WeightTypestructureSubtype of the AbstractWeightType defined in this Companion Specification

Gross

0:DoubleGross defines the gross value of weight as a 0:Double precision floating point number.

Net

0:DoubleNet defines the net value of weight as a 0:Double precision floating point number.

Tare

0:DoubleTare defines the tare value of weight as a 0:Double precision floating point number.

10.4 RecipeReportElementType

The DataType defines the general structure of a RecipeReportElementType. The RecipeReportElementType is used to create a RecipeReport (see section 7.31 for a detailed description of a RecipeReport). It is formally defined in Table 149.

Table 149 - RecipeReportElementType Definition
Attribute Value
BrowseNameRecipeReportElementType
IsAbstractFalse
DisplayName Type IsArray Optional
Subtype of Structure defined in OPC 10000-5
ReportMessage0:LocalizedTextFalseFalse
TimestampUtcTimeFalseFalse

The structure is defined in Table 150.

Table 150 - RecipeReportElementType Structure
NameTypeDescription
RecipeReportElementTypestructureSubtype of the AbstractWeightType defined in this Companion Specification

ReportMessage

0:LocalizedTextReportMessage defines a message that is to be added to the report.

Timestamp

UtcTimeTimestamp defines the time where the RecipeMessage was generated.

10.5 RecipeTargetValueType

The DataType defines the general structure of a RecipeTargetValueType. The RecipeTargetValueType is used to define and describe target values for a recipe. It is formally defined in Table 151.

Table 151 - RecipeTargetValueType Definition
Attribute Value
BrowseNameRecipeTargetValueType
IsAbstractFalse
DisplayName Type IsArray Optional
Subtype of Structure defined in OPC 10000-5

The structure is defined in Table 152.

Table 152 - RecipeTargetValueType Structure
NameTypeDescriptionOptional
RecipeTargetValueTypestructureSubtype of the AbstractWeightType defined in this Companion Specification

TargetValueId

UInt32

TargetValueId defines a unique identifier for the target value within the scale. If the value does exist in the address space, the TargetValueNodeId should be used.

False

TargetValueNodeId

NodeIdTargetValueNodeId defines the NodeId of the target value within the address space of the scale. If the value does exist in the address space, this value should be used.True

TargetValueName

0:LocalizedText

TargetValueName defines a user-readable name of the target value.

False

10.6 EqualityAndRelationalOperator

This Enumeration describes the different condition modes for an analog condition. Its representation in the AddressSpace and the possible values are defined in Table 153.

Table 153 - EqualityAndRelationalOperator Definition
Name Value Description
Equal_00The related condition is solved if the two values are equal
NotEqual_11The related condition is solved if the two values are not equal
LessOrEqualThan_22The related condition is solved if the variable value is less or equal than the reference value
GreaterOrEqualThan_33The related condition is solved if the variable value is greater or equal than the reference value
LessThan_44The related condition is solved if the variable value is less than the reference value
GreaterThan_55The related condition is solved if the variable value is greater than the reference value

10.7 EdgeOperator

This Enumeration describes the different condition modes for a binary condition. Its representation in the AddressSpace and the possible values are defined in Table 154.

Table 154 - EdgeOperator Definition
Name Value Description
Rising_00The related condition is solved if the variable value is change from false to true.
Falling_11The related condition is solved if the variable value is change from true to false.

10.8 DraftShieldType

This Enumeration describes the different positions of the draft shield. The value "all" accesses all possible DraftShields. Its representation in the AddressSpace and the possible values are defined in Table 155.

Table 155 - DraftShieldType Definition
Name Value Description
Right_00The draft shield that is located right of the scale.
Left_11The draft shield that is located left of the scale.
Top_22The draft shield that is located on top of the scale.
All_33All draft shield of the scale.

10.9 TareMode

This Enumeration describes how the tare value is set. Its representation in the AddressSpace and the possible values are defined in Table 156.

Table 156 - TareMode Definition
Name Value Description
None_00No tare mode is used
MeasuredTare_11The tare value is used. The tare value must be determined before measurement.
PresetTare_22The preset tare value is used as tare value.
ProportionalTare_33The proportional tare value is used as tare value.

10.10 ToleranceState

This Enumeration describes the different states of tolerance. Its representation in the AddressSpace and the possible values are defined in Table 157.

Table 157 - ToleranceState Definition
Name Value Description
In_00The value is within the tolerance range.
Under_11The value is underneath the tolerance range.
Over_22The value is above the tolerance range
UnderOrOver_33The value is underneath or above the tolerance range and is not further determined.

10.11 RecipeThresholdType

This Structure describes threshold values for recipes. It is formally defined in Table 158.

Table 158 - RecipeThresholdType Definition
Attribute Value
BrowseNameRecipeThresholdType
IsAbstractFalse
DisplayName Type IsArray Optional
Subtype of Structure defined in OPC 10000-5

The Structure is defined in Table 159.

Table 159 - RecipeThresholdType Structure
NameTypeDescriptionOptional
RecipeThresholdTypeStructureStructure describing threshold values for recipes.

ThresholdId

UInt32ThresholdId defines a unique identifier for the threshold.False

ThresholdNodeId

NodeIdThresholdNodeId defines the NodeId of the threshold within the address space of the scale. If the value does exist in the address space, this value should be used.True

ThresholdName

LocalizedTextThresholdName defines a user-readable name of the threshold.False

10.12 RateControlMode

This Enumeration describes the RateControlMode used in the ContinuousScaleType. Its representation in the AddressSpace and the possible values are defined in Table 160.

Table 160 - RateControlMode Definition
Name Value Description
Gravimetric_00Rate control mode based on weight measurement.
Volumetric_11Rate control mode based on volume measurement

11 ReferenceType

11.1 NextRecipeElementType

This ReferenceType is used to connect different RecipeElements. It defines that the RecipeElement described in the start node must be processed before the RecipeElement described by the target node. It is defined in Table 161.

Table 161 - NextRecipeElementType Definition
Attribute Value
BrowseNameNextRecipeElement
InverseNamePreviousRecipeElement
SymmetricFalse
IsAbstractFalse
Subtype of HierarchicalReferences in OPC 10000-5

12 Profiles and Conformance Units

12.1 Conformance Units

Table 162 defines the corresponding ConformanceUnits for the OPC UA Information Model for Weighing Technology.

Table 162 - Conformance Units for OPC UA for Weighing Technology
Category Title Description
ServerScales AutomaticFillingScaleSupports the handling of the AutomaticFillingScaleType
ServerScales AutomaticWeightPriceLabelerSupports the handling of the AutomaticWeightPriceLabelerType
ServerScales CatchweigherSupports the handling of the CatchweigherType
ServerScales CheckweigherSupports the handling of the CheckweigherType
ServerScales ContinuousScaleSupports the handling of the ContinuousScaleType
ServerScales Display_SI_unitsProperties with the DataType 0:EUInformation only contains SI units or units derived from SI units
ServerScales DynamicProductAddressSpaceSupports ProductionPreset handling with dynamic address space (the server dynamically deletes and adds ProductType objects).
ServerScales DynamicRecipeManagementSupports the possibility to add Recipe via OPC UA methods
ServerScales FileRecipeManagementSupports the upload of Recipe files
ServerScales FeederModuleSupports the handling of the FeederModuleType and the mandatory components of the types
ServerScales HopperScaleSupports the handling of the HopperScaleType
ServerScales InputArgument_SI_unitsThe OPC UA server only accepted SI units or units derived from SI units as InputArgument
ServerScales LaboratoryScaleSupports the handling of the LaboratoryScaleType
ServerScales Loss In Weight ScaleSupports the handling of the LossInWeightScaleType
ServerScales ManageProductSupports the handling of the methods AddProduct/RemoveProduct
ServerScales PieceCountingScaleSupports the handling of the PieceCountingScaleType
ServerScales PrinterModuleSupports the handling of the PrinterModuleType and the mandatory components of the types
ServerScales ProductTypeSupports the handling of the ProductType.
ServerScales RecipeManagmentSupports the handling of the RecipeManagmentType
ServerScales RecipeScaleSupports the handling of the RecipeScaleType
ServerScales ScaleDeviceTypeSupports the handling of the ScaleDeviceType and the mandatory components of the type
ServerScales ScaleSystemTypeSupports the handling of the ScaleSystemType and the mandatory components of the type
ServerScales SelectProductSupports the handling of the methods SelectProduct / DeselectProduct
ServerScales SimpleScaleSupports the handling of the SimpleScaleType
ServerScales StaticProductAddressSpaceThe product folder contains at least one product Object , but the objects are static in the address space (it is not possible to add or remove object from the product folder). To change product-related information, a product Object must be overwritten.
ServerScales TotalizingHopperScaleSupports the handling of the TotalizingHopperScaleType
ServerScales VehicleScaleSupports the handling of the VehicleScaleType
ServerScales WeighingBridgeSupports the handling of the WeighingModuleType
ServerScales DataChangeSupport the Standard DataChange Subscription Facet of OPC UA 10000-7

This section defines the corresponding Profiles and Conformance Units for the OPC UA Information Model for Weighing Technology. Profiles are named groupings of Conformance Units. Facets are Profiles that will be combined with other Profiles to define the complete functionality of an OPC UA Server or Client.

12.2 Profiles

12.2.1 Profile list

Table 163 lists all Profiles defined in this document and defines their URIs.

Table 163 - Profile URIs for Weighing Technology
Profile URI
Scales V2 Base Scale Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Scales_Base_Scale
Scales V2 Scale System Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Scales_Scale_System
Scales V2 Feeder Module Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Scales_Feeder_Module
Scales V2 Printer Module Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Scales_Printer_Module
Scales V2 Minimal Production Preset Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_Minimal_Production_Preset
Scales V2 Full Production Preset Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_Full_Production_Preset
Scales V2 International System of Units Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_International_System_of_Units
Scales_V2_AutomaticFillingScale Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_AutomaticFillingScale
Scales V2 Catchweigher Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_Catchweigher
Scales V2 AutomaticWeightPriceLabeler Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_AutomaticWeightPriceLabeler
Scales V2 Checkweigher Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_Checkweigher
Scales V2 Continuous Scale Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_Continuous_Scale
Scales V2 LossInWeight Scale Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_LossInWeight Scale
Scales V2 PieceCountingScale Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_PieceCountingScale
Scales V2 RecipeScale Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_RecipeScale
Scales V2 Totalizing Hopper Scale Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_Totalizing_Hopper Scale
Scales V2 Simple Scale Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_Simple_Scale
Scales V2 Laboratory Scale Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_Laboratory_Scale
Scales V2 Hopper Scale Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_Hopper_Scale
Scales V2 Weighing Bridge Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_Weighing Bridge
Scales V2 Vehicle Scale Server Facethttp://opcfoundation.org/UA-Profile/External/Scales/V2/Server/Scales_Vehicle_Scale

12.2.2 Server Facets

12.2.2.1 Overview

The following sections specify the Facets available for Servers that implement the Weighing Technology companion specification. Each section defines and describes a Facet or Profile.

12.2.2.2 Scales V2 Base Scale Server Facet

Table 164 defines a Facet for servers that implement a simple scale device.

Table 164 - Scales V2 Base Scale Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

Profile0:ComplexType Server FacetM
Profile2:BaseDevice_Server_FacetM
Profile4: Machinery Machine Identification Server FacetM
PackML 5:PackML State InformationO
ScalesScaleDeviceTypeM
Machinery4:Machinery Building Block OrganizationO
Machinery4:Machinery MachineryItemStateO
Machinery4:Machinery OperationModeO
12.2.2.3 Scales V2 Scale System Server Facet

Table 165 defines a Facet for servers that implement a multi scale device with a ScaleSystemType. Figure 70 shows an example of a scale system with two scales as subdevices: a catchweigher and a checkweigher.

Table 165 - Scales V2 Scale System Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

Profile0:ComplexType Server FacetM
Profile2:BaseDevice_Server_FacetM
Profile4: Machinery Machine Identification Server FacetM
ScalesScalesSystemTypeM
Machinery4:Machinery Building Block OrganizationO
Machinery4:Machinery MachineryItemStateO
Machinery4:Machinery OperationModeO
Figure 70 - Example of a Scale System
12.2.2.4 Scales V2 Feeder Module Server Facet

Table 166 defines a Facet for servers that implement feeder subdevices.

Table 166 - Scales V2 Feeder Module Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

Profile2:BaseDevice_Server_FacetM
Profile4: Machinery Machine Identification Server FacetM
ScalesScales FeederModuleM
Machinery4:Machinery Building Block OrganizationO
Machinery4:Machinery MachineryItemStateO
Machinery4:Machinery OperationModeO
12.2.2.5 Scales V2 Printer Module Server Facet

Table 167 defines a Facet for servers that implement printer subdevices.

Table 167 - Scales V2 Printer Module Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

Profile2:BaseDevice_Server_FacetM
Profile4: Machinery Machine Identification Server FacetM
ScalesScales PrinterModuleM
Machinery4:Machinery Building Block OrganizationO
Machinery4:Machinery MachineryItemStateO
Machinery4:Machinery OperationModeO
12.2.2.6 Scales V2 Minimal Production Preset Server Facet
Table 168 - Scales V2 Minimal Production Preset Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales DataChangeO
ScalesScales ProductTypeM
ScalesScales StaticProductAddressSpaceM
ScalesScales SelectProductO
12.2.2.7 Scales V2 Full Production Preset Server Facet

Table 169 defines a Facet for servers that implement a full production solution. This solution requires a dynamic address space. For each product a product Object will be created with the method AddProduct.

Table 169 - Scales V2 Full Production Preset Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales DataChangeO
ScalesScales ProductTypeM
ScalesScales DynamicProductAddressSpaceM
ScalesScales SelectProductM
ScalesScales ManageProductM
12.2.2.8 Scales V2 International System of Units Server Facet

Table 170 defines a Facet for servers that use only SI units or units derived from SI units.

Table 170 - Scales V2 International System of Units Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales Display_SI_unitsM
ScalesScales InputArgument_SI_unitsM
12.2.2.9 Scales V2 AutomaticFillingScale Server Facet

Table 171 defines a Facet for servers that implement an AutomaticFillingScale.

Table 171 - Scales V2 AutomaticFillingScale Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ProfileScales V2 Base Scale Server FacetM
ScalesScales AutomaticFillingScaleM
12.2.2.10 Scales V2 Catchweigher Server Facet

Table 172 defines a Facet for servers that implement a catchweigher.

Table 172 - Scales V2 Catchweigher Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales CatchweigherM
ProfileScales V2 Base Scale Server FacetM
12.2.2.11 Scales V2 AutomaticWeightPriceLabeler Server Facet

Table 173 defines a Facet for servers that implement an automatic weight-price labeler.

Table 173 - Scales V2 AutomaticWeightPriceLabeler Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales AutomaticWeightPriceLabelerM
ProfileScales V2 Base Scale Server FacetM
12.2.2.12 Scales V2 Checkweigher Server Facet

Table 174 defines a Facet for servers that implement a checkweigher.

Table 174 - Scales V2 Checkweigher Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales CheckweigherM
ProfileScales V2 Base Scale Server FacetM
12.2.2.13 Scales V2 Continuous Scale Server Facet

Table 175 defines a Facet for servers that implement a continuous scale.

Table 175 - Scales V2 Continuous Scale Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales ContinuousScaleM
ProfileScales V2 Base Scale Server FacetM
12.2.2.14 Scales V2 LossInWeight Scale Server Facet

Table 176 defines a Facet for servers that implement a loss in weight scale.

Table 176 - Scales V2 LossInWeight Scale Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales Loss In Weight ScaleM
ProfileScales V2 Base Scale Server FacetM
12.2.2.15 Scales V2 PieceCountingScale Server Facet

Table 177 defines a Facet for servers that implement a piece counting scale.

Table 177 - Scales V2 PieceCountingScale Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales PieceCountingScaleM
ProfileScales V2 Base Scale Server FacetM
12.2.2.16 Scales V2 RecipeScale Server Facet

Table 178 defines a Facet for servers that implement a recipe scale.

Table 178 - Scales V2 RecipeScale Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales RecipeScaleM
ScalesScales RecipeManagmentO
ScalesScales DynamicRecipeManagementO
ScalesScales FileRecipeManagementO
ProfileScales V2 Base Scale Server FacetM
12.2.2.17 Scales V2 Totalizing Hopper Scale Server Facet

Table 179 defines a Facet for servers that implement a totalizing hopper scale.

Table 179 - Scales V2 Totalizing Hopper Scale Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales TotalizingHopperScaleM
ProfileScales V2 Base Scale Server FacetM
12.2.2.18 Scales V2 Simple Scale Server Facet

Table 180 defines a Facet for servers that implement a simple scale.

Table 180 - Scales V2 Simple Scale Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales SimpleScaleM
ProfileScales V2 Base Scale Server FacetM
12.2.2.19 Scales V2 Laboratory Scale Server Facet

Table 181 defines a Facet for servers that implement a laboratory scale.

Table 181 - Scales V2 Laboratory Scale Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales LaboratoryScaleM
ProfileScales V2 Base Scale Server FacetM
12.2.2.20 Scales V2 Hopper Scale Server Facet

Table 182 defines a Facet for servers that implement a hopper scale.

Table 182 - Scales V2 Hopper Scale Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales HopperScaleM
ProfileScales V2 Base Scale Server FacetM
12.2.2.21 Scales V2 Weighing Bridge Server Facet

Table 183 defines a Facet for servers that implement a weighing module.

Table 183 - Scales V2 Weighing Bridge Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales WeighingBridgeM
ProfileScales V2 Base Scale Server FacetM
12.2.2.22 Scales V2 Vehicle Scale Server Facet

Table 184 Table 183 defines a Facet for servers that implement a vehicle scale.

Table 184 - Scales V2 Vehicle Scale Server Facet
GroupConformance Unit / Profile Title

Optional/

Mandatory

ScalesScales VehicleScaleM
ProfileScales V2 Base Scale Server FacetM

13 Namespaces

13.1 Namespace Metadata

Table 185 defines the namespace metadata for this specification. The Object namespace metadata is used to provide version information for the namespace and an indication about static Nodes. Static Nodes are identical for all Attributes in all Servers, including the Value Attribute. See OPC 10000-5 for more details.

The information is provided as Object of the type NamespaceMetadataType. This Object is a component of the Namespace Object that is part of the Server Object. The NamespaceMetadataType ObjectType and its Properties are defined in OPC 10000-5.

The version information is also provided as part of the ModelTableEntry in the UANodeSet XML file. The UANodeSet XML schema is defined in OPC 10000-6.

Table 185 - NamespaceMetadata Object for this Document
Attribute Value
BrowseNamehttp://opcfoundation.org/UA/Scales/V2/
Property DataType Value
NamespaceUriStringhttp://opcfoundation.org/UA/Scales/V2/
NamespaceVersionString2.00
NamespacePublicationDateDateTime2025-03-01
IsNamespaceSubsetBooleanFalse
StaticNodeIdTypesIdType []0
StaticNumericNodeIdRangeNumericRange []
StaticStringNodeIdPatternString

Note: The IsNamespaceSubset Property is set to False as the UANodeSet XML file contains the complete Namespace. Servers only exposing a subset of the Namespace need to change the value to True.

13.2 Handling of OPC UA Namespaces

Namespaces are used by OPC UA to create unique identifiers across different naming authorities. The Attributes NodeId and BrowseName are identifiers. A Node in the UA AddressSpace is unambiguously identified using a NodeId. Unlike NodeIds, the BrowseName cannot be used to unambiguously identify a Node. Different Nodes may have the same BrowseName. They are used to build a browse path between two Nodes or to define a standard Property.

Servers may often choose to use the same namespace for the NodeId and the BrowseName. However, if they want to provide a standard Property, its BrowseName shall have the namespace of the standard body although the namespace of the NodeId reflects something else, for example the EngineeringUnits Property. All NodeIds of Nodes not defined in this specification shall not use the standard namespaces.

Table 186 provides a list of mandatory and optional namespaces used in a weighing technology OPC UA server.

Table 186 - Namespaces used in a Weighing Technology Server
NamespaceURIDescriptionUse
http://opcfoundation.org/UA/Namespace for NodeIds and BrowseNames defined in the OPC UA specification. This namespace shall have namespace index 0.Mandatory
Local Server URINamespace for nodes defined in the local server. This may include types and instances used in an AutoID Device represented by the server. This namespace shall have namespace index 1.Mandatory
http://opcfoundation.org/UA/DI/Namespace for NodeIds and BrowseNames defined in OPC 10000-100. The namespace index is server specific.Mandatory
http://opcfoundation.org/UA/IA/Namespace for NodeIds and BrowseNames defined in OPC 10000-200. The namespace index is server specific.Mandatory
http://opcfoundation.org/UA/Machinery/Namespace for NodeIds and BrowseNames defined in OPC 40001-1. The namespace index is Server specific.Mandatory
http://opcfoundation.org/UA/PackML/Namespace for NodeIds and BrowseNames defined in OPC 30050. The namespace index is Server specific.Mandatory
http://opcfoundation.org/UA/Scales/V2/Namespace for NodeIds and BrowseNames defined in this specification. The namespace index is server specific.Mandatory
Vendor-specific types and instancesA server may provide vendor-specific types like types derived from ObjectTypes defined in this specification or vendor-specific instances of those types in a vendor-specific namespace.Optional

Table 187 provides a list of namespaces and their index used for BrowseNames in this specification. The default namespace of this specification is not listed since all BrowseNames without prefix use this default namespace.

Table 187 - Namespaces used in this specification
NamespaceURINamespace IndexExample
http://opcfoundation.org/UA/00:EngineeringUnits
http://opcfoundation.org/UA/DI/22:DeviceRevision
http://opcfoundation.org/UA/IA/33:StartTime
http://opcfoundation.org/UA/Machinery/44:MachineIdentificationType
http://opcfoundation.org/UA/PackML/55:PackMLBaseStateMachineType

14 (normative)Weighing Technology Namespace and mappings

NodeSet and Supplementary Files for Weighing Technology Information Model

The Weighing Technology Information Model is identified by the following URI:

http://opcfoundation.org/UA/Scales/V2/

Documentation for the NamespaceUri can be found here.

The NodeSet associated with this version of specification can be found here:

https://reference.opcfoundation.org/nodesets/?u=http://opcfoundation.org/UA/Scales/V2/&v=2.00&i=1

The NodeSet associated with the latest version of the specification can be found here:

https://reference.opcfoundation.org/nodesets/?u=http://opcfoundation.org/UA/Scales/V2/&i=1

The supplementary files associated with this version of specification can be found here:

https://reference.opcfoundation.org/nodesets/?u=http://opcfoundation.org/UA/Scales/V2/&v=2.00&i=2

The supplementary files associated with the latest version of the specification can be found here:

https://reference.opcfoundation.org/nodesets/?u=http://opcfoundation.org/UA/Scales/V2/&i=2

15 (normative)Recipe and Recipe Management

What is a Recipe?

A recipe in the context of this specification is a description of single steps (called recipe elements) that can be performed sequentially and/or in parallel. Within a recipe there can be different types of steps. This specification defines the following recipe steps:

user instruction

conditional sleep

activation

The list of defined steps is not complete and can be extended vendor-specifically or in later versions.

Structures of Recipes for Weighing Technology

In this chapter, the structure of a recipe will be described in more detail. Each recipe contains a start and an end element as well as many recipe steps and dependencies between the individual steps. The following sequences must be modeled for typical scale applications:

A recipe element is activated when another recipe element is finished (sequential).

Figure 71 - Sequential part of a recipe with two recipe steps

Several steps can be activated in parallel (forking). If several recipe elements are activated, the scale must decide whether they can be started independent of each other (“real simultaneous”) or must be processed sequentially (“quasi-simultaneous”). The scale does not guarantee a sequential sequence.

Figure 72 - Forking part of a recipe with two simultaneous steps

A step is not activated until several other steps have been completed (joining).

Figure 73 - Joining part of a recipe waiting on two other steps

A recipe represents a directed graph without cycles. A recipe element A may therefore only refer to a recipe element B if there is no path between the start and A where B is an element.

16 (normative)Event and Alarm Categories

Table 188 contains the defined NotificationCategories which can be used for classification of the alarms or events.

Table 188 - Defined NotificationCategories
Name ValueAsTextEnumValueDescription
OthersOTHERS0Notifications that are not related to another class
ProcessPROCESS1Notification that are related to the weighing or value-added process
SystemSYSTEM2Notifications that are related to scale system, like date errors or hardware errors
MemoryMEMORY3Notification that are related to the memory.
ComponentCOMPONENT4Notifications that are related a component of the scale
CommunicationCOMMUNICATION5Notification that are related a communication system like a field bus error
WeighingBridgeModuleWEIGHING_MODULE6Notifications that are related to the weighingBridgeModule
EnvironmentENVIRONMENT7Notification that are related to the environment

Table 189 contains the defined NotificationIds.

Table 189 - Defined NotificationIds
NotificationId - ValueAsTextNotificationId - EnumValueNotificationCategoryDescription
NotificationIds that are not related to another class
GENERAL_OTHER_FAULT1OTHERSA general fault that not related to another NotificationCategory
NotificationIds related to the Process
GENERAL_PROCESS_FAULT100PROCESSA general fault that is related to the process. This fault should be used if no other fault related to the process exist
PRODUCT_DATA_FAULT101PROCESSInconsistent or incomplete product data
LABEL_FAULT102PROCESSGeneral label error, limited only to the label
BAD_PACK103PROCESSPackage sorted out
CRITICAL_EXTERNAL_FAULT104PROCESSCritical Alarm from external Device (like metal detector, external storage etc.)
REJECT_VERIFICATION_FAULT105PROCESSItem reject process not successful
CONTAMINATION_DETECT106PROCESSMachine rejects due to a detected contamination (x-ray / MD)
VISION_INSPECTION107PROCESSMachine rejects due to a wrong vision of code inspection
CONSECUTIVE_REJECTS108PROCESSMachine stop due to consecutive rejects
EMERGENCY_STOP109PROCESSEmergency stop is active and not acknowledged yet
NotificationIds related to the System
GENERAL_SYSTEM_FAULT200SYSTEMA general fault that is related to the system. This fault should be used if no other fault related to the system exist
LOGIN_FAULT201SYSTEMUnsuccessful login event
NotificationIds related to the Memory
GENERAL_MEMORY_FAULT300MEMORYA general fault that is related to the memory
NotificationIds related to the Component of a scale
GENERAL_COMPONENT_FAULT400COMPONENTA general fault that is related to the component of a system. This fault should be used if no other fault related to the component exist
PRINTER_FAULT401COMPONENTGeneral printer fault, which prevents at least one printer from printing
FEEDER_FAULT402COMPONENTGeneral Feeder error, but feeder is running yet
FEEDER_NOT_RUNNING403COMPONENTSpecial Alarm to indicate "feeder not running" state
NotificationIds related to the Communication of a scale
GENERAL_COMMUNICATION_FAULT500COMMUNICATIONA general fault that is related to the communication system. This fault should be used if no other fault related to the communication exist
NotificationIds related to the weighing module
GENERAL_WEIGHING_MODULE_FAULT600WEIGHING_MODULEA general fault that is related to the weighing module This fault should be used if no other fault related to the weighing module exist
OVERLOAD_FAULT601WEIGHING_MODULEScale overloaded. That means the maximum allowed measured weight value is exceeded and the Overload property of a WeightItemType is true.
OUT_OF_RANGE_FAULT602WEIGHING_MODULEWeight out of (approved) range, but not yet overload
UNDERLOAD_FAULT603WEIGHING_MODULEScale underloaded. That means the minimum allowed measured weight value is gone below.
TARE_SETTING_FAULT604WEIGHING_MODULEError during tare setting
ZERO_SETTING_FAULT605WEIGHING_MODULEError during zero setting
REZERO_REQUIRED606WEIGHING_MODULELoad cell re-zeroing is required
NotificationIds related to the Environment
GENERAL_ENVIRONMENT_FAULT700ENVIRONMENTA general fault that is related to the environment system. This fault should be used if no other fault related to the environment exist
POWER_SUPPLY_FAULT701ENVIRONMENTGeneral faulty power supply
AIR_PRESSURE_FAULT702ENVIRONMENTGeneral faulty air pressure

17 (informative)Example

Example 1 - Simple Scale

Figure 74 shows the address space of an OPC UA Server of a simple scale. The Object mySimpleScale represents the scale. The Object has the ObjectType SimpleScaleType and all mandatory nodes. The variable CurrentWeight has the DataType WeightType, which contains the gross, net and tare value.

Figure 74 - Overview of a Server with a SimpleScale

Agreement of Use

COPYRIGHT RESTRICTIONS

This document is provided "as is" by the OPC Foundation and the VDMA

Right of use for this specification is restricted to this specification and does not grant rights of use for referred documents.

Right of use for this specification will be granted without cost.

This document may be distributed through computer systems, printed or copied as long as the content remains unchanged, and the document is not modified.

OPC Foundation and VDMA do not guarantee usability for any purpose and shall not be made liable for any case using the content of this document.

The user of the document agrees to indemnify OPC Foundation and VDMA and their officers, directors and agents harmless from all demands, claims, actions, losses, damages (including damages from personal injuries), costs and expenses (including attorneys' fees) which are in any way related to activities associated with its use of content from this specification.

The document shall not be used in conjunction with company advertising, shall not be sold or licensed to any party.

The intellectual property and copyright are solely owned by the OPC Foundation and the VDMA.

PATENTS

The attention of adopters is directed to the possibility that compliance with or adoption of OPC or VDMA specifications may require use of an invention covered by patent rights. OPC Foundation or VDMA shall not be responsible for identifying patents for which a license may be required by any OPC or VDMA specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. OPC or VDMA specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents.

WARRANTY AND LIABILITY DISCLAIMERS

WHILE THIS PUBLICATION IS BELIEVED TO BE ACCURATE, IT IS PROVIDED "AS IS" AND MAY CONTAIN ERRORS OR MISPRINTS. THE OPC FOUDATION NOR VDMA MAKES NO WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, WITH REGARD TO THIS PUBLICATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF TITLE OR OWNERSHIP, IMPLIED WARRANTY OF MERCHANTABILITY OR WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE OR USE. IN NO EVENT SHALL THE OPC FOUNDATION NOR VDMA BE LIABLE FOR ERRORS CONTAINED HEREIN OR FOR DIRECT, INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, RELIANCE OR COVER DAMAGES, INCLUDING LOSS OF PROFITS, REVENUE, DATA OR USE, INCURRED BY ANY USER OR ANY THIRD PARTY IN CONNECTION WITH THE FURNISHING, PERFORMANCE, OR USE OF THIS MATERIAL, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

The entire risk as to the quality and performance of software developed using this specification is borne by the user of this specification.

RESTRICTED RIGHTS LEGEND

This Specification is provided with Restricted Rights. Use, duplication, or disclosure by the U.S. government is subject to restrictions as set forth in (a) this Agreement pursuant to DFARs 227.7202-3(a); (b) subparagraph (c)(1)(i) of the Rights in Technical Data and Computer Software clause at DFARs 252.227 -7013; or (c) the Commercial Computer Software Restricted Rights clause at FAR 52.227-19 subdivision (c)(1) and (2), as applicable. Contractor / manufacturer are the OPC Foundation, 16101 N. 82nd Street, Suite 3B, Scottsdale, AZ, 85260 -1830.

TRADEMARKS

Most computer and software brand names have trademarks or registered trademarks. The individual trademarks have not been listed here.

GENERAL PROVISIONS

Should any provision of this Agreement be held to be void, invalid, unenforceable, or illegal by a court, the validity and enforceability of the other provisions shall not be affected thereby.

This Agreement shall be governed by and construed under the laws of Germany.

This Agreement embodies the entire understanding between the parties with respect to and supersedes any prior understanding or agreement (oral or written) relating to, this specification.

This Agreement embodies the entire understanding between the parties with respect to, and supersedes any prior understanding or agreement (oral or written) relating to, this specification.

Version 2.00 Changes

The following table gives an overview of the changes in this version of the specification.

Summary Changes
Integration of StateMachine from CS MachineryAddition of 4:MachineryItemState, 4:MachineryOperationMode and 4:MachineryBuildingBlocks to
7.1 FeederModuleType
7.2 PrinterModuleType
7.3 ScaleSystemType and
7.4 ScaleDeviceType
ProductionOutput added in ScaleDeviceType – 7.4.2 ProductionOutput added in ScaleDeviceType – 7.4.2
Numerous changes from AnalogItemType to AnalogUnitTypeBREAKING CHANGE
7.1 MaximumFeederSpeed, MinimalFeederSpeed
7.2 LabelLength, LabelWidth
7.6 Tare, Throughput
7.8 PresetTare
7.9 Deviation
7.12 PresetHeight, PresetLength, PresetWidth
7.13 MeasuredHeight, MeasuredLength, MeasuredVolume, MeasuredWidth
7.19 GiveAway
7.20 MaxValue, MeanValue, MinValue, PercentageOfTotal, StandardDeviation, SumWeight
7.23 LowerLimit, UpperLimit
7.24 MaxFlowRate, MinFlowRate
7.25 MaterialDensity
7.34 TargetValue
7.47 LevelMax, LevelMin
9.1.2 MinusTolerance, PlusTolerance
LowerToleranceLimit1 and LowerToleranceLimit2 added in CheckweigherProductType – 7.18.2 LowerToleranceLimit1 and LowerToleranceLimit2 added in CheckweigherProductType – 7.18.2
Components added/changed in ContinuousScaleTypeBREAKING CHANGE
7.24 MaxFlowRate and MinFlowRate changed to optional
added ControlMagnitude, Speed, RateControlMode, TargetFlowRate and Load
removed HopperWeight
Components added in LossInWeightScaleTypeBREAKING CHANGE
7.26 added mandatory HopperFillLevel and HopperWeight
added BinWeight
Change of TypeDefinition of accepted and rejected statistics in CheckweigherStatisticTypeBREAKING CHANGE
7.19 changed <PackagesRejectedBySystem> and TotalPackagesRejected to RejectedStatisticCounterType
changed TotalPackagesAccepted to AcceptedStatisticCounterType
Changed TypeDefinition of ThresholdValueNodeId in ConditionSleepType7.35 TypeDefinition of ThresholdValueNodeId in ConditionSleepType changed to BaseDataVariableType
Integration of Statistics from CS Industrial Automation

BREAKING CHANGE

Using the appropriate subtype of 3:IStatisticsType and the 3:HasStatisticComponent Reference in

7.6 StatisticType

7.19 CheckweigherStatisticType

7.20 StatisticCounterType

7.52 FloatingStatisticType

Changed Machinery Identification to Mandatory

BREAKING CHANGE

Change of 2:Identification to Mandatory in

7.1 FeederModuleType
7.2 PrinterModuleType
7.3 ScaleSystemType and
7.4 ScaleDeviceType

Reverted mandatory Identification parameters

BREAKING CHANGE

Reverted 2:DeviceClass, 2:HardwareRevision, 2:Manufacturer, 2:Model, 2:SerialNumber and 2:SoftwareRevision not to be overridden to mandatory in

7.3 ScaleSystemType and
7.4 ScaleDeviceType