Die Erfindung betrifft ein Element zur Durchführung und Doku
mentation eines Programm- bzw. Testablaufs nach dem Oberbegriff
des Patentanspruchs 1.
Technische Systeme, wie sie unter anderem in Fahrzeugen zum
Einsatz kommen, sind durch eine Reihe von Eigenschaften charak
terisiert. Die Systeme sind komplex. Das bedeutet, dass diese
Systeme aus interagierenden Komponenten bestehen, wobei die In
teraktion über Kommunikationsverbindungen wie beispielsweise
Bussysteme, stattfindet. Weiterhin sind diese Systeme zumindest
in ihrem Zusammenwirken heterogen. Es sind Regelungssysteme
vorhanden ebenso wie reaktive Systeme. Ebenso gibt es Kombina
tionen beider Typen von Systemen. Weiterhin sind diese Systeme
hybrid. Es kommen also elektrische, mechanische, hydraulische
optische und/oder pneumatische Komponenten vor.
Die Steuerung und Regelung der Systeme wird durch spezielle
Steuerkomponenten realisiert, welche Bestandteil der Systeme
sind. Diese Komponenten werden im Fahrzeug als Steuergeräte be
zeichnet. Diese sind durchweg elektronische Komponenten, deren
Funktion in einem auf einer Recheneinheit ausgeführten Programm
codiert ist.
Diese komplexen technischen Systeme müssen im Rahmen der Quali
tätssicherung getestet werden. Dies gilt insbesondere für die
Steuergeräte, welche letztlich die Kontrolle über die techni
schen Prozesse innehaben. Die hierbei verwendeten Programm-
oder Testsysteme sollen die Möglichkeit bieten, auf alle für
den Test relevanten Größen an der Schnittstelle der Steuerkom
ponente bzw. Steuerkomponenten Einfluss zu nehmen und diese bei
Bedarf auch sichtbar machen zu können (Test, Programmablauf,
Simulation und Erfassung).
Beim Test des Steuergerätes kommt in frühen Phasen der Entwick
lung eine Simulation des Steuergeräts in einer simulierten
technischen Umgebung (Software-in-the-Loop, SIL) zum Einsatz.
Sobald die Steuerkomponenten real verfügbar ist, wird der Test
der kompletten Komponente auf einem Hardware-in-the-Loop (HIL)
Testsystem fortgesetzt. An solchen HIL-Testsystemen werden auch
die zum vollständigen Steuersystem gehörenden Komponenten im
Verbund getestet. Im letzten Schritt werden die Steuergeräte
gemeinsam mit den übrigen Komponenten zum Gesamtsystem inte
griert und erneut getestet.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, den Test
derartiger Steuergeräte zu vereinfachen und besser handhabbar
zu machen.
Diese Aufgabe wird nach der vorliegenden Erfindung gelöst durch
die Verwendung von Elementen zur Durchführung einer Simulation,
wobei durch das Element bestimmte Funktionen ausführbar sind,
wobei das Element wenigstens einen Steuereingang aufweist, dem
ein externes Steuersignal zuführbar ist, wobei in dem Element
eine Variable abhängig von dem externen Steuersignal und der
Ausführung der Funktion durch das Element veränderbar ist der
art, dass die Variable einen bestimmten Wert ungleich "0" an
nimmt, wenn die Variable den Wert "0" hat und das externe Steu
ersignal einen ersten Signalpegel aufweist, dass die Variable
weiterhin den bestimmten Wert beibehält, wenn die Variable den
bestimmten Wert aufweist und erneut ein externes Steuersignal
angelegt wird, das den ersten Signalpegel aufweist.
Es zeigt sich, dass sich mit solchen Elementen eine Simulation
und ein Test einfach durchführen lässt. Diese Elemente können
einfach mit entsprechenden Parametern versehen werden, so dass
diese dann an die jeweiligen Spezialfälle angepasst werden kön
nen.
Durch eine Verknüpfung derartiger Elemente lassen sich auch
komplexe Systeme simulieren, dokumentieren, ausführen und/oder
testen. Dazu werden vorteilhaft verschiedene Elemente mit ver
schiedenen Funktion vorgesehen. Es hat sich gezeigt, dass diese
Elemente der Zahl nach begrenzt sein können, wobei sich dennoch
mit vergleichsweise geringem Aufwand auch komplexe Simulationen
bewältigen lassen.
Bei der Ausgestaltung des Elements nach Anspruch 2 wird die Va
riable auf den Wert "0" zurückgesetzt, wenn die Ausführung der
Funktion durch das Element beendet wurde, wobei bei einem Rück
setzen der Variablen von dem Element über wenigstens einen
Steuerausgang des Elements ein externes Steuersignal ausgegeben
wird, das den ersten Signalpegel aufweist.
Dadurch kann vorteilhaft eine serielle Verknüpfung von Elemen
ten realisiert werden. Die einzelnen Elemente können dann über
die Ausgabe entsprechender externer Steuersignale die weitere
Bearbeitung veranlassen, wenn sie ihre eigene Funktion beendet
haben.
Bei der Ausgestaltung nach Anspruch 3 nimmt die Variable den
Wert "0" an, wenn dem wenigstens einen Steuereingang des Ele
ments ein externes Steuersignal zugeführt wird, das einen zwei
ten Signalpegel aufweist, wobei dann über den wenigstens einen
Steuerausgang des Elements ein externes Steuersignal ausgegeben
wird, das den zweiten Signalpegel aufweist.
Dadurch kann eine Deaktivierung von dem Element weitergegeben
werden.
Insgesamt bedeutet dies also, dass das Element in einem akti
vierten Zustand verbleiben kann und dabei die Funktion ausfüh
ren kann bis eine Deaktivierung durch ein entsprechendes exter
nes Steuersignal erfolgt. Andererseits kann sich das Element
selbst deaktivieren, wenn dessen Funktion erfüllt ist.
Vorteilhaft besteht keine Beschränkung auf die Ausführung le
diglich eines Elements zu einem Zeitpunkt. Dadurch können vor
teilhaft auch parallel laufende Prozesse simuliert werden.
Bei der Ausgestaltung nach Anspruch 4 weist das Element einen
Steuereingang und mehrere Steuerausgänge auf, wobei das externe
Steuersignal von dem Element über alle Steuerausgänge ausgege
ben wird.
Mit einem solchen Element ist vorteilhaft die Ausführung der
Simulation parallel laufender Prozesse initialisierbar.
Bei der Ausgestaltung des Elements nach Anspruch 5 weist das
Element mehrere Steuereingänge auf, wobei ein externes Steuer
signal, das den ersten Signalpegel aufweist, über den wenig
stens einen Steuerausgang ausgegeben wird, wenn an allen Steu
ereingängen ein Steuersignal anliegt, das dem ersten Signalpe
gel entspricht.
Mit diesem Element lässt sich eine Aktivierung eines nachfol
genden Elementes, das über den Steuerausgang dieses Elements
angestoßen wird, so steuern, dass diese Aktivierung nur dann
erfolgt, wenn an allen Steuereingängen ein Aktivierungssignal
anliegt. Es handelt sich also um eine logische UND-Verknüpfung.
Das Element nach Anspruch 6 weist mehrere Steuereingänge auf,
wobei ein externes Steuersignal, das den ersten Signalpegel
aufweist, über den wenigstens einen Steuerausgang ausgegeben
wird, wenn an wenigstens einem Steuereingang ein Steuersignal
anliegt, das dem ersten Signalpegel entspricht.
Im Unterschied zur Ausgestaltung nach Anspruch 5 weist die Aus
gestaltung nach Anspruch 6 eine logische ODER-Verknüpfung auf.
Bei der Ausgestaltung nach Anspruch 7 weist das Element einen
Steuereingang und mehrere Steuerausgänge sowie wenigstens einen
Dateneingang auf, wobei ein an dem Steuereingang anliegendes
externes Steuersignal mit dem ersten Signalpegel über den Steu
erausgang ausgegeben wird, der abhängig von dem an dem wenig
stens einen Dateneingang anliegenden Signal durch die Funktion
des Elements ermittelt wird.
Vorteilhaft lässt sich dadurch eine Verzweigung des weiteren
Programmablaufs, insbesondere eines Testablaufs, abhängig von
bestimmten Zuständen und Datenwerten erreichen.
Bei der Ausgestaltung nach Anspruch 8 weist das Element einen
oder mehrere Dateneingänge sowie einen oder mehrere Datenaus
gänge auf, wobei die Funktion darin besteht, aus den an dem
bzw. den Dateneingängen liegenden Dateneingangssignalen ein
oder mehrere Datenausgangssignale zu bilden, das bzw. die über
den bzw. die Datenausgänge ausgegeben werden.
Dabei können die Dateneingangssignale im einfachsten Falle un
verändert über die Datenausgänge weitergegeben werden.
Ebenso können diese Dateneingangssignale auch modifiziert wer
den. Dies kann beispielsweise durch arithmetische Operationen
wie die Addition, Subtraktion, Multiplikation und Division er
folgen. Ebenso ist es auch möglich, den Absolutwert zu bilden,
eine Integration oder Differentiation vorzunehmen oder tran
szendente Funktionen zu realisieren.
Ebenso können die Funktion auch darin bestehen, die Datenein
gangssignale mittels Boolescher Algebra zu bewerten durch NOT-,
AND-, OR- sowie XOR-Verknüpfungen.
Es ist auch möglich, dass die Funktion einen Vergleich dar
stellt. Dieser Vergleich kann so ausgestaltet sein, dass mehre
re Dateneingangssignale auf ihren Wert hin verglichen werden.
Ebenso können ein oder mehrere Dateneingangssignale daraufhin
untersucht werden, ob sie in einem bestimmten Wertebereich lie
gen. Weiterhin kann auch die Änderung des Dateneingangssignals
untersucht werden, indem bei dem Vergleich beispielsweise un
tersucht wird, ob das jeweilige Dateneingangssignal eine
Schwelle von unten oder von oben überschreitet. Vorteilhaft
wird von einem solchen vergleichenden Element kein externes
Steuersignal ausgegeben. Das Element führt die vergleichende
Funktion aus, nachdem es über einen Steuereingang ein externes
Steuersignal mit dem ersten Signalpegel empfangen hat. Der Ver
gleich wird dann beendet, wenn über den Steuereingang eine De
aktivierung über ein entsprechendes externes Steuersignal er
folgt.
Die Funktion kann auch darin bestehen, bestimmte Werte zu spei
chern. Dies kann beispielsweise der letzte Wert des Datenein
garigssignals sein, der kleinste Wert, den das Dateneingangs
signal angenommen hat, den größten Wert, den das Dateneingangs
signal angenommen hat oder den Mittelwert des Dateneingangs
signals.
Bei der Ausgestaltung nach Anspruch 9 besteht die Funktion des
Elements in einer Zeitmessung.
Das Element kann beispielsweise wenigstens einen Dateneingang
aufweisen, wobei nach der Aktivierung des Elements durch ein
externes Steuersignal die Zeitdauer bestimmt wird, die vergeht,
bis nach einem bestimmten ersten Dateneingangssignal ein be
stimmtes weiteres Dateneingangssignal vorliegt.
Bei der Ausgestaltung nach Anspruch 10 erfolgt die Zeitmessung,
indem beginnend zu einem Zeitpunkt, der durch das Anliegen ei
nes externen Steuersignals mit dem ersten Signalpegel oder
durch ein bestimmtes Signal an einem Dateneingang bzw. eine Si
gnalkombination an mehreren Dateneingängen des Elements defi
niert ist, eine bestimmte Zeitdauer gemessen wird, wobei am En
de der Zeitdauer über einen Steuerausgang des Elements ein ex
ternes Steuersignal mit dem ersten Signalpegel ausgegeben wird
und/oder an einem oder mehreren Datenausgängen ein entsprechen
des Datensignal ausgegeben wird.
Eine solche Ausgestaltung stellt einen zeitbezogenen Count-
Down, insbesondere ein Time-Out-Glied, dar.
Bei der Ausgestaltung des Elementes nach Anspruch 11 ist dem
Element über einen Steuereingang ein externes Steuersignal zu
führbar, wobei über einen Datenausgang des Elements ein zeitli
cher Signalverlauf als Datenausgangssignal ausgegeben wird,
wenn das externe Steuersignal den ersten Signalpegel aufweist.
Dabei sind verschiedene Funktionen durch eine entsprechende
Verknüpfung von Basisfunktionen realisierbar.
Vorteilhaft zeigt sich, dass mit den beschriebenen Elementen
Testsystemen realisierbar sind, die einen automatisierten Ab
lauf oder Test gestatten. Insbesondere ist es also nicht mehr
notwendig, die Vielzahl und Komplexität der Steuerfunktionen
durch ein manuelles Testen zu überprüfen, was ohnehin unter dem
Gesichtspunkt der Effektivität und Effizienz problematisch ist.
Mit den Elementen wird sowohl die Simulation als auch die Er
fassung und Auswertung von für den Test oder die Software rele
vanten Größen gestattet. Dies erfolgt durch eine Simulation der
im Test befindlichen Komponente oder des im Test befindlichen
Systems sowie eine nachfolgende Auswertung der entsprechenden
Reaktionen.
Weiterhin zeigt sich, dass die Simulation und Auswertung in
Echtzeit möglich ist. Weiterhin zeigt sich, dass ein Programm-
oder Testsystem, das aus den beschriebenen Elementen besteht,
auch in der Lage ist, mehrere Funktionen gleichzeitig auszufüh
ren. Weiterhin ist durch eine entsprechende Ausgestaltung der
Elemente sowohl die Verarbeitung digitaler Größen wie auch die
Verarbeitung analoger Größen möglich.
Aus dem Stand der Technik sind im Zusammenhang mit der compu
tergestützten Simulation zwei Verfahren bekannt. Das eine be
trifft die Kompilierung. Diese erfordert eine Übersetzung des
Programms vor der Laufzeit in eine maschinenlesbare Form. Diese
maschinenlesbare Form ist dann wiederum nur auf der Maschine
ausführbar, für die diese maschinenlesbare Form kompiliert wur
de. Weiterhin ist die Interpretation bekannt. Dabei wird das
Programm während der Laufzeit analysiert und ausgeführt. Dies
hat Nachteile hinsichtlich der erreichbaren Laufzeiten.
Durch die vorliegend vorgeschlagene Zusammenstellung der Ele
mente wird erreicht, dass die Elemente durch Vorgabe entspre
chender Parameter an die konkreten Verhältnisse anpassbar sind.
Dadurch wird zum einen eine gute Flexibilität erreicht. Dennoch
sind die Laufzeiten der Simulationen hinreichend schnell und
auch flexibel auf verschiedenen Rechnern ausführbar.
Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dar
gestellt. Es zeigt dabei im einzelnen:
Fig. 1 bis 17 verschiedene Elemente, durch deren Kombina
tion und Verknüpfung verschiedene Simula
tions- und Testaufgaben lösbar sind,
Fig. 18 und 19 Darstellungen von Elementen zur Realisierung
von zusammengesetzten Funktionen,
Fig. 20 eine Darstellung eines datenspeichernden
Elements,
Fig. 21 eine Darstellung zur Erzeugung einer Liste,
mit der die Elemente verknüpfbar sind und
Fig. 22 ein Beispiel für eine Verknüpfung zur Durch
führung einer Simulation.
In dem Gesamtsystem wird zwischen steuernden und speichernden
Elementen unterschieden.
Steuernde Elemente 1 erfüllen eine klar umrissene Funktion. Der
grundlegende Aufbau eines steuernden Elementes 1 ist in Fig. 1
dargestellt. Dem steuernden Element 1 wird als Kontrollfluss
ein externes Steuersignal 2 über einen Steuereingang 3 zuge
führt. Weiterhin ist ein Steuerausgang 4 zu sehen, über den von
dem steuernden Element 1 ein externes Steuersignal 5 ausgebbar
ist.
Weiterhin sind Dateneingänge 6 und 7 zu sehen, über die Daten
eingangssignale 8 und 9 zuführbar sind.
Mit der Bezugsziffer 10 ist eine Variable bezeichnet, die ent
sprechend dem aktivierten oder deaktivierten Zustand des Ele
ments 1 einen bestimmten Wert annimmt, der ungleich 0 ist, oder
die den Wert 0 aufweist, wenn das Element 1 deaktiviert ist.
Mit der Bezugsziffer 11 ist einer oder auch mehrere Parameter
bezeichnet, die dem steuernden Element 1 vorgebbar sind und auf
die das steuernde Element 1 während der Abarbeitung seiner
Funktion zugreifen kann. Diese Parameter sind während der Akti
vierungsdauer eines steuernden Elements 1 nicht veränderbar.
Das steuernde Element 1 weist weiterhin Datenausgänge 12 und 13
auf, über die Datenausgangssignale 14 und 15 ausgebbar sind.
Über diese Datenausgänge werden die verarbeiteten Daten anderen
Elementen zur Verfügung gestellt.
Diese Datenflüsse transportieren also Werte oder Ereignisse,
das heißt Datensignale, die bestimmte Zustände repräsentieren.
Die von den Datenflüssen transportierten Größen können sich
über der Zeit ändern.
Zur Erfüllung komplexer Aufgaben können steuernde Elemente mit
einander verkettet werden. Die Verkettung kann sowohl über die
Kontrollflüsse, das heißt also über die externen Steuersignale
an den Steuereingängen sowie Steuerausgängen, als auch über die
Datenflüsse, das heißt über die Dateneingangs- und Datenaus
gangssignale, erfolgen.
Die steuernden Elemente lassen sich in zwei Gruppen untertei
len:
- - Kontrollierende Elemente: Diese überwachen die Weiterlei
tung externer Steuersignale und damit die Aktivierung und
Deaktivierung von steuernden Elementen sowie
- - Datenverarbeitende Elemente: Diese Elemente simulieren und
überwachen Größen, die von dem Testsystem bereitgestellt
werden.
Die Ablaufsteuerung erfolgt über die externen Steuersignale 2,
5 sowie über die Variable 10. Jedes steuernde Element 1 verfügt
über genau eine Variable 10. Diese zeigt den Zustand der Akti
vierung und Deaktivierung an wie oben beschrieben. Wird dem
steuernden Element 1 über den Steuereingang 3 ein externes
Steuersignal mit dem ersten Signalpegel zugeführt, wird die Va
riable 10 auf den Wert ungleich 0 gesetzt, wenn diese vorher
den Wert 0 hatte. War der Wert der Variablen 10 bereits un
gleich 0, wird dieser Wert beibehalten.
Solange die Variable 10 den Wert ungleich 0 aufweist, wird von
dem steuernden Element 1 dessen Funktion abgearbeitet. Wird
während dem Abarbeiten der Funktion über den Steuereingang 3
wiederum ein externes Steuersignal 2 mit dem ersten Signalpegel
zugeführt, wird das Abarbeiten der Funktion fortgesetzt und
nicht abgebrochen und neu begonnen.
Wenn die Funktion des steuernden Elements 1 abgearbeitet ist,
wird die Variable 10 auf den Wert 0 gesetzt. Das heißt, dass
dieses steuernde Element 1 deaktiviert wird. Über den Steuer
ausgang 4 wird ein externes Steuersignal 5 ausgegeben, das den
zweiten Signalpegel aufweist und zu einer Deaktivierung der
steuernden Elemente führt, an deren Steuereingängen dieses ex
terne Steuersignal anliegt.
Wird einem steuernden Element 1 über seinen Steuereingang 3 ein
externes Steuersignal 2 zugeführt, das den zweiten Signalpegel
aufweist, wird die Variable 10 auf den Wert 0 gesetzt, wenn
diese vorher einen Wert ungleich 0 hatte. Die Abarbeitung der
Funktion wird dann abgebrochen. Unabhängig von dem vorherigen
Wert der Variablen 10 wird über den Steuerausgang 4 ein exter
nes Steuersignal 5 ausgegeben, das den zweiten Signalpegel auf
weist und zur Deaktivierung der steuernden Elemente führt, an
deren Steuereingängen dieses externe Steuersignal liegt.
Diese steuernden Elemente können seriell angeordnet werden oder
auch parallel. In diesem Fall können die Variablen mehrerer
steuernder Elemente einen Wert ungleich 0 aufweisen. Deren
Funktionen werden dann parallel abgearbeitet.
Fig. 2 zeigt ein Start-Element 201. Dieses Start-Element 201
weist keinen Steuereingang auf sondern nur einen Steuerausgang
204, über den ein externes Steuersignal 205 ausgebbar ist. So
fern dieses externe Steuersignal 205 den ersten Signalpegel
aufweist, lassen sich dadurch andere steuernde Elemente akti
vieren, denen dieses externe Steuersignal an einem Steuerein
gang zugeführt wird.
Alternativ zur Darstellung der Fig. 2 kann das Start-Element
201 auch mit einem Steuereingang versehen sein. Nachdem dann
über das Start-Element 201 ein externes Steuersignal 205 mit
dem ersten Signalpegel ausgegeben wurde, kann über diesen Steu
ereingang das Start-Element veranlasst werden, ein externes
Steuersignal 205 mit dem zweiten Signalpegel auszugeben und da
durch die Aktivierung aller steuernden Elemente definiert zu
beenden, indem von diesen wiederum dieses externe Steuersignal
mit dem zweiten Signalpegel weitergegeben wird.
Fig. 3 zeigt ein Terminator-Element 301. Mit einem solchen
Terminator-Element 301 wird ein Kontrollfluss beendet. Das be
deutet, das dieses Terminator-Element 301 einen externen Steu
ereingang 303 aufweist, dem ein externes Steuersignal 302 zu
führbar ist. Ein externes Steuersignal 302 mit einem ersten Si
gnalpegel wird von diesem Terminator-Element "geschluckt", ohne
dass dieses externe Steuersignal an andere steuernde Elemente
weitergegeben wird.
Fig. 4 zeigt ein Exit-Element 401. Mit einem solchen Exit-
Element 401 wird ein Kontrollfluss beendet. Im Unterschied zu
einem Terminator-Element 301 entsprechend der Darstellung der
Fig. 3 ist dieses Exit-Element 401 allerdings mit einem Start-
Element verbunden. Wird dem Exit-Element 401 über seinen Steu
ereingang 403 ein externes Steuersignal 402 zugeführt, das den
ersten Signalpegel aufweist, wird von diesem Exit-Element über
dessen Steuerausgang 404 ein externes Steuersignal 405 entspre
chend dem zweiten Signalpegel an das Start-Element ausgegeben.
Von diesem Start-Element wird dieses externe Steuersignal mit
dem zweiten Signalpegel sofort weitergegeben, so dass dadurch
alle steuernden Elemente deaktiviert werden. Ein Exit-Element
401 beendet somit einen durch ein Start-Element initiierten
Prozess. Wird dem Exit-Element 401 ein externes Steuersignal
mit dem zweiten Signalpegel zugeführt, wird dieses externe
Steuersignal ignoriert.
Fig. 5 zeigt ein Fork-Element 501, mit dem ein über einen
Steuereingang 503 eingehendes externes Steuersignal 502 über
mehrere Steuerausgänge 504 ausgegeben wird. Dadurch können mit
diesem Fork-Element 501 gleichzeitig mehrere andere steuernde
Elemente aktiviert oder deaktiviert werden.
Fig. 6 zeigt ein Joint-Element 601. Dieses Joint-Element 601
weist mehrere Steuereingänge 603 auf, denen jeweils ein exter
nes Steuersignal 602 zuführbar ist. Daraus wird ein externes
Steuersignal 605 abgeleitet, das über den Steuerausgang 604
ausgegeben wird.
Weiterhin ist der Darstellung nach Fig. 6 zu entnehmen, dass
mittels eines Parameters 611 vorgebbar ist, wie das externe
Steuersignal 605 aus den eingehenden externen Steuersignalen
602 abgeleitet wird.
Dies kann beispielsweise über eine logische UND-Verknüpfung der
externen Steuersignale 602 an den Steuereingängen 603 erfolgen.
Das bedeutet, dass erst dann ein externes Steuersignal 605 mit
dem ersten Signalpegel über den Steuerausgang 604 ausgegeben
wird, wenn an jedem Steuereingang wenigstens einmal ein exter
nes Steuersignal 602 angelegen hat mit dem ersten Signalpegel.
Ebenso kann das externe Steuersignal 605, das über den Steuer
ausgang 604 ausgegeben wird, auch über eine logische ODER-
Verknüpfung realisiert sein. Das bedeutet dann, dass über den
Steuerausgang 604 sofort dann ein externes Steuersignal 605 mit
dem ersten Signalpegel ausgegeben wird, wenn an wenigstens ei
nem der Steuereingänge 603 ein externes Steuersignal 603 an
liegt, das den ersten Signalpegel aufweist.
Ebenso gilt dies für die Weitergabe von externen Steuersignalen
mit dem zweiten Signalpegel.
Fig. 7 zeigt ein Verzweigungs-Element 701. Diesem Verzwei
gungselement 701 ist über einen Steuereingang 703 ein externes
Steuersignal 702 zuführbar. Wenn dieses Steuersignal 702 den
ersten Signalpegel aufweist, wird die Variable 710 auf den ent
sprechenden Wert gesetzt und das Verzweigungs-Element 701 wird
aktiviert. Abhängig von dem an einem Dateneingang 707 anliegen
den Dateneingangssignal 708 wird ermittelt, über welchen der
externen Steuerausgänge 704 das Steuersignal 705 mit dem ersten
Signalpegel ausgegeben wird.
Die Überprüfung abhängig von dem Dateneingangssignal 708 kann
beispielsweise als "if-then-else"-Überprüfung mit zwei Steuer
ausgängen 704 realisiert sein. Ebenso ist es möglich, mehr als
zwei Steuerausgänge 704 vorzusehen und die Überprüfung abhängig
von dem Dateneingangssignal 708 als "Select"-Überprüfung vorzu
nehmen. Bei dieser Select-Überprüfung wird dann ermittelt, über
welchen der Steuerausgänge 704 das externe Steuersignal 705 mit
dem ersten Signalpegel ausgegeben wird.
Fig. 801 zeigt ein Steuerelement 801, dessen Funktion in der
Abarbeitung einer Schleife besteht. Diese Schleife besteht aus
einem Schleifenkörper und einer Schleifenbedingung. Solange die
Schleifenbedingung erfüllt ist, wird der Schleifenkörper ausge
führt. Eine Ausführung des Schleifenkörpers von der Aktivierung
bis zu dessen Beendigung wird als Durchlauf bezeichnet. Ist die
Bedingung nicht erfüllt, wird die Schleife inaktiv. Die Bedin
gung wird nur zu bestimmten Zeiten geprüft. Entsprechend dem
Zeitpunkt der Überprüfung können bestimmte Schleifentypen un
terschieden werden.
Bei der sogenannten unbedingten Schleife erfolgt eine definier
te Anzahl von Schleifendurchläufen. Die Schleifenbedingung ist
erfüllt, solange die definierte Anzahl der Durchläufe noch
nicht erreicht ist. Sie wird jeweils vor einem Durchlauf ge
prüft. Für die Entscheidung, ob die Schleife durchlaufen wird
oder nicht, werden keine weiteren externen Daten benötigt. Des
wegen ist das Dateneingangssignal 808 sowie der Dateneingang
807 in der Fig. 8 strichliniert dargestellt, da diese bei der
unbedingten Schleife allenfalls dann benötigt werden, wenn wäh
rend der Verarbeitung im Schleifendurchlauf auf externe Daten
zugegriffen werden muss.
Es sind auch sogenannte bedingte Schleifen bekannt. Bei der an
nehmenden Schleife wird der Schleifenkörper einmal durchlaufen
bevor die Schleifenbedingung überprüft wird. Die Schleifenbe
dingung wird dann durch die Auswertung wenigstens eines Daten
eingangssignals 808 überprüft. Bei der abweisenden Schleife
wird die Schleifenbedingung bereits vor dem ersten Durchlauf
geprüft. Ist diese Bedingung zum Zeitpunkt der Aktivierung der
Schleife nicht erfüllt, findet überhaupt kein Durchlauf durch
die Schleife statt.
Neben diesen Elementen, die in erster Linie den Kontrollfluss
steuern, indem entsprechende Steuersignale zur Aktivierung und
Deaktivierung anderer Elemente weitergegeben werden, sind auch
datenverarbeitende Elemente vorgesehen. Bei diesen Elementen
sind je nach spezieller Art der Datenverarbeitung Dateneingänge
und Datenausgänge zur Zuführung von Dateneingangssignalen und
zur Abführung von Datenausgangssignalen vorgesehen.
Die Daten können zeitkontinuierliche Größen sein. Daten dieses
Typs verfügen zu jedem Zeitpunkt über einen Wert.
Weiterhin können die Daten zeitdiskrete Größen sein. Daten die
ses Typs haben keinen Wert im engeren Sinne sondern stellen ein
Ereignis in der Zeit dar. Zeitdiskrete Größen werden daher kurz
als Ereignis (Event) bezeichnet.
Fig. 9 zeigt ein datenverarbeitendes Element 901. Dieses Ele
ment 901 weist zwei Dateneingänge 907 auf, denen jeweils ein
Dateneingangssignal 908 zugeführt wird. Weiterhin weist dieses
Element 901 zwei Datenausgänge 913 auf, über die jeweils ein
Datenausgangssignal 915 ausgebbar ist.
Dieses Element 901 kann als Datenverarbeitung beispielsweise
eine einfache Zuweisung ausführen. Dabei wird ein eingehendes
Dateneingangssignal 908 über wenigstens einen Datenausgang 913
als Datenausgangssignal 915 weitergegeben. Es ist dabei mög
lich, dass das Element 901 lediglich einen Dateneingang sowie
lediglich einen Datenausgang aufweist.
Weiterhin kann das Element 901 als modifizierendes Element aus
gebildet sein. Als modifizierendes Element verarbeitet dieses
Element eingehende Dateneingangssignale 908 zu einer oder meh
rere Ausgangsgrößen, die als Datenausgangssignale 915 über ent
sprechende Datenausgänge 913 ausgegeben werden. Diese modifi
zierenden Elemente können beispielsweise mathematische Opera
tionen ausführen. Diese mathematischen Operationen können bei
spielsweise arithmetische Operationen sein wie die Addition,
die Subtraktion, die Multiplikation und die Division. Weiterhin
können auch andere Operatoren realisiert sein wie beispielswei
se Integratoren, Differentiatoren oder transzendente Funktio
nen. Ebenso kann beispielsweise der Absolutwert gebildet wer
den.
Diese Elemente 901 beenden die Durchführung ihrer Funktion,
wenn ihnen ein externes Steuersignal 902 mit dem zweiten Si
gnalpegel über den Steuereingang 903 zugeführt wird.
Weiterhin ist es möglich, mittels der datenverarbeitenden Ele
mente 901 Boolesche Operatoren auszuführen. Diese Operatoren
der Booleschen Algebra können beispielsweise die NOT-, AND-, OR
sowie die XOR-Funktion sein.
Ebenso können vergleichende Elemente realisiert werden. Diese
vergleichen zwei oder mehr Eingangsgrößen 908 und stellen das
Ergebnis des Vergleichs am Datenausgang 913 mittels eines ent
sprechenden Datenausgangssignals 915. Vergleichende Elemente
verfügen vorteilhaft über einen Ereignisausgang, welcher ein
Ereignis generiert, sobald der Vergleich wahr wird. Es sind
beispielsweise nachfolgende Vergleiche möglich:
- - Äquivalenz: Die eingehenden Größen weisen denselben Wert
auf
- - Antivalenz: Die eingehenden Größen weisen unterschiedliche
Werte auf.
- - Größer: Der erste Wert ist größer als der zweite.
- - Größer oder gleich: Der erste Wert ist größer als der
zweite oder gleich dem zweiten.
- - Kleiner: Der erste Wert ist kleiner als der zweite.
- - Kleiner oder gleich: Der erste Wert ist kleiner als der
zweite oder gleich dem zweiten.
- - Innerhalb: Der eingehende Wert liegt zwischen einer oberen
und einer unteren Grenze.
- - Außerhalb: Der eingehende Wert liegt außerhalb einer durch
eine untere und eine obere Grenze spezifizierten Bereichs.
- - Steigende Flanke: Der eingehende Wert überschreitet eine
Schwelle von unten nach oben.
- - Fallende Flanke: Der eingehende Wert unterschreitet eine
Schwelle von oben nach unten.
Weiterhin können datenverarbeitende Elemente als haltende Ele
mente realisiert sein. Diese haltenden Elemente verfügen über
je einen Ereignis- und einen Werteingang. Sie verarbeiten den
Wert, sobald an ihrem Ereigniseingang ein Ereignis vorliegt.
Folgende Verarbeitungen haltender Elemente können realisiert
sein:
- - Buffer: Der Puffer speichert den Wert des eingehenden Wer
tes, sooft ein Ereignis am Ereigniseingang vorliegt.
- - Minimalwertspeicher: Der Minimalwertspeicher enthält den
kleinsten beobachteten Wert.
- - Maximalwertspeicher: Der Maximalwertspeicher enthält den
größten beobachteten Wert.
- - Mittelwertspeicher: Der Mittelwertspeicher enthält den
Mittelwert des beobachteten Wertes.
Für die Minimalwertspeicher, Maximalwertspeicher und Mittel
wertspeicher kann vorteilhaft noch festgelegt werden, ob die
Speicherung über alle Werte, die letzten n Werte oder die letz
ten t Sekunden erfolgen soll.
Gemäß der Darstellung der Fig. 10 können auch zeitbezogene
Elemente 1001 vorhanden sein.
Ein solches zeitbezogenes Element 1001 kann beispielsweise als
Timeout realisiert sein. Dabei läuft eine voreingestellte Zeit
t ab. Nach Ablauf der Zeit t wird ein Ereignis ausgelöst und
das Element 1001 wird deaktiviert unter Abgabe eines externen
Steuersignals 1005 des zweiten Pegels. Über die Datenausgänge
1013 können wertbezogene und/oder ereignisbezogene Datenaus
gangssignale 1015 ausgegeben werden. Ebenso ist es möglich, nur
einen Datenausgang 1013 vorzusehen.
Fig. 11 zeigt ein zeitbezogenes Element 1101, das als Timer
arbeitet. Mit dem zeitbezogenen Element 1101 wird die Zeit zwi
schen zwei Ereignissen gemessen. Die Messung beginnt mit einem
Ereignis, das als Dateneingangssignal 1108 über einen der Da
teneingänge 1107 zugeführt wird. Die Zeitmessung endet mit ei
nem weiteren Ereignis, das dem Element 1101 an dem anderen Da
teneingang 1107 als Dabeneingangssignal 1108 zugeführt wird.
Ebenso ist es auch möglich, nur einen Dateneingang 1107 vorzu
sehen und die beiden Datensignale 1108, die den Anfang und das
Ende des zu messenden Zeitintervalls definieren, über einen Da
teneingang 1107 zuzuführen.
Der Timer kann beispielsweise zwei Datenausgänge 1113 aufwei
sen. An einem wertbezogenen Datenausgang kann die gemessen Zeit
als Datenausgangssignal 1115 ausgegeben werden. Weiterhin kann
das Element 1101 ein Ereignis generieren und über einen weite
ren Datenausgang 1113 als Datenausgangssignal 1115 ausgeben.
Nach Abschluss der Messung wird das Element 1101 deaktiviert
unter Abgabe eines externen Steuersignals 1105 mit dem zweiten
Signalpegel.
Weiterhin können ereignisbezogene Elemente vorgesehen werden.
Diese Elemente reagieren auf Ereignisse.
Ein Beispiel eines solchen ereignisbezogenen Elements ist in
Fig. 12 dargestellt. Fig. 12 zeigt ein Countdown-Element
1201. Das Countdown-Element 1201 zählt bei jedem über den Da
teneingang 1207 eintreffenden Ereignis, das durch das Datenein
gangssignal 1208 repräsentiert wird, einen voreingestellten
Zähler von dem Wert n auf den Wert 0 herunter. Wird der Zähler
stand 0 erreicht, so löst das Countdown-Element 1201 seiner
seits ein Ereignis aus, das über einen der beiden dargestellten
Datenausgänge 1213 als Datenausgangssignal 1215 ausgegeben
wird. Weiterhin wird das Countdown-Element 1201 deaktiviert,
wobei weiterhin ein externes Steuersignal mit dem ersten Si
gnalpegel über den Steuerausgang 1204 als externes Steuersignal
1205 ausgegeben wird. Der Wert n kann beispielsweise über den
Parameter 1211 voreingestellt werden.
Abweichend von der Darstellung der Fig. 12 ist es auch mög
lich, nur einen Datenausgang 1213 vorzusehen.
Fig. 13 zeigt ein Counter-Element. Nach dessen Aktivierung
über ein externes Steuersignal 1302 an dessen Steuereingang
1303 zählt dieses Element die Ereignisse, die dem Counter-
Element 1302 an dessen Dateneingang 1307 als Dateneingangs
signal 1308 zugeführt werden. Die Zahl der Ereignisse wird dann
über die Datenausgänge 1313 als Datenausgangssignal 1315 ausge
geben. Das Counter-Element 1301 zählt die Ereignisse nach des
sen Aktivierung über das externe Steuersignal 1302 mit dem er
sten Signalpegel bis dem Counter-Element 1301 ein externes
Steuersignal 1302 mit dem zweiten Signalpegel zugeführt wird.
Auch hierbei ist es wieder möglich, lediglich einen Datenaus
gang 1313 vorzusehen.
Fig. 14 zeigt ein Guardian-Element 1401. Dieses Guardian-
Element 1401 überwacht zwei Dateneingänge 1407 darauf, an wel
chem der beiden Dateneingänge 1407 zuerst ein Dateneingangs
signal 1408 anliegt, das ein Ereignis repräsentiert. Liegt ein
solches ein Ereignis repräsentierendes Dateneingangssignal 1408
vor, wird an den Datenausgängen 1413 ein entsprechendes Daten
ausgangssignal 1415 ausgegeben. Dieses Datenausgangssignal 1415
ist ereignisbezogen. Das Guardian-Element 1401 erzeugt eben
falls ein Ereignis, das als Datenausgangssignal 1415 ausgegeben
wird. Anschließend wird das Guardian-Element 1401 deaktiviert,
wobei über den Steuerausgang 1404 ein externes Steuersignal mit
dem ersten Signalpegel ausgegeben wird. Mit einem solchen Guar
dian-Element 1401 lassen sich Wettläufe von Zeit- und/oder er
eignisbezogenen Prozessen überwachen. Auch hierbei kann wieder
um lediglich ein Datenausgang 1413 vorgesehen werden.
Fig. 15 und 16 zeigen Konverter-Elemente. Mit diesen Konver
ter-Elementen lassen sich Steuersignale umsetzen in ereignisbe
zogene Datensignale und umgekehrt.
Fig. 15 zeigt ein Ereignisgenerator-Element 1501. Dieses Ele
ment erzeugt an seinem Datenausgang 1513 ein ereignisbezogenes
Datenausgangssignal 1515, wenn an seinem Steuereingang 1503 ein
externes Steuersignal 1502 mit dem ersten Signalpegel anliegt.
Dieses externe Steuersignal 1502 wird unmittelbar über den
Steuerausgang 1504 als externes Steuersignal 1505 weitergege
ben.
Fig. 16 zeigt ein Synchronisations-Element 1601. Dieses Syn
chronisations-Element 1601 gibt ein externes Steuersignal 1502
mit dem ersten Signalpegel erst dann über den Steuerausgang
1604 als externes Steuersignal 1605 weiter, wenn an seinem Da
teneingang 1607 ein bestimmtes ereignisbezogenes Dateneingangs
signal 1608 anliegt.
Fig. 17 zeigt ein Signalgenerator-Element 1701. Dies ist ein
Element, mit dem Signalverläufe über der Zeit erzeugt werden
können. Das Signalgenerator-Element wird deaktiviert, wenn der
Signalverlauf vollständig abgespielt ist oder wenn dem Signal
generator-Element 1701 über seinen Steuereingang 1703 ein ex
ternes Steuersignal 1702 mit dem zweiten Signalpegel zugeführt
wird. Signalverläufe werden ihrerseits wiederum durch speziali
sierte Signalelemente beschrieben, es können drei Signalelemen
te unterschieden werden:
- - Ein Signalverlauf besteht aus verschiedenen Segmenten, die
zeitlich aufeinander folgen.
- - Ein Segment wird durch ein Verknüpfungselement beschrie
ben.
- - Ein Verknüpfungselement verschaltet ein oder mehrere Si
gnalgeneratorelemente.
- - Ein Signalgeneratorelement erzeugt einen über der Zeit
veränderlichen Wert.
Ein Verknüpfungselement ist durch einen oder mehrere Slots 1801
gekennzeichnet, in die Signalgenerator-Elemente 1802 eingefügt
werden können, entsprechend der Darstellung der Fig. 18. Die
Slots 1801 sind verknüpft über eine oder mehrere Operationen,
welche die Verknüpfung definieren. So können aus elementaren
Signalfunktionen komplexe Verläufe am Ausgang Y des Verknüp
fungselements 1802 erzeugt werden. Es sind insbesondere Ver
knüpfungen für folgende Operationen definiert:
- - Addition: Y = A + B
- - Subtraktion: Y = A-B
- - Multiplikation: Y = A.B
- - Division: Y = A/B, ist hierbei B = 0, so nimmt Y den ma
ximal darstellbaren positiven Wert an, wenn A < 0 ist und
den maximal darstellbaren negativen Wert, wenn A < 0 ist.
- - MAC: Y = A.B + C
Weiterhin können Filter vorgesehen sein:
- - Tiefpass: Der Ausgang Y ergibt sich aus dem tiefpassgefil
terten Signal A. Die Grenzfrequenz des Tiefpasses wird von
Signal B vorgegeben.
- - Hochpass: Der Ausgang Y ergibt sich aus dem hochpassgefil
terten Signal A. Die Grenzfrequenz des Hochpasses wird von
dem Signal B vorgegeben.
- - Bandpass: Der Ausgang Y ergibt sich aus dem bandpassgefil
terten Signal A. Die Grenzfrequenzen des Bandpasses werden
von Signalen B und C vorgegeben.
- - Bandsperre: Der Ausgang Y ergibt sich aus dem bandgesperr
ten Signal A. Die Grenzfrequenzen der Bandsperre werden
von den Signalen B und C vorgegeben.
Aus den aufgeführten Beispielen ist ersichtlich, dass dem Ver
knüpfungselement 1802 gegebenenfalls auch mehr als zwei Größen
zugeführt werden können.
Ein Signalgeneratorelement erzeugt einen zeitlich veränderli
chen Wert. Hierzu kann vorteilhaft auf eine Bibliothek von vor
gefertigten Generatorelementen zugegriffen werden. Diese sind
parametrierbar. Folgende Elemente können vorteilhaft definiert
sein:
- - Sinus: Y = A + sin(w.t + b); mit der Amplitude A, der
Kreisfrequenz w und der Phase b.
- - Cosinus: Y = A.cos(w.t + b); mit der Amplitude A, der
Kreisfrequenz w und der Phase b.
- - Exponentialfunktion: y = exp (A.t)
- - Konstante: Y = const.
- - Pulsetrain: Y ist eine Folge von Pulsen der Dauer TPulse und
der Periodenzeit TPeriode
- - PWM: Y ist eine Folge von Pulsen mit dem Tastverhältnis
TRatio und der Periodendauer TPeriode.
- - Rampe: Y ist eine Rampe von A nach B mit der Steigung M.
- - Messdaten: Dabei wird Y nicht analytisch bestimmt sondern
einer zuvor aufgenommen Messreihe entnommen. Somit ist es
möglich, in der Realität gemessene Verläufe wiederzugeben.
Mit dem dargestellten Beispiel der Fig. 19 lässt sich bei
spielsweise ein Klopfsignal eines Klopfsensors einer Brenn
kraftmaschine nachbilden. Dieses Signal wird durch eine abklin
gende Sinusschwingung charakterisiert. Der Effekt kann durch
die Gleichung Y = A.exp(-c.t).sin (w.t) beschrieben wer
den. Das resultierende Signal Y kann durch die Verknüpfung 1903
der Multiplikation und die Signalgeneratoren 1901 der Exponen
tialfunktion und 1902 der Sinusfunktion erzeugt werden.
Weiterhin können speichernde Elemente 2001 vorgesehen werden.
Speichernde Elemente sind nicht in den Fluss der Steuersignale
eingebunden. Sie verfügen lediglich über Datensignale. Ein Bei
spiel ist in Fig. 20 dargestellt. Diese speichernden Elemente
2001 verfügen nicht über eine Variable entsprechend zu den an
deren Elementen und weisen keinen Zustand "aktiv" oder "deakti
viert" auf.
Die in Fig. 20 dargestellten speichernden Elemente 2001 können
im wesentlichen in zwei Formen auftreten.
- - Quellen: Quellen haben keinen Eingang und einen Ausgang.
An diesem liegt die gespeicherte Größe zur weiteren Verar
beitung an.
- - Senken: Senken nehmen Größen zur Speicherung auf. Die ge
speicherte Größe kann über eine korrespondieren Quelle je
derzeit abgerufen werden.
Quellen greifen auf einen Speicherbereich zu und stellen die
dort gespeicherte Größe an ihrem Ausgang zur Verfügung.
Beispielsweise kann an dem Ausgang eine konstante Größe zur
Verfügung gestellt werden, die zeitlich unveränderlich ist.
Ebenso kann eine solche Quelle auch als Signalquelle ausgebil
det sein, die auf zeitlich veränderliche Signale des Programm-
oder Testsystems zugreift und diese den steuernden Elementen
zur Verfügung stellt. Die verfügbaren Signale sind dann durch
das Programm- oder Testsystem vorgegeben.
Weiterhin kann die Quelle auch als Variablenquelle definiert
sein. Variablenquellen liefern den Wert eines Variablenspei
chers, der einen zeitlich veränderlichen Wert enthält. Varia
blen können im Unterschied zu Signalen frei definiert werden.
Senken hingegen nehmen Größen auf und speichern sie in einer
Speicherstelle.
Signalsenken speichern die eingehende Größe in einem vom Pro
gramm- oder Testsystem zur Verfügung gestellten Signal. Die
verfügbaren Signale sind durch das Testsystem vorgegeben.
Variablensenken speichern die eingehende Größe in einem frei
definierbaren Variablenspeicher.
Den grundlegenden Aufbau eines Testsystems 2102 mit der Fähig
keit zur Testautomation zeigt Fig. 21. In das Testsystem 2102
wird eine (Software-)Komponente integriert, die als Bestandteil
des Testsystems 2102 für die Ausführung von Testbeschreibungen
2101 zuständig ist. Diese Komponente wird im folgenden als
Testmaschine 2103 bezeichnet. Ihr Aufbau wird im folgenden nä
her erläutert.
Kerngedanke der Testmaschine 2103 ist die Abbildung der vorste
hend dargestellten Elemente auf entsprechende Datenstrukturen,
die von einem Algorithmus benutzt werden. Basis des Algorithmus
sind zwei Module, das Elementenmodul und das Managementmodul.
Bei dem Elementenmodul bildet ein Modul die Grundlage für je
weils ein Element. Dieses wird als Elementenmodul bezeichnet.
Das Elementenmodul definiert Datenstrukturen für jedes darzu
stellende Element sowie Programmcode, der für die Initialisie
rung und Ausführung des jeweiligen Elementes notwendig ist. Die
jeweils zu einem Element gehörigen Datenstrukturen und der da
zugehörige Code werden als Elementklasse bezeichnet. Eine mit
konkreten Daten versehene Datenstruktur zu einem Element wird
als Elementobjekt bezeichnet. Der Vorgang der Erzeugung eines
neuen Elementobjekts wird als Instanziierung eines Elementob
jekts bezeichnet.
Das Managementmodul verwaltet alle Elementenmodule. Im Manage
mentmodul definierte Datenstrukturen mit dazugehörigem Code
werden als Managementklasse bezeichnet. Eine mit konkreten Da
ten gefüllte Datenstruktur einer Managementklasse wird mit Ma
nagementobjekt bezeichnet. Der Vorgang der Erzeugung eines neu
en Managementobjekts wird als Instanziierung eines Managemen
tobjektes bezeichnet.
Die Elementklassen des Elementenmoduls und die Managementklas
sen des Managementmoduls sollen nachfolgend beschrieben werden.
Die im Elementenmodul definierten Elementklassen sind hierar
chisch geordnet. Die Klassen stehen in einer als "Ableitung"
bezeichneten Beziehung zueinander. Ableitung bedeutet, dass ei
ner aus einer Basisklasse abgeleiteten Klasse alle Datenfelder
(im folgenden als "Attribute" bezeichnet) und alle Programm
funktionen (im folgenden als "Methoden" bezeichnet) dieser Ba
sisklasse zur Verfügung stehen. Darüber hinaus ist die Ablei
tung in der Lage, die Methoden zu verändern, das heißt, das in
der Methode implementierte Verhalten zu modifizieren.
Wie die Elemente selbst, so sind auch die Elementklassen nach
steuernden und speichernden Elementklassen unterschieden. Die
Elemente basieren jedoch auf einer gemeinsamen Basisklasse.
Diese Klasse verfügt über zwei Methoden:
- - Der Construktor: Eine Methode, die die Attribute eines neu
erzeugten Elementobjektes initialisiert. Diese Methode
wird unmittelbar nach der Erzeugung aufgerufen.
- - GetValue: Die Methode wird von einem verbundenen Elemen
tobjekt aufgerufen, um den Wert eines abgehenden Daten
flusses abzufragen. Der Datenfluss trägt eine zeitkontinu
ierliche Größe.
- - HasEvent: Die Methode wird von einem verbundenen Elemen
tobjekt aufgerufen, um das Vorliegen eines Ereignisses an
einem abgehenden Datenfluss abzufragen. Der Datenfluss
trägt eine zeitdiskrete Größe.
Im folgenden werden steuernde und speichernde Elementklassen
beschrieben.
Alle steuernden Elementklassen basieren auf einer gemeinsamen
Basisklasse für steuernde Elementklassen. Diese Klasse enthält
Attribute, die für die Ausführung eines steuernden Elementob
jekts notwendig sind. Hierzu zählen insbesondere Datenfelder
für die Stelle (Variable), die anzeigt, ob das steuernde Ele
mentobjekt aktiv ist.
Die Klasse enthält darüber hinaus Methoden, die für die Erzeu
gung und die Ausführung der steuernden Elementobjekte notwendig
sind. Die Methoden lassen sich in ein Steuerungsinterface und
ein Prozessinterface aufgliedern.
Das Steuerungsinterface eines steuernden Elementobjekts gibt
Auskunft über seinen Zustand und kann diesen beeinflussen. Dies
sind insbesondere:
- - IsActive: Diese Methode gibt Auskunft darüber, ob das be
treffende Elementmodul aktiv ist, das heißt, seine Funkti
on ausführt. Kennzeichen für Aktivität ist das mit der Va
riablen assoziierte Attribut.
- - ProcessMark: Die Methode wird aufgerufen, wenn das Elemen
tobjekt einen geänderten Wert der Variablen erhält. Die
Variable kann ihren dabei sowohl derart ändern, dass sie
dem aktiven als auch dem deaktivierten Zustand entspricht.
Ändert die Variable ihren Wert in Richtung einer Aktivie
rung, so wird unterschieden:
- - Die Variable hatte vorher einen der Deaktivierung entspre
chenden Wert. Die Variable wird dann entsprechend geändert
und die Methode OnStart wird aufgerufen.
- - Die Variable hatte bereits einen der Aktivierung entspre
chenden Wert. Es erfolgt keine Reaktion.
Ändert die Variable ihren Wert n Richtung einer Deaktivie
rung, so wird unterschieden:
- - Die Variable hatte vorher einen der Aktivierung entspre
chenden Wert. Dann wird der Wert der Variablen entspre
chend geändert und die Methode OnTerminate wird aufgeru
fen. Ein entsprechendes externes Steuersignal wird an alle
abgehenden Steuerausgänge weitergereicht.
- - Die Variable hatte vorher einen der Deaktivierung entspre
chenden Wert. In diesem Fall wird das externe Steuersignal
an alle abgehenden Steuerausgänge weitergereicht.
- - RequestControl: Die Methode wird von einem nachfolgenden
Elementobjekt verwendet, um einen Steuerausgang auf das
Vorhandensein eines entsprechenden externen Steuersignals
zu überwachen. Ist ein entsprechendes externes Steuersi
gnal vorhanden, so wird dieses externe Steuersignal dem
Aufrufer übergeben und am betreffenden Ausgang gelöscht.
- - OnStart: Die Methode wird jedes Mal aufgerufen, wenn das
Elementobjekt vom inaktiven in den aktiven Zustand über
geht, und initialisiert alle zur Erfüllung der Funktion
notwendigen Datenfelder.
- - OnTerminate: Die Methode wird jedes Mal aufgerufen, wenn
das Elementobjekt vom aktiven in den inaktiven Zustand
übergeht.
Das Prozessinterface dient der Ausführung der vom Elementobjekt
implementierten Funktion. Es verfügt im speziellen über folgen
de Methoden:
- - Update: Diese Methode wird zyklisch von einem Managemen
tobjekt aufgerufen. Die überwacht und steuert den Zustand
des Elementobjekts, indem sie sich der Methoden des Steue
rungsinterface bedient. Der in Update implementierte Algo
rithmus arbeitet folgendermaßen;
- - Der Steuereingang wird auf vorhandene externe Steuersigna
le mit dem ersten Signalpegel überwacht. Liegt ein ent
sprechendes Steuersignal vor, so wird dieses mit Process-
Mark verarbeitet. Daraufhin kann sich er in der Variablen
gespeicherte Wert ändern.
- - Ist das Elementobjekt nach obigem Schritt aktiv, so wird
die nachfolgend beschriebene Methode Process aufgerufen.
In dieser kann sich der Zustand erneut ändern.
- - Process: Diese Methode wird von Update aufgerufen, solange
ein Elementobjekt als aktiv gekennzeichnet ist. Innerhalb
dieser Methode wird die Aufgabe des Elementobjekts er
füllt. Um den Einsatz in einer echtzeitfähigen Umgebung zu
ermöglichen, muss diese Methode mit einem Minimum an Re
chenzeit implementiert werden. Üblicherweise wird die Me
thode so implementiert, dass nur jeweils ein kurzer Re
chenschritt innerhalb der Aufgabe ausgeführt wird. Hierzu
werden komplexe Aufgaben als getakteter Zustandautomat im
plementiert.
Alle speichernden Elementklassen basieren auf einer gemeinsamen
Basisklasse für speichernde Elementklassen. Im Gegensatz zu
steuernden Elementklassen verfügen speichernde Elementklassen
nur über ein Steuerungsinterface. Dieses besteht lediglich aus
der Neudefinition folgender geerbter Methoden:
- - Der Construktor: Eine Methode, die die Attribute eines neu
erzeugten Elementobjektes initialisiert. Diese Methode
wird unmittelbar nach der Erzeugung aufgerufen.
- - GetValue: Die Methode wird von einem verbundenen Elemen
tobjekt aufgerufen, um den Wert eines abgehenden Daten
flusses abzufragen. Der Datenfluss träge eine zeitkontinu
ierliche Größe.
- - HasEvent: Die Methode wird von einem verbundenen Elemen
tobjekt aufgerufen, um das Vorliegen eines Ereignisses an
einem abgehenden Datenausgang abzufragen. Über den Daten
ausgang wird ein zeitdiskrete Größe ausgegeben.
Weiterhin wird genau eine Managementklasse definiert. Diese de
klariert als Attribute folgende Listen:
- - Liste aller gegenwärtig verfügbaren Elementobjekte. Diese
Liste stellt das momentan geladene Testprogramm dar.
- - Liste aller gegenwärtig aktiven Elementobjekte. Diese Li
ste stellt die aktiven Elemente des Testprogramms dar.
Diese Listen sind in einem Managementobjekt mit Elementobjekten
bedatet. Die Bedatung der Liste der gegenwärtig verfügbaren
Elementobjekte wird als "Programmierung der Testmaschine" be
zeichnet. Die Programmierung erfolgt über entsprechende Metho
den der Managementklasse. Die vollständig bedatete List enthält
somit das Testprogramm.
Ist die Testmaschine programmiert, so kann das Programm ausge
führt werden. Hierzu wird eine entsprechende Methode des Mana
gementobjekts aufgerufen. Diese beginnt die Ausführung mit dem
Start des ersten Elementobjekts in der Liste aller gegenwärtig
verfügbaren Elementobjekte. Dies geschieht durch Übernahme in
die Liste der aktiven Elemente. Das Elementobjekt ist nachfol
gend aktiv und führt seine Aufgabe aus. Die von ihm abhängigen
Elementobjekte beobachten dessen Steuerausgänge und aktivieren
sich entsprechend. Das Programm ist fertig abgearbeitet, wenn
kein Elementobjekt mehr aktiv ist und die Liste der aktiven
Elemente mithin leer ist.
Damit ein Managementobjekt in einer echtzeitfähigen Umgebung
einsetzbar ist, verfügt es über eine zyklisch aufzurufende Up
date-Routine. Diese verarbeitet jeweils einmal pro Zyklus alle
aktiven Elementobjekte.
Folgende Methoden ergeben sich für die Managementklasse:
- - Construct: Der Konstruktor initialisiert alle Felder des
unmittelbar zuvor erzeugten Managementobjektes.
- - Init: Die Methode löscht das Programm und bereitet das Ma
nagementobjekt auf eine erneute Programmierung vor.
- - AddElement: Ein neues Elementobjekt wird der Liste der
verfügbaren Elementobjekte hinzugefügt.
- - Update: Es wird ein Rechenschritt in allen aktiven Elemen
tobjekten ausgeführt.
- - Start: Das Programm wird gestartet.
- - Terminate: Das Programm wird beendet.
Nachfolgend soll nochmals ein Beispiel erläutert werden. Es
soll dabei ein Signal S. das das Testsystem bereitstellt, über
wacht werden. Das Signal S soll innerhalb von 500 ms den Wert
"1" annehmen. Zeigt S dieses Verhalten, so ist der Test erfolg
reich verlaufen und das Ergebnis soll dann "gut" sein. Laufen
die 500 ms ab, ohne dass S den Wert 1 annimmt, so ist der Test
nicht erfolgreich verlaufen. Das Ergebnis soll dann "schlecht"
sein.
Dieser Test kann aus den vorstehend beschriebenen Elementen
wird in Fig. 22 dargestellt realisiert werden.
Beginnend mit dem Start-Element 2201 verzweigt die Ausführung
über das Fork-Element 2202 in drei parallel laufende Elemente
a, b und c. Während das Vergleichselement 2203 den Signalwert S
mit dem Referenzwert 1 vergleicht und das Eintreffen dieser Be
dingung erwartet, zählt das Timeout-Element 2204 die angegebene
Zeit herunter. Das Guardian-Element 2205 überwacht gleichzei
tig, ob zuerst die Bedingung wahr wird oder aber das Timeout-
Element abläuft. Im ersten Fall setzt das Guardian-Element sei
nen Ausgang auf "gut", im anderen Fall auf "schlecht". Das Guar
dian-Element wird in beiden Fällen ein externes Steuersignal
mit dem ersten Signalpegel an das nachfolgende Exit-Element
2206 ausgeben. Dieses wird daraufhin den gesamten Prozess stop
pen, indem es ein externes Steuersignal mit dem zweiten Si
gnalpegel an das Start-Element 2201 sendet. Mit der Variablen
2207 "Ergebnis" kann abgefragt werden, ob der Test erfolgreich
verlief.
Die Deaktivierung des Timeout-Elements 2204 führt hier im Kon
trollfluss zu keiner weiteren Ausführung, da das nachfolgende
Terminator-Element 2208 das externe Steuersignal mit dem ersten
Signalpegel vernichtet. Die Werte nicht angeschlossener abge
hender Datenflüsse werden nicht benötigt und verfallen.