Skip to main content

Modo en línea

En tiempo de ejecución, puede monitorear y controlar el comportamiento del diagrama en el monitoreo en el editor.

Sugerencia

El proyecto de muestra UML_SC_CoffeeMachine.project se proporciona para ilustrar los siguientes ejemplos.

Comportamiento temporal de una transición

Los gráficos de estado reaccionan a los eventos. Cuando ocurre un evento y como resultado una condición es verdadera, ocurre una transición de estado con el siguiente reloj de ciclo de bus. También puede configurar transiciones para que la transición de estado cambie activada por flanco con la condición correspondiente. En la implementación, la transición se marca con el _uml_icon_rising_edge.png símbolo.

En el Propiedades → Propiedad ver, seleccione el Flanco ascendente opción.

Comportamiento temporal de un estado

En el tiempo de ejecución de un diagrama de estado, sus estados generalmente se ejecutan con el ciclo de la tarea. Sin embargo, puede configurar un estado de tal manera que se ejecute en ciclo y el estado ejecute rápidamente todas las acciones dentro de un ciclo de bus. Este tipo de estado se muestra en rojo en la implementación.

_uml_img_sc_red_state_grind.png

En el caso de funciones y métodos, las variables locales suelen ser temporales. En tiempo de ejecución, las variables locales no se almacenan, sino que se liberan cuando se sale de la POU. Como resultado, la información sobre el estado del gráfico de estado no se almacena. Por lo tanto, no es posible un comportamiento de conmutación controlado por el ciclo del bus. Por esta razón, los diagramas de estado en funciones o métodos se ejecutan en ciclo. Entonces, si implementa un método como un gráfico de estado, este diagrama se cambia rápidamente. También en el Caja de herramientas vista, sólo un _uml_icon_fast_state.png el estado rojo está disponible.

Puede evitar este comportamiento declarando variables de instancia VAR_INST en lugar de variables locales en la función o método. Cuando sale del método, las variables de instancia se almacenan en la POU que realiza la llamada (un programa o una instancia de bloque de funciones). A continuación, las transiciones de estado se conmutan lentamente controladas por flancos con el ciclo de bus.

Sugerencia

El requisito para ello es que el Implementación con estado se selecciona la opción en el Propiedades diálogo sobre el UML pestaña.

Vigilancia y forzamiento

Cuando una aplicación se ha descargado e iniciado, puede monitorear sus POU en el monitoreo. En el caso de POU en el Gráfico de estado UML lenguaje de implementación, puede monitorear gráficamente qué estado está activo, porque el estado actualmente activo está marcado en azul. El gráfico de estado se actualiza continuamente.

Puede forzar variables en la declaración en el Valor preparado columna. En el caso de las variables booleanas, también puede hacer clic en el valor de monitoreo para hacer esto en la implementación. Cuando se prepara un valor, el valor de seguimiento se marca en la esquina superior derecha de la implementación.

También puede monitorear las variables de condición de las transiciones en listas de observación en modo en línea.

ejemplo 5. Ejemplo
procedimiento. Supervisar y forzar un gráfico de estado
  1. Descargar e iniciar la aplicación del proyecto de ejemplo UML_SC_CoffeeMachine.project.

    La aplicación se ejecuta.

  2. Abre el editor de la Kaffeemaschine POU, que se implementó como un gráfico de estado UML.

    El estado que se muestra en azul es el estado activo actual de la POU.

    _uml_img_coffeemaker_online_power_off.png
  3. En el gráfico de estado, haga clic en el valor de la variable bPowerUp.

    En la declaración, el valor FALSE se prepara para esta variable en el Valor preparado columna. En la implementación, el valor de monitoreo está marcado con una esquina azul.

    _uml_img_coffeemaker_online_prepared_value.png
  4. Hacer clic Depurar → Escribir valores (control+F7).

    La transición bPowerUp es TRUE. El gráfico de estado cambia al estado Idle.

    _uml_img_coffeemaker_online.png
  5. Haga clic en la variable bPowerUp.

    Se abre un menú contextual.

  6. Hacer clic Agregar reloj.

    En el Lista de observación 1 vista, la variable Coffeemaker.bPowerUp se enumera con su contexto



puntos de ruptura

En el gráfico de estado en modo en línea, puede definir puntos de interrupción para detener la ejecución de la aplicación en estos puntos y verificar las variables o listas de observación allí. En el gráfico de estado en modo en línea, todas las posibles posiciones de punto de ruptura se muestran como un _uml_icon_breakpoint.png circulo gris Puede hacer clic en el círculo para seleccionar y anular la selección de una posición. Hacer clic Depurar → Alternar punto de interrupción o presione el F9 para definir una posición seleccionada como punto de interrupción o liberarla.

Además, puede reanudar una aplicación detenida en un punto de interrupción en pasos individuales.

. Representación en el gráfico de estado:
  • _uml_icon_breakpoint.png: Posición posible

  • _uml_icon_breakpoint_selected.png: Posición seleccionada

  • _uml_icon_breakpoint_activated.png: punto de interrupción habilitado

  • _uml_icon_breakpoint_deactivated.png: punto de interrupción deshabilitado

  • _uml_icon_breakpoint_stopped.png: La ejecución se detiene en el punto de interrupción Además, el estado o la transición asociados se marcan en amarillo.

procedimiento. Insertar puntos de interrupción y detener la ejecución allí
  1. Descargar e iniciar la aplicación del proyecto de ejemplo UML_SC_CoffeeMachine.project.

    La aplicación se ejecuta.

  2. Abre el editor de la Kaffeemaschine POU, que se implementó como un gráfico de estado UML.

    Las posibles posiciones de puntos de ruptura están marcadas con un _uml_icon_breakpoint.png círculo gris claro.

    _uml_img_coffeemaker_online_power_off.png
  3. Haga clic en un _uml_icon_breakpoint.png circulo.

    La posición es seleccionada: _uml_icon_breakpoint_selected.png.

  4. Hacer clic Depurar → Alternar punto de interrupción.

    Alternativa: F9

    La posición se activa como un punto de interrupción: _uml_icon_breakpoint_activated.png. Cuando se alcanza la posición durante la ejecución, la aplicación se detiene y la posición cambia a amarillo.

    _uml_img_coffeemaker_online_halt_on_breakpoint.png

Sugerencia

Para obtener información general sobre los puntos de interrupción, consulte: Uso de puntos de interrupción

Cambio en línea

Si realiza una edición fuera de línea en un gráfico de estado existente, como cambiar transiciones, condiciones, prioridades, acciones o nombres, puede descargar el diagrama al controlador con un cambio en línea cuando inicie sesión. El diagrama no requiere reinicializarse.

Sin embargo, cuando agrega, quita o reemplaza un estado o región, el diagrama requiere reinicializarse. Esto también se aplica a los cambios en los estados implícitos, como el Selección elemento o si selecciona el Implementación abortable condición en el cuadro de diálogo de propiedades de un gráfico de estado. Luego inicie sesión en el controlador con una descarga.