The WireHarnessMachineIdentificationType provides information about the MachineryItem and is formally defined in Table 29. This is a subtype of the 3:MachineryIdentificationType; the ModellingRule for 2:AssetID has changed.

Table 29 – WireHarnessMachineIdentificationType definition

Attribute

Value

BrowseName

WireHarnessMachineIdentificationType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 4:MachineIdentificationType defined in OPC40001-1; i.e., inherits the InstanceDeclarations of that Node.

HasProperty

Variable

2:AssetId

String

PropertyType

Mandatory

Conformance Units

WireHarness WireHarnessMachineIdentificationType

The PartManagementType contains a list of parts, as well as methods to add and remove parts from the Server. It is formally defined in Table 30.

The system must also be capable of managing local deletions, assuming that parts and articles can be removed from the local database while still existing in a central repository.

In cases of incorrect referencing (e.g., a missing part or article), the server must throw an error.

Table 30 – PartManagementType definition

Attribute

Value

BrowseName

PartManagementType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the BaseObjectType defined in the OPC10000-3; i.e., inherits the InstanceDeclarations of that Node.

HasComponent

Method

ClearPart

Mandatory

HasComponent

Variable

Terminals

3:ISA95MaterialDataType[]

BaseDataVariableType

Optional

HasComponent

Variable

Seals

3:ISA95MaterialDataType[]

BaseDataVariableType

Optional

HasComponent

Variable

Sleeves

3:ISA95MaterialDataType[]

BaseDataVariableType

Optional

HasComponent

Variable

Wires

3:ISA95MaterialDataType[]

BaseDataVariableType

Optional

HasComponent

Method

StorePart

Mandatory

HasComponent

Method

FindPartsByType

Optional

Conformance Units

WireHarness PartManagementType

Each Part represents an 3:ISA95MaterialDataType with the Properties shown in Table 15 (VECPartVersion and VECDocumentVersion).

Both Properties (VECPartVersion and VECDocumentVersion) must not provide by the server in the part Lists (Terminals, Seals, Sleeves, Wires) but need to be sent from the client to the server (in the method calls).

The Fields especially of the VECDocumentVersion structure depend on the kind of process and the Part. Table 31 - Table 33 show which fields need to be filled for each Part. The table has four columns. The first column displays the VEC attribute, the second provides an additional commonly used name, followed by a description and an indication of whether the parameter is always required or optional. The VEC attribute can be a direct child of the specification or a child of a subelement; in the latter case, it is separated by a "/".

Wires contain Part information for all wires. Table 31 contains the fields that must be given for this Parameter.

Terminals contain Part information for all terminals. Table 32 contains the fields that must be given for this Parameter.

Seals contain Part information for all seals. Table 33 contains the fields that must be given for this Parameter.

Table 31 – Fields of a Wire

Fields (VEC Attributes)

Alternative Name

Description

Optional/Mandatory field

WireElementSpecification/WireType

WireType

Defines the type of the wire. A wire must not have more than one type. This attribute allows more than one value because the same type can be expressed in multiple reference systems.

WireType: Specifies a wire type. A wire type is always defined by a key value. Which wire type is meant by this key value is defined by a standard reference system.

Optional

ConductorSpecification/CrossSectionArea

CrossSection

Specifies the cross-section area of the conductor (e.g., 0.5 mm²). The cross-section area is a nominal value, which refers to the conducting properties of the conductor normalized to the properties of a full material core.

Mandatory

CoreSpecification/OutsideDiameter

ConductorDiameter

Specifies the outside diameter of the core.

Optional

WireElementSpecification/OutsideDiameter

IsoDiameter

Specifies the outside diameter of the WireElement.

Optional

InsulationSpecification/BaseColor

Color_1

Specifies the base color of the outer insulation.

Optional

InsulationSpecification/FirstIdentificationColor

Color_2

Specifies the first identification color of the outer insulation.

Optional

InsulationSpecification/SecondIdentificationColor

Color_3

Specifies the second identification color of the outer insulation.

Optional

Table 32 – Fields of a Terminal

Fields

Alternative Name

Description

Optional/Mandatory field

WireReceptionSpecification/CrimpConnectionLength

OverallCrimpingLength

Distance from the conductor tip (in the direction of the center of the wire) to the beginning of the terminal. Specifies the length of the crimp area, conductor, and insulation crimp (wire reception, see diagram "Terminal Dimensions").

Optional

TerminalSpecification/OverallLength

OverallTerminalLength

Used to circumnavigate obstacles.

Specifies the overall length the terminal.

Optional

WireReceptionSpecification/CoreCrimpDetails/Size/Width

NominalCrimpWidth

Defines the expected size of the crimp. The height is measured in the direction of the crimp opening. The width is measured orthogonal to the height and orthogonal to the main axis of the terminal

Optional

WireReceptionSpecification/CoreCrimpDetails/Size/Width/Tolerance

NominalCrimpWidthRange

Specifies the tolerance for the CrimpWidth

Optional

GeneralTechnicalPartSpecification/BoundingBox

MaximalTerminalWidth

Defines the bounding box of the part.

BoundingBox: The bounding box is defined for the processed state of the component, as it appears in the finished product. Therefore, it is valid to use the bounding box as simplified geometry of the component for viewing or simple DMU operations. For correct 3D positioning, the bounding may require transformation of the coordinate system of the component (see LocalGeometrySpecification.BoundingBoxPositioning).

The bounding box defines the smallest cuboid (box) that can contain a described part completely. If a component has multiple variants, the bounding box is the smallest cuboid that can contain every variant, while maintaining the spatial orientation of the bounding box and component variants.

It is valid to use the BoundingBox to describe the dimensions of a component, even if not all dimensions are known (e.g., only length and width). However, it must be possible to transform such a partial bounding box into a complete bounding box by adding the missing dimensions.

Used to circumnavigate obstacles.

The x,y,z coordinate of the Bouding Box are defined in the Figure 14.

Optional

7:PartVersion/PrimaryPartType

TerminalType

For display purposes.

Optional

WireReceptionSpecification/InsulationDisplacementLength

NominalStrippingLength

Specifies the length of the insulation which must be stripped off to fit to this wire reception. This overrides stripping parameters such as StripStartPosition

Optional

WireReceptionSpecification/InsulationDisplacementLength/Tolerance

NominalStrippingLengthRange

Specifies the tolerance for the dimension.

Optional

image019.jpg

Figure 14 – Direction of a Terminal (based on VEC)

Table 33 – Fields of a Seal

Fields

Alternative Name

Description

Optional/Mandatory field

GeneralTechnicalPartSpecification/ColorInformation

SealColor

Specifies the color of the part.

Optional

GeneralTechnicalPartSpecification/BoundingBox

SealLength /GeometricSealWidth

Length of the seal

Mandatory

This method is used to add a new Part to a list.

The signature of this Method is specified below. Table 34 and Table 35 specify the Arguments and AddressSpace representation, respectively.

Signature

StorePart(

[in]3:ISA95MaterialDataTypePart);

Table 34 – StorePart Method Arguments

Argument

Description

Part

Information about the part.

Table 35 – StorePart Method AddressSpace definition

Attribute

Value

BrowseName

StorePart

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

This method returns all Parts of a Type.

The signature of this Method is specified below. Table 36 and Table 37 specify the Arguments and AddressSpace representation, respectively.

Signature

FindPartsByType (

[in]0:NodeId TypeNodeId,

[out]3:ISA95MaterialDataType[]Parts);

Table 36 – FindPartsByType Method Arguments

Argument

Description

TypeNodeId

NodeId of the list of parts that should be returned. The node must be a subtype of the PartDataType.

Parts

Information about the part.

Table 37 – FindPartsByType Method AddressSpace definition

Attribute

Value

BrowseName

FindPartsByType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

0:HasProperty

Variable

0:OutputArguments

0:Argument[]

0:PropertyType

0:Mandatory

Theis method is used to remove a Part from the S.

The signature of this Method is specified below. Table 38 and Table 39 specify the Arguments and AddressSpace representation, respectively.

Note: The Data Integrity described in 4.1.3 must be considered.

Signature

ClearPart (

[in] 3:ISA95MaterialDataType Part);

Table 38 – ClearPart Method Arguments

Argument

Description

Part

Information about the part. Either a MaterialClassID, or MaterialDefinitionID must be defined.

Warning: If only the MaterialClassID is used, all entries of a MaterialClass (e.g., all wires) are cleared.

Table 39 – ClearPart Method AddressSpace definition

Attribute

Value

BrowseName

ClearPart

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

The ArticleSpecManagementType contains a list of articles and methods to add and remove article specs from the server. It is formally defined in Table 43.

Each Article Spec represents to a 3:ISA95MaterialDataType with the Properties shown in Table 18 (VECPartVersion, VECDocumentVersion and Processes). The table has four columns. The first column displays the VEC attribute, the second provides an additional commonly used name, followed by a description and an indication of whether the parameter is always required or optional. The VEC attribute can be a direct child of the specification or a child of a subelement; in the latter case, it is separated by a "/".

The properties VECPartVersion, VECDocumentVersion and Processes may not be provided by the server in the ArticleList but need to be send from the client to the server (in the method calls). The Values depend on the kind of process and the Part. Table 40 - Table 42 show which fields need to be filled for each process the article spec should describe.

Table 40 – Fields for Cut Process

Fields

Alternative Name

Description

Modelling Rule

WireElementReference/WireLength["Production"]

NominalLength

Specifies the target length of a wire according to the product specifications.

Mandatory

Table 41 – Fields for Strip Process

Fields

Alternative Name

Description

Modelling Rule

WireEnd/StrippingLength

StartPosition

Defines the position where insulation will be stripped relative to the WireEnd; e.g., a StripStartPosition of 20 mm means that this WireElementReference is stripped at 20 mm relative to the length of the whole wire, on the side of the defining WireEnd. Note: If a crimping process is to be performed, the NominalStrippingLength takes priority over this StripStartPosition. In other words, the StriptStartPosition is only used when no crimping process is selected.

Note: Use ExtendedWireEnd DataType instead of WireEnd.

Mandatory

WireEnd

Reference to the WireEnd that should be stripped. This also represents information about the layer, as the WireElementReference (to which a WireEnd belongs) is associated with the structure of the wire.

Mandatory

Table 42 – Fields for Crimp Process

Fields

Alternative Name

Description

Modelling Rule

ContactingSpecification/ContactPoint/WireMounting/MountedCavitySeal

HasSeal

References the cavity seal used for the wire mounting.

Mandatory

ContactingSpecification/ContactPoint/WireMounting/WireMountingDetail/CoreCrimpSize/Height

NominalCrimpHeight

Defines the expected size of the crimp. The height is measured in the direction of the crimp opening. The width is measured orthogonal to the height and orthogonal to the main axis of the terminal.

Optional

ContactingSpecification/ContactPoint/WireMounting/WireMountingDetail/CoreCrimpSize/Width

NominalCrimpWidth

Defines the expected size of the crimp. The height is measured in the direction of the crimp opening. The width is measured orthogonal to the height and orthogonal to the main axis of the terminal.

Optional

ContactingSpecification/ContactPoint/WireMounting/WireMountingDetail/CoreCrimpSize/Height/Tolerance

NominalCrimpHeightTolerance

Specifies the tolerance for the dimension.

Optional

ContactingSpecification/ContactPoint/WireMounting/WireMountingDetail/CoreCrimpSize/Width/Tolerance

NominalCrimpWidthTolerance

Specifies the tolerance for the dimension.

Optional

ContactingSpecification/ContactPoint/WireMounting/WireMountingDetail/InsulationCrimpSize/Height

NominalInsulationCrimpHeight

Defines the expected size of the crimp. The height is measured in the direction of the crimp opening. The width is measured orthogonal to the height and orthogonal to the main axis of the terminal

Optional

ContactingSpecification/ContactPoint/WireMounting/WireMountingDetail/InsulationCrimpSize/Height/Tolerance

NominalInsulationCrimpHeightTolerance

Specifies the tolerance for the dimension.

Optional

ContactingSpecification/ContactPoint/WireMounting/WireMountingDetail/ InsulationCrimpSize/Width

NominalInsulationCrimpWidth

Defines the expected size of the crimp. The height is measured in the direction of the crimp opening. The width is measured orthogonal to the height and orthogonal to the main axis of the terminal

Optional

ContactingSpecification/ContactPoint/WireMounting/WireMountingDetail/InsulationCrimpSize/Width/Tolerance

NominalInsulationCrimpWidthTolerance

Specifies the tolerance for the dimension.

Optional

ContactingSpecification/ContactPoint/WireMounting/WireMountingDetail/WireTipProtrusion

WireTipProtrusionRange

Defines the valid length range in which the protrusion of the conductor from the conductor crimp must be located.

Optional

Table 43 – ArticleSpecManagementType definition

Attribute

Value

BrowseName

ArticleSpecManagementType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-3; i.e., inherits the InstanceDeclarations of that Node.

HasComponent

Variable

ArticleSpecList

3:ISA95MaterialDataType[]

BaseDataVariableType

Mandatory

HasComponent

Method

ClearArticleSpec

Mandatory

HasComponent

Method

StoreArticleSpec

Mandatory

Conformance Units

WireHarness ArticleManagementType

ArticleSpecList contains a list of all article specs known by the Server.

This method is used to add a new article to a list.

The signature of this Method is specified below. Table 44 and Table 45 specify the Arguments and AddressSpace representation, respectively.

Note: The data integrity described in 4.1.3 must be considered.

Signature

StoreArticleSpec(

[in] 3:ISA95MaterialDataType ArticleSpec);

Table 44 – StoreArticleSpec Method Arguments

Argument

Description

ArticleSpec

Information about the article. The Parameter of Table 17 (VECPartVersion, VECDocumentVersion and Processes) needed be filled.

Table 45 – StoreArticleSpec Method AddressSpace definition

Attribute

Value

BrowseName

StoreArticleSpec

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

The method is used remove an article from the server.

The signature of this Method is specified below. Table 46 and Table 47 specify the Arguments and AddressSpace representation, respectively.

Note: The Data Integrity described in 4.1.3 must be considered.

Signature

ClearArticleSpec (

[in]3:ISA95MaterialDataTypeArticleSpec);

Table 46 – ClearArticleSpec Method Arguments

Argument

Description

ArticleSpec

Information about the article. Either MaterialClassID or MaterialDefinitionID,must be defined.

Warning: If only the MaterialClassID is used, all entries of a MaterialClass (e.g., all wires) are cleared.

Table 47 – ClearArticleSpec Method AddressSpace definition

Attribute

Value

BrowseName

ClearArticleSpec

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

0:HasProperty

Variable

0:InputArguments

0:Argument[]

0:PropertyType

0:Mandatory

The WireHarnessMachineType represents the entire wire harness machine interface of the information model. It is the entry point to the OPC UA interface of a wire harness machine. It gives a basic structure to the interface. An instance of this type aggregates all information related to one wire harness machine. The WireHarnessMachineType is formally defined in Table 48.

Table 48 – WireHarnessMachineType definition

Attribute

Value

BrowseName

WireHarnessMachineType

IsAbstract

False

References

Node Class

BrowseName

DataType

TypeDefinition

Other

Subtype of the 0:BaseObjectType defined in OPC 10000-3; i.e., inherits the InstanceDeclarations of that Node.

HasComponent

Object

ArticleSpecManagement

ArticleSpecManagementType

Optional

HasComponent

Object

PartManagement

PartManagementType

Optional

HasAddIn

Object

2:Identification

WireHarnessMachineIdentificationType

Mandatory

HasComponent

Object

4:MachineryBuildingBlocks

0:FolderType

Mandatory

HasAddIn

Object

4:Components

4:MachineComponentsType

Optional

Conformance Units

WireHarness WireHarnessMachineType

4:Identification provides properties to identify a Device.

4:Components contains the details of all components of the machine. See OPC 40001-1 for more information.

PartManagement contains the part list and the method to manage this list.

ArticleSpecManagement contains the article list and the method to manage this list.

MachineryBuildingBlocks are used as described in OPC 40001-1. This Companion Specification uses the following building blocks:

The components of the WireHarnessMachineType have additional subcomponents, which are defined in Table 49. The methods 5:Store, 5:Start, 5:Clear, 5:Abort are mandatory.

Note: The data integrity described in 4.1.3 must be considered, especially with the 5:Store method.

Table 49 – WireHarnessMachineType additional subcomponents

BrowsePath

References

NodeClass

BrowseName

DataType

TypeDefinition

Others

4:MachineryBuildingBlocks

0:HasAddIn

Object

4:MachineryItemState

4:MachineryItemState_StateMachineType

M

4:MachineryBuildingBlocks

0:HasAddIn

Object

5:JobManagement

5:JobManagementType

M

4:MachineryBuildingBlocks

0:HasAddIn

Object

6:ResultManagement

6:ResultManagementType

O

4:MachineryBuildingBlocks

0:HasAddIn

Object

2:OperationCounters

4:MachineryOperationCounterType

O

4:MachineryBuildingBlocks

5:JobManagement

5:JobOrderControl

0:HasComponent

Method

3:Store

M

4:MachineryBuildingBlocks

5:JobManagement

5:JobOrderControl

0:HasComponent

Method

3:Clear

M

4:MachineryBuildingBlocks

5:JobManagement

5:JobOrderControl

0:HasComponent

Method

3:Start

M

4:MachineryBuildingBlocks

5:JobManagement

5:JobOrderControl

0:HasComponent

Method

3:Abort

M