BaSyx / Documentation / ControlComponentProfiles
|Overview | Interface | Implementation|
Profile Meta Model
The abstract concept of control components and their state machines may be realised in technology specific ways or focuss on certain aspects. For example an occupation might not be necessary or a differentexecution state machine may be satisfying. Especially domain, task or company specific constraints need to be applied in brownfield scenarios. In order to describe basys control components in a standardized manner and to ensure the compliance of basys labled control components, possible realisations are described in facets and clustered in facet categories. These profiles or facets may be used for the typification und type description of control components. Furthermore, they can be used to define requirements of a component system or its orchestration environment.
One goal of BaSys 4.2 is to enable plug and produce scenarios via standardized procedures. Considering that, the requirements of heterogenous industrial production systems and the offered features of various control components needs to be described and matched. In order to support this matching in an automated manner a limitation to and standardization of usefull profiles is necessary. Combinations of commonly used facets will be used to define full featured profiles for easier commponent development and usage. Finally adapters may be generated to integrate components of different profiles.
In conclusion control component profiles describe which design patterns are used for a control component or its type in a standardized manner. Hence they are linked to the basys design patterns which rely on the control comopnent state machines. The goal is to reference existing standards and to build a bridge between component developers and their users. In the context of I4.0 it is recommended to use the control component submodel in the asset administrator shell (AAS) to describe required or assured profiles of a control component.
In order to be technology agnostic the profile definition should rely on abstract concepts. Therefore a minimalistic meta model for control component profiles is defined here. The profile concept and terms are inspired by OPC UA Part 7.
A profile is a composition of facets describing the features or requirements of a control component. Each facet has a name and a numeric or bit value, like in an enumeration, which is related to the facet category. A facet category describes a specific aspect of the control component interface by grouping multiple facets. Usually a profile determines at least one facet for each facet category. Therefore the term profile is used synonymous to full featured profiles here.
Besides the facet and profile definition, the meta model is used to model the control components interface depending on the facets. This interface model may be converted to an OPC UA companion specificiation, an active AAS submodel or other information model technology standards. The interface specification is based on the BaSyx VAB, in order to describe the interface in a technology independent manner. Moreover, it is an important base to define conformance test units and derive test cases for automated compliance test.
A BaSyx interface specification for control componentes is structured as follows. The main definition is a VAB element hierarchy starting at the control component realization as root VAB element. This root element can be mapped to a specific control component instance by its elementId (e.g. URI or OPC UA node id). Each element in the hierarchy needs to be specified by:
- Name: browsename, path segment, ressource identifier, etc. depending on the technology.
- Element type: a property, property group or operation. (default: property)
- Modelling rule: mandatory or optional. (default: mandatory)
- Requirement in a specific facet or facet group value range. May be combined via bool operators. (default: in all facets)
- Properties may be further specified by:
- Datatype of VAB element based on the VAB type system and allowed values.
- Writeability of the property value. (default: read only)
- Operations may be further specified by their input and output arguments via name and VAB data type.
Interfaces can be described in tabular form. Hence, a simple example for an interface specifciation may look like the following table. This form may even be generalised to describe any kind of VAB templates. The default interface specification for basyx control components can be found in the control component documentation.
|Parent||Name||Type||Rule||Facets||Property Datatype||Property Values||Property Writeable||Input Variable||Input Datatype||Output Variable||Output Datatype|
|STATUS||EXST||Property||Mandatory||ES > 1||String||EXECUTE, IDLE, …|
|STATUS||OCCUPIER||Property||Mandatory||OC > 1||String|
|OPERATIONS||Property||Mandatory||SI == 4||Map<String, Operation>|
|OPERATIONS||START||Operation||Mandatory||SI==4 && ES > 1|
|OPERATIONS||HOLD||Operation||Optional||SI==4 && ES==2|
|OPERATIONS||HOLD||Operation||Mandatory||SI==4 && ES==3|
All interface specifications belong to the same namespace. As control components may offer multiple facets combined in one interface, the name of each element in the hierarchy has to be non overlapping. Moreover, all names defined by BaSys should be written in uppercase to differentiate from application or domain specific variables and operations, e.g. specific operation modes.
|BaSyx project links: Project BaSyx main wiki page | What is BaSyx? | BaSyx Developer Documentation|