Skip to main content

Comando: cambio en línea

Función: El comando se utiliza para activar un cambio en línea en la aplicación actual. Cuando se hace esto, CODESYS vuelve a descargar solo las partes modificadas de una aplicación que ya se está ejecutando en el controlador.

llamar: Menú En línea, menú contextual del objeto solicitud

Requisito: La aplicación está en modo en línea.

El comando está disponible en el menú contextual cuando se selecciona una aplicación en el árbol de dispositivos. Por lo tanto, puede realizar un cambio en línea específicamente para una aplicación, incluso si la aplicación no es actualmente la aplicación "activa".

Atención

Un cambio en línea cambia el programa de aplicación en ejecución y no provoca un reinicio.

Asegúrese de que el nuevo código de la aplicación siga provocando el comportamiento deseado del sistema controlado.

Dependiendo del sistema controlado, se pueden producir daños en el sistema y las piezas de trabajo o poner en peligro la salud y la vida de las personas.

Importante

  • Cuando se realiza un cambio en línea, las inicializaciones específicas de la aplicación (ejemplo: inicio) no se ejecutan porque la máquina conserva su estado. Por este motivo, es posible que el nuevo código del programa no tenga el efecto deseado.

  • Las variables de los punteros conservan su valor del último ciclo. Cuando un puntero hace referencia a una variable cuyo valor se cambió en un cambio en línea, la variable ya no produce el valor correcto. Asegúrese de que los punteros se reasignen en cada ciclo.

  • Después de haber cambiado la "aplicación principal", se elimina una "aplicación secundaria" del controlador cuando se realiza un cambio en línea.

Sin código de inicialización durante un cambio rápido en línea

Desde la versión del compilador >= 3.5.0.0, se realiza un "cambio rápido en línea" para cambios menores. Durante un cambio en línea rápido, solo se compilan y descargan las POU modificadas. En particular, no se genera ningún código de inicialización.

Para variables con la init_on_onlchange atributo, esto también resulta en No código de inicialización que se está generando. En los escenarios habituales, eso no tiene impacto porque el atributo generalmente se usa para inicializar variables con direcciones. Sin embargo, durante un cambio rápido en línea, no puede suceder que una variable cambie su dirección.

Sin embargo, para asegurarse del impacto de la init_on_onlchange atributo se aplica en todo el código de la aplicación, en general para la aplicación se puede utilizar el no_fast_online_change el compilador define para deshabilitar el cambio rápido en línea. Para hacer esto, seleccione su objeto de aplicación en el árbol de dispositivos y haga clic en Propiedades en el menú contextual. Bajo el Construir pestaña, agregue el no_fast_online_change definición del compilador.

Para más información, ver: Construir

Al cargar listas CODESYS en la ventana del mensaje en la categoría Traducir también las interfaces modificadas, las variables afectadas y todos los bloques para los que se generó código nuevo. Si las ubicaciones de almacenamiento cambian, un cuadro de diálogo le alertará sobre posibles problemas relacionados con el puntero.

Sugerencia

En la vista Reserva de memoria para cambio en línea Las reservas de memoria para el cambio en línea se pueden configurar para bloques de funciones de un proyecto, de modo que cuando se realizan cambios en un bloque de funciones durante el cambio en línea, las variables de instancia en la memoria no tienen que moverse.

Para más información, ver: Reserva de memoria de ajustes para cambio en línea

¿Qué impide un cambio en línea?

En CODESYS, hay acciones tras las cuales ya no es posible realizar cambios online en un controlador. Después de esto, siempre es necesario volver a compilar la aplicación por completo. Un caso típico es el Limpiar todo comando que elimina la información de compilación almacenada en la última descarga. Sin embargo, este tipo de acciones suelen generar una advertencia que debes reconocer.

Pero también hay acciones de edición "normales" que dan como resultado que no sea posible un cambio en línea en el próximo inicio de sesión. Por lo tanto, debe prestar atención al siguiente símbolo en la barra de estado al editar en las POU del programa: _cds_icon_online_change_ok.png. Cuando este símbolo se vuelve de color rojo _cds_icon_online_change_nok.png, solo se puede realizar una descarga completa al controlador. Haga doble clic en el símbolo para abrir la Información de la aplicación cuadro de diálogo con una lista de diferencias con respecto a la última descarga. En el cuadro de diálogo, también encontrará información sobre cuáles de los cambios impiden un cambio en línea.

Para más información, ver: Comando: Iniciar sesión

tabla 102. Acciones y cambios en diferentes áreas de una aplicación que impiden un cambio en línea:

Verificar funciones

Activación o eliminación de una función de verificación (CheckBounds, CheckRange, CheckDiv, etc.)

Cambio en una interfaz de una función de verificación (también la inserción y eliminación de variables locales)

Configuración de tareas

Cambio en los ajustes de configuración

Configuración del proyecto

Cambio de Opciones de compilación en la sección Ideas (Unicode, reemplazar constantes, iniciar sesión en puntos de interrupción)

Cambio en el Compilador Define

Propiedades de la aplicación

Cambio de Configuración de almacenamiento del sistema de destino (pestaña construir)

Propiedades del bloque de construcción

Cambio de opción Implementación externa (pestaña construir)

Lista de variables globales locales de tareas

Todos los cambios

Módulo de funciones

Cambiar el módulo base de un módulo de función (EXTENDS FBbase), incluida la inserción o supresión de dicho componente básico

Cambio en la lista de interfaces (IMPLEMENTS ITF)

Excepción: agregar una nueva interfaz al final de la lista

Tipo de datos

Cambiar el tipo de datos de una variable de un tipo de datos definido por el usuario a otro tipo de datos definido por el usuario (por ejemplo, de TON a TOF)

Cambiar el tipo de datos de un tipo de datos definido por el usuario a un tipo de datos base (por ejemplo, de TON a TIME)

Nota: Como solución alternativa, siempre debe cambiar el nombre de la variable al mismo tiempo que el tipo de datos. Luego, la variable se inicializa como una nueva variable y se elimina la antigua. Entonces es posible un cambio en línea.

Configuración de alarma

Cambio en la configuración de la base de datos de alarmas

Cambiar el número de variables de bloqueo (también afecta el formato de almacenamiento en la base de datos)

Cambiar a la configuración de las alarmas distribuidas

Fuente de datos

Todos los cambios en la configuración

Configuración del dispositivo

Cambio en el árbol de dispositivos (también por comando actualizar dispositivo)

Cambio en la configuración de un dispositivo: en el caso estándar, los cambios en los parámetros del dispositivo no se pueden cambiar en línea. Sin embargo, las excepciones se pueden configurar en la descripción del dispositivo.

Nota: la asignación de E/S a las variables es posible mediante el cambio en línea.

Visualización

Alternar la función de superposición

Antes de V3.5 SP6: Cambio en la configuración del oligoelemento

Nota: Lo siguiente se aplica a partir de V3.5 SP6: en el caso de cambios en línea que afectan las visualizaciones o afectan los datos de la aplicación (por ejemplo: nueva variable insertada), la visualización se reinicializa por completo. Para TargetVisu esto significa, por ejemplo, que la visualización se cierra y se vuelve a abrir con la página de inicio. En el caso de WebvVisu, la visualización también se reinicia con la visualización de inicio después de un breve tiempo de espera.

Conversión de unidades

Insertar o eliminar objetos de conversión de unidades

Tendencia

Cambiar el número de variables o el número máximo de variables

Cambiar el número de variables con descripción o configuración de línea especial



Para más información, ver: Realizar un cambio en línea y init_on_onlchange