Vielleicht ist Ihnen der Begriff „Echtzeit“ im Zusammenhang mit Computersystemen bereits bekannt oder Sie haben schon einmal vom LabVIEW Real-Time Module gehört. Was bedeuten dieser Begriff? Welche Komponenten sorgen dafür, dass ein System in „Echtzeit“ arbeitet? Wann ist es sinnvoll, ein Real-Time-System für Ihr Projekt zu wählen?
In dieser Anleitung werden diese Fragen beantwortet, damit Sie leichter bestimmen können, ob ein Real-Time-System für Ihre Zwecke sinnvoll ist. Nach dem Lesen dieser Einführung können Sie unter Erstellen von Real-Time-Systemen mit Hardware und Software von NI mehr darüber erfahren, wie National Instruments Ihnen helfen kann, unter geringstmöglichem Zeitaufwand ein leistungsstarkes Real-Time-System zu erstellen.
Ein Real-Time-Computersystem kann Programme mit sehr spezifischen Zeitvorgaben zuverlässig ausführen,was bei vielen Projekten in Wissenschaft und Technik sehr wichtig ist. Die zentrale Komponente beim Erstellen eines Real-Time-Systems ist ein Real-Time-Betriebssystem (RTOS). Weitere Hardware- und Softwarekomponenten, aus denen sich ein vollständiges Real-Time-System zusammensetzt, werden im nächsten Abschnitt besprochen.
Für viele Ingenieure und Wissenschaftler ist das Ausführen von Mess- oder Steuerprogrammen auf einem Standard-PC mit einem gewöhnlichen Betriebssystem (wie Windows) nicht akzeptabel. Das Betriebssystem kann die Ausführung eines Anwenderprogramms aus vielen Gründen verzögern, beispielsweise durch das Ausführen von Virenscans oder Systemhintergrundaufgaben, das Aktualisieren von Grafiken und mehr. Bei Programmen, die mit einer bestimmten Rate ohne Unterbrechung laufen müssen (z. B. ein Tempomatsystem), kann diese Verzögerung einen Systemausfall verursachen.
Beachten Sie, dass dieses Verhalten beabsichtigt ist: Normale Betriebssysteme sind für die gleichzeitige Ausführung vieler Prozesse und Anwendungen optimiert und bieten darüber hinaus weitere Features wie komplexe Benutzeroberflächen-Grafiken. Im Gegensatz dazu sind Real-Time-Betriebssysteme dafür ausgelegt, ein einzelnes Programm mit sehr präzisem Timing auszuführen. Konkret können Real-Time-Betriebssysteme Folgendes:
Im Zusammenhang mit Real-Time-Computersystemen können Sie auf die Begriffe „Hard Real-Time“ und „Soft Real-Time“ stoßen. Harte Real-Time-Systeme garantieren, dass eine Aufgabe innerhalb eines vorgegebenen Worst-Case-Zeitrahmens ausgeführt wird. Daher ist für Projekte, die Sicherheit oder Systeme betreffen, die im Falle eines Ausfalls große Verluste verursachen können, die harte Real-Time oft eine Voraussetzung. Auf der anderen Seite sind weiche Real-Time-Systeme dafür ausgelegt, Ihre Timing-Anforderungen zwar meistens zu erfüllen, jedoch nicht mit absoluter Sicherheit. Dies kann für Aufgaben wie die Videoverarbeitung akzeptabel sein, wo ein verlorener Datenframe nicht unbedingt ein kritisches Problem darstellt.
Abbildung 1. Harte Real-Time-Systeme garantieren (bei korrekter Programmierung), dass eine Frist konsequent eingehalten wird, während weiche Real-Time-Systeme die Frist periodisch überschreiten können.
Ausführlichere Erläuterungen zu Real-Time-Betriebssystemen oder zu Begrifflichkeiten rund um Real Time wie etwa „Determinismus“ und „Jitter“ finden Sie auf der Seite Was versteht man unter einem Real-Time-Betriebssystem?
Über ihr präzises Timing hinaus können Systeme für das Real-Time-Computing so eingerichtet werden, dass sie ohne Unterbrechung über Tage, Monate oder Jahre zuverlässig laufen. Dies ist nicht nur für Ingenieure wichtig, die Systeme für einen 24-Stunden-Betrieb erstellen, sondern auch für Anwendungen in Bereichen, wo Ausfallzeiten sehr teuer werden. In Real-Time-Systemen ist typischerweise auch eine Überwachungsfunktion enthalten (ein sogenannter „Watchdog“), die einen Neustart des Rechners auslöst, falls das Anwenderprogramm nicht mehr läuft. Weiterhin ist die in Real-Time-Systemen verwendete Hardware oft auf das langfristige Arbeiten unter erschwerten Bedingungen ausgelegt.
Obwohl die Hauptkomponente für das Erstellen eines Real-Time-Systems das RTOS ist, werden für ein vollständiges Real-Time-System verschiedene Software- und Hardware-Komponenten benötigt.
Das Erstellen eines Real-Time-Systems kann empfehlenswert sein, wenn Sie sicherstellen müssen, dass bestimmte Teile Ihres Programms innerhalb einer maximalen Zeitspanne ausgeführt werden oder wenn Ihr Programm zuverlässig über einen längeren Zeitraum hinweg arbeiten muss. Wenn Sie an einem geschäftskritischen oder sicherheitsrelevanten Projekt arbeiten, steht die Notwendigkeit eines Real-Time-System außer Frage.
Auch in Fällen, in denen ein präzises Timing und eine langfristige Zuverlässigkeit keine absoluten Voraussetzungen für Ihr Projekt sind, kann ein Real-Time-System zusätzliche Sicherheit dahingehend bieten, dass Ihr Programm zuverlässig ohne Unterbrechung Ihres Mess- oder Steuerprozesses abläuft. Wenn für das System, das Sie erstellen, bei Unterbrechungen Wartungskosten anfallen würden, können die Hardware- und Softwarekosten, die für die Erstellung eines Real-Time-Systems erforderlich sind, diese möglichen anderen Kosten aufwiegen.
Beachten Sie, dass ein Real-Time-System nicht unbedingt für jedes Mess- oder Regelungsprojekt sinnvoll ist. Real-Time-Betriebssysteme führen in der Regel nur ein Programm zur selben Zeit aus und die meisten Real-Time-Systeme haben keine Benutzeroberfläche. In diesem Fall wird ein separater Computer zur Bereitstellung von Grafik- oder Bedienelementen benötigt. Einige Projekte erfordern einen Hardware-Determinismus, bei dem Logik auf einem ASIC oder FPGA implementiert wird. Dennoch werden die unzähligen Real-Time-Systeme, die derzeit in Betrieb sind, auch weiterhin eine tragfähige Lösung für Projekte darstellen, für die präzises Timing und eine hohe Zuverlässigkeit unerlässlich sind.
Lesen Sie das folgende Dokument, um zu erfahren, wie Sie mit NI-Hardware und -Software in kürzester Zeit ein überlegenes Real-Time-System erstellen können: