Figure 2 depicts the main ObjectTypes of the Sercos device model and their relationships. The drawing is not intended to be complete. For simplicity only a few components and relations were captured so as to give an overview of the overall structure.

image006.png

Figure 2 – Device Model Overview

The symbols in this drawing are according to the OPC UA symbol elements. Figure 2 shows the ObjectTypes used in this specification as well as some elements from other specifications that help understand some modelling decisions. The upper grey box shows the OPC UA base information model from which the TopologyElementType and ProtocolType are derived. The grey box in the second level shows the main ObjectTypes from the OPC UA for Devices Companion Specification. The grey box in third level shows the Sercos OPC UA information model that this specification introduces. The components of those ObjectTypes are illustrated only in an abstract way in this overall figure. The grey box in the fourth level shows an example of a basic drive model.

TopologyElementType is the base ObjectType for elements in a device topology. It introduces Parameters (ParameterSet) and Methods (not shown). This specification also defines a functional grouping concept to provide alternative viewpoints.

A class of devices is represented by the DeviceType ObjectType. This includes predefined elements to describe and identify a device. SercosDeviceType extends the DeviceType. Therefore the elements are inherited from FunctionalGroupType, TopologyElementType and DeviceType. All OPC UA mandatory elements are implemented.

SercosProtocolType represents the Sercos communication protocol implemented by the TopologyElement.

FunctionalGroupType is extended (inheritance) with the types SercosProfileType, SercosClassType and SercosFunctionGroupType according to the Sercos Information Model as shown in Figure 3. It is formally defined in Table 4.

image007.png

Figure 3 – FunctionalGroupType

Table 4 – FunctionalGroupType Definition

Attribute

Value

BrowseName

FunctionalGroupType

IsAbstract

False

References

NodeClass

BrowseName

TypeDefinition

ModellingRule

Subtype of the FolderType defined in OPC UA specification OPC 10000-5

Inherit the Properties of the FunctionalGroupType.

HasSubType

ObjectType

SercosProfileType

Defined in Clause 5.2

HasSubType

ObjectType

SercosClassType

Defined in Clause 5.2

HasSubType

ObjectType

SercosFunctionGroupType

Defined in Clause 5.2

SercosProfileType represents the type of Sercos Profiles. All SercosProfileType instances of one device are components of the ProfileSet object of SercosDeviceType (see Figure 2, details are explained in 5.3).

SercosClassType represents the type of Sercos Classes. All SercosClassType instances of one device are components of the ClassSet object of SercosDeviceType (see Figure 2, details are explained in 5.3).

SercosFunctionGroupType represents the type of Sercos Function Groups. All SercosFunctionGroup instances of one device are components of the FunctionGroupSet object of SercosDeviceType (see Figure 2, details are explained in 5.3).

SercosProfileType instances have “Organizes” References to the Sercos Profile related SercosClassType and SercosFunctionGroupType instances.

SercosClassType and SercosFunctionGroupType instances have “Organizes” References to the Sercos Class and Sercos Function Group-related SercosParameterType instances (defined in 5.5).

Instance names of SercosProfileType, SercosClassType and SercosFunctionGroupType shall be taken from the current name convention used in the SPDML standard (provided by Sercos International).

The examples in Figure 4 and Figure 5 illustrate the use of FunctionalGroupType sub-types.

image008.png

Figure 4 – Use of FunctionalGroupType sub-types

image009.png

Figure 5 – Use for Sercos FunctionalGroups

This ObjectType defines the structure of the Sercos Device Object. Figure 6 shows the SercosDeviceType. It is formally defined in Table 5.

image010.png

Figure 6 – SercosDeviceType

Table 5 – SercosDeviceType Definition

Attribute

Value

BrowseName

SercosDeviceType

IsAbstract

False

References

NodeClass

BrowseName

TypeDefinition

ModellingRule

Inherit the Properties of the TopologyElementType defined in OPC UA for Devices companion specification.

Inherit the Properties of the DeviceType defined in OPC UA for Devices companion specification.

HasComponent

Object

ParameterSet

FunctionalGroupType

Mandatory

HasComponent

Object

ProfileSet

FunctionalGroupType

Mandatory

HasComponent

Object

ClassSet

FunctionalGroupType

Mandatory

HasComponent

Object

FunctionGroupSet

FunctionalGroupType

Mandatory

The following Properties extend the OPC UA model according to the Sercos Information Model. They are mandatory for all SercosDeviceType instances.

Sercos devices have a device name. There are different Sercos Parameters to get a proper device name. The name of the Sercos device shall be the (operational) data from IDN S-0-1302.0.3 Application Type (e.g., main spindle drive, round axis, X axis, etc.). If this parameter is missing, the outdated data from IDN S-0-0142 (Application Type) may be taken (for compatibility issues). If both are missing, the Sercos device name shall be the data from IDN S-0-1300.0.4 (manufacturer specific device name). In absence of all of them the device name is the combination of the mandatory data of IDN S-0-1300.0.3 (Vendor Code) and IDN S-0-1300.0.5 (Vendor Device ID). The Vendor Code is a unique number assigned to each vendor. The Vendor Device ID is a unique device ID managed by the vendor, that indentifies the component number.

ParameterSet is inherited from TopologyElementType and mandatory for SercosDeviceType instances.

ProfileSet includes all Sercos Profile instances that are used within the Sercos device. Currently these are GDP, SCP and FSP. “ProfileSet” object is formally defined in Table 6.

Table 6 – ProfileSet Definition

Attribute

Value

BrowseName

ProfileSet

References

NodeClass

BrowseName

TypeDefinition

ModellingRule

HasTypeDefinition

ObjectType

FunctionalGroupType

HasComponent

Object

<SercosProfileIdentifier>

SercosProfileType

OptionalPlaceholder

ClassSet includes all Sercos Class instances that are used within the Sercos device. “ClassSet” Object is formally defined in Table 7.

Table 7 – ClassSet Definition

Attribute

Value

BrowseName

ClassSet

References

NodeClass

BrowseName

TypeDefinition

ModellingRule

HasTypeDefinition

ObjectType

FunctionalGroupType

HasComponent

Object

<SercosClassIdentifier>

SercosClassType

OptionalPlaceholder

FuntionGroupSet includes all Sercos instances of SercosFunctionGroup. “FunctionGroupSet” is formally defined in Table 8.

Table 8 – FunctionGroupSet Definition

Attribute

Value

BrowseName

FunctionGroupSet

References

NodeClass

BrowseName

TypeDefinition

ModellingRule

HasTypeDefinition

ObjectType

FunctionalGroupType

HasComponent

Object

<SercosFunctionGroupIdentifier>

SercosFunctionGroupType

OptionalPlaceholder

To promote interoperability of Clients and Servers, all instantiated Sercos devices shall be aggregated in an Object called “DeviceSet”. For composed Sercos devices (of various components that are also Sercos devices), every Sercos device shall be referenced from the DeviceSet Object. The standard entry point for OPC UA devices is defined in OPC UA for Devices Companion specification.

Figure 7 shows the AddressSpace organisation with OPC UA standard entry point for Sercos devices.

image011.png

Figure 7 – Standard Entry Point for devices

Figure 8 shows the SercosParameterType. The SercosParameterType is a subtype of BaseDataVariableType (defined in OPC UA specification OPC 10000-5) and represents Sercos Parameters.

image012.png

Figure 8 – Sercos ParameterType

All the SercosParameterType instances of each device are referenced as component from the ParameterSet Object (BaseObjectType) (defined in OPC UA specification for devices).

Every Sercos Parameter consists of elements. Elements are used to supply all information about the Sercos Parameter. The value of the parameter is transformed according to the DataType transformation rules (defined in 4.3.3). The attribute element contains e.g. read and write access rights and is mapped to the OPC UA attributes (for more information see Sercos Generic Device Profile specification).

SercosParameterType is formally defined in Table 9.

Table 9 – SercosParameterType Definition

Attribute

Value

BrowseName

SercosParameterType

IsAbstract

False

ValueRank

-2 (-2 = any)

DataType

BaseDataType

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseDataVariableType defined in OPC UA specification OPC 10000-5.

HasProperty

Variable

Attribute

UInt32

PropertyType

Mandatory

HasProperty

Variable

DisplayValue

String

PropertyType

Mandatory

HasProperty

Variable

DisplayMaxValue

String

PropertyType

Optional

HasProperty

Variable

DisplayMinValue

String

PropertyType

Optional

HasProperty

Variable

Exponent

SByte

PropertyType

Optional

HasProperty

Variable

MaxValue

BaseDataType

PropertyType

Optional

HasProperty

Variable

MinValue

BaseDataType

PropertyType

Optional

HasProperty

Variable

ProcedureCommand

Boolean

PropertyType

Optional

Attribute (OPC UA Property) represents the Sercos Parameter element Attribute, which contains bit-coded data. Parts of this element are mapped to individual elements as following:

DisplayValue represents the converted Sercos Parameter value as an ASCII String. Decimal seperator is formatted with respect to the given “locale” (“locale” is a set of parameters that defines the user's language, country and any special variant preferences).

DisplayMaxValue and DisplayMinValue converts the value of MaxValue and MinValue to String respectively.

Exponent is the optional scaling element of each parameters value (operational data) which applies on DisplayValue. For instance, Exponent of 1E-4 is -4 for both signed and unsigned decimal data types.

MaxValue is the largest numerical value for the parameter, which can be processed by the Sercos device. When, in a write request for the parameter, the MaxValue is exceeded, the value of the parameter is not changed and related OPC UA StatusCode will be returned. The source of MaxValue is the Sercos element Maximum Value of the parameter.

MinValue is the smallest numerical value for the parameter, which can be processed by the Sercos device. When, in a write request for the parameter, the MinValue is exceeded, the value of the parameter is not changed and related OPC UA StatusCode will be returned. The source of MinValue is the Sercos element Minimum Value of the parameter.

ProcedureCommand Variable shows whether the parameter is a Sercos procedure command (=true) or not (= false).

The Sercos Parameter Names are corresponding to the IDN notation, e.g. “S-0-1301-0.1”.

Sercos Procedure Commands are accessible as OPC UA Methods. These shall be referenced by the “MethodSet” object. Figure 9 shows an example model with Sercos Procedure Command Methods.

image013.png

Figure 9 – Example model with Sercos Procedure Command Methods

The Method BrowseName and DisplayName contain the IDN as String, e.g. “P-0-0014”. The invocation of the Sercos Procedure Command Method causes the execution within the Sercos device.