BlockWerk Dokumentation
!

Assertion

Verification

Der 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.

In BlockWerk simulieren

Interaktive Sandbox direkt im Browser — keine Installation, WebAssembly-Engine.

In BlockWerk simulieren →

Mathematisches Modell

assert(f(u(t)))\text{assert}(f(u(t)))

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=0

Hinweise & 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 numerische 1 (bestanden) oder 0 (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: lowerBound wird im Modus below ignoriert; upperBound wird im Modus above ignoriert.
  • 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.