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.
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.
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.
Figure 4 – Use of FunctionalGroupType sub-types
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.
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.
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.
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.
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:
- Write Protection is mapped to the OPC UA attribute AccessLevel.
- Decimal Point is mapped to the Exponent variable.
- Display Format is mapped to the DisplayValue variable.
- Procedure Command is mapped to the ProcedureCommand variable.
- DataType and DataLength are mapped to the OPC UA attributes DataType.
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.
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.