View online
basysKom GmbH
Newsletter 2024/02

Willkommen zur zweiten Ausgabe des basysKom-Newsletters. Ziel des Newsletters ist es, spannende Technologien und Ansätze vorzustellen sowie einen Einblick in unsere Projekte und Arbeiten zu geben. Dieses mal geht es um OPC UA.

OPC UA ist ein offener Standard für Datenmodellierung und Kommunikation, ursprünglich aus dem Umfeld Prozessautomatisierung und Maschinenbau. Typische Szenarien sind die vertikale Integration von Anlagen und Maschinen mit HMI, SCADA, ERP, MES und anderen Anwendungen. Die entsprechende Integration mit der HMI hat sich bereits in vielen Kundenprojekten der basysKom bewährt.

Über das Thema HMI-Anbindung sind wir zuerst 2014/2015 in diese Welt eingestiegen. Seitdem ist viel passiert und OPC UA hat eine regelrechte Blüte erlebt. So entstanden, gerade im Kontext VDMA/VDW/umati, eine Vielzahl an Branchen-spezifischen Informationsmodellen (Companion Specs) mit dem Ziel, die Interoperabilität weiter zu fördern. basysKom hat die Michael Weinig AG beispielsweise im Rahmen der WoodWorking-Companion-Spec unterstützt. Mehr dazu in der „Success Story“.  Ein weiterer großer Unterschied zu damals ist, dass es mittlerweile eine ganze Reihe an hochqualitativen freien Implementierungen von OPC UA gibt. basysKom selbst hat Qt OPC UA entwickelt, ein Qt-Modul, das einen gut in Qt integrierten „OPC UA“-Client darstellt. Qt OPC UA basiert auf open62541, einem in C  geschriebenen, hochportablen „OPC UA“-Stack. Wir sind seit 2018 ein aktiver open62541-Contributor und seit 2019 Commercial-Support-Partner des Projekts.open62541

OPC UA hat seinen Fokus sicherlich weiterhin im Kontext des Maschinen- und Anlagenbaus, aber es findet in immer mehr Bereichen Einsatz. So gibt es zum Beispiel eine Companion Spec für „Commercial Kitchen Equipment“. Allgemein scheint es ein Trend, OPC UA als Grundlage für Branchen-Standards zu nehmen. So kann man sich auf die Inhalte konzentrieren und bekommt sowohl die „langweiligen“ Low-Level-Details als auch ein reiches Tool-Ökosystem frei Haus. Daher wollen wir mit dieser Ausgabe über den Tellerrand schauen und Ihnen OPC UA vorstellen.

Ihr Feedback und Ihre Kommentare sind herzlich willkommen.

Ihr basysKom-Team

PS. wir haben mittlerweile eine zentrale Seite, auf der unsere Dienstleistungen im Kontext OPC UA vorgestellt werden. 

Besonders stolz sind wir auf unsere FAQ, die viele Fragen rund um das Thema behandelt. Wir freuen uns natürlich, wenn es darüber hinaus weitere Fragen gibt - sprechen sie uns an!

Im Blog
Success Story

Es war eine spannende Aufgabe, unseren Kunden Michael Weinig AG bei der initialen Entwicklung der Wood-Working-Companion-Spec zu unterstützen.

WEINIG, basysKom und OPC UA

Ein schönes Beispiel, bei dem sowohl open62541 als auch Qt OPC UA im Einsatz war. Details und Hintergründe finden Sie hier: https://www.basyskom.de/weinig-opc-ua/

FOSS@basyskom

Im Bereich FOSS haben wir dieses Mal zwei Themen: Qt OPC UA und eine OPC UA Browser App.

Qt OPC UA

Im Jahr 2024 gab es zwei Qt-Releases (6.7 und 6.8). Mit Qt 6.7 kam eine deutlich bessere Unterstützung im Umgang mit komplexen Datentypen sowie für das Lesen historischer Events.

Übrigens - wussten Sie, dass mit jedem neuen Qt-Release ein jeweils aktueller Patch-Stand von open62541 ausgeliefert wird? Dies ist uns u.a. auch in Hinsicht auf den European Cyber Resilience Act (CRA) wichtig.

Qt 6.9 wird Anfang 2025 erscheinen und folgende Qt OPC UA Verbesserungen und Änderungen mitbringen:

  • Qt OPC UA wurde auf open62541 Version 1.4.x portiert.
  • macOS ARM64 (M1, M2, M3) ist als Zielplattform zurück.
  • Es ist nun möglich, die verwendete Locale auf einer bestehenden Verbindung umzuschalten. Damit kann ein HMI deutlich flexibler lokalisierte Daten von einem Server anfordern.
  • Deprecation der QML-API. Qt OPC UA hat zwei APIs, eine reine C++ API und eine QML-API. Es hat sich herausgestellt, dass niemand(?) direkt eine OPC UA Datenquelle in ein Qt-Quick-HMI einbindet. Das typische Nutzungsmuster ist, dass es ein C++ Backend gibt, in dem OPC UA Daten aufbereitet werden. Das Qt-Quick-HMI basiert dann auf diesem Backend.  Die QML-API wurde nach ihrer initialen Entwicklung 2018 nicht wesentlich weiterentwickelt und verursacht seitdem Pflegeaufwand. Uns sind keine aktiven Nutzer bekannt, daher werden wir die API mit Qt 7 sehr wahrscheinlich entfernen. Sollten Sie die QML-API nutzen, kommen Sie bitte auf uns zu.
  • Authentifizierung per X.509-Zertifikat.

PS. Qt OPC UA hat einen neuen Maintainer. Jannis Völker hat diese Rolle im Sommer von Frank Meerkötter übernommen. Jannis ist bereits seit einigen Jahren die treibende Kraft hinter dem Projekt. Wir wünschen ihm weiterhin viel Erfolg!

OPC UA Browser

Kollegen haben basierend auf Qt OPC UA einen Mobilen „OPC UA“-Client entwickelt (Android und iOS). Ziel des Projekts ist es, ein „Schweizer Taschenmesser“ für den Einsatz direkt an der Maschine zu haben. Auf Android kann die App direkt aus dem Playstore installiert werden: https://play.google.com/store/apps/details?id=com.basyskom.opcua.app

Den Quellcode und weitere Informationen finden Sie hier: https://github.com/basysKom/opcua_browser

Screenshot

Termine

OSADL LoI#5 wurde auf den 31.12.2024 verlängert.

Die OSADL aus Heidelberg ist eine Genossenschaft, über die seit vielen Jahren der Einsatz von Open Source in der Industrie gefördert wird. Sie beschäftigt sich sowohl mit rechtlichen als auch technischen Themen. Die Idee hinter der OSADL ist, dass man Dinge, die alle gemeinsam benötigten, nicht x-mal getrennt entwickeln muss.

Seit 2018 betreibt die OSADL auch im Kontext OPC UA Ökosystem-Pflege, indem sie das open62541-Projekt fördert. Mittlerweile gab es vier Projektphasen. Die basysKom hat an Phase#4 teilgenommen und u.a. die "Reverse Connect"-Funktionalität entwickelt. Bis Ende des Jahres kann man sich noch mit Funding beteiligen. Die Inhalte für Phase#5 finden sich hier: https://www.osadl.org/Project-phase-5.opc-ua-pubsub-over-tsn-project-5.0.html.

Der Newsletter darf gerne mit interessierten Kolleginnen & Kollegen geteilt werden.