Assertion
VerificationEl bloque Assertion supervisa una señal en cada paso de simulación y comprueba si satisface una propiedad definida por el usuario. Cuando la condición se cumple, el puerto emite 1; ante una infracción, emite 0 y la transgresión queda registrada junto con su marca de tiempo exacta. El bloque se ilumina en verde al cumplirse la aserción y en rojo al fallar, ofreciendo retroalimentación visual inmediata durante la ejecución.
Utilice el bloque Assertion para codificar requisitos de diseño y límites de seguridad directamente en el diagrama — por ejemplo, verificar que la señal de un actuador no entre en saturación, que una variable física se mantenga dentro de márgenes seguros o que dos magnitudes preserven una relación permitida. Las aserciones actúan como monitores ligeros de tiempo de ejecución sin necesidad de escribir scripts de prueba externos.
Modelo Matemático
Entradas y Salidas
| Direction | ID | Label | Tipo | Status |
|---|---|---|---|---|
| → In | in |
Signal | number | Required |
| ← Out | status |
Pass | number | Output |
Parámetros
| Parámetros | Label | Tipo | Por defecto | Descripción |
|---|---|---|---|---|
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 |
Ejemplos de Uso
Verificación de que la señal de un actuador no supera los límites de saturación
Controller → Assertion → Actuator
mode=between lowerBound=-10 upperBound=10
La salida de estado puede graficarse simultáneamente con la señal para registrar el instante exacto de cualquier sobrepaso.
Detección de temperatura fuera del rango de seguridad
TempSensor → Assertion → Display
mode=between lowerBound=15 upperBound=85
Verificación de positividad estricta de una señal
PressureSensor → Assertion → FlowCalc
mode=above lowerBound=0Observaciones y Buenas Prácticas
- Señal pasante: La señal de entrada no se ve alterada al atravesar el bloque. Conecte la línea de señal original a los bloques subsiguientes y emplee la salida
statusexclusivamente para monitorización o lógica condicional. - Salida de estado: El puerto
statusemite un valor numérico1(correcto) o0(fallo) en cada instante; puede conectarse a un Scope o gobernar condiciones lógicas. - Entrada desconectada: Si la entrada queda abierta, el bloque asume un valor cero y evalúa la condición frente a cero en cada paso.
- Interacción entre límites y modo:
lowerBoundse ignora cuandomode=below;upperBoundse ignora cuandomode=above. - Registro de infracciones: Cada violación queda registrada cronológicamente con su estampa de tiempo en el log de simulación.
- Sin parada obligatoria: Por defecto, la vulneración de una aserción no aborta la simulación, sino que señala la contingencia. Conéctelo a un bloque Stop si precisa una detención inmediata.
Bloques Relacionados
- uPlotDisplay: Visualización cronológica de la salida
statuspara examinar el historial de infracciones. - Comparator: Comparación numérica simple que emite una señal binaria utilizable como variable de cálculo.
- Switch: Permite desviar el flujo hacia un camino de seguridad ante la activación de la señal de fallo de Assertion.