Assertion
VerificationHet Assertion-blok bewaakt een signaal bij elke simulatiestap en controleert of het voldoet aan een door de gebruiker gedefinieerde eigenschap. Wanneer aan de voorwaarde wordt voldaan, geeft de statuspoort 1 uit; bij een schending geeft de uitgang 0 uit en wordt de schending inclusief tijdstempel vastgelegd. Het blokoppervlak kleurt groen bij slagen en rood bij falen, wat zorgt voor directe visuele feedback tijdens de simulatie.
Gebruik het Assertion-blok om veiligheidsbeperkingen en ontwerpeisen rechtstreeks in een schema in te bedden — bijvoorbeeld om te verifiëren dat een stuursignaal nooit verzadigt, dat een fysische grootheid binnen veilige grenzen blijft, of dat twee signalen in een geldige verhouding blijven. Asserties fungeren als lichtgewicht runtime-monitoren zonder dat externe testscripts vereist zijn.
Wiskundig Model
Ingangen & Uitgangen
| Direction | ID | Label | Type | Status |
|---|---|---|---|---|
| → In | in |
Signal | number | Required |
| ← Out | status |
Pass | number | Output |
Parameters
| Parameters | Label | Type | Standaard | Beschrijving |
|---|---|---|---|---|
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 |
Gebruiksvoorbeelden
Verifiëren dat een actuatorsignaal binnen de verzadigingsgrenzen blijft
Controller → Assertion → Actuator
mode=between lowerBound=-10 upperBound=10
De statusuitgang kan naast het signaal worden geplot om elk moment van grensoverschrijding te registreren.
Detecteren wanneer een temperatuur het veilige bereik verlaat
TempSensor → Assertion → Display
mode=between lowerBound=15 upperBound=85
Bevestigen dat een signaal strikt positief is
PressureSensor → Assertion → FlowCalc
mode=above lowerBound=0Opmerkingen & Best Practices
- Doorvoersignaal: Het ingangssignaal wordt niet gewijzigd. Verbind de signaallijn met stroomafwaartse blokken en gebruik de
status-uitgang uitsluitend voor monitoring of voorwaardelijke logica. - Statusuitgang: De
status-poort levert bij elke stap een numerieke1(geslaagd) of0(mislukt); dit signaal kan naar een Scope worden geleid of logische schakelingen aansturen. - Niet-aangesloten ingang: Als de ingangspoort niet is aangesloten, behandelt het blok het signaal als nul en toetst het de voorwaarde elke stap tegen nul.
- Interactie tussen grenzen en modus:
lowerBoundwordt genegeerd bijmode=below;upperBoundwordt genegeerd bijmode=above. - Logboekregistratie van schendingen: Schendingen worden met tijdstempels geregistreerd in het simulatielogboek. Bekijk het logboek na afloop om alle storingsintervallen te inspecteren.
- Geen harde simulatiestop: Standaard stopt een assertieschending de simulatie niet; de conditie wordt enkel gesignaleerd. Koppel een Stop-blok achter de
status-poort indien een directe simulatie-afbraak gewenst is.
Gerelateerde Componenten
- uPlotDisplay: Plot de
status-uitgang over de tijd om de tijdlijn van overtredingen te visualiseren. - Comparator: Voert een numerieke vergelijking uit en levert een booleaans signaal; te gebruiken als de uitkomst direct als signaal nodig is in plaats van als bewakingseis.
- Switch: Kan de
status-uitgang van Assertion gebruiken om om te schakelen naar een veilige signaalroute bij een grensoverschrijding.