Diagnóstico cuando falla la visualización
Un bloqueo de la visualización puede tener varias causas. A continuación, puede ver cómo puede determinar la causa si una visualización falla y qué medidas son útiles para evitar fallas.
El Detener la ejecución en excepciones manejadas comando le ayuda a comprobar errores. Ejecute el comando antes de iniciar la aplicación.
Sugerencia
Por defecto, el Detener la ejecución en excepciones manejadas El comando no está disponible en ningún menú, pero se puede configurar en como sigue.
- Haga clic en Herramientas → Personalizar. - El Menú Se abre la pestaña. Primero necesita definir una posición en el menú para el comando. En este caso, tiene sentido seleccionar un elemento bajo el En línea menú. 
- Seleccione la posición deseada y haga clic en el Agregar comando botón. - Todos los comandos están listados en el Agregar comando diálogo. 
- Selecciona el En línea categoría a la izquierda y luego el comando deseado a la derecha. Hacer clic DE ACUERDO para cerrar el diálogo. Luego haga clic DE ACUERDO nuevamente para cerrar el Personalizar diálogo. - El Detener la ejecución en excepciones manejadas El comando ahora está disponible en el En línea menú. 
Para obtener una descripción detallada del procedimiento para agregar el comando, consulte el capítulo "???".
Alternativa al comando Detener la ejecución en las excepciones manejadas puedes usar la definición del compilador VISU_NO_EXCEPTION_HANDLING establecido para la aplicación. Entonces, la excepción no es capturada por la visualización y el sistema de programación muestra el punto donde el sistema colapsó.
Posibles causas de que una visualización en ejecución se bloquee
- En la visualización, un elemento de marco con una variable de interfaz con alcance - VAR_INPUTused y esta variable de interfaz (en el ejemplo:- PLC_PRG._itfTest1,- _itfTest1 : ITF_TEST;)aún no ha sido asignado en la aplicación


- En la visualización, un elemento de marco con una variable de interfaz (en el ejemplo - fbTest) con alcance- VAR_IN_OUTutilizado, que tiene un módulo de función como tipo de datos. Sin embargo, la variable transferida no apunta a este bloque de funciones.


- división por - 0: En una expresión con división, el divisor (en el ejemplo- PLC_PRG.rVal2)no- 0ser

- uso de - VAR_IN_OUT-Variables de un bloque de función en la visualización:- Si en un bloque de funciones variables con alcance - VAR_IN_OUTse declaran, una visualización solo puede acceder a estas variables después de que el programa haya llamado al bloque de función y el- VAR_IN_OUT-Se han asignado variables en un bloque de función
- Uso de puntero nulo y referencias nulas: una variable de puntero no debe ser nula (ejemplo: - PLC_PRG.pValue^)
- error en código interno; esto solo es visible en la pila de llamadas 
Medidas para evitar estos errores
- Use interfaces que inicialmente apunten a objetos ficticios 
- Llamada - Visu_Prgen el proyecto sólo cuando se han realizado todas las inicializaciones
- Usa el operador - SELcomo en el siguiente ejemplo:- SEL(ptr<>0,0,ptr^.<>value)