-
Die
Erfindung betrifft eine Triggereinrichtung, eine Laboreinrichtung,
ein Verfahren zum Testen von Steuergerätesoftware, ein Computerprogramm
und ein Computerprogrammprodukt.
-
Bisher
bekannte "CC-LabCar"-Anwendungen oder
entsprechende Laboreinrichtungen zum Testen von Steuergeräten und
insbesondere von Steuergerätesoftware
umfassen u.a. eine datenbankspezifische Projektstruktur. Mit dem "LabCar Operator 2.0" ist jedoch keine
Echtzeit-Triggermöglichkeit
zur Manipulation von Signalen gegeben. Eine Triggerfunktion kann
demnach nur mit einer Komponente und zu einem Zeitpunkt verwendet
werden. Manuelle und automatische Tests sind teilweise nicht durchführbar. Somit
liegt hier ein fehlender Triggermechanismus und fehlende Echtzeitfähigkeit
vor. Verschiedene Triggerbedingungen sind ebensowenig realisierbar.
-
Offenbarung der Erfindung
-
Die
erfindungsgemäße Triggereinrichtung
ist als Komponente einer zum Testen einer Steuergerätesoftware
eines Fahrzeugs ausgebildeten Laboreinrichtung vorgesehen und weist
mindestens ein Triggermodul auf. Die Triggereinrichtung ist dazu
ausgebildet, bei Betrieb der Laboreinrichtung mindestens einen Triggermechanismus
in Echtzeit auszulösen.
-
Die
Triggereinrichtung ist zudem dazu ausgebildet, verschiedene Triggermechanismen,
insbesondere Triggerbedingungen und/oder Triggerabläufe, zu
realisieren, Signale zu manipulieren sowie eine Dauer einer Signalmanipulation
einzustellen.
-
Die
Triggereinrichtung weist in der Regel mehrere Triggermodule auf.
Der Begriff Triggermodul wird in der vorliegenden Beschreibung stellvertretend für den allgemein gängigen Begriff
Trigger (Auslöser) verwendet.
Zur Erzeugung von Triggermechanismen und somit von Triggerbedingungen
und/oder Triggerabläufen,
sind mehrere Triggermodule der jeweiligen Triggerbedingung und/oder
des jeweiligen Triggerablaufs entsprechend miteinander kombiniert.
Außerdem
kann die Triggereinrichtung dazu ausgebildet sein, mit mindestens
einer weiteren Komponente der Laboreinrichtung zusammenzuwirken.
-
Die
erfindungsgemäße Laboreinrichtung weist
mindestens eine voranstehend erörterte
Triggereinrichtung auf.
-
Diese
Laboreinrichtung ist üblicherweise
zur Verarbeitung von Signalen und zum Testen eines Steuergeräts und insbesondere
von Steuergerätesoftware
mindestens eines Steuergeräts
ausgebildet. In einer speziellen Anwendung ist die Laboreinrichtung
zur Simulation einer Fahrzeugumgebung ausgebildet.
-
Die
Erfindung betrifft außerdem
ein Verfahren zum Testen einer Steuergerätesoftware eines Fahrzeugs
unter Laborbedingungen, bei dem durch eine Triggereinrichtung mindestens
ein Triggermechanismus in Echtzeit ausgelöst wird.
-
Ausführungen
von Funktionen der Laboreinrichtung, der Triggereinrichtung sowie
der Triggermodule, die ggf. miteinander Wechselwirken, können als einzelne
Schritte des erfindungsgemäßen Verfahrens
angesehen werden.
-
Das
erfindungsgemäße Computerprogramm mit
Programmcodemitteln ist dazu ausgebildet, alle Schritte eines erfindungsgemäßen Verfahrens
durchzuführen,
wenn das Computerprogramm auf einem Computer oder einer entsprechenden
Recheneinheit, insbesondere in einer voranstehenden erläuterten
Laboreinrichtung, ausgeführt
wird.
-
Die
Erfindung betrifft zudem ein Computerprogrammprodukt mit Programmcodemitteln,
die auf einem computerlesbaren Datenträger gespeichert sind, um alle
Schritte eines beschriebenen Verfahrens durchzuführen, wenn das Computerprogramm auf
einem Computer oder einer entsprechenden Recheneinheit, insbesondere
in einer erfindungsgemäßen Laboreinrichtung
ausgeführt
wird.
-
Eine
Anwendung der Erfindung wird für
die Laboreinrichtung "CC-LabCar" bei der Entwicklung von
Steuergeräten
und Chassissystemen benutzt. Somit ist es möglich, Hardware und/oder Software
für Bremsensteuergerätfunktionen,
bspw. ESP und ABS, im Labor zu testen. Die Laboreinrichtung besteht
dabei aus mehreren Hard- und Softwarekomponenten, die zumindest
teilweise miteinander in Verbindung stehen, so dass bestimmte Funktionalitäten nachgebildet
werden können.
-
Mit
der Laboreinrichtung können
analoge und digitale Aus- und Eingangssignale verarbeitet werden,
sie umfasst u.a. ein Echtzeitsystembetriebssystem, auf dem Fahrdynamik-
und Hydraulikmodelle berechnet werden. Dabei berechnete Signale, bspw.
CAN Signale, Sensorsignale, oder Signale für Schalter, werden dem Steuergerät über die
Hardwarekomponenten vorgegeben. Hierbei benötigt jedes Steuergerät typischerweise
eine spezielle Hardwarekonfiguration der Laboreinrichtung. Die Laboreinrichtung
simuliert dadurch jene Fahrzeugumgebung, wie sie das Steuergerät im realen
PKW vorfinden würde,
dabei können
Sensoren, eine Netzwerkkommunikation, Spannungen von der Batterie
oder der Zündung
bereitgestellt werden. Mit der Software der Laboreinrichtung ist
es möglich,
dem Anwender grafische Oberflächen
zur Bedienung und Visualisierung der durchgeführten Tests zur Verfügung zu
stellen, somit können
alle im Test und somit im Projekt verwendeten Größen angezeigt werden.
-
Jedes
Steuergeräte-Projekt
benötigt
in der Regel eine angepasste Version der Laboreinrichtung. Diese
umfasst die geeignete Hardwarekonfiguration und ein Auswahl der
für das
Projekt spezifischen Softwarekomponenten der Laboreinrichtung. Die
Laboreinrichtung kann ohne Hardwareänderungen für verschiedene Steuergeräte betrieben
werden. Mit einem Modul zur Modell- bzw. Projektkonfiguration ("CC-ModelConfigurator") der Laboreinrichtung
kann der Anwender für
sein zu testendes Steuergerät
bedarfsweise spezifische Projekte erzeugen.
-
Bei
einem Signal handelt es sich bei vorliegender Erfindung um eine
Aus- oder Eingangsgröße für das Steuergerät oder eine
interne Größe innerhalb
der projektspezifischen Laboreinrichtung zur Kommunikation zwischen
Softwarekomponenten.
-
Bei
der Entwicklung von Bremsensteuergerätesoftware muss ein Vielzahl
von Tests durchgeführt
werden, um eine einwandfreie Funktion der Software zu gewährleisten.
Viele Tests können
mit Unterstützung
der sog. "CC-LabCar"-Anwendung als Laboreinrichtung durchgeführt werden.
Mit der Erfindung ist es möglich,
für derartige
Laboreinrichtungen durch Einsatz mindestens einer Triggereinrichtung Störeinflüsse, mit
denen die Steuergerätesoftware getestet
wird, in Echtzeit zu triggern. Die Triggereinrichtung bietet die
Möglichkeit,
verschiedene Triggerfälle
bzw. -mechanismen einzustellen und mit beliebig vielen Signalen
zu verbinden.
-
Die
zentrale Einbindung der Triggereinrichtung in das "CC-LabCar"-Projekt als Basis
für die Softwarekomponente
ermöglicht
echtzeitgetriggerte Tests der Steuergerätesoftware, sowie die Möglichkeit
der Echtzeittriggerung zur Signalmanipulation, was derzeit mit einer
Zykluszeit von 2 ms möglich
ist. Bei der Triggereinrichtung handelt es sich somit um eine zentrale
Anordnung zur Bereitstellung einer Funktionalität, auf die von jeder Stelle
der Laboreinrichtung und insbesondere des "CC-LabCar"-Projekts aus zugegriffen werden kann.
Durch die Triggereinrichtung bereitgestellte Triggerbedingungen und/oder –abläufen können sich
auf jedes beliebige verfügbare
Signal der Laboreinrichtung oder dem jeweiligen "CC-LabCar"-Projekt beziehen.
-
In
weiterer Ausgestaltung wird die Triggereinrichtung in beliebig vielen
Komponenten der Laboreinrichtung verwendet. Dadurch können zu
einem Zeitpunkt mehrere Signale in verschiedenen Komponenten verändert werden.
Es ist vorgesehen, dass eine insbesondere zentrale Triggereinrichtung
in allen "CC-LabCar"-Projekten zur Verfügung steht.
Des weiteren können
verschiedenartige Triggerbedingungen, bspw. logische Abhängigkeiten,
Signalvergleiche, Durchläufe
von Sequenzen und dergleichen, simuliert werden.
-
Die
zentrale Triggereinrichtung ist üblicherweise
als eine Basis Softwarekomponente in verschiedenen Laboreinrichtungen
und somit "CC-LabCar"-Projekten geeignet.
Als Triggerbedingung kann jedes Signal der Laboreinrichtung verwendet
werden.
-
Jedes
Triggermodul der Triggereinrichtung enthält eine Bedingung bzw. Triggerbedingung.
Sobald diese Bedingung erfüllt
ist, wird der Zustand des Triggermoduls auf "True" gesetzt.
Somit wird angezeigt, dass eine Manipulation vorliegt. Zusätzlich kann
bei einem Triggermodul eine Verzögerungszeit angegeben
werden, so dass erst nach deren Ablauf der Zustand auf "True" gesetzt wird. Ist
der Zustand eines Triggermoduls "True", so werden alle
Signale, die mit diesem Triggermodul verknüpft sind, manipuliert. Auch
die Dauer der Signalmanipulation kann bei jedem Triggermodul separat
gewählt
werden. Eine mögliche
Zeitspanne hierfür
liegt zwischen 2 ms und unendlich. Es sind jedoch auch minimale
Zykluszeiten von weniger als 2 ms möglich. Eine minimale Zeitspanne
für die
Zykluszeit ist an die Geschwindigkeit einer Recheneinheit zur Durchführung der
Simulation gekoppelt. Falls die Recheneinheit zumindest das Triggermodul
in einem schnelleren Zyklus berechnen kann, so wird die minimale
Zeitspanne ebenfalls geringer.
-
Ein
Zustand eines Triggermoduls kann auf verschiedene Weise auf "False" zurückgesetzt
werden, so dass keine Manipulation vorliegt. Des weiteren ist es
jederzeit möglich,
das Triggermodul zu deaktivieren. Falls eine Manipulationsdauer
abgelaufen ist und das Triggermodul vom Typ "Single Shot" (einmalig) ist, bedeutet dies, dass
das Triggermodul nach einmaligem Auslösen automatisch deaktiviert wird.
-
Für den Fall,
dass eine Manipulationsdauer abgelaufen ist und das Triggermodul
vom Typ "Always" (immer) ist, wird
die Triggerbedingung erneut geprüft.
Ist die Triggerbedingung nicht erfüllt, wird der Zustand auf "False" zurückgesetzt,
so dass keine Manipulation erfolgt und das Triggermodul dabei aktiviert
bleibt. Die verschiedenen Triggermöglichkeiten unterscheiden sich
nur durch ihre Bedingung, mit Ausnahme von Triggermodulen, die als
Default-Triggermodule
ausgebildet sind.
-
In
der zentralen Triggereinrichtung sind bspw. folgende Typen von Triggermodulen
verfügbar: Default-Triggermodule,
Event-Triggermodule, Logische Triggermodule und Sequenz-Triggermodule.
-
Default-Triggermodule
umfassen Always-Triggermodule, die sich immer im On(Ein)-Zustand
befinden, so dass die Triggerbedingung immer erfüllt ist. Ein Never-Triggermodul
ist immer im Off(Aus)-Zustand, d.h. die Triggerbedingung ist nie erfüllt. Always-
und Never-Triggermodule
können üblicherweise
nicht verändert
werden, ihre Manipulationsdauer ist unendlich lang.
-
Triggermodule,
die als Manual-Triggermodule (manuelle Triggermodule) ausgebildet
sind, können
vom Anwender von Hand gesetzt werden. Die Manual-Triggermodule können jederzeit
aktiviert oder deaktiviert werden und schalten sich nach Ablauf
der Manipulationszeit automatisch ab. Eine Manipulationsdauer gleich
0 bedeutet insbesondere eine unendliche Manipulationsdauer.
-
Event-Triggermodule
stellen in der Regel eine Triggerbedingung für einen einfachen Vergleich von
Signalen bereit. Hierbei ist vorgesehen, dass ein Triggerzustand
On ist, nachdem die Triggerbedingung erfüllt und die Verzögerungs-
bzw. Delay-Zeit abgelaufen ist. Eine Manipulationszeit kann für jedes Event-Triggermodul
spezifiziert werden.
-
Bei
einem als "Single
Shot" bezeichneten Triggermodus
für ein
Triggermodul wird ein Ereignis einmal ausgelöst und das Triggermodul nach
Ablauf der Manipulationszeit deaktiviert. Beim Triggermodus "Always" kann das Ereignis
immer ausgelöst
werden, außerdem
wird die Triggerbedingung nach Ablauf der Manipulationszeit erneut überprüft. Das
Triggermodul bleibt somit immer aktiviert.
-
Derartige
als Event- bzw. Ereignis-Triggermodule ausgebildete Triggermodule
können
in Logischen Triggermodulen und Sequenz-Triggermodulmodulen als
Bedingung für
das durch das jeweilige Triggermodul auszulösende Ereignis verwendet und jederzeit
aktiviert oder deaktiviert werden. Bei Logischen Triggermodulen
handelt es sich um Triggermodule, die bis zu drei Event-Triggermodulen
als logische Bedingung kombinieren können. Sequenz-Triggermodul bilden
eine Reihenfolge von Ereignissen ab, die der Reihe nach erfolgen
müssen,
um das jeweilige Triggermodul auszulösen. In diesem Fall gilt, dass
eine erste Triggerbedingung erfüllt
bzw. das erste Ereignis eintreten muss, bevor die zweite Bedingung
geprüft
wird. Als Bedingung hierfür
können Event-Triggermodule
und Logische Triggermodule eingesetzt werden. Ein Sequenz-Triggermodul
kann auch als Ereignis für
ein nachfolgendes Sequenz-Triggermodul dienen.
-
Durch
Nutzung der Logischen Triggermodule und der Sequenz-Triggermodul
besteht die Möglichkeit,
komplizierte Triggerbedingungen und -ablaufe zu erzeugen.
-
Mit
einer insbesondere projektspezifischen Triggereinrichtung kann für jedes
Projekt eine speziell zugeschnittene Triggereinrichtung erstellt
werden, mit der die angeforderten Tests für ein jeweiliges Steuergeräteprojekt
durchgeführt
werden können.
Es ist hierzu vorgesehen, genügend
Ressourcen bereitzustellen. Das Triggermodul kann außerhalb
einer Echtzeitumgebung, z.B. einer Fernsteuerung der Signalmanipulationen
durch eine Testautomatisierung auf dem PC, bereitgestellt werden.
Mit der Erfindung ist somit eine Echtzeitmanipulation möglich.
-
Eine
Verwendung der Erfindung ist bei manuellen und automatisierten Tests
mit einem "CC-LabCar"-Projekt möglich. Eine
bereitgestellte Triggerfunktionalität und somit ein bereitgestellter Triggermechanismus
wird bei verschiedenen Sensorkomponenten verwendet. Insbesondere
kann die zentrale Triggereinrichtung bei manuellen und automatischen
Tests mit der als "CC-LabCar" ausgebildeten Laboreinrichtung
zum Einsatz kommen, die in Echtzeit durchgeführt werden müssen. Es
ist auch möglich,
die Erfindung für
Tests von Laboreinrichtungen einzusetzen, bei denen Sensormodelle
für die Laboreinrichtung "CC-LabCar" zum Einsatz kommen.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt
in schematischer Darstellung eine erste Ausführungsform einer Laboreinrichtung.
-
2 zeigt
in schematischer Darstellung eine Ausführungsform eines Zustandsdiagramms
eines Triggermoduls.
-
3 zeigt
ein Ablaufdiagramm zur Durchführung
einer Ausführungsform
eines Verfahrens.
-
4 zeigt
in schematischer Darstellung ein Diagramm zu einer graphischen Benutzerschnittstelle
einer zweiten Ausführungsform
einer Triggereinrichtung.
-
5 zeigt
ein Diagramm zu einer graphischen Benutzerschnittstelle einer zweiten
Ausführungsform
einer Triggereinrichtung.
-
6 zeigt
eine zweite Ausführungsform
einer Verbindung einer Triggereinrichtung zu Signalen.
-
Ausführungsform der Erfindung
-
1 zeigt
in schematischer Darstellung eine erste Ausführungsform einer Laboreinrichtung 2,
die in diesem Fall zur Realisierung eines steuergerätespezifischen "CC-LabCar"-Projekts für ein Chassissystem
vorgesehen ist. In diese Laboreiririchtung 2 ist eine erste
Ausführungsform
einer zentralen Triggereinrichtung 4 eingebunden. Des weiteren
umfasst die Laboreinrichtung 2 vier Komponenten 6, 8, 10, 12,
mit denen die zentrale Triggereinrichtung 4, wie durch
die Pfeile angedeutet, wechselwirkt. Hierbei wird ein Auslösen einer
Manipulation von Signalen in Abhängigkeit
mindestens eines ausgelösten
Triggermoduls der zentralen Triggereinrichtung 4 bewirkt. Dies
ist durch Pfeile, die ausgehend von der zentralen Triggereinrichtung 4 hin
zu den Komponenten 6, 8, 10, 12 deuten,
dargestellt. Durch diejenigen Pfeile, die ausgehend von den Komponenten 6, 8, 10, 12 auf die
zentrale Triggereinrichtung 4 deuten, wird ein Triggern
auf Werte der Signale dargestellt.
-
2 zeigt
in schematischer Darstellung eine Ausführungsform eines Zustandsdiagramms
einer Triggereinrichtung. Hierbei sind nachfolgend vier Zustände 22, 24, 26, 28 der
Triggereinrichtung vorgesehen. In einem ersten Zustand 22 ist
ein Triggermodul der Triggereinrichtung deaktiviert, einem zweiten Zustand 24 zufolge
wird eine Triggerbedingung des Triggermoduls überprüft, in einem dritten Zustand 26 wird
eine Verzögerung
bzw. ein Delay abgewartet, der vierte Zustand 28 steht
für eine
Manipulation eines Signals. Wechselwirkungen zwischen diesen Zuständen 22, 24, 26, 28 sind
in der 2 durch die nachfolgend beschriebenen Pfeile dargestellt.
-
Das
Triggermodul ist in dem ersten Zustand 22 deaktiviert.
Dies bedeutet einerseits, dass das Triggermodul inaktiv ist (Pfeil 30).
Andererseits ist es auch möglich,
dass das Triggermodul wieder aktiviert wird (zweiter Pfeil 32).
Dieser zweite Pfeil 32 zeigt, dass das Triggermodul ausgehend
von dem ersten Zustand 22 aktiviert wird. Somit ist vorgesehen,
dass für
das Triggermodul eine Triggerbedingung geprüft wird (zweiter Zustand 24).
-
Ausgehend
von dem zweiten Zustand 24 ist einerseits zu überprüfen, ob
die Triggerbedingung erfüllt
oder nicht erfüllt
ist (dritter Pfeil 34). Durch einen vierten Pfeil 36 wird
in 2 dargestellt, dass das Triggermodul ausgehend
von dem zweiten Zustand 24 bedarfsweise zu deaktivieren
ist und somit der erste Zustand 22 eintritt. Ist alternativ
hierzu eine nach dem zweiten Zustand 24 überprüfte Triggerbedingung
erfüllt,
tritt, wie durch den fünften
Pfeil 38 angedeutet, ausgehend von dem zweiten Zustand 24 der
dritte Zustand 26 ein, wonach die Verzögerung abgewartet wird. Dieser
dritte Zustand 26 und somit die Verzögerung kann für einen
gewissen Zeitraum andauern (sechster Pfeil 40). Alternativ
hierzu ist vorgesehen, dass die Verzögerung beendet wird (siebter
Pfeil 42), so dass der vierte Zustand 28, wonach die
Manipulation des Signals eintritt, erfolgt. Des weiteren wird, wie
durch den achten Pfeil 44 angedeutet ist, das Triggermodul
ausgehend von dem dritten Zustand 26 deaktiviert (erster
Zustand 22).
-
Ausgehend
von dem vierten Zustand 28 sind nachfolgende durch die
Pfeile 46, 48, 50, 52 angezeigte
Optionen denkbar. Wie durch den neunten Pfei1 46 dargestellt,
dauert die Manipulation des Signals an. Außerdem gibt es zwei Optionen
dafür,
die Manipulation zu beenden: einem zehnten Pfeil 48 zufolge
wird die Manipulation beendet und ein Triggermodul auf "Always" (immer) gestellt.
Demzufolge wird die Triggerbedingung überprüft (zweiter Zustand 24).
Es ist auch möglich,
die Manipulation zu beenden und den Triggermodus auf "Single Shot" (einmalig) zu stellen
(zweiter Pfeil 50). Dies bedeutet, dass das Triggermodul
deaktiviert wird und den ersten Zustand 22 einnimmt. Entsprechend
ist das Triggermodul auch ohne eine Beendigung der Manipulation deaktivierbar
(zwölfter
Pfeil 52).
-
3 zeigt
ein Ablaufdiagramm zur Durchführung
einer Ausführungsform
des Verfahrens. Nach einem Start 60 wird überprüft, ob ein
Triggermodul einer Triggereinrichtung aktiviert ist (erster Schritt 62).
Falls dies nicht der Fall ist (erster Pfeil 64), wird das
Verfahren beendet (letzter Schritt 66). Falls die Bedingung
aus dem ersten Schritt 62 erfüllt ist (zweiter Pfeil 68),
erfolgt in einem zweiten Schritt 70 eine Überprüfung eines
Zustands des Triggermoduls sowie bedarfsweise eine Aktivierung des
Triggermoduls. Ausgehend von dem zweiten Schritt 70 kann
eine erste Bedingung eintreten, die hier durch den dritten Pfeil 72 angedeutet
ist, wonach der Triggerzustand als "False" (falsch) und ein erneutes Triggern
nicht auf "True" (wahr) eingestellt
ist.
-
Demnach
ist, wie bei dem dritten Schritt 74 dargestellt, das erneute
Triggern als falsch eingestuft. Nach dem vierten Schritt 76 wird
auch der Triggerzustand als falsch eingestuft. Daraufhin wird in
dem fünften
Schritt 78 überprüft, ob ein
Zeitgeber für
eine Verzögerung
(delay) gestartet ist und mehr als 0 Sekunden andauert. Ist dies
der Fall (vierter Pfeil 80), so wird der Zeitgeber der
Verzögerung
im sechsten Schritt 82 um eine Zeitspanne Δt heraufgesetzt
bzw. inkrementiert. Falls die Bedingung aus dem fünften Schritt 78 nicht
erfüllt
ist (fünfter
Pfeil 84), wird in einem siebten Schritt 86 überprüft, ob die
Triggerbedingung erfüllt
ist. Diese kann in der Regel Triggerbedingungen für Signale,
sowie Logische Triggermodule und Sequenz-Triggermodule unterscheiden, die
je nach Anforderung in Anzahl und Art der Bedingung gesondert behandelt
werden.
-
Ist
die Triggerbedingung nach dem siebten Schritt 86 erfüllt (sechster
Pfeil 88), wird in einem achten Schritt 90 ein
Zeitgeber für
die Verzögerung mit
einer Verzögerungszeit
von Δt gestartet.
Ist dies nicht der Fall (siebter Pfeil 89), ist eine Überprüfung des
Verzögerungszeitgebers
falsch, sofern der Zähler
gleich 0.0 ist. Ausgehend von allen letztgenannten Schritten 82, 86, 90 wird
in einem neunten Schritt 92 überprüft, ob der Zeitgeber abgelaufen
ist. Ist diese Bedingung aus dem neunten Schritt 92 erfüllt (achter Pfeil 94)
folgen der zehnte Schritt 96, wonach der Zustand des Triggermoduls
auf "True" (wahr) gesetzt ist,
der elfte Schritt 98, mit dem der Zeitgeber deaktiviert
wird, so dass die Verzögerungszeit
gleich null ist, und der zwölfte
Schritt 100, wonach ein Zeitgeber für die Manipulation mit einem
Zeitintervall von Δt
gestartet wird. Nach diesen drei Schritten 96, 98, 100 wird
das Verfahren beendet (letzter Schritt 66). Das Verfahrens
wird ebenfalls beendet, wenn der Zeitgeber für die Verzögerung nach dem neunten Schritt 92 nicht
abgelaufen ist (neunter Pfeil 102).
-
Ergibt
sich ausgehend von dem zweiten Schritt 70, dass der Zustand
des Triggermoduls "True" (wahr) ist und dass
ein erneutes Triggerns "False" (falsch) ist (zehnter
Pfeil 104), wird in einem dreizehnten Schritt 106 ein
Zeitgeber für
eine Manipulation um ein Intervall Δt inkrementiert bzw. heraufgesetzt.
Danach wird in einem vierzehnten Schritt 108 die Bedingung überprüft, ob der
Zeitgeber für
die Manipulation abgelaufen ist. Ist dies nicht der Fall (elfter
Pfeil 110), führt
dies zum Ende 66 des Verfahrens. Ist dies der Fall (zwölfter Pfeil 112),
erfolgt in einem fünfzehnten
Schritt 114 eine Überprüfung eines Triggermodus.
Liegt ein sogenannter "Single Shot"-Triggermodus vor
(dreizehnter Pfeil 116), wird in einem sechzehnten Schritt 118 eine
Triggeraktivierung auf "False" (falsch) gesetzt
und bei einem siebzehnten Schritt 120 ein Zustand des Triggermoduls ebenfalls
auf "False" (falsch) gesetzt.
Nach diesen beiden Schritten 118, 120 wird das
Verfahren beendet (letzter Schritt 66). Falls sich bei
einer Überprüfung des
Triggermodus im fünfzehnten
Schritt 114 ergibt, dass der Triggermodus "Always" vorliegt (Pfeil 122),
wird in einem achtzehnten Schritt 124 ein erneutes Triggern
auf "True" (wahr) gesetzt.
-
4 zeigt
anhand eines Diagramms zu einer graphischen Benutzerschnittstelle
(graphical user interface, GUI) ein Layout einer zweiten Ausgestaltung
einer zentralen Triggereinrichtung 150. Innerhalb dieser
graphischen Benutzerschnittstelle sind spaltenweise unterschiedliche
Typen von Triggermodulen der zentralen Triggereinrichtung 150 schematisch
dargestellt: nämlich
drei Default-Triggermodule 152 in den ersten drei Zeilen,
sieben Event-Triggermodule 154 in den Zeilen vier bis zehn, drei
Logische Triggermodule 156 in den Zeilen elf bis dreizehn sowie
drei Sequenz-Triggermodule 158 in den Zeilen vierzehn bis
sechzehn. Die Kästchen
der ersten Spalte 160 stehen für eine Identität der Triggermodule,
nämlich
D1, D2 und D3 für
die Default-Triggermodule 152, E1, E2, E3, E4, E5, E6,
E7 für
die Event-Triggermodule 154, L1, L2, L3 für die Logischen
Triggermodule 156 sowie S1, S2, S3 für die Sequenz-Triggermodule 158.
-
Durch
die Kästchen
der zweiten Spalte 162 ist angezeigt, ob ein jeweiliges
Triggermodul aktiv oder nicht aktiv ist. Im vorliegenden Ausführungsbeispiel
sind die beiden ersten Default-Triggermodule 152 (D1,
D2) aus der ersten und zweiten Zeile, das erste Event-Triggermodul 154 (E1)
aus der vierten Zeile, das erste Logische Triggermodul 156 (L1)
aus der elften Zeile sowie das erste Sequenz-Triggermodul 158 (S1)
aus der vierzehnten Zeile aktiv. Die übrigen Triggermodule sind nicht
aktiv. In den Kästchen der
dritten Spalte 164 ist ein Zustand der Triggermodule der
Triggereinrichtung 150 angezeigt. Hierbei ist der Zustand
des zweiten Default-Triggermoduls 152 (D2) aus der zweiten
Zeile "True" (wahr). Außerdem ist
das erste Event-Triggermodul 154 (E1) aus der vierten Zeile "True" (wahr). Die sonstigen
Triggermodule sind als "False" (falsch) eingestuft.
-
Die
Kästchen
aus der vierten Spalte 166 zeigen an, welcher Triggermodus
vorliegt, wobei in dieser Ausführungsform
als Triggermodi entweder "Single
Shot" (einmalig)
oder "Always" (immer) vorgesehen
sind. Eine derartige Einstufung erfolgt in dieser Ausführungsform
jedoch nur für
die Event-Triggermodule 154. Für die Logischen Triggermodule 156, die
Sequenz-Triggermodule 158 und
die Default-Triggermodule 152 ist eine derartige Klassifikation
eines Triggermodus nicht vorgesehen.
-
In
der vorliegenden Ausführungsform
ist das erste Event-Triggermodul 154 (E1) aus der vierten Zeile
auf "Single Shot" eingestellt. Dasselbe
gilt für das
erste Logische Triggermodul 156 (L1) aus der elften Zeile
sowie das zweite Sequenz-Triggermodul 158 (S2) aus der
fünfzehnten
Zeile. Die anderen Triggermodule, denen innerhalb der vierten Spalte 166 ein
Kästchen
zugewiesen ist, weisen den Triggermodus "Always" auf.
-
Möglich Triggerbedingungen
sind in den nachfolgenden Spalten 168, 170, 172, 174,
für die Default-Triggermodule 152 sowie
die Event-Triggermodule 154 von geschweiften Klammer 176 umgeben.
Triggerbedingungen für
die Logischen Triggermodule 156 und die Sequenz-Triggermodul 158 sind in
individuell strukturierten Zeilen 178, 180, 182 für die Logischen Triggermodule 156 sowie
in den individuell strukturierten Zeilen 184, 186, 188 für die Sequenz-Triggermodule 158 dargestellt.
-
Innerhalb
der fünften
Spalte 168 für
die Default-Triggermodule 152 und die Event-Triggermodule 154 werden
Triggersignale dargestellt. Hier gilt für das erste Default-Triggermodul 152 (D1)
aus der ersten Zeil, dass das Triggersignal auf "Neuer" (niemals) gestellt ist. Für das zweite
Default-Triggermodul 152 (D2) aus der zweiten Zeile gilt,
dass das Triggersignal auf "Always" (immer) gestellt
ist und für
das dritte Default-Triggermodul 152 (D3) aus der dritten
Zeile gilt, dass das Triggersignal auf "Manual" eingestellt ist und somit von Hand
geändert
werden kann.
-
In
der fünften
Spalte 168, die die Triggersignale betrifft, werden in
der vorliegenden Ausführungsform
nur für
die beiden ersten Event-Triggermodule 154 Triggersignale
bereitgestellt. Die Signale dieser beiden ersten Event-Triggermodule 154 (E1, E2)
in der vierten und fünften
Zeile betreffen jeweils die Geschwindigkeit. Für die fünf weiteren Event-Triggermodule 154 (E3,
E4, E5, E6, E7) in den nachfolgenden Zeilen liegen keine Triggersignale vor.
-
In
der sechsten Spalte 170 sind für sämtliche Event-Triggermodule 154 (E1,
E2, E3, E4, E5, E6, E7) Operatoren vorgesehen, nämlich ">", "<" und "=". In der siebten Spalte 172 ist
eine Vergleichsauswahl für
die Event-Triggermodule 154 (E1, E2, E3, E4, E5, E6, E7)
festgelegt. Dabei ist für
das zweiten Event-Triggermodul 154 (E2) in der fünften Zeile
eine Relativgeschwindigkeit bestimmt. Für die anderen Event-Triggermodule 154 (E1,
E3, E4, E5, E6, E7) sind Konstanten festgelegt.
-
In
der achten Spalte 174 sind für die Event-Triggermodule 154 (E1,
E2, E3, E4, E5, E6, E7) Vergleichskonstanten definiert. Ein Wert
für die Vergleichskonstante
des ersten Event-Triggermoduls 154 (E1)
ist in diesem Fall 100, für das zweite Event-Triggermodul 154 (E2)
ist in der vorliegenden Ausführungsform
keine Vergleichskonstante vorgesehen. Den übrigen fünf Event-Triggermodulen (E3, E4,
E5, E6, E7) ist als die Vergleichskonstante jeweils eine null zugeordnet.
-
Für die Logischen
Triggermodule 156 (L1, L2, L3) werden in den von der geschweiften
Klammer 176 umgebenden Spalten logische Bedingungen geprüft. Hierbei
gilt für
das erste Logische Triggermodul 156 (L1) in der elften
Zeile die Bedingung 178, wonach überprüft wird, ob die beiden ersten
Event-Triggermodule 154 (E1, E2) dieselbe Triggerbedingung erfüllen. Falls
dies nicht der Fall ist, wird das erste Logische Triggermodul 156 (L1)
auf "False" (falsch) gesetzt.
Für das
zweite Logische Triggermodul 156 (L2) in der zwölften Zeile
wird als Bedingung 180 überprüft, ob das
erste Sequenz-Triggermodul 158 (S1) und das erste Event-Triggermodul 154 (E2)
dieselbe Bedingung erfüllen.
Falls dies der Fall ist, nimmt das zweite Logische Triggermodul 156 (L2)
den Zustand des dritten Event-Triggermoduls 154 (E3) an.
Für das dritte
Logische Triggermodul 156 (L3) wird überprüft, ob dieses zweimal auf "False" (falsch) gesetzt
wurde. Ist dies nicht der Fall, wird das dritte Logische Triggermodul 156 (L3)
auf falsch gesetzt.
-
Für die Sequenz-Triggermodule 158 wird
jeweils eine Abfolge von Ereignissen überprüft. Dabei gilt für das erste
Sequenz-Triggermodul 158 (S1) in der vierzehnten Zeile,
dass ein erster Ablauf 184 für die ersten fünf Event-Triggermodule 154 (E1,
E2, E3, E4, E5) erfüllt
ist. Für
das zweite Sequenz-Triggermodul 158 (S2) wird in der fünfzehnten
Zeile überprüft, ob in
einer Triggerabfolge 186 eine Bedingung für das erste
Event-Triggermodul 154 (E1), für das zweite Logische Triggermodul 156 (L2),
für das
erste Logische Triggermodul 156 (L1) sowie das erste Sequenz-Triggermodul 158 (S1)
erfüllt
ist. Eine Triggerabfolge 188 des dritten Sequenz-Triggermoduls 158 (S3)
ist in der vorliegenden Ausgestaltung nicht belegt.
-
In
der neunten Spalte 190 sind Verzögerungszeiten für die Triggermodule
angegeben. Dabei weist das erste Event-Triggermodul 154 (E1)
eine Verzögerungszeit
von 12,3 Sekunden auf. Verzögerungszeiten
für die übrigen Event-Triggermodule 154 (E2,
E3, E4, E5, E6, E7) betragen jeweils 0 Sekunden. Das erste Logische
Triggermodul 156 (L1) weist eine Verzögerungszeit von 10 Sekunden
auf. Die beiden weiteren Logischen Triggermodule 156 (L2,
L3) weisen Verzögerungszeiten
von 0 Sekunden auf. Für das
erste Sequenz-Triggermodul 158 (S1) gilt eine Verzögerungszeit
von 5 Sekunden, für
das zweite Sequenz-Triggermodul 158 (S2) gilt eine Verzögerungszeit
von 10 Sekunden und für
das dritte Sequenz-Triggermodul 158 (S3) eine Verzögerungszeit von
0 Sekunden.
-
In
der zehnten Spalte 192 sind für die Triggermodule Manipulationszeiten
in Sekunden festgelegt. Dabei gilt für das dritte Default-Triggermodul 152 (D3)
eine Manipulationszeit von 0 Sekunden, für das erste Event-Triggermodul 154 (EI)
eine Manipulationszeit von 31,2 Sekunden und für das zweite Event-Triggermodul 154 (E2)
eine Manipulationszeit von 10 Sekunden. Für die übrigen Event-Triggermodule 154 (E3,
E4, E5, E6, E7) sind Manipulationszeit von 0 Sekunden festgelegt.
Für das
erste Logische Triggermodul 156 (L1) gilt eine Manipulationszeit
von 31,2 Sekunden, für
die beiden anderen Logischen Triggermodule 156 (L2, L3)
gelten Manipulationszeiten von 0 Sekunden. Für das erste Sequenz-Triggermodul 158 (S1)
gilt eine Manipulationszeit von 1000 Sekunden und für das zweite
Sequenz-Triggermodul 158 (S2) eine Manipulationszeit von
10 Sekunden. Für
das dritte Sequenz-Triggermodul 158 (S3) gilt eine Manipulationszeit
von 0 Sekunden.
-
Die
in 5 schematisch dargestellte zweite Ausführungsform
einer Laboreinrichtung 194 weist eine zentrale Triggereinrichtung 196 sowie
hier eine als Sensor ausgebildete Komponente 198 auf. Diese Komponente 198 ist
zur Bereitstellung eines ersten Signals 200, eines zweiten
Signals 202, eines dritten Signals 204 sowie eines
vierten Signals 206 ausgebildet. Die vier Pfeile, die ausgehend
von dem zentralen Triggermodul 196 zu den vier Signalen 200, 202, 204, 206 deuten,
zeigen an, dass eine Auslösung
einer Manipulation dieser Signale 200, 202, 204, 206 in Abhängigkeit
eines ausgelösten
Triggermoduls der zentralen Triggereinrichtung 196 erfolgt.
Die Pfeile, die ausgehend von den vier Signalen 200, 202, 204, 206 zu
der zentralen Triggereinrichtung 196 deuten, zeigen an,
dass ein Start der Manipulation erfolgt, falls das jeweilige Triggermodul
ausgelöst
worden ist.
-
6 zeigt
in schematischer Darstellung ein erstes Signal 208 (X),
ein zweites Signal 210 (Y), ein drittes Signal 212 (Z)
sowie eine Auswahl 214 für Triggermodule und eine Einstellung 216 unter
Berücksichtigung
einer Identität
eines jeweiligen Triggermoduls.
-
Es
ist vorgesehen, dass in diesem Beispiel ein erstes Event-Triggermoduls
(E1) aktiv ist. Über die
Auswahl 214 werden weitere Alternativen für Triggermodule,
wie an Hand der 4 dargestellt, sowie deren Funktionen
("Single Shot", "Neuer", "Always", "Manual") bereitgestellt.
Bezüglich
der drei Signale 208, 210, 212 ist jeweils
eine Anzeigeausgabe 218, eine Triggeridentität 220,
ein Signalwert 222 sowie ein Ausgabewert 224 vorgesehen.
Für das
erste Signal 208 gilt für
die Anzeigeausgabe, dass ein hexadezimaler physikalischer Wert vorliegt.
Für die
Triggeridentität 220 ist
das erste Event-Triggermodul (E1) vorgesehen, der Signalwert beträgt 50,8
und der Ausgabewert 100. Für das zweite Signal 210 gilt ebenfalls
ein hexadezimaler physikalischer Wert als Anzeigeausgabewert 218.
Für die
Triggeridentität 220 wird
ein manuelles Triggermodul gewählt,
der Signalwert 222 beträgt
1009 und der Ausgabewert 15. Bei dem dritten Signal 212 ist
vorgesehen, dass auch ein hexadezimalphysikalischer Anzeigeausgabewert 218 vorliegt.
Die Triggeridentität
ist auf "neuer" (niemals) eingestellt,
der Signalwert beträgt
31,2 und der Ausgabewert 0.
-
Es
ist üblicherweise
vorgesehen, dass eine Auswahl eines Triggermoduls erfolgt. Sobald
dieses Triggermodul ausgelöst
wird, wird das entsprechende Signal 208, 210, 212 manipuliert.
Die Manipulation wird solange durchgeführt, bis der Zustand des Triggermoduls
wieder "false" erreicht, was bedeutet, dass
keine Manipulation vorliegt.