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ú , 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: . Cuando este símbolo se vuelve de color rojo
, 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
Verificar funciones | Activación o eliminación de una función de verificación ( 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 ( Cambio en la lista de interfaces ( 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 Cambiar el tipo de datos de un tipo de datos definido por el usuario a un tipo de datos base (por ejemplo, de 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