Skip to main content

Llamada de Monitoreo en Objetos de Programación

Cuando se ejecuta una aplicación en el controlador, los valores reales de las variables se muestran en los editores de las POU. Así es como se monitorean los valores de las variables.

Requisito: El Habilitar el monitoreo en línea se selecciona la opción en Herramientas → Opciones en el Editor de texto categoría en el Supervisión pestaña.

  1. Descargue una aplicación en el controlador e iníciela.

  2. Hacer clic Depuración → Modo de visualización → Decimal.

    Se ajusta el formato de visualización de los valores reales.

  3. Haga clic en un objeto de programación en el Dispositivos ver o POU vista.

    Se abre el editor correspondiente. Los valores reales de las variables se actualizan continuamente tanto para la declaración como para la implementación.

Seguimiento en el editor de declaraciones

_cds_img_declaration_editor_online.png

El valor real de una expresión (1) se muestra en la Valor columna (3).

Los comentarios de una variable se muestran en el Comentar columna (6).

Para obtener más información sobre la lógica y la priorización de los comentarios mostrados, consulte: Comentarios ST

Puede escribir y forzar un valor en el Valor preparado (4) columna. Durante el forzado, el valor real se decora con un rojo _cds_icon_forced_variable.png símbolo.

La expresión de una referencia de interfaz se puede ampliar. Si la interfaz apunta a una instancia global, esta instancia global se muestra como la primera entrada debajo de la referencia. Posteriormente, si la referencia de la interfaz cambia, la referencia mostrada se colapsa.

Monitoreo en la implementación (monitoreo en línea)

El monitoreo en línea es la visualización del valor de la variable actual en la implementación.

Dependiendo del idioma de implementación, las siguientes visualizaciones son posibles en la parte de implementación:

  • Las variables tienen una ventana con el _cds_img_ex_inline_monitoring_window.png valor actual que se muestra después de su nombre.

    Si ha preparado valores para variables para forzar o escribir, se muestran entre paréntesis angulares en la vista de monitoreo en línea después del valor actual.

    Después del forzado, los respectivos valores son identificados por el _cds_icon_forced_variable.png símbolo.

  • Editores de red y el editor CFC

    Las líneas de conexión se muestran en color según su valor booleano real (azul significa TRUE, negro significa FALSE).

  • editor de LD

    Los elementos de contacto y bobina también están marcados.

    Para contactos y bobinas, un valor preparado (TRUE o FALSE) se muestra en una vista pequeña junto al elemento.

  • Editor SFC

    Transiciones con el valor TRUE se muestran en color de acuerdo con su valor booleano real (azul significa TRUE, negro significa FALSE).

    Los pasos activos se muestran en azul.

    Los valores de transición forzada se muestran en rojo en la implementación.

  • editor tabular IL

    Los valores actuales se muestran en una columna separada.

ejemplo 39. Supervisión en el editor ST
_cds_img_inline_monitoring_st.png


ejemplo 40. Supervisión en el editor LD
_cds_img_monitoring_in_ld.png


ejemplo 41. Supervisión en el editor SFC
_cds_img_monitoring_in_sfc.png


Sugerencia

Puede desactivar la función de monitorización en línea en Herramientas → Opciones, en el Editor de texto categoría, en la Supervisión pestaña.

Monitoreo parcial de una matriz

Una matriz ampliada muestra los valores reales de hasta 1000 elementos. Sin embargo, esto puede ser confuso. Además, una matriz puede contener más de 1000 elementos. Entonces es útil limitar el rango de elementos mostrados. Puede hacerlo en modo en línea de la siguiente manera.

procedimiento. Limitación del rango de monitoreo

Requisito: una aplicación se está ejecutando. Contiene una variable de matriz multidimensional con más de 1000 elementos.

Ejemplo: arrBig : ARRAY [0..100, -9..10, -19..20] OF INT;

  1. Haga clic en el campo de la Tipo de datos columna para el arrBig variable.

    El Rango de monitoreo se abre el cuadro de diálogo.

  2. Especificar el valor [1, -9, -19] por Comienzo.

  3. Especificar el valor [1, 10, 20] por Fin.

    Los valores reales de 800 elementos de matriz se muestran en el editor de declaraciones. El rango está limitado a los elementos del índice. [1, <i>, <j>] con i de -9 a 10 y j de -19 a 20.

Supervisión de un bloque de funciones

Cuando hace doble clic en la vista del editor de un bloque de funciones en modo en línea, se abre un cuadro de diálogo donde puede elegir entre ver la implementación básica o una instancia específica.

Si selecciona la implementación básica, el código se muestra en el editor sin valores actuales. Ahora establezca un punto de interrupción en la implementación básica. Si la ejecución se detiene allí, se muestran los valores actuales de la instancia que se procesa primero en el flujo del programa. Ahora puede recorrer sucesivamente todas las instancias.

Si selecciona una de las instancias, el editor se abre con el código de la instancia del bloque de funciones. Los valores actuales se muestran en la declaración y, si corresponde, en la implementación, y se actualizan continuamente.

Monitoreo de una propiedad

Puede monitorear variables en un _cds_icon_interface_property.png objeto de propiedad estableciendo un punto de interrupción en la función durante el modo en línea. Cuando se detiene allí, se muestran los valores actuales.

Además de sus propios valores, los valores de las variables de la instancia superior se muestran automáticamente. En la parte de declaración de la propiedad, el THIS El puntero, que apunta a la instancia superior, aparece en la primera línea con la información y los valores del tipo de datos actual.

ejemplo 42. Ejemplo

Código

FUNCTION_BLOCK FB_BaseAlfa
VAR
        iBaseLocal : INT;
        sBaseLocal : STRING;
END_VAR
iBaseLocal := iBaseLocal + 1;
sBaseLocal := 'Testing Text';

FB_BaseAlfa.PorpBeta.Get
iBaseLocal := iBaseLocal + 1;
IF iBaseLocal > 0 THEN
        PropBeta := TRUE;
END_IF

FB_BaseAlfa.PorpBeta.Set
IF PropBeta = TRUE THEN
        iBaseLocal := 0;
        sBaseLocal := 'Tested IF';
END_IF


PROGRAM PLC_PRG
VAR
        fb_BaseAlfa : FB_BaseAlfa;
END_VAR

fb_BaseAlfa();

IF fb_BaseAlfa.PropBeta = TRUE THEN
        xResult := TRUE;
END_IF
IF xReset THEN
        fb_BaseAlfa.PropBeta := TRUE;
        xReset := FALSE;
END_IF
_cds_img_monitoring_property.png


Vigilancia del acceso a propiedades en el objeto de programación superior

Puede monitorear los valores de los subordinados _cds_icon_interface_property.png propiedades en un bloque de función o programa además de los valores de las variables.

Para hacer esto, agregue el pragma {attribute 'monitoring' = 'variable'} o {attribute 'monitoring' = 'call'} al objeto de propiedad subordinado en la declaración. Si abre la instancia de programa superior o la instancia de bloque de función en tiempo de ejecución, los valores de propiedad actuales se muestran en el editor además de los valores de variable actuales.

Monitoreo de un método

Puede monitorear variables en un _cds_icon_method.png objeto de método estableciendo un punto de interrupción en el método durante el modo en línea. Cuando se detiene allí, se muestran los valores actuales.

Además de sus propios valores, los valores de las variables de la instancia superior se muestran automáticamente. En la parte de declaración del método, el THIS El puntero, que apunta a la instancia superior, aparece en la primera línea con la información y los valores del tipo de datos actual.

ejemplo 43. Ejemplo

Código

FUNCTION_BLOCK FB_BaseAlfa
VAR
        iBaseLocal : INT;
        sBaseLocal : STRING;
END_VAR
iBaseLocal := iBaseLocal + 1;
sBaseLocal := 'Testing Text';

METHOD MethBaseAlfa : BOOL // Method of FB_BaseAlfa
VAR_INPUT
END_VAR
VAR
        iMethLocal : INT;
END_VAR
iMethLocal := iMethLocal + 1;


PROGRAM PLC_PRG
VAR
        fb_BaseAlfa : FB_BaseAlfa;
END_VAR
fb_BaseAlfa();
fb_BaseAlfa.MethBaseAlfa();
_cds_img_monitoring_method.png


Monitoreo de una función

Puede monitorear variables en un objeto de función estableciendo un punto de interrupción en la función durante el modo en línea. Cuando se detiene allí, se muestran los valores actuales.

Supervisión del valor de retorno de una llamada de función

En el editor ST de una POU, el valor de retorno actual se muestra como monitoreo en línea en la posición de la POU donde se llama a una función.

. Deben cumplirse las siguientes condiciones:
  • El valor se puede interpretar como un valor numérico de 4 bytes. Ejemplo: INT, SINT, o LINT.

  • el pragma {attribute 'monitoring' := 'call'} se inserta en la función.