DE102010030565A1 - Verfahren zur Datenkommunikation zwischen einer datenerzeugenden und einer datenverarbeitenden Einheit - Google Patents

Verfahren zur Datenkommunikation zwischen einer datenerzeugenden und einer datenverarbeitenden Einheit Download PDF

Info

Publication number
DE102010030565A1
DE102010030565A1 DE102010030565A DE102010030565A DE102010030565A1 DE 102010030565 A1 DE102010030565 A1 DE 102010030565A1 DE 102010030565 A DE102010030565 A DE 102010030565A DE 102010030565 A DE102010030565 A DE 102010030565A DE 102010030565 A1 DE102010030565 A1 DE 102010030565A1
Authority
DE
Germany
Prior art keywords
data
model
generating unit
message
communication according
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102010030565A
Other languages
English (en)
Inventor
Falk Hartmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
UBIGRATE GmbH
Original Assignee
UBIGRATE GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by UBIGRATE GmbH filed Critical UBIGRATE GmbH
Priority to DE102010030565A priority Critical patent/DE102010030565A1/de
Publication of DE102010030565A1 publication Critical patent/DE102010030565A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/03Protocol definition or specification 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zur Verbindung von datenerzeugenden Einheiten 7, wie z. B. intelligenten Geräten, die Informationen über Zustände und Prozesse geben, mit nachgelagerten datenverarbeitenden Einheiten 8 mit dem Ziel der Datenkommunikation. Ihre Aufgabe ist es, die Verbindung von datenerzeugenden 7 und datenverarbeitenden Einheiten 8 zum Zwecke der Datenkommunikation signifikant zu vereinfachen sowie diese schneller zu realisieren. Diese Aufgabe wird gelöst durch ein Verfahren zur Datenkommunikation zwischen einer datenverarbeitenden 8 und einer datenerzeugenden Einheit 7, das in einer Datenbank für jede datenerzeugende Einheit 7 ein passendes Botschaftsmodell 2, ein Ablaufsteuerungsmodell 3 und für jede Schnittstelle 9 ein Schnittstellen- bzw. Kommunikationstechnikmodell 1 bereithält, das eine aus diesen Modellen bestehende Modellinstanz 5 der datenerzeugenden Einheit 7 erzeugt und die Kommunikation zwischen der datenverarbeitenden 8 und der datenerzeugenden Einheit 7 durch diese Modellinstanz 5 steuert.

Description

  • Die Erfindung betrifft ein Verfahren zur Verbindung von datenerzeugenden Einheiten, wie z. B. intelligenten Geräten, die Informationen über Zustände und Prozesse geben, mit nachgelagerten datenverarbeitenden Einheiten mit dem Ziel der Datenkommunikation, wobei von der datenverarbeitenden Einheit Daten in einem Datenformat über eine Schnittstelle von der datenerzeugenden Einheit abgerufen werden.
  • Intelligente Geräte erfüllen z. B. Aufgaben als Sensoren und Aktuatoren und erzeugen dabei Daten, die in Folge durch nachgelagerte datenverarbeitende Einheiten weiterbearbeitet werden sollen. Beispiele für solche Geräte sind Waagen, RFID- und Barcode-Lesegeräte, Temperatur- oder Schocksensoren, Speicherprogrammierbare Steuerungen (SPS) aber auch Maschinen, die Prozess- und/oder Messdaten erzeugen.
  • Zur Verbindung von datenerzeugenden mit datenverarbeitenden Einheiten zwecks Datenkommunikation werden üblicherweise Botschaften, also Beschreibungen der Daten, in Verbindung mit einem Message Sequence Chart modelliert, woraus wiederum direkt ausführbarer Programmcode erzeugt wird. In den Message Sequence Charts ist zudem in bislang üblichen Verfahren festgelegt, ob die Botschaften für eingehende oder ausgehende Richtung verwendet werden.
  • Die Modellierungsmittel für die Botschaften und die Message Sequence Charts sind fest vorgegeben, speziell benötigte Erweiterungen können nicht mit den Modellierungsmitteln realisiert werden, sondern müssen mit externen Werkzeugen außerhalb der Modelle hinzugefügt werden. Durch die Erzeugung eines ganzheitlichen Modells für die Verbindung von datenerzeugenden und datenverarbeitenden Einheiten ist dieses Modell auch nur für die Verbindung einer ganz konkreten datenerzeugenden an eine ganz konkrete datenverarbeitende Einheit und mit einer ganz konkreten Kommunikationstechnik einsetzbar. Dieses Modell wird in der Regel manuell erzeugt.
  • Durch die Art der Beschreibung der Botschaften nach dem Stand der Technik ist zudem ihre Reproduzierbarkeit nicht gewährleistet. Dies führt dazu, dass das erzeugte Modell nur in eine Richtung genutzt werden kann, d. h. entweder zum Erzeugen von Botschaften zur datenerzeugenden Einheit hin oder zum Interpretieren von Botschaften der datenerzeugenden Einheit.
  • Aufgabe der vorliegenden Erfindung ist es deshalb, die Verbindung von datenerzeugenden und datenverarbeitenden Einheiten zum Zwecke der Datenkommunikation signifikant zu vereinfachen sowie diese schneller zu realisieren.
  • Diese Aufgabe wird gelöst durch ein Verfahren zur Datenkommunikation mit den Merkmalen des Anspruches 1. Die Ansprüchen 2 bis 15 geben Ausführungsvarianten dieser erfindungsgemäßen Lösung wieder.
  • Bei dem Verfahren werden von der datenverarbeitenden Einheit Daten in einem Datenformat über eine Schnittstelle von der datenerzeugenden Einheit durch eine Modellinstanz gesteuert abgerufen. Diese Modellinstanz setzt sich zusammen aus einem jeweiligen Botschaftsmodell, dem jeweiligen Ablaufsteuerungsmodell und einem entsprechenden Kommunikationstechnikmodell, die in einer Datenbank, unter der ein System zur Datenverwaltung verstanden werden soll, das Datenmengen effizient, widerspruchsfrei und dauerhaft speichert und benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen bereitstellt, verstanden werden soll, hinterlegt sind. Unter Datenbank soll in diesem Sinne hier auch die Sammlung von Dateien, beispielsweise von XML-Dateien, verstanden werden, in denen diese Modelle abgelegt werden. Dabei baut das Botschaftsmodell auf das Kommunikationstechnikmodell und das Ablaufsteuerungsmodell auf das Botschaftsmodell auf. Die drei Modelle können also als übereinanderliegende Schichten betrachtet werden.
  • Die Modellinstanz orientiert sich dabei an einem konkreten Gerät mit dessen Vorschriften für eine korrekte Interaktion (Ablauf, Botschaft, Kommunikationstechnik). Diese Schichten sind so miteinander verbunden, dass die Anforderungen des Gerätes befriedigt werden, z. B. durch Verwendung der erforderten Kommunikationstechnik. Die Vereinfachung der Verbindung von datenerzeugender und datenverarbeitender Einheit erfolgt dabei prinzipiell durch den Aufbau des erforderlichen Modells und seiner Schnittstellen aus einzelnen Modellbausteinen. Zudem erlaubt eine Abstraktion hin zu Geräteklassen, also einer Zusammenfassung von Geräten vergleichbarer Funktion, ein einheitliches Datenformat und die Unabhängigkeit von gerätespezifischen Eigenschaften. Desweiteren werden in dem Verfahren solche Modelle geschaffen, die es erlauben, Botschaften sowohl zu erzeugen als auch zu interpretieren und sie zudem von der verwendeten Kommunikationstechnik zu trennen.
  • Die Kommunikationstechnik bezieht sich dabei auf die Technik, mit der Daten zwischen der datenerzeugenden und datenverarbeitenden Einheit ausgetauscht werden (z. B.
  • RS232, Ethernet, USB, I2C oder Feldbusprotokoll). Die Kommunikationstechnikmodelle in der hier beschriebenen Erfindung verfügen dabei programmatisch über eine Verbindung zu einer erweiterbaren Zahl möglicher Kommunikationstechnikmodelle. Hierein können instanziierte Botschaften, also Datenströme, eingegeben werden, die dann auf die konfigurierte Kommunikationstechnik ausgegeben werden.
  • Diese Daten werden mit Botschaften beschrieben, die durch eine spezifische Sequenz von Informationen (Bit/Byte) enthalten. So beginnen diese Botschaften häufig mit einem charakteristischen Byte „STX” (0 × 02 in hexadezimaler Schreibweise). Anschließend werden die eigentlich genutzten Daten übertragen. Schließlich endet die Sequenz, häufig mit dem speziellen Byte „ETX” (0 × 03 in hexadezimaler Schreibweise), um das Ende der Botschaft zu kennzeichnen. Die Abfolge der Informationen innerhalb dieser Sequenz ist spezifisch für jedes Gerät und muss genau (im Rahmen möglicher Toleranzen) eingehalten werden. Um dies zu verdeutlichen, ist in 1 ein Beispiel für eine vollständige Botschaft mit Steuerinformationen (Stations-ID, Länge, Flags, Block Check Character) und Nutzdaten (Data) dargestellt. Zur Botschaftsmodellierung wird dabei eine maschinenlesbare Sprache verwendet, um die konkrete Sequenz der Informationen (Bits und Bytes) zu beschreiben. Dabei ist zwischen statischen und dynamischen Botschaftsteilen zu unterscheiden. Statische Teile beinhalten z. B. Markierung für Anfang und Ende von Botschaften oder Längeninformationen. Dynamische Teile sind Bereiche, die bei der Kommunikation von der bzw. zu der datenerzeugenden Einheit mit konkreter Information gefüllt werden. Ebenfalls dynamisch sind Botschaftsteile, die mit Rechenoperationen aus anderen Botschaftsteilen erzeugt werden, z. B. Prüfsummen über eine Sequenz von Informationen oder Längenberechnungen.
  • Die Ablaufsteuerung beschreibt schließlich die Interaktion mit der datenerzeugenden Einheit maschinenlesbar, z. B. in welcher Folge die Botschaften gesendet und empfangen werden müssen, um bestimmte Zustände und damit Funktionen im Gerät zu erreichen. Beispielsweise startet eine datenerzeugende Einheit wie z. B. ein intelligentes Gerät typischerweise nach dem Anschalten in einem Ausgangszustand, in dem zunächst eine Initialisierung, ausgehend vom einer datenverarbeitenden Einheit wie z. B. einem Computer, befohlen werden muss. In der Ablaufsteuerung der Interaktion ist in dem Fall beschrieben, welche spezielle Initialisierungsbotschaft gesendet werden muss und welche Reaktion vom Gerät erfolgt. Das Gerät reagiert beispielsweise mit einer Bestätigung der durchgeführten Initialisierung oder mit einer Fehlermeldung unter der Angabe von Gründen. Damit wird ein Zustand erreicht, in dem wiederum eine spezifische Menge von Botschaften zum Erreichen bestimmter weiterer Zustände und Funktionen gesendet werden kann.
  • Durch die modulartige Zusammensetzung einer Modellinstanz einer datenerzeugenden Einheit aus Botschaftsmodell, Ablaufsteuerungsmodell und Kommunikationstechnikmodell und den Aufbau der jeweiligen Modelle selbst ist es nun möglich, diese drei voneinander sehr verschiedenen und in sich abgeschlossenen Aspekte der Datenkommunikation als allgemeine, von den jeweils anderen Aspekten unabhängige Modelle zu beschreiben, die dadurch wesentlich übersichtlicher werden, da es z. B. keine Vermischung von Ablaufsteuerung und Botschaftsbeschreibungen mehr gibt, und zudem an anderer Stelle wiederverwertbar sind. Dadurch ist es insbesondere möglich, die Botschaften selbst nicht an das verwendete Kommunikationstechnikmodell und nicht an das verwendete Ablaufsteuerungsmodell zu binden, sondern unabhängig von diesen beiden zu beschreiben.
  • Aus der derart zusammengesetzten Modellinstanz kann dann wiederum Programmcode erzeugt werden, der dann zur Laufzeit die konkrete Kommunikation der datenverarbeitenden Einheit mit der datenerzeugenden Einheit realisiert. Diese Erzeugung erfolgt dabei automatisch und kann Programmcode in jeder beliebigen Programmiersprache erzeugen. Damit ermöglicht die Erfindung Plattform- und Technologieunabhängigkeit.
  • Als datenerzeugende Einheit, von der aus und zu der Daten von der datenverarbeitende Einheit kommuniziert werden sollen, kommt dabei sowohl ein reales, beliebiges intelligentes Hardwaregerät als auch eine datensimulierende virtuelle Einheit in Betracht. Damit ist es, neben der üblichen Anbindung eines realen Gerätes, auch möglich, das Funktionieren eines real (noch) nicht existenten Gerätes zu simulieren oder aber Extremfälle zu simulieren, anstatt sie wirklich zu provozieren. Dazu wird ein Emulator, also eine virtuelle datenerzeugende Einheit, die dieses Hardwaregerät mindestens in Teilaspekten nachbildet, für ein intelligentes Hardwaregerät erzeugt.
  • Dabei ist es auch möglich, dass die Steuerung der Kommunikation der datenerzeugenden mit der datenverarbeitenden Einheit dadurch realisiert wird, dass diese zusammengesetzt wird aus einer Schnittstelle und einer Modellinstanz einer ersten datenerzeugenden Einheit und einer Schnittstelle und einer Modellinstanz einer zweiten datenverarbeitenden Einheit, die durch ein Bindemodell, dass ebenfalls aus der Datenbank gespeist wird, miteinander verbunden sind, zusammengesetzt wird. Dies erlaubt die Anbindung von datenerzeugenden Einheiten, für die die eigentlich spezifisch geforderte Schnittstelle und Software nicht vorhanden ist. Um letzteres zu ermöglichen, erlaubt es das genutzte Verfahren zur Datenkommunikation, Schnittstellen virtuell zu erzeugen.
  • Zudem ist es möglich, unter Zuhilfenahme eines Geräteabstraktionsmodells eine Geräteklasse, also eine Klasse von Geräten mit vergleichbaren Funktionen, zu erzeugen. Sie beinhaltet eine allgemeine Schnittstelle, die für eine Reihe funktional ähnlicher Geräte gleich ist. Programmatisch wird die Verbindung zur darunterliegenden Schicht der Ablaufsteuerung geschaffen. So wird schließlich die komplexe Funktionalität eines Gerätes, also die Ablaufsteuerung, über eine für Geräteklassen einheitliche Schnittstelle verfügbar gemacht. Geräte mit gleicher oder ähnlicher Funktionalität können also durch die Abstraktion der Geräteklasse einheitlich bedient werden.
  • Für den Nutzer ist es in Folge unerheblich, mit welchem konkreten intelligenten Gerät einer solchen Geräteklasse die Daten erzeugt werden, da sie für ihn immer in derselben Art und Weise kommuniziert und verarbeitet werden.
  • Beim Anbinden von datenerzeugenden Einheiten, in der Regel intelligenten Geräten, ist es dabei möglich, automatisch zu ermitteln, welche datenerzeugenden und welche datenverarbeitenden Einheiten vorhanden sind und welches Ablaufsteuerungsmodell, Botschaftsmodell und Kommunikationstechnikmodell in Verbindung mit welcher Schnittstelle benötigt wird. Dies ist aufgrund der Anbindung an eine Datenbank möglich, die eine Bibliothek möglicher Modelle enthält. Diese Modelle können dann entsprechend angepasst, erweitert, eingebunden oder miteinander kombiniert werden. Dadurch können zudem bestehende Modellinstanzen zur Datenkommunikation von datenerzeugenden mit datenverarbeitenden Einheiten in dem hier beschriebenen Verfahren jederzeit durch Erweiterungselemente erweitert werden.
  • Die Erfindung der erweiterbaren Botschaftsmodellierung für die Kommunikation mit intelligenten Geräten zeichnet sich dadurch aus, dass mögliche, erweiterte Anforderungen individuell abgedeckt werden können. Das bedeutet, dass Erweiterungspunkte vorgesehen sind, um die erforderlichen Ergänzungen in den Botschaftsmodellen einzufügen. Die Erweiterungsmöglichkeiten sind unter anderem: Datentyp; Art der Formatierung; Maskierungszeichenfolgen; Endeerkennung; Zeichenkodierung; Byte- und Bitreihenfolge; Zeichensätze, um die Kodierung/Dekodierung der Zeichen den Erfordernissen anzupassen; Funktionen; Unterstützung abhängiger Botschaftsteile wie Prüfsummen, Positionen und Längen; Filter; Ereignisse zur ereignisgesteuerten Protokollkonfiguration.
  • Die Erweiterungspunkte werden durch zwei Teile realisiert: eine Spracherweiterung (z. B. die XML-Erweiterungsmechanismen) und eine Erweiterungen durch Programmcode, der die programmatische Realisierung der Erweiterung darstellt. Beide Teile sind aneinander gekoppelt und bilden einen realisierten Erweiterungspunkt. Die Erweiterungselemente sind in beliebigen Kombinationen wiederverwendbar.
  • Neben der erfindungsgemäßen Möglichkeit, ein Botschaftsmodell wie beschrieben zu erweitern, gibt es erfindungsgemäß eine weitere Möglichkeit: das Einbetten von Modellen ineinander. Dies erlaubt es, Botschaften eines Standards direkt in Botschaften eines anderen Standards zu verwenden.
  • Durch die besondere Gestaltung der Botschaftsmodelle, die in dem Verfahren zur Datenkommunikation entsprechend der hier vorliegenden Erfindung genutzt werden, können dabei Botschaften exakt reproduzierbar beschrieben werden. Dadurch können eingelesene Botschaften nach der Botschaftsverarbeitung vollständig wiederhergestellt werden, und die Botschaftsmodelle können im Übrigen auch zum automatischen Erzeugen von geräteprotokollkonformen Emulatoren verwendet werden. Das macht es möglich, dass die nach dieser Erfindung erzeugten Botschaftsmodelle bidirektional sowohl für die Erzeugung von Botschaften von der datenverarbeitenden Einheit zur datenerzeugenden Einheit als auch zur Interpretation von Botschaften von der datenerzeugenden Einheit zur datenverarbeitenden Einheit hin verwendbar sind, während die nicht exakte Beschreibung von Botschaften, wie sie im Stand der Technik üblich ist, zur Folge hat, dass ein Botschaftsmodell nicht in beide Richtungen genutzt werden kann.
  • Die Erfindung soll nachfolgend anhand von Ausführungsbeispielen näher erläutert werden, in denen die spezifischen Eigenschaften des beanspruchten Verfahrens näher erläutert werden sollen. In den zugehörigen Zeichnungen zeigt
  • 1: Botschaftsaufbau nach dem Stand der Technik
  • 2: Aufbau einer Modellinstanz 5 für ein intelligentes Gerät (mit Beispiel Auto-ID-Lesegerät)
  • 3: konkrete Realisierungen einer Modellinstanz 5 für ein RFID-Lesegerät
  • 4: Anbindung des real existierenden Gerätes A an eine datenverarbeitende Einheit 8, die die Schnittstelle 9 eines nur simulierten Gerätes B erfordert, am Beispiel einer Waage
  • 5: Einsatz des erfindungsgemäßen Verfahrens zur Simulation, im Beispielfall von Wägedaten
  • In 2 ist ein Beispiel für eine Modellinstanz 5, die zusammengesetzt ist aus einem Kommunikationstechnikmodell 1, einem Botschaftsmodell 2, einem Ablaufsteuerungsmodell 3 und einem Geräteabstraktionsmodell 4, für ein Auto-ID-Gerät dargestellt. Als Funktion, die, neben der Möglichkeit, sie direkt in der Schicht der Ablaufsteuerung auszugeben, auch über die Schnittstelle 9 der Geräteklassenabstraktion verfügbar ist, wurde „Ausgabe gelesene ID” festgelegt. Das bedeutet, dass bei einer auftretenden Identifikation eines Objektes die ID an die darüber liegende Schicht ausgegeben wird.
  • Realisiert wird die Funktionalität durch die Schicht der Ablaufsteuerung, in der die Zustände und nötige automatische Abläufe mittels der maschinenlesbaren Modellierungssprache in einem Modell festgehalten werden. Die Kopplung an die Schnittstelle 9 der Geräteklasse Auto-ID ist ebenfalls in dem Modell maschinenlesbar beschrieben. Zudem wird das Ablaufsteuerungsmodell 3 an das Botschaftsmodell 2 mit dessen konkreten Botschaften gekoppelt. Aus dem Ablaufsteuerungsmodell 3 wird später im Zusammenspiel mit dem Botschaftsmodell 2 der Programmcode automatisch generiert, der zur Laufzeit die Funktionalität verfügbar macht.
  • An die Schicht der Ablaufsteuerung schließt sich die Schicht der Botschaftsmodellierung an. Im Beispiel des Auto-ID-Gerätes sind Botschaften zur Initialisierung, zum Starten, für Fehlermeldungen und für das Auslesen von IDs modelliert.
  • Im Kommunikationstechnikmodell 1 wird festgelegt, welche Kommunikationstechnik für die Übertragung der Daten verwendet werden soll. Im Falle des Auto-ID-Gerätes ist RS232 ausgewählt. Damit werden alle Botschaften, die für die Kommunikation mit dem Gerät erforderlich sind, über die RS232-Schnittstelle 9 gesendet.
  • Aus den konkreten Ablaufsteuerungsmodell 3 und dem Botschaftsmodell 2 mit den Kopplungen an die Geräteklasse Auto-ID und die Kommunikationstechnik wird Programmcode automatisch erzeugt. Er realisiert zur Laufzeit die vollständige Interaktion zwischen der datenverarbeitenden Einheit 8, hier einem Computer, und dem Auto-ID-Gerät.
  • In 3 ist eine mögliche Realisierung der Schichten mit konkreten in der Datenbank existierenden Modellen dargestellt. Auf der obersten Ebene werden Schnittstellen 9 für RFID-Lesegeräte und Messgeräte zur Verfügung gestellt. Auf Botschaftsebene sind Modelle für konkrete Geräte vorhanden, so kann sich der RFIDReaderAdapter beispielsweise auf QuasarMR1 oder SIRIT Infinity 510 mit deren konkreten Botschaften beziehen. Darunter wird die Verbindung zu einer konkreten, verfügbaren Kommunikationstechnik hergestellt.
  • In einem weiteren Ausführungsbeispiel soll nun erläutert werden, wie das Botschaftsmodell 2 exakt reproduzierbar beschrieben wird. Als Beispiel dient ein einzulesender Gewichtswert, für dessen Zahlenwert genau zehn Zeichen reserviert sind, wobei eine Genauigkeit von drei Nachkommastellen festgelegt ist, und der durch ein Leerzeichen mit einer folgenden Einheit („g” oder „kg”) abgeschlossen ist, z. B.: 000012.234_g (wobei für das Leerzeichen steht). Üblicherweise, d. h., nach dem Stand der Technik, würde solch ein Messwert eingelesen werden, indem angegeben würde, dass es sich zunächst um eine Fließkommazahl handelt, die durch ein Leerzeichen abgeschlossen wird. Die führenden Nullen würden bei dieser Art des Einlesens explizit vernachlässigt. Anschließend an das Leerzeichen würde die Einheit eingelesen. Die Information über die Anzahl der Zeichen, die für die Darstellung des Zahlenwertes reserviert sind, würde in dieser Beschreibung nicht abgebildet, diese Information ginge also verloren. Daher wäre die ursprüngliche Zeichenkette auch nicht mehr zu reproduzieren. Ein Beispiel für dieses Vorgehen ist in der typischerweise verwendeten C-Funktion „scanf” zu finden. Für das Einlesen eines oben beschriebenen Zahlenwertes würde der Befehl scanf („%f”, &f) verwendet werden.
  • Durch die besondere Gestaltung des Botschaftsmodells 2, wie sie Gegenstand der Erfindung ist, wird die Botschaft jedoch exakt modelliert, so dass eine Reproduktion der Eingangsbotschaft möglich ist. Das Botschaftsmodell 2 laut Erfindung beschreibt im dargestellten Fall, dass es sich um einen Zahlenwert handelt, der durch zehn Zeichen repräsentiert wird, wobei mit einer Genauigkeit mit drei Nachkommastellen gearbeitet wird. Zudem wird spezifiziert, dass der Zahlenwert rechtsbündig innerhalb der zehn Zeichen angeordnet ist und dass die führenden Zeichen mit Nullen bis auf die vollständigen zehn Zeichen aufgefüllt werden. Diese neue Art der Modellierung von Botschaften sichert eine vollständige Reproduzierbarkeit von eingelesenen Botschaften. Das resultierende Modell kann daher sowohl für das Einlesen von Botschaften (auch Parsen genannt) als auch für das Generieren von protokollkonformen Botschaften genutzt werden. Wenn eingehende Botschaften in dieser Weise modelliert werden, lässt sich zudem damit automatisch ein Emulator für ein Gerät erzeugen.
  • Die Erzeugung und Verwendung eines Emulators soll Inhalt zweier weiterer Ausführungsbeispiele sein. Üblicherweise wird aus dem Modell für eingehende Botschaften lediglich ein sogenannter Parser erzeugt, der eingehende Botschaften behandeln und damit die Nutzdaten extrahieren kann. Durch die neue Präzision der Botschaftsmodellierung wird ebenso ein Emulator erzeugt, der protokollkonforme Botschaften erzeugen kann. Mit dem zusätzlich vorhandenen Ablaufsteuerungsmodell 3 wird zudem die Sequenz der Botschaften protokollkonform erzeugt. Somit wird das Verhalten eines intelligenten Gerätes emuliert. Dieser resultierende Emulator kann für Tests oder Simulatoren verwendet werden. Er vereinfacht damit insbesondere die Arbeit mit intelligenten Geräten, da sie einerseits nicht physisch vorhanden sein müssen und zum anderen auch ohne Risiko in kritische Zustände zu bringen sind, wobei insbesondere die angeschlossene Software für die Steuerung der Geräte in diesen kritischen Zuständen auf korrekte Funktion getestet werden kann.
  • In 4 ist zunächst dargestellt, wie eine solche generierte Modellinstanz 5 für die Simulation eines intelligenten Gerätes, basierend auf den Daten eines real existierenden anderen Gerätes B derselben Geräteklasse (im Beispielfall: Geräteklasse Waage), eingesetzt wird, um das real existierende Gerät A, für das ebenfalls eine Modellinstanz 5 nach erfindungsgemäßen Verfahren generiert wurde, an eine datenverarbeitende Einheit 8, die unbedingt die Schnittstelle 9 des simulierten intelligenten Gerätes B erfordert, mittels eines zusätzlich zwischen der Modellinstanz 5 des real existierenden Gerätes A und der Modellinstanz 5 des simulierten Gerätes B durch einen Vergleich der beiden Modellinstanzen 5 erzeugten Bindemodells 6, anzubinden. Die Waage des Herstellers A erfordert im hier dargestellten Fall eine Ethernet Schnittstelle 9, während die wägedatenverarbeitende Einheit 8 eine Waage des Herstellers B mit RS232-Schnittstelle 9 erfordert. Mit dem erfindungsgemäßen Verfahren gelingt es trotzdem, Die Waage des Herstellers A an die wägedatenverarbeitende Einheit 8, die ein Auslesen der Wägedaten nach dem Protokoll des Herstellers B erfordert, anzuschließen und beispielsweise entsprechende von Waage A kommende Wägedaten zu verarbeiten.
  • Schließlich sei in 5 ein Ausführungsbeispiel für den Einsatz des erfindungsgemäßen Verfahrens zur Simulation, im Beispielfall von Wägedaten, gegeben. Hierbei soll es sich um die Simulation solcher Daten handeln, die man nicht real erzeugen möchte. Dazu wird parallel zur Modellinstanz 5 für die Anbindung der real existierenden Waage A eine zweite Modellinstanz 5 für ein simuliertes intelligentes Gerät mit den Haupteigenschaften einer Waage (ggf. der konkreten Waage A) generiert. Mit den über diese zweite Modellinstanz 5 aus der simulierten Waage ausgelesenen Daten kann dann z. B. die datenverarbeitende Einheit 8 getestet werden.
  • Zu guter Letzt soll beispielhaft an einem Einsatz eines Messgerätes der Geodäsie erläutert werden, wie die Botschaftsmodellierung erfindungsgemäß erweitert werden kann, d. h. bestehende Modellinstanzen 5 durch Erweiterungselemente erweitert oder Modelle ineinander verschachtelt werden.
  • Herkömmlicherweise erfolgt die Modellierung von Botschaften nach einem festen Satz von Regeln. Flexible Erweiterungsmöglichkeiten sind nicht vorgesehen. Sollen nun Geodäsie-Daten an die datenverarbeitende Einheit 8 kommuniziert werden, die die Angabe von Breiten- und Längengrad enthalten, ist hierfür ein neuer Datentyp nötig: Die Anforderung, dass Breiten- und Längengrad erforderlich ist, muss auch im Protokoll für die Kommunikation mit der datenverarbeitenden Einheit 8 für Geodatenverarbeitung abgebildet werden, was über einen entsprechenden Erweiterungspunkt realisiert wird.
  • Derartige Anforderungen erstrecken sich nicht nur auf den Datentyp, sondern auch auf weitere Möglichkeiten, die Botschaftsmodellierung individuell zu erweitern.
  • Bezugszeichenliste
  • 1
    Kommunikationstechnikmodell
    1a
    Kommunikationstechnikmodell eines intelligenten Geräts
    1b
    Kommunikationstechnikmodell einer simulierten datenerzeugenden Einheit
    2
    Botschaftsmodell
    2a
    Botschaftsmodell eines intelligenten Geräts
    2b
    Botschaftsmodell einer simulierten datenerzeugenden Einheit
    3
    Ablaufsteuerungsmodell
    3a
    Ablaufsteuerungsmodell eines intelligenten Geräts
    3b
    Ablaufsteuerungsmodell einer simulierten datenerzeugenden Einheit
    4
    Geräteabstraktionsmodell
    5
    Modellinstanz
    5a
    Modellinstanz eines intelligenten Geräts
    5b
    Modellinstanz einer simulierten datenerzeugenden Einheit
    6
    Bindemodell
    7
    datenerzeugende Einheit
    7a
    intelligentes Gerät
    7b
    simulierte datenerzeugende Einheit
    8
    datenverarbeitende Einheit
    9
    Schnittstelle
    9a
    Schnittstelle eines intelligenten Geräts
    9b
    Schnittstelle einer simulierten datenerzeugenden Einheit

Claims (15)

  1. Verfahren zur Datenkommunikation zwischen einer datenverarbeitenden (8) und einer datenerzeugenden Einheit (7), wobei von der datenverarbeitenden Einheit (8) Daten in einem Datenformat über eine Schnittstelle (9) von der datenerzeugenden Einheit (7) abgerufen werden, dadurch gekennzeichnet, dass in einer Datenbank für jede datenerzeugende Einheit (7) ein Botschaftsmodell (2), ein Ablaufsteuerungsmodell (3) und für jede Schnittstelle (9) ein Schnittstellen- bzw. Kommunikationstechnikmodell (1) gespeichert, eine aus dem jeweiligen Botschaftsmodell (2), dem jeweiligen Ablaufsteuerungsmodell (3) und dem entsprechenden Kommunikationstechnikmodell (1) bestehende Modellinstanz (5) der datenerzeugenden Einheit (7) erzeugt und die Kommunikation zwischen der datenverarbeitenden (8) und der datenerzeugenden Einheit (7) durch diese Modellinstanz (5) gesteuert wird.
  2. Verfahren zur Datenkommunikation nach Anspruch 1, dadurch gekennzeichnet, dass als datenerzeugende Einheit (7) ein intelligentes Hardwaregerät eingesetzt wird.
  3. Verfahren zur Datenkommunikation nach Anspruch 1, dadurch gekennzeichnet, dass als datenerzeugende Einheit (7) eine datensimulierende virtuelle Einheit eingesetzt wird.
  4. Verfahren zur Datenkommunikation nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Ablaufsteuerungsmodell (3) und/oder das Botschaftsmodell (2) und/oder das Kommunikationstechnikmodell (1) multivalent nutzbar aufgebaut wird, d. h. dass sie einer Modellinstanz (5) einer datenerzeugenden Einheit (7) und mindestens einer Modellinstanz (5) einer zweiten datenerzeugenden Einheit (7) zugeordnet werden.
  5. Verfahren zur Datenkommunikation nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Steuerung der Kommunikation aus einer Schnittstelle (9) und einer Modellinstanz (5) einer ersten datenerzeugenden Einheit (7) und einer Schnittstelle (9) und einer Modellinstanz (5) einer zweiten datenverarbeitenden Einheit (8), die durch ein Bindemodell (6), dass ebenfalls aus der Datenbank gespeist wird, miteinander verbunden sind, zusammengesetzt wird.
  6. Verfahren zur Datenkommunikation nach Anspruch 5, dadurch gekennzeichnet, dass die erste und/oder die zweite Schnittstelle (9) virtuell erzeugt wird.
  7. Verfahren zur Datenkommunikation nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass mittels eines Geräteabstraktionsmodells (4) eine Geräteklasse, die alle Geräte mit vergleichbarer Funktion umfasst, erzeugt wird.
  8. Verfahren zur Datenkommunikation nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass es einen Emulator, also eine virtuelle datenerzeugende Einheit (7), für ein intelligentes Hardwaregerät erzeugt, der dieses Hardwaregerät mindestens in Teilaspekten nachbildet.
  9. Verfahren zur Datenkommunikation nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass mittels eines Computers ermittelt wird, welche datenerzeugende (7) und welche datenverarbeitende Einheit (8) vorhanden sind und welches Ablaufsteuerungsmodell (3), Botschaftsmodell (2) und Kommunikationstechnikmodell (1) in Verbindung mit welcher Schnittstelle (9) benötigt wird.
  10. Verfahren zur Datenkommunikation nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Botschaft selbst nicht an das verwendete Kommunikationstechnikmodell (1) und nicht an das verwendete Ablaufsteuerungsmodell (3) gebunden ist.
  11. Verfahren zur Datenkommunikation nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass Botschaftsmodelle (2) exakt reproduzierbar beschrieben werden.
  12. Verfahren zur Datenkommunikation nach Anspruch 11, dadurch gekennzeichnet, dass das erzeugte Botschaftsmodell (2) bidirektional sowohl für die Erzeugung von Botschaften von der datenverarbeitenden Einheit (8) zur datenerzeugenden Einheit (7) als auch zur Interpretation von Botschaften von der datenerzeugenden Einheit (7) zur datenverarbeitenden Einheit (8) hin verwendet wird.
  13. Verfahren zur Datenkommunikation nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bestehende Modellinstanzen (5) durch Erweiterungselemente erweitert werden.
  14. Verfahren zur Datenkommunikation nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass neue Modellinstanzen (5) durch Verschachtelung bestehender Modellinstanzen (5) erzeugt werden.
  15. Verfahren zur Datenkommunikation nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass aus einer aus Kommunikationstechnikmodell (1), Botschaftsmodell (2) und Ablaufsteuerungsmodell (3) zusammengesetzten Modellinstanz (5) Programmcode in einer verfahrensunabhängigen Programmiersprache erzeugt wird.
DE102010030565A 2010-06-25 2010-06-25 Verfahren zur Datenkommunikation zwischen einer datenerzeugenden und einer datenverarbeitenden Einheit Withdrawn DE102010030565A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102010030565A DE102010030565A1 (de) 2010-06-25 2010-06-25 Verfahren zur Datenkommunikation zwischen einer datenerzeugenden und einer datenverarbeitenden Einheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102010030565A DE102010030565A1 (de) 2010-06-25 2010-06-25 Verfahren zur Datenkommunikation zwischen einer datenerzeugenden und einer datenverarbeitenden Einheit

Publications (1)

Publication Number Publication Date
DE102010030565A1 true DE102010030565A1 (de) 2011-12-29

Family

ID=45115773

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102010030565A Withdrawn DE102010030565A1 (de) 2010-06-25 2010-06-25 Verfahren zur Datenkommunikation zwischen einer datenerzeugenden und einer datenverarbeitenden Einheit

Country Status (1)

Country Link
DE (1) DE102010030565A1 (de)

Similar Documents

Publication Publication Date Title
EP2801872B1 (de) Testeinrichtung zum Test eines virtuellen Steuergeräts
EP1433033B1 (de) Verfahren zum bedienen eines feldgerätes mittels browser
DE19639424A1 (de) Entwurfsverfahren für die Anlagentechnik und rechnergestütztes Projektierungssystem zur Verwendung bei diesem Verfahren
EP1906377A1 (de) System und Verfahren zur Integration eines Prozessleitsystems in einen Trainingssimulator
EP2789145A2 (de) Vorrichtung zur bedienung von mindestens einem feldgerät der automatisierungstechnik
DE102017211433B4 (de) Verfahren zum Durchführen eines Funktionstests eines Steuergeräts in einem Hardware-in-the-Loop-Test, HIL-Test, sowie HIL-Prüfstand und Steuergerät
DE20321699U1 (de) Rechner zum Durchführen eines Simulationsverfahrens für eine Bearbeitung eines Werkstücks durch eine Werkzeugmaschine
DE102007059671A1 (de) Verfahren zum Betreiben eines Systems aufweisend ein Feldgerät und ein Bediensystem
EP2671122B1 (de) Automatisierte projektierung einer leittechnik einer technischen anlage
EP2851757B1 (de) Kundenspezifische Konfiguration und Parametrierung von Füllstandmessgeräten beim Bestellvorgang
EP1763710B1 (de) Verfahren zur simulation einer technischen anlage
EP0913750B1 (de) Anordnung zum Fernsteuern und/oder Fernbedienen eines Feldgeräts mittels eines Steuergeräts über einen Feldbus
EP2911024A1 (de) Verfahren zur Inbetriebnahme eines industriellen Automatisierungsnetzwerks sowie Feldgerät
EP3535626A1 (de) Bereitstellung von informationen zu zusatzfunktionalitäten von feldbuskomponenten
WO2020094476A1 (de) Verfahren und vorrichtung zum computergestützten simulieren eines modularen technischen systems
WO2005101148A2 (de) Verfahren und system zur virtuellen inbetriebsetzung einer technischen anlage mit bevorzugter verwendung
EP1866715B1 (de) Entwurfsvorrichtung zum entwerfen einer leittechnischen anlage und verfahren zum überprüfen der technologischen aufgabenstellung beim entwurf einer leittechnischen anlage
EP2863277A1 (de) Verfahren zur Gerätesimulation
DE102016123599A1 (de) Robotersteuerung mit Funktion zur Kommunikation mit einer speicherprogrammierbaren Steuerung und Kommunikationssystem
DE102018207172A1 (de) Verfahren und Vorrichtung zum Simulieren eines cyber-physischen Systems
DE102010030565A1 (de) Verfahren zur Datenkommunikation zwischen einer datenerzeugenden und einer datenverarbeitenden Einheit
EP2672660B1 (de) Verfahren zur Beeinflussung der Buskommunikation eines Steuergeräts
EP1515207A1 (de) Automatisierungsobjekt und Verfahren zur Beschreibung eines Automatisierungsobjektes unter Verwendung einer Metasprache
DE10394242T5 (de) Verfahren und Instrument zur Zuweisung von Rechenressourcen in einem verteilten Steuersystem
DE102020109093A1 (de) Verfahren zur Überprüfung der zuverlässigen Funktion eines automatisierungstechnischen Prozesses innerhalb eines IO-Link-Systems

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee