Main Content

every

Ejecutar el gráfico a intervalos regulares

Descripción

ejemplo

every(n,E) devuelve true en cada n-ésima ocurrencia del evento E desde que el estado asociado se convirtió en activo. De lo contrario, el operador devuelve false.

ejemplo

every(n,tick) devuelve true cada n-ésima vez que el gráfico se activa desde que el estado asociado se convirtió en activo. De lo contrario, el operador devuelve false.

El evento implícito tick no está admitido cuando un gráfico de Stateflow® de un modelo de Simulink® cuenta con eventos de entrada.

ejemplo

every(n,sec) devuelve true cada n segundos desde que el estado asociado se convirtió en activo. De lo contrario, el operador devuelve false.

En los gráficos independientes de MATLAB®, especifique n con un valor mayor que o igual a 0.001. El operador crea un objeto timer de MATLAB que genera un evento implícito para activar el gráfico. Los objetos timer de MATLAB están limitados a una precisión de 1 milisegundo. Para obtener más información, consulte Events in Standalone Charts.

  • El objeto timer se crea cuando el gráfico termina de ejecutar las acciones entry del estado asociado y sus subestados. Para iteraciones posteriores, el objeto timer se restablece cuando el gráfico termina de ejecutar las acciones during del estado asociado y sus subestados. Si especifica n como una expresión cuyo valor cambia durante la ejecución del gráfico, el gráfico ajusta el retardo temporal solo cuando el objeto timer se restablece.

  • El objeto timer comienza a ejecutarse al final del paso del gráfico cuando el estado asociado se convierte en activo. Este paso puede incluir la ejecución de otros estados paralelos del gráfico.

  • Si el gráfico está procesando otra operación cuando recibe el evento implícito del objeto timer, el gráfico pone el evento en cola. Cuando el paso en curso se completa, el gráfico procesa el evento y restablece el objeto temporizador para la siguiente iteración.

  • Si el estado asociado con el operador de lógica temporal se convierte en inactivo antes de que el gráfico procese el evento implícito, el evento no activa el gráfico.

Nota

Esta sintaxis solo se admite en gráficos independientes en MATLAB. En gráficos de modelos de Simulink, en su lugar puede utilizar una transición de autobucle externa con el operador after. Para obtener más información, consulte No utilice every para la lógica temporal en tiempo absoluto en los gráficos de modelos de Simulink.

Ejemplos

expandir todo

Muestra un mensaje de estado cuando el gráfico procesa cada tercera transmisión del evento E después de que el estado se convirtió en activo.

on every(3,E): disp("ON");

Stateflow chart that uses the every operator in a state.

Realiza una transición de salida del estado asociado cuando el gráfico procesa cada quinta transmisión del evento E después de que el estado se convirtió en activo.

every(5,E)

Stateflow chart that uses the every operator in a transition.

Realiza una transición de salida del estado asociado cada séptimo evento tick desde que el estado se convirtió en activo, pero solo si la variable temp es mayor que 98,6.

every(7,tick)[temp > 98.6]

Stateflow chart that uses the every operator in a transition.

Se aumenta la variable temp en 5 cada 12,3 segundos que el estado está activo.

En los gráficos independientes de MATLAB, introduzca:

on every(12.3,sec): temp = temp+5;

Stateflow chart that uses the every operator in a state.

No se admite el uso de every como operador de lógica temporal de tiempo absoluto en gráficos de los modelos de Simulink.

Sugerencias

  • Puede encerrar entre comillas las palabras clave 'tick' y 'sec'. Por ejemplo, every(5,'tick') equivale a every(5,tick).

  • El gráfico de Stateflow restablece el contador utilizado por el operador every cada vez que se reactive el estado asociado.

  • Los gráficos independientes de MATLAB definen la lógica temporal de tiempo absoluto en términos de tiempo de reloj, que está limitado a una precisión de 1 milisegundo.

Historial de versiones

Introducido en R2014b