BlockWerk Documentation
!

Assertion

Verification

Le bloc Assertion surveille un signal à chaque pas de simulation et vérifie qu'il satisfait une propriété définie par l'utilisateur. Lorsque la condition est respectée, le port de statut émet 1 ; en cas de violation, la sortie émet 0 et la violation est enregistrée avec son horodatage précis. Le corps du bloc s'illumine en vert en cas de succès et en rouge en cas d'échec, offrant un retour visuel instantané durant l'exécution.

Utilisez le bloc Assertion pour intégrer directement des contraintes de sécurité et des critères de conception dans votre schéma — par exemple, vérifier qu'une commande d'actionneur ne sature jamais, qu'une grandeur physique reste confinée dans une plage sûre ou que deux grandeurs conservent une relation valide. Les assertions constituent des moniteurs d'exécution légers ne nécessitant aucun script de test externe.

Simuler dans BlockWerk

Bac à sable interactif directement dans votre navigateur — aucune installation, moteur WebAssembly.

Simuler dans BlockWerk →

Modèle Mathématique

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

Entrées & Sorties

Direction ID Label Type Status
→ In in Signal number Required
← Out status Pass number Output

Paramètres

Paramètres Label Type Défaut Description
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

Exemples d'Utilisation

Vérification du non-dépassement des limites de saturation d'un actionneur

Controller → Assertion → Actuator
             mode=between  lowerBound=-10  upperBound=10

La sortie de statut peut être tracée sur un graphique aux côtés du signal pour consigner chaque instant de dépassement.

Détection de sortie de plage de température admissible

TempSensor → Assertion → Display
              mode=between  lowerBound=15  upperBound=85

Confirmation qu'un signal est strictement positif

PressureSensor → Assertion → FlowCalc
                  mode=above  lowerBound=0

Remarques & Bonnes Pratiques

  • Signal traversant : Le signal d'entrée traverse le bloc sans altération. Raccordez le signal direct aux blocs avals et réservez la sortie status à la surveillance ou au conditionnement logique.
  • Sortie de statut : Le port status émet la valeur numérique 1 (succès) ou 0 (défaut) à chaque pas ; il peut alimenter un Scope ou commander des aiguillages logiques.
  • Entrée non connectée : Si l'entrée est laissée libre, le bloc l'assimile à un signal nul et évalue la condition par rapport à zéro.
  • Interaction entre bornes et mode : La borne lowerBound est ignorée en mode below ; upperBound est ignorée en mode above.
  • Journalisation des violations : Chaque défaut est enregistré avec son instant d'apparition dans le journal de simulation.
  • Pas d'arrêt bloquant par défaut : Une violation d'assertion n'interrompt pas d'office la simulation ; elle se contente de signaler l'événement. Associez-lui un bloc Stop en sortie du port status si un arrêt d'urgence est requis.

Composants Associés

  • uPlotDisplay : Tracé temporel de la sortie status pour visualiser l'historique des violations.
  • Comparator : Comparaison numérique simple générant un état logique.
  • Switch : Permet de basculer vers une voie de sécurité sur déclenchement de la sortie status.