Preview only show first 10 pages with watermark. For full document please download

Wie Funktionieren Opc Ua Companion Specifications

   EMBED


Share

Transcript

Wie funktionieren OPC UA Companion Specifications ACPLT Sommerkolloquium 2015 Julius Pfrommer © Fraunhofer IOSB 1 Agenda Drei Sichten auf OPC UA  Ein Netz aus Knoten  Ein objektorientiertes Informationsmodell  Eine Menge Services … jeweils mit Beispielen aus der MTConnect Companion Specification. © Fraunhofer IOSB 2 OPC UA und seine Companion Specifications OPC UA Spec Teile 1. Concepts (~30p) 8. Data Access (~29p) 2. Security Model (~35p) 9. Alarms and Conditions (~93p) 3. Address Space Model (~123p) 10. Programs (~50p) 4. Services (~197p) 11. Historical Access (~49p) 5. Information Model (~126p) 12. Discovery (~53p) 6. Mappings (~87p) 13. Aggregates (~89p) 7. Profiles (~98p) OPC UA Companion Specifications  ISA-95, PLCOpen, AutoId, AutomationML, MTConnect, …  Der Standard definiert den Namespace 0  Companion Specs und nutzerdefinierte Namespaces sind über eine eindeutige URI gekennzeichnet © Fraunhofer IOSB 3 OPC UA definiert … EIN NETZ AUS KNOTEN © Fraunhofer IOSB 4 Ontologien und Triple-Stores Entitäten und ihre Relationen sind als Triple gespeichert: (Subjekt, Relation, Objekt) Beispiel 1: Beispiel 2:  (Bob, hasChild, Alice)  (Fruit, subClassOf, Food)  (Bob, hasChild, Carol)  (Banana, isA, Fruit)  (Alice, likes, Chocolate)  (Banana, hasColor, Yellow)  (Alice, hasAge, 8)  Welche Lebensmittel sind gelb?  Welche Kinder von Bob mögen Schokolade? Aber: Inferenz unterstützt keine numerischen Berechnungen © Fraunhofer IOSB 5 Knoten und Referenzen in OPC UA 8 Arten von Knoten 1. Ein OPC UA Informationsmodell ist ein Netz aus Knoten und Referenzen zwischen den Knoten (Quelle, ReferenzTyp, Ziel) 2. Knoten enthalten Standard-Attribute  Identifier  NodeClass (1-8)  BrowseName  … 3. … und spezielle Attribute je Knotenart © Fraunhofer IOSB 6 Referenz-Typen in OPC UA  Die Referenzen zwischen den Knoten sind typisiert  Hierarchische Referenzen dürfen keine Zyklen bilden  Jeder Knoten hat eine hierach. Referenz zu einem Elternknoten © Fraunhofer IOSB 7 Beispiel aus MTConnect: Referenztypen v2 v1 ComputeAverage r1  ComputedBy  The ComputedBy reference is a Subtype of NonHierarchicalReferences  This reference is used to indicate that the value of the given variable is calculated using the targeted AggregateFunctionType  SourceOf  The SourceOf reference is a Subtype of NonHierarchicalReferences.  This reference is used to indicate the actual source associated with the value of the item being reported © Fraunhofer IOSB 8 Variablen und VariablenTypen 8 Arten von Knoten  Zusätzliche Attribute von Variablen- und VariablenTyp-Knoten  DataType  Value  ValueRank (Skalar, Array, egal)  ArrayDimensions  …  Variablen zeigen mit einer HasTypeDefinition-Referenz auf den Variablentyp © Fraunhofer IOSB 9 Beispiel aus MTConnect: VariablenTypen MTSampleDataItemType ElectricalEnergyType ( Verbrauch in Watt) © Fraunhofer IOSB 10 DatenTypen 8 Arten von Knoten  25 Builtin Types (Int32, String, NodeId, …)  Enumerations  Komplexe Datentypen (Strukturen)  In Namespace 0  Nutzerdefiniert © Fraunhofer IOSB 11 DatenTypen XML-Snippets mit standardisiertem Schema Structure Float © Fraunhofer IOSB 12 Beispiel aus MTConnect: DatenTypen BufferSizeDataType DecibelValueDataType DirectionTypeEnum © Fraunhofer IOSB 13 OPC UA definiert … EIN OBJEKTORIENTIERTES INFORMATIONSMODELL © Fraunhofer IOSB 14 Methoden 8 Arten von Knoten  Einfache Remote Procedure Calls  Method-Knoten hat Kind-Variablen namens “InputArguments” und “OutputArguments”  Mehrere Knoten können mit einer hasComponent Referenz auf denselben MethodNode zeigen  Die ID des aufrufenden Knotens wird neben den Argumenten übergeben © Fraunhofer IOSB 15 Objekte und Objekttypen 8 Arten von Knoten  Objekttypen definieren Komponenten (Mandatory, Optional)  Variablen, Methoden  Merkmale (hasProperty) und Komponenten (hasComponent)  Objekttypen sind “Kopiervorlagen” für die Instanziierung  Mehrfachvererbung ist prinzipiell möglich, aber unterspezifiziert © Fraunhofer IOSB 16 Beispiele aus MTConnect (ObjectTypes) MTDeviceType MTAxesType © Fraunhofer IOSB 17 OPC UA definiert … EINE MENGE SERVICES © Fraunhofer IOSB 18 OPC UA Services  Jeder Service-Aufruf ist eine Nachricht (Request/Response)  Wird vom Client ausgelöst (nicht Peer2Peer)  Nachrichten werden asynchron ausgetauscht  Es können vom Client mehrere Nachrichten verschickt werden ohne auf eine Antwort zu warten  Der Server kann eingegangene Nachrichten in beliebiger Reihenfolge und mit beliebiger Verzögerung beantworten  Subscriptions folgen auch dem Request/Response Prinzip  Der Server “hortet” Requests und sendet eine Response, sobald ein Ereignis eintritt (oder ein Interval abläuft) © Fraunhofer IOSB 19 © Fraunhofer IOSB 20 Danke fürs Zuhören Fragen dürfen gerne gestellt werden Julius Pfrommer, Abteilung Informationsmanagement und Leittechnik (ILT) Fraunhofer IOSB [email protected] www.mes.fraunhofer.de www.klkblog.de Tel.: +49-721-6091-286 Fax: +49-721-6091-413 © Fraunhofer IOSB 21 Übersicht aller Knoten-Attribute © Fraunhofer IOSB 22