Anbieter zum Thema
Das Datenaufkommen angemessen aufnehmen
Das Single Board RIO 9631 von National Instruments stellte sich als sehr gut geeignete Hardware heraus. Mit seinem Xilinx Spartan-3 FPGA, einem Echtzeit-Mikrocontroller mit 266 MHz von Freescale sowie einem 10/100BASE-TX Ethernet-Port erfüllt es alle gestellten Anforderungen, um das Datenaufkommen angemessen aufzunehmen, weiterzuverarbeiten und abschließend auch ausreichend performant anderen Anwendungen zur Verfügung stellen zu können. Zusätzlich bietet dieser Hardware-Ansatz weitere Reserven, um diese Applikation sinnvoll weiter entwickeln zu können.
Zum Nachbereiten der Daten, speichern und visualisieren fiel die Wahl auf einen Standard-PC. Dieser empfängt die vorverarbeiteten Befehls- und Prozessdaten via Ethernet, speichert diese in einem Logfile ab und stellt diese bei Bedarf auch grafisch dar.
Der Aufbau der Software und wie sich der Datenzyklus des K_Bus aufnehmen lässt
Für das Single Board RIO 9631 kommt LabVIEW inklusive FPGA- und Real-Time Modul zum Einsatz. FPGA-seitig wurden mit LabVIEW-FPGA-Modulen verschiedene State-Machines erstellt, welche deterministisch und parallel zueinander arbeiten.
Diese State-Machines sind jedoch ähnlich wie bei einem Petri-Netz logisch miteinander verbunden. Daher bestehen teilweise Abhängigkeiten untereinander, welche synchronisierenden Charakter haben. Nur so ist es möglich, den gesamten K_Bus Datenzyklus korrekt und in der entsprechenden Reihenfolge aufzunehmen.
Die empfangenen Messdaten werden vorverarbeitet
Über einen DMA-FIFO werden die erfassten Daten an den Real-Time-Mikrocontroller übergeben. Der Microcontroller wurde mit dem Real-Time-Modul von LabVIEW programmiert und VxWorks diente als Betriebssystem. Die empfangenen FPGA-Daten werden dort vorverarbeitet, indem sie geordnet und von weiterhin nicht mehr benötigten Teilen befreit werden.
Ein Vorteil ist der verminderte Datenverkehr via TCP-Verbindung vom Single Board RIO zum PC. Da eine TCP-Verbindung keine echtzeitfähige Verbindung darstellt, werden die vorverarbeiteten Daten vorerst im RAM des Echtzeit-Mikrocontrollers abgelegt bis sie versendet werden.
Um die Verluste der aufgenommenen, verarbeiteten und übertragenen Daten zu vermeiden, müssen die einzelnen Tasks auf dem Real-Time-Mikrocontroller auf ihr zeitliches Verhalten kontrolliert werden.
Mit den Funktionalitäten aus den LabVIEW-Real-Time-Modulen ist das möglich. Anzumerken ist, dass der FPGA- und Echtzeitcode auf eine variable Prozessdatenlänge ausgelegt ist. Das bedeutet, dass die Prozessdaten unabhängig von Art und Anzahl der angeschlossenen I/O-Baugruppen automatisch in korrekter Länge aufgenommen, vorverarbeitet und an den PC versendet werden.
Gewonnene Messdaten erfassen und analysieren
Die erstellte PC-Applikation gliedert sich in zwei wesentliche Funktionseinheiten. Der Teil zur Erfassung baut die TCP-Verbindung zum sbRIO-9631 auf, verarbeitet die empfangenen Daten nach und speichert diese in einem Logfile ab.
Der Analyseteil öffnet ein beliebiges Logfile, selektiert benutzerdefiniert einzelne I/Os und stellt deren zeitlichen Verlauf grafisch dar. Mit dieser Applikation kann der Anwender Rückschlüsse über die korrekte Datenerfassung einzelner I/O-Baugruppen ziehen.
Der Einsatz von FPGA-basierter Hardware in Zusammenarbeit mit NI LabView FPGA- und Real-Time Modul bildet damit die Grundlage für eine schnelle, flexible und auch kompakte Lösung und eröffnet Optionen und Möglichkeiten, die es so bisher nicht gab.
* * Dennis Schmidt, Sören Baro und Erik Münz arbeiten im Prüfmittelbau Automation bei WAGO Kontakttechnik in Minden.
(ID:28712790)