Hutschienenmodul

Kleinsteuerung mit Raspberry Pi

18. November 2016, 11:20 Uhr | Von Andreas Müller
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 3

Grafische Konfiguration des Systems mit PiCtory

Die Konfigurationsdatei wird mit der Web-Anwendung PiCtory erstellt, die über einen Browser bedient wird. Mit PiCtory werden die Platzierung von Hardware-Modulen an der PiBridge und die symbolischen Namen der Ein- und Ausgangssignale festlegt. Diese Angaben gelangen dann über eine JSON-Datei zu PiControl und allen anderen Treibern. Außerdem dient PiCtory zur Konfiguration von angeschlossenen Hardware-Modulen oder installierten Treibern.

Anbieter zum Thema

zu Matchmaker+
Mit der Software-Applikation PiCtory lässt sich das Revolution-Pi-System individuell konfigurieren.
Bild 4. Mit der Software-Applikation PiCtory lässt sich das Revolution-Pi-System individuell konfigurieren.
© Kunbus

Die Geräte werden per Drag & Drop so platziert, wie sie auch auf der Hutschiene angeordnet sind (Bild 4). Festgelegte Regeln helfen bei der richtigen Platzierung: RevPi Core in der Mitte, flankiert von den I/O-Modulen und Gateways jeweils ganz außen.

Alle zyklisch ausgetauschten Prozessdaten werden in einem zentralen Prozessabbild im RevPi Core zusammengeführt. Dieser Speicherbereich, in dem die Prozessdaten an vorbestimmten Adressen abgelegt werden, ist das Bindeglied aller Komponenten. Diese Komponenten, egal ob Hardware-Module oder Software-Applikationen, tauschen ihre Daten immer mit diesem Prozessabbild aus. Dafür müssen aber sowohl die Treiber als auch Software-Applikationen wissen, wo genau (an welcher Adresse im Speicher) die einzelnen Prozesswerte zu finden sind. Wenn zum Beispiel zwei RevPi DIO verbaut wurden und am 5. Eingang des 2. DIO die Lichtschranke 17 angeschlossen ist, muss die Applikation (z.B. die Soft-SPS) wissen, an welcher Adresse der Zustandswert im Prozessabbild abgelegt ist. Und hier kommt PiCtory ins Spiel.

Mit PiCtory definiert der Anwender alle I/O-Signale, ordnet ihnen symbolische Namen zu („Lichtschranke_17“) und legt fest, welcher „Adapter“ die Daten liefert oder abholt (Eingang 5 vom 2. RevPi-DIO-Modul links neben dem RevPi Core). Nachdem alle IO-Signale definiert wurden, berechnet PiCtory deren genaue Adressen im Prozessdatenabbild und schreibt sie zusammen mit den symbolischen Namen in eine (lesbare) JSON-Datei (siehe Kasten JSON). Treiber wie der PiControl lesen diese Datei beim Start und wissen daher, an welchen Adressen des Prozessabbildes sie Daten abzulegen oder zu lesen haben. Wenn eigene Treiber oder eine Applikations-Software verwendet wird, kann ebenfalls auf diese Datei zugriffen werden, um die Adresse zu erfahren. Leichter geht es mit einem Funktionsaufruf zum PiControl, dem der symbolische Name übergeben wird. Diese Funktion liefert die Startadresse und Länge des Speicherbereichs, auf den zugegriffen werden muss, um dieses I/O-Signal aus dem Prozessabbild zu holen oder es dort abzulegen.

JSON
JSON steht für Java Script Object Notation und ist ein lesbares Textformat zum Zweck des Datenaustauschs zwischen Anwendungen. JSON wird zur Übertragung und zum Speichern von strukturierten Daten eingesetzt. Der Vorteil gegenüber XML ist, das JSON gültiges JavaScript ist. Davon abgesehen ist JSON aber unabhängig von der Programmiersprache. Parser existieren in praktisch allen verbreiteten Sprachen. Die Systemkonfiguration aus PiCtory kann auch als „structured text“ nach EN 61131-3 exportiert werden und liefert dann eine gülite VAR_GLOBAL-Deklaration für den Programmcode einer Soft-SPS.

 

PiCtory kann aber mehr, als diese Verwaltung des Prozessabbildes zu erleichtern. Er ist Konfigurator, der für jeden Adapter (Hardware-Modul oder Treiber) beliebige Konfigurationswerte in der JSON-Datei ablegt. PiControl zum Beispiel liest beim Starten diese Konfigurationswerte und übermittelt sie über die PiBridge an die Hardware-Module. Ein Beispiel für einen solchen Konfigurationswert ist bei RevPi DIO die Aktivierung von PWM- und Zähler-Betriebsarten der Aus- bzw. Eingänge (siehe Kasten „Ein- und Ausgänge mit PiCtory konfigurieren“).

PiCtory arbeitet auch mit Fremdgeräten und Fremdtreibern. Ein Adapter kann nicht nur ein Hardware-Modul an der PiBridge sein, sondern auch ein virtuelles Gerät. Das ist eine Treiber-Software, für die Speicherplatz im Prozessabbild reserviert wird und für die mit symbolischen Namen Prozesswerte definiert werden können. Solche virtuellen Geräte tauschen ihre Prozessdaten dann nicht über die PiBridge aus, sondern über USB oder Ethernet. Entwickler können über einfache Aufrufe des Betriebssystems in das Prozessabbild schreiben oder von dort lesen.

Für jeden dieser Adapter muss eine „RevPi Adapter Profile“-Datei („RAP-Datei“) vorhanden sein. PiCtory liest diese Dateien ein und weiß aus ihrem Inhalt, welche I/O-Daten von dem Adapter verarbeitet werden und welche Konfigurationseinstellungen möglich sein sollen. Eine RAP-Datei kann mit jedem Texteditor selbst erstellt werden.

Ein- und Ausgänge mit PiCtory konfigurieren
Über die Konfigurations-Software PiCtory lassen sich beim I/O-Modul RevPi DIO (nicht für RevPi DI oder RevPi DO) PWM-Modus und Zähler aktivieren. Für jeden der 14 Ausgänge kann optional eine PWM-Funktion eingeschaltet werden. Bei eingeschaltetem PWM wird statt einem Bit pro Kanal ein ganzer Bytewert von 0 bis 100 übertragen, der in Prozent die Pulsweite am Ausgang definiert. Per Konfiguration kann pro Modul eine Frequenz zwischen 40 und 400 Hz festgelegt werden. Die Auflösung der kleinsten Schrittweite beträgt bei 40 Hz 1 %, bei 400 Hz 10 %. Für jeden der 14 Eingänge kann optional eine Zählerfunktion eingeschaltet werden. Für jeden Zähler steht dann ein 32-bit-Wert im Prozessabbild. Jeder Zähler kann mit folgenden Angaben in der Konfigurations-Software PiCtory konfiguriert werden:
  • Art der Flanke für Zählerfortschritt
  • Maximalwert
  • Überlauf möglich oder Stopp bei Maximalwert
  • Alarm auf Ausgang N bei Erreichen des Alarmwertes X
  • Reset durch spezifischen Ausgabewert von RevPi Core
  • Reset durch Eingang N
  • Zählen nur falls Eingang N gesetzt (Gating)
  • Drehgeber (Encoder) Zählfunktion für jeweils zwei Eingänge (Phasenversatz-Technik)

  1. Kleinsteuerung mit Raspberry Pi
  2. Industrielle I/0-Module
  3. PiBridge: Systembus mit automatischer Modul-Initialisierung
  4. Grafische Konfiguration des Systems mit PiCtory
  5. Revolution Pi als SPS

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu KUNBUS GmbH

Weitere Artikel zu IoT / IIoT / Industrie 4.0

Weitere Artikel zu SBCs / CPU-Boards / CoM / SoM

Weitere Artikel zu Maker-Boards