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_INPUT
used 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 alcanceVAR_IN_OUT
utilizado, 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 ejemploPLC_PRG.rVal2)
no0
ser

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_OUT
se declaran, una visualización solo puede acceder a estas variables después de que el programa haya llamado al bloque de función y elVAR_IN_OUT
-Se han asignado variables en un bloque de funciónUso 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_Prg
en el proyecto sólo cuando se han realizado todas las inicializacionesUsa el operador
SEL
como en el siguiente ejemplo:SEL(ptr<>0,0,ptr^.<>value)