Middleware-Konzept


Das Middleware-Konzept

Jedes moderne Computersystem lässt sich in Schichten beschreiben. Die oberste und erste Schicht ist üblicherweise die Anwendung, die auf einem Betriebssystem (2. Schicht) aufsetzt, welches wiederum auf der Hardware (3. Schicht) läuft, sie kontrolliert und über sie kommuniziert.

Der Benutzer sieht üblicherweise nur die Anwendung und interagiert mit dieser. Betriebssystem und Hardware vermitteln zwischen Anwendung und Außenwelt (I/O, Netzwerk). Diese Methode setzt voraus, dass die Anwendung betriebssystemspezifisch programmiert wird. Auch I/O-Funktionen und noch viel mehr Feldbusse müssen oft mit hohem Aufwand hardwarespezifisch eingebunden werden. Ein flexiblerer Ansatz führt eine neue Schicht zwischen Applikation und Betriebssystem ein – die Middleware. Die Applikation kommuniziert nun nur noch mit einer von der Middleware bereitgestellten Schnittstelle. Der sonst zusätzlich entstehende Aufwand für die Programmierung der Kommunikation entfällt. Die Programmierung reduziert sich ausschließlich auf die reine Anwendung.

Integration auf einheitlicher Datenebene

Die Möglichkeit zur Integration nativer Cloud-Anwendungen durch Gamma 7 erlaubt es der Middleware-Technologie Maschinen zu verbinden und relevante Daten bereit zu stellen. Gamma 7 verwendet Standard-Verschlüsselungsverfahren und eine Blockchain, um Transaktionen und wichtige Inhalte dezentral und manipulationssicher in einem unveränderbaren Logbuch dezentral zu sichern. So ebnen sie den Weg von der klassischen Automatisierungspyramide hin zum modernen, datenzentrischen Ansatz. Sie ermöglichen damit eine durchgängige Kommunikation vom einzelnen Sensor bis zur Cloud. Eine der größten Neuerungen ist das GDSP, das als Universalsprache zwischen verschiedenen heterogenen Datenquellen (Sensoren) und -Senken (Aktoren) fungiert. Dies erleichtert standortübergreifende Verbindungen über die Cloud. GDSP erweitert die Kommunikation über verschiedene Schnittstellen wie MQTT, OPC-UA, und REST, was eine einfachere und flexiblere Steuerung ermöglicht. Verschiedene Protokolle können nun untereinander kommunizieren.

Funktionen


Gamma 7 verfügt über eine Reihe von neuen Funktionen, die leicht integrierbar sind und so Ihren Entwicklungsaufwand erheblich senken:

  • NEU - Gamma 7 System Manager: Der neue Systemmanager steuert verteilte Prozesse und ermöglicht eine präzise Planung und Ausführung von Abläufen, z. B. über Cloud-basierte REST-Schnittstellen.
  • Neu - Skalierbarkeit: Gamma 7 unterstützt hierarchische Kaskadenstrukturen, was die Erweiterbarkeit und Skalierbarkeit in großen Netzwerken sicherstellt.
  • Abstraktion über Metasprache GDSP
  • Multidimensionale, hierarchische Variablenstrukturen mit Aliasen
  • Anwendungsspezifische Erweiterung der Variablen durch Properties
  • Mächtige Selektionsverfahren durch Browsing und Wildcards
  • Simulation / Failure-Injection für Testsysteme oder für den Test middleware-basierter Steuerungen
  • Zeitmodell mit Funktionen zur Prozesskontrolle (auch im Multicore-Betrieb), wie z. B. Scheduler
  • Datenlogging mit zahlreichen Datenbankadaptionen durch eine offene Schnittstelle
  • Automatische Grenzwertkontrollen
    • Einfache Anbindung von I/O-Hardware und Feldbussen durch Plug-ins: IoT-Protokolle wie Connext DDS, MQTT, OPC-UA
    • Feldbusse wie EtherCAT, emBRICK, Modbus, CAN, ARINC429, AFDX etc.
    • Digital- und Analog-I/O und Sonderfunktionen wie Synchro/Resolver etc.
    • Zur Zeit sind bereits über 70 Busse und I/O-Interfaces verfügbar

I/O-Integration


Daten mit der Außenwelt zu verbinden wird in Gamma 7 einfacher als je zuvor. Jeder I/O-Kanal kann direkt auf einer Prozessvariablen abgebildet und die Daten automatisch skaliert und auf verschiedene Arten gefiltert werden. Lesezugriffe auf die Prozessvariable (PV) liefern nun den an der Hardware anliegenden Wert. Entsprechend wird der Wert an einem Ausgang durch einen Schreibzugriff auf die verknüpfte Prozessvariable gesetzt. Die Konfiguration erfolgt per XML oder über das mit Gamma ausgelieferte Konfigurationswerkzeug Ga_Builder.

Gamma-Middleware-IO-Integration

Die offenen Schnittstellen der Gamma 7-Plattform erlauben es, eine Vielzahl von I/O-Hardware und Protokollen direkt an Ihre Applikation anzubinden. Gamma VI unterstützt gängige Feldbusse aus Industrie und Automatisierung, sowie Avionik und Automotive. Aktuelle Middleware- und IoT-Schnittstellen werden ebenfalls unterstützt. Dazu kommen zahlreiche I/O-Interfaces von Basisfunktionen wie Analog- und Digital-I/O oder Schrittmotoren bis zu anspruchsvollen Präzisionsschnittstellen wie Synchro/ Resolver oder LVDT.

  • Feldbusse allgemein
  • Feldbusse Automatisierung
  • Feldbusse für Avionik und Automotive
  • Middleware- und IoT-Interfaces
  • I/O-Karten und -Interfaces
  • Spezialmessgeräte über GPIB oder LXI

Über das Comedi-Interface lassen sich hunderte I/O-Karten einfach an die Middleware andocken. Plug-ins für neue I/O-Hardware lassen sich mit geringem Programmieraufwand erstellen und werden auf Anhieb vom Konfigurationswerkzeug Ga_Builder unterstützt, so dass sie direkt mit der Middleware verbunden werden können. Somit ist Gamma 7 offen für individuelle Hardwarelösungen und zukunftssicher für neue Entwicklungen.

Umfangreiche Werkzeuge


Alle Aspekte der Middleware können über XML-Dateien konfiguriert werden. Außerdem stehen diverse Werkzeuge zu Ihrer Unterstützung bereit:

Gamma Builder: Konfigurationstool zur einfachen Erstellung von Projekten

Mit dem Gamma Builder ist es möglich, komplexe Daten- und Zeitmodelle mit allen I/O-Funktionen zu erstellen. Die Baumstruktur bietet einen schnellen Überblick über das Datenmodell, das Zeitmodell und die adaptierten Hardwarekomponenten mit den jeweiligen verknüpften I/O-Kanälen. Neue Elemente werden über ein einfach zu bedienendes Kontextmenü hinzugefügt. Drag-And-Drop-Operationen stehen ebenso zur Verfügung wie die Zwischenablage. Die Eigenschaften aller Objekte stehen direkt zum Editieren zur Verfügung. Alle Eingaben werden gegen ein XML-Schema geprüft und auftretende Fehler werden sofort angezeigt. Ein Doppelklick auf die Fehlermeldung öffnet automatisch den fehlerhaften Eintrag und ermöglicht so eine schnelle Korrektur. Zudem existiert die Möglichkeit, dass die Signale/Nachrichten bestimmter I/O-Plugins zur Laufzeit gescannt und automatisiert konfiguriert werden können.

Middleware-Gamma-Builder

Gamma Explorer: Benutzerfreundliches Tool zur manuellen Kontrolle des Systems

Der Gamma Explorer ist ein klassisches Inbetriebnahme- und Wartungstool. Es bietet weitreichende Möglichkeiten für den Anwender, direkt mit der Middleware und dem laufenden System zu interagieren. Für lokale Anwendungen kann der Gamma Explorer den zentralen Gamma-Service konfigurieren und starten. Sowohl für lokale als auch vernetzte Datenmodelle bietet der Explorer direkten Zugriff auf alle im System vorhandenen Prozessvariablen.

Middleware-Gamma-Explorer

Von hier aus kann der Anwender nicht nur alle Werte in Echtzeit verfolgen, sondern auch jederzeit direkt in den Prozessverlauf eingreifen. Der Explorer erlaubt direkte Lese- und Schreibzugriffe auf das gesamte Modell, sowohl auf lokale als auch auf entfernte Prozessvariablen. Integrierte Funktionsgeneratoren, die mit jeder beliebigen Variablen verknüpft werden können, erlauben es dem Anwender, Werte über einfache Funktionen wie Sinuswellen oder Sägezähne zu generieren und in das Datenmodell einzuspeisen. Diese Generatoren können während der Laufzeit z. B. in Frequenz und Amplitude editiert und jederzeit ein- und ausgeschaltet werden.

Middleware-Gamma-Explorer-Plot

Über Plots ist es außerdem möglich, den Werteverlauf jeder Variable grafisch darzustellen. So sind Trends schnell erkennbar, Wertebereiche können optisch verglichen werden und Wechselwirkungen können direkt nachverfolgt werden. Zwar ersetzen Plots keine vollwertige Visualisierung, zu Diagnosezwecken während der Entwicklung oder zur Überwachung nicht visualisierter Systeme sind sie aber äußerst wertvoll.

GUI Designer: Freikonfigurierbare Visualisierung

Mit dem GUI Designer steht eine komfortable Möglichkeit zur Verfügung, schnell einfache Visualisierungen und Bedienoberflächen für Gamma-basierte Systeme zu gestalten. Durch die enge Verknüpfung unserer Tools können grafische Elemente im GUI Designer direkt mit dem Datenmodell verknüpft werden. So können grafische Anzeigen jede Variable im System abbilden, Werte können über Schiebe- oder Drehregler manipuliert werden und Buttons können Prozesse und Aktionen auslösen.

Gamma-Middleware-GUI-Designer

Das Gamma-Ökosystem


Die Gamma-Middleware ist eine ideale Plattform, auf der verschiedene Technologien von verschiedenen Herstellern zusammengefügt werden können.

So können wir mit unseren Partnern zahlreiche weitere Lösungen für die Gamma-Plattform anbieten. Hierzu zählen unter anderem vektorbasierte Visualisierungslösungen, Soft-SPS-Lösungen (IEC61131 und IEC61499), textuelle und grafische, teils modellbasierte, Programmiermethoden, die direkt auf das Datenmodell aufsetzen, sowie Entwicklungsumgebungen mit Anbindung an die Gamma-API. Auch für den Testbereich werden spezielle Werkzeuge, z. B. für modellbasierte Tests für HIL-, MIL- und SIL-Anwendungen zur Verfügung gestellt. So entsteht ein weitreichendes Ökosystem, aus dem kundenspezifische Lösungen exakt zusammengestellt werden können.

  • Für den Kunden entstehen optimal auf ihn abgestimmte Systeme, in denen leicht die eigene Kernkompetenz eingebracht werden kann
  • Für den Systempartner steht eine leicht adaptierbare Systemplattform zur Verfügung, die es ermöglicht, auch die eigenen Produkte zu vermarkten