hasChangedFrom
Detectar cambios en los datos con respecto al valor especificado en un gráfico de Stateflow
Sintaxis
Descripción
devuelve tf
= hasChangedFrom(data
,value
)1
(true
) si el valor de data
al comienzo de la unidad de tiempo anterior es igual a value
y es un valor diferente al comienzo de la unidad de tiempo actual. De lo contrario, el operador devuelve 0
(false
).
Ejemplos
Argumentos de entrada
Limitaciones
No se puede utilizar dentro de una tabla de verdad de Stateflow.
Sugerencias
Si ocurren múltiples eventos de entrada en la misma unidad de tiempo, el operador
hasChangedFrom
puede detectar cambios en el valor de los datos entre eventos de entrada.Si el gráfico escribe en el objeto de datos, pero no cambia el valor de los datos, el operador
hasChangedFrom
devuelvefalse
.El tipo de gráfico de Stateflow determina el ámbito de los datos admitidos por los operadores de detección de cambios:
Gráficos de Stateflow independientes en MATLAB: solo
Local
En los modelos de Simulink®, gráficos que utilizan MATLAB como lenguaje de acción: solo
Input
En los modelos de Simulink, gráficos que utilizan C como lenguaje de acción:
Input
,Output
,Local
oData Store Memory
En un gráfico independiente en MATLAB, un operador de detección de cambios puede detectar cambios en los datos especificados en una llamada a la función
step
porque estos cambios ocurren antes del inicio de la unidad de tiempo actual. Por ejemplo, six
es igual a cero, la expresiónhasChangedFrom(x,0)
devuelvetrue
cuando ejecuta el gráficoch
con el comando:Por el contrario, un operador de detección de cambios no puede detectar cambios en los datos provocados por asignaciones de estado o acciones de transición en la misma unidad de tiempo. En cambio, el operador detecta el cambio de valor al inicio de la siguiente unidad de tiempo.step(ch,x=1);
En un gráfico de un modelo de Simulink, si habilita la opción de gráfico Initialize Outputs Every Time Chart Wakes Up, al utilizar una salida como argumento del operador
hasChanged
siempre devuelvefalse
. Para obtener más información, consulte Inicializar las salidas cada vez que el gráfico se activa.Cuando el orden por fila principal está habilitado en gráficos que utilizan
hasChangedFrom
, la generación de código produce un error. Antes de generar código en gráficos que utilizanhasChangedFrom
, habilite el orden por columna principal. Consulte Select Array Layout for Matrices in Generated Code.
Historial de versiones
Introducido en R2007a