openConfigurator: Open-Source-Tool vereinfacht Powerlink-Konfiguration

OpenConfigurator steht unter der Open-Source-Lizenz BSD und kann kostenfrei im Internet heruntergeladen werden. Das Tool lässt sich Stand-alone verwenden oder – aufgrund des offengelegten und frei verwendbaren Quellcodes sowie der Plattform-unabhängigen Tcl/TK-basierten grafischen Benutzeroberfläche – in die Programmiersysteme oder Serviceanwendungen des Nutzers einbinden und beliebig anpassen. Im Folgenden erläutern wir, was zur Konfiguration eines Powerlink-Netzwerkes gehört und zeigen, welche Möglichkeiten zur einfachen Konfiguration das neue Tool bietet. Aufbau des Netzwerks In einem Powerlink-Netzwerk bekommt eine SPS oder ein Industrie-PC die Funktion des sogenannten Managing Nodes (MN) zugewiesen, alle anderen Geräte fungieren als Controlled Nodes (CN). Der Managing Node gibt den Zeittakt zur Synchronisation al­ler Geräte vor und steuert die ­zyk­lische Datenkommunikation. Innerhalb eines Taktzyklus, der alle Teilnehmer bedient, sendet der Managing Node Anfragen, PollRequests genannt, nacheinander an alle Controlled Nodes im Netzwerk. Die maximal zulässige Anzahl der Controlled Nodes in einem Netzwerk beträgt 240. Diese antworten mit PollResponses nach dem Broadcast-Prinzip auf die Anfragen. Powerlink gestattet eine Modularisierung des Netzwerks. Dafür übernehmen Komponenten, die aus Sicht des zentralen Managing Nodes als Controlled Nodes fungieren, innerhalb untergeordneter Segmente aber selbst die Rolle eines Managing Nodes. Powerlink-Objektverzeichnis Wie bei CANopen werden bei Powerlink sämtliche Kommunikations- und Anwenderobjekte in einem Objektverzeichnis zusammengefasst, das eine eindeutige Schnittstelle zwischen der Anwendung und der Kommunikation nach außen definiert. Das Objektverzeichnis oder Objectdictionary (OBD) enthält die Gerätebeschreibungen aller im Netzwerk vorkommender Geräte sowie die Zuordnung ihrer Speicherbereiche für die Datenkommunikation. Im Netzbetrieb \’kartographiert\‘ das Objektverzeichnis die Betriebszustände sämtlicher Geräte und gibt zu jedem Zeitpunkt ein laufend aktualisiertes Abbild der gesamten Prozesse wieder. Damit bildet das Objectdictionary gleichsam die Kommunikationszentrale des Powerlink-Netzwerks. Der openConfigurator dient der automatischen Erstellung des Objectdictionarys, das nach seiner Fertigstellung als CDC-Datei der Festlegung der Teilnehmer durch den Nutzer nur noch auf den Managing Node transferiert wird. Was openConfigurator leistet Zur Konfiguration des Netzwerks bzw. zur Generierung des Objectdictionarys gehören also die Festlegung der Geräte und ihrer Funktionalitäten sowie die Einrichtung der logischen Verknüpfungen untereinander. Damit gliedert sich die Einrichtung eines Powerlink-Netzwerks prinzipiell in zwei Abläufe: Im ersten werden die Netzwerkwerkteilnehmer selbst konfiguriert. Grundlage dafür ist die Gerätebeschreibung mit gerätespezifischen Parametern, die in Form der XDD-Dateien direkt vom Hersteller mitgeliefert wird. In Bezug auf das Netzwerk müssen die zeitabhängigen Parameter des Datenaustausches konfiguriert werden, wie z.B. die globale Zykluszeit und die Responsezeit der Controlled Nodes. Auch weitere Features, die Powerlink bietet, wie Querverkehr oder Multiplexing, können bei diesen Einstellungen festgelegt werden. Der zweite Schritt besteht im Mapping der Prozessdatenobjekte, also der Zuordnung der Speicheradressen für den Austausch der Daten unter den Netzwerkteilnehmern. Neben der CDC-Datei generiert openConfigurator eine XML-Application File (XAP)-Datei, die ein- und ausgehende Prozessdatenobjekte jedes Teilnehmers dokumentiert. Default-Einstellungen Der openConfigurator erfordert von Anwendern keine umfangreichen Kenntnisse der Netzwerkkonfiguration. Nutzer mit wenig Erfahrung verwenden die Default-Einstellungen und lassen sich von der grafischen Oberfläche in vier Schritten durch den Konfigurationsprozess leiten. Der erste Schritt besteht im Anlegen eines neuen Projekts. Ebenso lassen sich bestehende Projekte zur Überarbeitung, zum Einfügen neu hinzukommender Controlled Nodes oder zur Änderung der Kommunikationsparameter öffnen. Hat der Nutzer ein neues Projekt angelegt, gilt es zunächst, den Managing Node zu konfigurieren. Dabei hat der Anwender die Wahl zwischen einer Default-Einstellung oder dem Import einer XDD-Datei für den Managing Node. Darauf erscheint im Browser eine Baumstruktur, die mit dem Managing Node als überlagertem Ordner den einfachen und direkten Zugriff auf die Objekte und Parameter des Objektverzeichnisses erlaubt. Durch Anklicken öffnet sich im rechten Browserfenster eine Maske zur Bearbeitung der angewählten Parameter. Zum Zufügen von Controlled Nodes klickt der Anwender in die Baumstruktur und wählt über das Kontextmenü \’Add CN\‘. Auch hier hat er die Wahl, in einem Popup-Fenster dem Controlled Node eine Bezeichnung zu geben, die Knoten-ID zuzuweisen und für die Konfiguration entweder die Default-Einstellung zu wählen oder eine vorhandene XDD-Datei zu importieren. Wie schon beim Objektverzeichnis unter dem Managing Node lassen sich auch für die Controlled Nodes in einer Verzeichnisstruktur Objekte hinzufügen, entfernen oder bearbeiten, die durch die Default-Einstellung oder die importierte XDD-Datei nicht vorgesehen waren. Beispielsweise lässt sich über diese Option der Querverkehr unter den Controlled Nodes konfigurieren. Über eine Checkbox lässt sich grundsätzlich für jedes Objekt bestimmen, ob es zum CDC hinzugefügt werden soll oder nicht. Nachdem alle gewünschten Teilnehmer festgelegt und bei den Objektverzeichnissen die gewünschten Einstellungen getroffen sind, muss der Anwender nur noch den Build-Button drücken, wodurch die Generierung der CDC-gestartet sind. Ein Fenster im Browser gibt dem Anwender Auskunft über die erfolgreiche Datei-Erstellung: Das Projekt ist abgeschlossen. PDO-Mapping Zu Beginn des Projektierungsvorgangs kann sich der Nutzer für die Einstellung \’Autogenerate\‘ entscheiden, die ihm das manuelle Erstellen des Managing-Node-PDO-Mappings (Prozessdatenobjekte) erspart. In der Baumstruktur erscheinen alle Transmit-Prozessdatenobjekte (TPDO) und Receive-Prozessdatenobjekte (RPDO) im Objektverzeichnis-Ordner. Durch Anklicken der einzelnen Objekte öffnet sich im Browser eine Tabelle mit der jeweiligen Übersicht über die Aktualwerte. In dieser Tabelle kann der Anwender Offsets, Länge, Indice und Subindice bearbeiten. Ende der Konfiguration Am Ende des Prozesses generiert das Tool automatisch die CDC-Datei mit dem gesamten Objektverzeichnis sowie eine XML-Datei und einen Header in C, die die Variablennamen und Offsets dokumentieren. Erfahrene Anwender erhalten mit openConfigurator die vollständige Kontrolle über die Konfiguration in jeder Phase. So können Kommentare und Objekte manuell eingefügt, automatisch generierte Dateien angepasst und Querverkehr unter den Teilnehmern eingerichtet werden. openConfigurator besteht aus einer Sammlung von C++-dlls mit einer TcL/TK-basierten grafischen Oberfläche. Anwender, die ein eigenes Graphical User Interface (GUI) verwenden möchten, können auf das durch C++ zur Verfügung gestellte Application Programming Interface (API) zugreifen. Mit seinen Fähigkeiten ermöglicht es der openConfigurator sowohl Einsteigern, schnell und einfach ihr Netzwerk zu konfigurieren, als auch Fortgeschrittenen, ihre Applikation optimal an das Powerlink-Protokoll anzupassen. Kasten1: In fünf Schritten zur fertigen Konfiguration 1. Projekt anlegen 2. Knoten einfügen 3. Build-Button klicken 4. CDC in Applikation transferieren 5. Applikation kompilieren (z.B.in C) Kasten2: Der openConfigurator im Internet Der openConfigurator kann unter sourceforge.net heruntergeladen werden.