Comportamiento extraño en la aplicación IEC
Requerimientos
Estás usando un CODESYS tiempo de ejecución.
Solución de problemas
Si observa un comportamiento extraño, debe comprobar si el registrador de tiempo de ejecución proporciona consejos o información valiosos. El CODESYS registrador de tiempo de ejecución tiene un mecanismo para filtrar los mensajes por categoría. El Depurar la categoría no está habilitada de forma predeterminada. Active esta categoría para encontrar la causa de un comportamiento extraño o de síntomas inesperados.
Hay filtros de registro globales y específicos de cada componente. Puede ver una lista detallada de todos los posibles filtros específicos de los componentes en el archivo de registro del tiempo de ejecución. Utilice los filtros como se describe a continuación
Síntomas relacionados con | Posible filtro de registro basado en componentes |
---|---|
Licencias |
|
Tareas y cronogramas de IEC (nivel superior) |
|
Tareas y plazos de IEC (bajo nivel) |
|
Aplicación IEC (general) |
|
Aplicación IEC (memoria) |
|
Comunicación por enchufe |
|
Comunicación Ethernet |
|
Archivos/carpetas |
|
Sugerencia
No habilite todas las categorías de depuración al mismo tiempo, ya que eso dificultaría la búsqueda del problema real. Continúe paso a paso y desactive los filtros «irrelevantes» para tener una mejor visión del problema
Abre tu CODESYS proyecto y conéctelo al controlador.
Abra la carcasa del PLC haciendo doble clic en el controlador en el árbol de dispositivos.
Introduzca «? «en el shell para ver todos los comandos posibles.
Usa el
logsetfilter
,loggetfilter
, ylogdelfilter
comandos para escribir, leer y eliminar un filtro. Puede usar filtros de depuración globales para todo el tiempo de ejecución o filtros para un componente específicoPara leer la categoría de registro actual de forma global:
loggetfilter
podría devolver el siguiente resultado:Logger.0.Filter : 0x0000000F
Para establecer la categoría de registro actual de forma global:
logsetfilter 0xffffffff
Para leer la categoría de registro actual de un componente específico (por ejemplo,
CmpCodeMeter
):loggetfilter CmpCodeMeter
Para establecer la categoría de registro actual para un componente específico (por ejemplo, CMPCodeMeter):
logsetfilter CmpCodeMeter 0xffffffff
Ejemplo: mediante una conexión SSH y un editor de texto
Detenga el tiempo de ejecución mediante la herramienta de implementación.
Conéctese a su sistema de destino (por ejemplo, mediante
putty
u otro cliente SSH).Abra el archivo de configuración específico del usuario del entorno de ejecución con un editor de texto (por ejemplo,
nano
):sudo nano /etc/codesyscontrol/CODESYSControl_User.cfg
Encuentra el
CmpLog
secciona y configura el filtro.ejemplo 1. Configuración de un filtro globalEjemplo:
Logger.0.Filter=0xFFFFFFFFFF
para habilitar todos los mensajes de depuraciónejemplo 2. Configuración de un filtro específico para un componente[CmpLog] CmpCodeMeter.Filter=0xFFFFFFFF SysTask.Filter=0xFFFFFFFF
Guarda y cierra el archivo.
Reinicie el tiempo de ejecución con la herramienta Deploy.