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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

40 5 DAS KLASSENKONZEPT<br />

bussystem möglichst problemlos vollzogen werden kann, sind <strong>die</strong> SEDACspezifischen<br />

Teile des Quelltextes mit dem Schlüsselwort SEDAC gekennzeichnet.<br />

Durch eine Suche z. B. mit dem Progr<strong>am</strong>m Grep nach <strong>die</strong>sem Schlüsselwort<br />

können <strong>die</strong> Stellen gefunden werden. Dort befindet sich ein kurzer<br />

Kommentar, der <strong>die</strong> Eigenschaft von SEDAC beschreibt, auf <strong>die</strong> zurückgegriffen<br />

wird. Eine entsprechende Änderung kann dann vorgenommen werden.<br />

5.2 Module <strong>am</strong> Feldbus<br />

Die <strong>für</strong> das Kontrollsystem entwickelte Klassenhierarchie ist in Abb. 12 dargestellt.<br />

Durchgezogenen Linien zeigen <strong>die</strong> Ableitungshierarchie. Gepunktete<br />

Linien bedeuten, daß <strong>die</strong> entsprechende Klasse einen oder mehrere Zeiger<br />

bzw. Referenzen einer anderen Klasse enthält. Letzendlich bedeuten gestrichelte<br />

Linien, daß eine Erweiterung an <strong>die</strong>ser Stelle erfolgen kann.<br />

Da alle Meßsysteme der Strahllage- und Verlustmessung als SEDAC-Module<br />

ausgelegt sind, liegt es nahe, eine Basisklasse CBusBoard zu schaffen, <strong>die</strong><br />

<strong>die</strong> grundlegenden Eigenschaften von Modulen definiert, <strong>die</strong> nur über einen<br />

Feldbus erreichbar sind. Als wichtigstes Element enthält sie eine Referenz auf<br />

<strong>die</strong> Busklasse, mit der <strong>die</strong> Datenübertragung über den Feldbus geschieht.<br />

Ob das in der speziellen Anwendung eine Testklasse (CBusDummy) ist, oder <strong>die</strong><br />

Kommunikation über SEDAC (CSedacIPIO) oder über einen völlig anderen<br />

Bus (anderer Bus) geschieht, ist wegen des einheitlichen Interfaces, das in<br />

Abschnitt 5.1 vorgestellt wurde, gleichgültig.<br />

Von der Basisklasse CBusBoard werden <strong>die</strong> zur Strahllage- und Verlustmessung<br />

nötigen Module in drei Abstraktionsstufen abgeleitet. In der ersten<br />

Stufe wird <strong>die</strong> HERA-spezifische Identifizierung der Module durch <strong>die</strong> Klasse<br />

CHERABoard ermöglicht. In der zweiten Stufe werden <strong>die</strong> <strong>am</strong> HERA-Protonring<br />

verwendeten Module deklariert. Diese stellen nur solche Methoden zur Verfügung,<br />

<strong>die</strong> stets direkt auf <strong>die</strong> Hardware zugreifen.<br />

In der dritten Abstraktionsstufe (der Klassenn<strong>am</strong>e trägt dann <strong>die</strong> Erweiterung<br />

DAQ) werden Funktionen hinzugefügt, <strong>die</strong> speziell <strong>für</strong> <strong>die</strong> Datennahme<br />

geeignet sind.<br />

Natürlich existieren stets mehrere Module des gleichen Typs. Die Klasse<br />

CGroup stellt deshalb Routinen zur Verfügung, <strong>die</strong> zur Verwaltung einer<br />

Gruppe gleichartiger Module gedacht sind. Dies betrifft vor allem <strong>die</strong> Initialisierung,<br />

<strong>die</strong> Steuerung der Datennahme und <strong>die</strong> gegenseitige Synchronisation.<br />

Da immer noch spezielle Eigenschaften der jeweiligen Module berücksichtigt<br />

werden müssen, werden von der Klasse CGroup weiter spezialisierte Klassen<br />

abgeleitet, <strong>die</strong> auf <strong>die</strong>se Eigenschaften eingehen.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!