09.06.2013 Aufrufe

Entwicklung eines Kontrollsystems für die Strahllagemessung am ...

Entwicklung eines Kontrollsystems für die Strahllagemessung am ...

Entwicklung eines Kontrollsystems für die Strahllagemessung am ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

30 4 ENTWICKLUNG DES KONTROLLSYSTEMS<br />

Progr<strong>am</strong>mteilen. Die nebenläufig ausgeführten Progr<strong>am</strong>mteile werden häufig<br />

“Threads” oder “Tasks” genannt. Zumeist liegen dem aber unterschiedliche<br />

Konzepte zugrunde, so z. B. unter Solaris <strong>die</strong> “Solaris-Threads”, während<br />

VxWorks wieder ein anderes Thread-Konzept verwendet.<br />

Wegen der in Abschnitt 4.3.3 vorgestellten Portabilität des <strong>Kontrollsystems</strong><br />

kann nicht auf <strong>für</strong> das jeweilige Betriebssystem spezifische Konzepte eingegangen<br />

werden. Für das Lage- und Verlustkontrollsystem wird deshalb der<br />

seit einigen Jahren existierende und verbreitete Pthread-Standard 38 [14] verwendet.<br />

Implementationen sind z. B. <strong>für</strong> LynxOS, Solaris und Linux verfügbar.<br />

Für VxWorks existiert eine kommerziell erwerbliche Version [33]. Aus finanziellen<br />

Gründen wurde aber gegen deren Einsatz entschieden. Deshalb wurde<br />

in der vorliegenden Diplomarbeit ein eigenes Pthread-Interface entwickelt.<br />

Dieses stellt alle <strong>für</strong> das Kontrollsystem wichtigen Funktionen des Pthread-<br />

Standards <strong>für</strong> VxWorks bereitstellt. Die genaue Implementation und Einbindung<br />

in das VxWorks-Betriebssystem ist in Anhang A beschrieben.<br />

Der Einsatz von Nebenläufigkeit zieht zwangsläufig <strong>die</strong> Notwendigkeit zur<br />

Synchronisation nach sich, <strong>die</strong> mit erhöhtem Aufwand bei der Progr<strong>am</strong>mierung<br />

verbunden ist und sich durch den zusätzlichen Progr<strong>am</strong>mcode auch verlangs<strong>am</strong>end<br />

auf <strong>die</strong> Progr<strong>am</strong>mausführung auswirkt. Zusätzlich benötigt das<br />

Betriebssystem Zeit, um den Wechsel zwischen den verschiedenen Threads<br />

zu ermöglichen.<br />

Zwei Gründe sprechen jedoch <strong>für</strong> Nebenläufigkeit: Überlappende Ein- und<br />

Ausgabe sowie unterschiedliche Prioritäten von Lage- und Verlustmessung.<br />

Beide Gründe werden in [12] als wichtige Voraussetzungen <strong>für</strong> den Einsatz<br />

von Nebenläufigkeit genannt. Die überlappende Ein- und Ausgabe entsteht<br />

bei dem vorliegenden Kontrollsystem dadurch, daß es gleichzeitig über zwei<br />

Feldbusleitungen Daten übertragen muß (vgl. Abschnitt 4.4).<br />

Würde das Kontrollsystem bei der Ein- und Ausgabe auf jeweils einer Leitung<br />

blockieren, so könnten über den anderen Feldbus keine Daten übertragen<br />

werden! Es ist deshalb viel sinnvoller, einen parallelen, nebenläufigen<br />

Zugriff auf beide Feldbusse zuzulassen. Dies sorgt <strong>für</strong> eine Aufteilung der<br />

Datennahme auf zwei DAQ 39 -Threads.<br />

Andererseits bedingen <strong>die</strong> unterschiedlichen Prioritäten der ständigen Datennahme<br />

von Lage-, Verlustmonitoren und Alarmmodulen eine zusätzliche<br />

Aufteilung. In Abb. 8 ist <strong>die</strong>se Aufteilung in einem zweidimensionalen Schema<br />

verdeutlicht. Die Ordnung nach Prioritäten erfolgt durch <strong>die</strong> Wichtigkeit<br />

Befehl nach dem anderen abgearbeitet werden kann. Das Betriebssystem wechselt aber<br />

zwischen den Abarbeitung der unterschiedlichen Aufgaben so schnell, daß es dem Benutzer<br />

wie <strong>die</strong> gleichzeitige Ausführung erscheint.<br />

38 POSIX-Threads<br />

39 Data Acquisition

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!