Assertion
VerificationDer Assertion-Block überwacht ein Signal bei jedem Simulationsschritt und prüft, ob es eine benutzerdefinierte Bedingung erfüllt. Ist die Bedingung erfüllt, gibt der Statusport 1 aus; wird sie verletzt, gibt der Ausgang 0 aus und die Verletzung wird mitsamt Zeitstempel protokolliert. Der Block färbt sich bei Erfüllung grün und bei Verletzung rot, was eine sofortige visuelle Rückmeldung während der Simulation liefert.
Nutzen Sie den Assertion-Block, um Sicherheitsgrenzen und Entwurfsanforderungen direkt im Blockschaltbild abzubilden — beispielsweise um nachzuweisen, dass ein Stellsignal nicht in die Begrenzung gerät, eine physikalische Größe in sicheren Grenzen bleibt oder zwei Signale stets in zulässiger Relation stehen. Assertions fungieren als leichtgewichtige Laufzeit-Monitore ohne externe Testskripte.
Mathematisches Modell
Ein- & Ausgänge
| Direction | ID | Label | Typ | Status |
|---|---|---|---|---|
| → In | in |
Signal | number | Required |
| ← Out | status |
Pass | number | Output |
Parameter
| Parameter | Label | Typ | Standardwert | Beschreibung |
|---|---|---|---|---|
mode |
Condition | select | between |
Which property to check |
lowerBound |
Lower Bound | number | -1 |
Lower bound of the assertion range |
upperBound |
Upper Bound | number | 1 |
Upper bound of the assertion range |
Anwendungsbeispiele
Überprüfung, ob das Stellsignal innerhalb der Sättigungsgrenzen bleibt
Controller → Assertion → Actuator
mode=between lowerBound=-10 upperBound=10
Der Statusausgang kann zusammen mit dem Signal geplottet werden, um den exakten Zeitpunkt von Grenzwertverletzungen zu erfassen.
Erkennung von Temperaturüberschreitungen außerhalb des sicheren Bereichs
TempSensor → Assertion → Display
mode=between lowerBound=15 upperBound=85
Sicherstellen, dass ein Signal stets strikt positiv ist
PressureSensor → Assertion → FlowCalc
mode=above lowerBound=0Hinweise & Best Practices
- Durchgangssignal: Das Eingangssignal wird unverändert durchgeleitet. Verbinden Sie den regulären Signalausgang mit nachfolgenden Blöcken und nutzen Sie den
status-Ausgang ausschließlich für Monitoring oder Verzweigungslogik. - Statusausgang: Der
status-Port liefert bei jedem Schritt eine numerische1(bestanden) oder0(fehlgeschlagen); dieses Signal kann einem Scope zugeführt oder zur Ansteuerung von Logik verwendet werden. - Offener Eingang: Wenn der Eingangsport unbeschaltet ist, behandelt der Block das Signal als 0 und wertet die Bedingung gegen Null aus.
- Interaktion von Grenzen und Modus:
lowerBoundwird im Modusbelowignoriert;upperBoundwird im Modusaboveignoriert. - Protokollierung von Verletzungen: Verletzungen werden mit Zeitstempeln im Simulationsprotokoll erfasst.
- Kein automatischer Simulationsstopp: Standardmäßig bricht eine verletzte Assertion die Simulation nicht ab; sie signalisiert lediglich das Ereignis. Schalten Sie einen Stop-Block nach, falls ein sofortiger Abbruch erforderlich ist.
Verwandte Blöcke
- uPlotDisplay: Zeitlicher Verlauf des
status-Signals zur Visualisierung von Verletzungsintervallen. - Comparator: Numerischer Schwellenwertvergleich mit boolescher Ausgabe zur Signalweiterleitung.
- Switch: Nutzt das
status-Signal der Assertion, um bei einer Grenzwertverletzung auf einen sicheren Signalpfad umzuschalten.