-
Die Erfindung betrifft einen zwischen mindestens zwei Netzwerksystemen geschalteten Netzwerkumsetzer, welcher zum Datentransfer binärer Daten von einem der Netzwerksysteme zu mindestens einem weiteren der Netzwerksysteme geeignet ist.
-
Derartige Netzwerksysteme können beispielsweise lokale Computernetzwerke sein. Bei solchen Netzwerksystemen bzw. lokalen Computernetzwerken, die zunehmend in der Kraftfahrzeugelektronik oder der Maschinensteuerung eingesetzt werden, kommuniziert eine Teilnehmersstation über einen Datenbus mit mindestens einer weiteren an demselben Datenbus angeschlossenen Teilnehmersstation. Aus dem Stand der Technik ist als Beispiel eines solchen Bussystems ein sogenanntes Controller Area Network (CAN-Netzwerk) bekannt (siehe https://de.wikipedia.org/wiki/Controller_Area_Network).
-
Mit dem zunehmenden Bedarf an elektronischen Komponenten in der Maschinensteuerung ist es vorteilhaft, mehr als zwei lokale Bussysteme bzw. Netzwerksysteme, beispielsweise mit unterschiedlich hohen Datenübertragungsraten, zu verwenden. Damit steigt naturgemäß auch der Bedarf, dass Teilnehmerstationen unterschiedlicher Bussysteme/Netzwerksysteme miteinander kommunizieren können. Zum Zwecke des Datentransfers zwischen unterschiedlichen Netzwerksystemen kann beispielsweise ein sogenanntes Brückenmodul (Bridge) vorgesehen sein.
-
Aus dem Produktportfolio der Anmelderin ist ein Netzwerkumsetzer CAN@net bekannt, welcher zwischen einem Ethernet und einem CAN-Bus Nachrichten umsetzen kann.
-
Die Programmierung von Umsetzungs- und Steueranweisungen an derartigen Netzwerkumsetzern ist jedoch sehr komplex und für den Anwender im Zuge der Maschinenkonfiguration oder der Maschinenwartung oftmals nicht ausführbar. Einfache Anpassungen oder zweckmäßige Erweiterungen lassen sich nur durch umfangreiche Wartungsarbeiten an der Steuerungssoftware des Netzwerkumsetzers realisieren, wozu i.d.R. ein Eingriff des Herstellers oder eines geschulten Spezialisten erforderlich ist.
-
Aufgabe der Erfindung ist es einen Netzwerkumsetzer weiterzubilden, um die Anpassbarkeit und Erweiterbarkeit für den Anwender zu verbessern.
-
Diese Aufgabe wird durch die in den Schutzansprüchen angegebenen Merkmale gelöst.
-
Erfindungsgemäß ist dabei vorgesehen, dass ein zwischen mindestens zwei Netzwerksysteme geschalteter Netzwerkumsetzer, insbesondere ein Brückenmodul, vorgesehen ist. Dabei umfasst der Netzwerkumsetzer eine erste Netzwerkschnittstelle für die Einbindung in ein erstes Netzwerk, z.B. ein Ethernet, und eine zweite Netzwerkschnittstelle für die Einbindung eines zweiten Netzwerks, insbesondere eines Maschinenbus, z.B. CAN-Bus.
-
Der Netzwerkumsetzer umfasst weiterhin einen Speicher, eine CPU und eine Steuerungssoftware, wobei eine Nachricht mit definiertem Dateninhalt auf der einen Netzwerkschnittstelle empfangen wird, eine Umsetzung der Nachricht in eine Steueranweisung durch die CPU und die Steuersoftware erfolgt und eine Nachricht mit einem oder mehreren definierten Dateninhalten auf Basis der Steueranweisung auf der anderen Netzwerkschnittstelle auslöst oder eine definierte Steueranweisung für den Netzwerkumsetzer auslöst.
-
Unter einer Nachricht mit definiertem Dateninhalt ist mehr als ein reines Datenpaket im Sinne einer Kommunikationsprotokolls (z.B. TCP oder dergleichen) zu verstehen. Vielmehr handelt es sich dabei um vollständige Ereignisse, bestehend aus Nachrichtenbeschreiber und Nachrichteninhalt, Aktionen, Systemereignissen, oder Programmanweisungen, welche von den jeweiligen Schnittstellen ausgewertet werden. Dabei umfassen diese Schnittstellen nicht nur Maschinen-Feldbusse, sondern auch lokale Ereignisse bzw. Systemdaten - z.B. Betriebsart o.ä.
-
Die Nachrichten werden in der Konfigurationsanwendung der Netzwerkbrücke angezeigt und automatisch entsprechend der Quelle bzw. des Ziels in Nachrichtenbeschreiber und Nachrichteninhalt unterteilt, um die Nutzung und Konfiguration auch ohne Programmier- bzw. Netzwerkwissen zu ermöglichen. Insbesondere der Nachrichteninhalt oder der Nachrichtenbeschreiber selbst wird durch die Netzwerkbrücke ausgewertet und in eine definierte Steueranweisung überführt.
-
Durch die Verwendung von definierten Steueranweisungen ist es dem Anwender möglich, diese Steueranweisungen zu kombinieren und auf diese Weise einfach, ohne intensive Programmierkenntnis die Umsetzung einer Nachricht von der einen Netzwerkschnittstelle auf die andere Netzwerkschnittstelle zu konfigurieren.
-
Eine vorteilhafte Weiterbildung sieht vor, dass die Steuerungssoftware auf eine objektorientierte Programmierung beschränkt ist, insbesondere nur ein eingegrenzter Umfang an Funktionsblöcken umfasst ist.
-
Durch die Verwendung von objektorientierten Steueranweisungen können durch den Hersteller definierte Objekte zur Programmierung des Netzwerkumsetzers bereit gestellt werden, welche konkrete Steuerungsabläufe beinhalten und vom Anwender in der Art eines Baukastensystems miteinander kombiniert werden können. Dabei ist keine Kenntnis über die Programmierung als solche notwendig. Vielmehr kann z.B. aus einer vorgegeben Liste an Ereignissen (Empfangene Nachricht, Systemzustandsänderung, Systemstart) ein Ereignis ausgewählt werden, zu welchem dann eine Aktion aus einer Aktionsliste (Senden von Nachrichten, Setzen von Systemfunktionen, Aktivieren Komponenten) zugeordnet werden kann.
-
In einer weiteren Ausführung des Netzwerkumsetzers ist vorgesehen, dass die Steuersoftware Funktionsblöcke für die Steuerung des Netzwerkumsetzers selbst, z.B. eine Neustartfunktion oder eine Ansteuerung von Signalisierungsvorrichtungen, z.B. LEDs oder Nachrichtenmodulen umfasst.
-
Durch die Steuerung des Netzwerkumsetzers selbst kann die Programmierung z.B. eine regelmäßige Abfrageschleife umfassen, um im Falle einer Störung einen Neustart des Netzwerkumsetzers herbei zu führen. Auch Signalisierungen, wie z.B. das Betätigen einer Störungs- oder Funktionsanzeige, einer Protokollanzeige für einen erfolgten Neustart oder eine Nachricht in Form eines MQTT-Telegramms oder einer E-Mail sind denkbar. Die für die jeweilige Steuerungsaufgabe erforderlichen Parameter können durch den Benutzer einfach im betreffenden Funktionsblock eingegeben werden, ohne dass Programmierkenntnisse erforderlich sind. Z.B. können Empfangsnummern für ein MQTT-Telegramm oder eine E-Mail Adresse oder dergleichen eingegeben werden, an welche der Funktionsblock „Neustart“ einfach eine Protokollnachricht versendet.
-
Des Weiteren ist ein Verfahren zur Umsetzung von Nachrichten zwischen mindestens zwei Netzwerksystemen durch einen zwischen die Netzwerksysteme geschalteten Netzwerkumsetzer, insbesondere Brückenmodul, vorgesehen. Dabei umfasst der Netzwerkumsetzer eine erste Netzwerkschnittstelle, welche für die Einbindung in ein erstes Netzwerk, z.B. ein Ethernet, ausgebildet ist und eine zweite Netzwerkschnittstelle, welche für die Einbindung eines zweiten Netzwerks, insbesondere eines Maschinenbus (z.B. CAN-Bus), ausgebildet ist, und einen Speicher, eine CPU und eine Steuerungssoftware. Es ist vorgesehen, dass die Steuersoftware definierte Funktionsblöcke mit vorgegebenen Umsetzungsfunktionen umfasst, und eine Nachricht mit definiertem Dateninhalt auf der einen Netzwerkschnittstelle empfangen wird, eine Umsetzung der Nachricht in eine Steueranweisung aus einem oder mehreren Funktionsblock/Funktionsblöcken durch die CPU und die Steuersoftware erfolgt und eine Nachricht mit einem oder mehreren definierten Dateninhalten auf Basis der Steueranweisung auf der anderen Netzwerkschnittstelle ausgegeben wird oder eine definierte Steueranweisung für den Netzwerkumsetzer erfolgt.
-
Aufgrund des beschriebenen Verfahrens kann eine einfache Programmierung im Umfang der Funktionsblöcke durch den Endnutzer selbst vorgenommen werden, ohne dass vertiefte Programmierkenntnisse erlangt werden müssen, oder dass der Nutzer Einblicke in die Softwarestruktur des Netzwerkumsetzers benötigt.
-
Das erfindungsgemäße Verfahren sieht überdies vor, dass eine Steuersoftware Datenbeschreiber und Dateninhalte von dem Netzwerkumsetzer bzw. einem diesem zugeordneten Konfigurationswerkzeug automatisch anhand der jeweiligen Netzwerkschnittstelle (erste/Quelle oder zweite/Ziel) vorbereitet und dem Anwender definierte Funktionsblöcke einfach und verständlich zur Verfügung stellt.
-
Die Datenbeschreiber und Dateninhalte müssen nicht in einer Datenbank gepflegt werden. Dadurch sind die Schnittstellentypen nicht eingeschränkt und eine einfachere Verwendung des Systems ist möglich.
-
In bekannten Systemen ist dies nur über spezielle Datenbanken (umfassend u.a. canDB, FIBEX, A2L Formate) möglich, wobei diese Datenbanken sehr schnell komplex und aufwändig zu pflegen sind und lediglich eine eingeschränkte Anzahl unterschiedlicher Schnittstellentypen unterstützen. Die betreffende Datenbank muss für das Gesamtsystem genau erstellt werden und z.B. genaue Kommunikationswege definieren (wer redet in dem System mit wem). Diese Erstellung ist sehr komplex und umfasst üblicherweise alle Anweisungen. Die Erfindung erlaubt einen Verzicht auf diese komplexe Datenbank für jedes System sondern liefert einen Baukasten, welcher systemübergreifend einen definierten Funktionsumfang in Funktionsblöcken bzw. Objekten für Quell- und Zielwerte dem Anwender zur Verfügung stellt.
-
Insofern beschreibt die Erfindung eine klassische „Bridge“ sondern eine Auswertung von Nachrichten mit Ausgabe und Weiterleitung einer Steueranweisung / Aktionsanweisung.
Die Steuersoftware ist durch die eigene Verarbeitung in der CPU bezüglich der anwendbaren Schnittstellen (Maschinennetzwerke, andere Schnittstellen) nicht eingeschränkt und kann unterschiedlichste Systeme miteinander verbinden - auch wenn Format oder Umfang der Datenbeschreiber und Dateninhalte eine direkte Verbindung nicht zulassen.
-
Insbesondere in diesem Fall unterstützt der objektorientierte Netzwerkumsetzer den Nutzer, da keine aufwändige Programmierung mit Datenumwandlung notwendig ist, sondern die Steuersoftware des Netzwerkumsetzers dies automatisch im Hintergrund übernimmt und der Anwender nur aus den Funktionsblöcken wählen muss.
-
Die Erfindung soll anhand des nachfolgenden Ausführungsbeispiels näher erläutert werden.
-
Es zeigt dabei 1. eine vereinfachte Version eines Ablaufdiagramms eines objektorientiert arbeitenden Netzwerkumsetzers. Dabei wird aus einem „Ereignis“ welches auf einer Netzwerkschnittstelle 1 empfangen wird, in einem vordefinierten Funktionsblock „Bedingung“ durch eine CPU eine Auswertung vorgenommen. Im dargestellten Fall ist die Auswertung auf eine erfüllte Bedingung „zutreffend“ und eine nicht erfüllte Bedingung „falsch“ beschränkt. Dies kann z.B. bei der Überwachung der reinen Anwesenheit des Netzwerks gegeben sein. Je nach erfüllter Bedingung übergibt der Funktionsblock die Auswertung an ein vordefiniertes Aktionsmodul 2 „Aktion“, welches eine Steueranweisung an den Netzwerkumsetzer oder an die zweite Netzwerkschnittstelle ausgibt.
-
Eine detailliertere Ausführungsform ist in 2 angegeben. Dabei ist entsprechend der Bezeichnung in 1 ein „Ereignis“ an einer ersten Netzwerkschnittstelle 20 ein Initiator. Aus dem „Ereignis“, welches auf der Netzwerkschnittstelle 20 empfangen wird, erfolgt auch in diesem Fall in einem vordefinierten Funktionsblock „Bedingung“ durch eine CPU eine Auswertung. Die Bedingung, welche zum Ergebnis „zutreffend“ oder „falsch“ der Auswertung führt, kann vom Anwender aus einem definierten Satz an Funktionen/Funktionsblöcken ausgewählt werden. Diese können dem Anwender z.B. in einem Auswahlfeld 21 bereitgestellt werden. Die Auswahl des Anwenders im Auswahlfeld 21 bewirkt unmittelbar die Festlegung 23 der „Bedingung“. Die Funktionsblöcke können dabei einzelne Funktionen umfassen, oder sie können auch die Verknüpfung mehrerer Funktionen, z.B. durch logische Operatoren (AND, OR, NOR, ...) ermöglichen.
-
In 2 umfasst der Ablauf auch eine Verzögerungsschleife „Zeitschleife“, welche ebenfalls durch vorgegebene Funktionsparameter vom Anwender eingestellt werden kann. Diese Zeitschleife ist optional und muss nicht in jeder Anwendung oder Funktion vorgesehen werden.
-
Je nach Bedingung wird vom Netzwerkumsetzer aufgrund der im Funktionsblock definierten Steueranweisung eine „Aktion“ ausgeführt, deren Inhalt ebenfalls durch vordefinierte Funktionsblöcke für den Anwender vorgegeben ist. Auch diese Funktionsblöcke können in einem Auswahlfeld 24 ausgewählt werden und legen die Steueranweisung 25 der zweiten Netzwerkschnittstelle oder des Netzwerkumsetzers fest.
-
Wird zum Beispiel eine CAN-Nachricht mit dem selektierten Nachrichtenidentifier als „Bedingung“ empfangen, so kann aufgrund der Definition dieses Identifiers als „zutreffend“ als Funktionsblock das vordefinierte Ereignis des Sendens eines MQTT Telegramms über Ethernet an eine definierte Adresse ausgelöst werden.
-
Die bei den Auswahlfeldern 21 und 24 aus einer vorgegeben Liste an Ereignissen (Empfangene Nachricht, Systemzustandsänderung, Systemstart) ausgewählten Funktionen werden im Netzwerkumsetzer zu Programmanweisungen 26, 27, 28 kombiniert, welchen dann eine Aktion 29 aus einer Aktionsliste (Senden von Nachrichten, Setzen von Systemfunktionen, Aktivieren von LEDs) zugeordnet sind. Diese Programmierung kann aufgrund der Erfindung durch einen Nutzer selbst, ohne vertiefte Programmierkenntnis vorgenommen werden, was sowohl eine Kostenersparnis als auch ggf. eine Zeitersparnis aufgrund der unmittelbar gegebenen Eingriffsfunktion bewirkt.
-
Aufgrund der Systemarchitektur und der Umsetzung der Funktionen über Auswahllisten 21, 24 ist ein überschaubares Konfigurationswerkzeug ausreichend - es wird keine Programmier-/Entwicklungsumgebung benötigt, wie ansonsten bei Programmierung oder objektorientierter Programmierung notwendig, welche oft Funktionen anbieten, welche für die gewählten Schnittstellen nicht einsetzbar sind, da die Datenstrukturen nicht automatisiert angepasst werden können.
-
Aufgrund der definierten Funktionsblöcke erfolgt eine Freigabe nur für definierte Funktionen - nicht definierte Funktionen werden nicht unterstützt. Somit ist das System nur eine Konfigurationshilfe aus eingeschränkten Funktionen, keine Programmiersprache. Daraus folgt, dass auch eine Fehlerschleife/Kontrolle nicht notwendig ist, da keine Fehler in der Logik beim Anwender auftreten können.
-
Es sind erfindungsgemäß nur zwei, optional drei Schritte notwendig, um ein Ereignis auszuwerten und eine Aktion zu beschreiben:
- 1 - Auswahl des Ereignisses - bestehend aus Ereignistyp (Nachricht, Systemstatus) und optional Daten (Eingrenzung des Ereignisses)
- 2 - Auswahl der Aktion - bestehend aus Aktionstyp (Nachricht, Systemstatus) und optional Daten (bei Nachrichten)
- 3 - Optional: Auswahl einer Wartezeit bis zur Aktion
-
Die Auswahl erfolgt immer über Menüpunkte, aus vordefinierten sowie dynamisch erstellten Wahlmöglichkeiten bzw. Funktionsblöcken.