Skip to main content

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

CmpCodeMeter

Tareas y cronogramas de IEC (nivel superior)

CmpIecTask

Tareas y plazos de IEC (bajo nivel)

CmpSchedule, SysTask

Aplicación IEC (general)

CmpApp, CmpIecTask

Aplicación IEC (memoria)

SysMem

Comunicación por enchufe

SysSocket

Comunicación Ethernet

SysEthernet

Archivos/carpetas

SysFile, SysDir

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

. Habilite el Depurar categoría de mensajes mediante la consola del PLC (para las versiones en tiempo de ejecución >= SP20).
  1. Abre tu CODESYS proyecto y conéctelo al controlador.

  2. Abra la carcasa del PLC haciendo doble clic en el controlador en el árbol de dispositivos.

    _rtsl_img_plc_shell.png
  3. Introduzca «? «en el shell para ver todos los comandos posibles.

  4. Usa el logsetfilter, loggetfilter, y logdelfiltercomandos 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ífico

    • Para 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

. Habilitar la categoría de registrador a través del archivo de configuración de tiempo de ejecución (para versiones anteriores de tiempo de ejecución)

Ejemplo: mediante una conexión SSH y un editor de texto

  1. Detenga el tiempo de ejecución mediante la herramienta de implementación.

  2. Conéctese a su sistema de destino (por ejemplo, mediante putty u otro cliente SSH).

  3. 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

  4. Encuentra el CmpLog secciona y configura el filtro.

    ejemplo 1. Configuración de un filtro global

    Ejemplo: Logger.0.Filter=0xFFFFFFFFFF para habilitar todos los mensajes de depuración

    _rtsl_img_plc_shell_global.png


    ejemplo 2. Configuración de un filtro específico para un componente
    [CmpLog]
    CmpCodeMeter.Filter=0xFFFFFFFF
    SysTask.Filter=0xFFFFFFFF


  5. Guarda y cierra el archivo.

  6. Reinicie el tiempo de ejecución con la herramienta Deploy.