Compatibilidad
Compatibilidad de CODESYS proyectos
Formato de almacenamiento
Caso de uso | Apoyo |
---|---|
Cargando proyectos en nuevo CODESYS versión sin pérdida de datos | ✓ |
Guardar proyectos para personas mayores CODESYS versiones | ✓ |
Abrir nuevos proyectos en viejos CODESYS versiones |
|
Proyectos existentes que se abren con una versión más nueva. CODESYS La versión se mantiene en "modo de compatibilidad" durante el mayor tiempo posible. Siempre que solo realice cambios en el proyecto que no requieran ninguna funcionalidad nueva, el formato de almacenamiento seguirá siendo el mismo. Por eso el original CODESYS La versión puede continuar abriendo y editando el proyecto sin pérdida de datos. Si realiza cambios que requieren que se guarden nuevos datos en el proyecto, se le notificará interactivamente sobre esta situación. Tiene la opción de deshacer los últimos cambios si una violación de compatibilidad fuera inaceptable.
A menudo puedes abrir proyectos con versiones de memoria más nuevas en versiones más antiguas. CODESYS versiones, pero se desaconseja encarecidamente esto. La posibilidad de abrir proyectos o no depende de la disponibilidad de los tipos de complementos en la versión anterior. Se muestra el mensaje correspondiente al cargar dicho proyecto.
También tienes la opción de guardar un proyecto para una versión anterior de CODESYS ejecutando el Archivo → Guardar como dominio. En este caso, la información sobre qué objetos se ven afectados por la pérdida de datos se muestra en la ventana Mensajes vista. Sin embargo, guardar proyectos para una versión anterior afecta explícitamente únicamente al formato de almacenamiento. No existe una conversión completa del proyecto en la que la versión del compilador o configuraciones similares se adaptan para que coincida con la versión anterior.
Comportamiento en línea
Caso de uso | Apoyo |
---|---|
Compilando un proyecto, que fue creado con un viejo CODESYS versión, en una nueva CODESYS versión | ✓ |
Inicie sesión sin cambios en línea en una nueva versión. | -- |
Nuevo CODESYS Las versiones no pueden generar el mismo código para proyectos existentes que la versión anterior con la que se creó el proyecto. Si necesita iniciar sesión en una aplicación en ejecución sin realizar ningún cambio o descarga en línea, deberá abrir el proyecto con la última versión cargada en el controlador. El CODESYS Installer y el análisis del proyecto le ayudará a restaurar la versión original si aún no existe.
Como resultado, esto significa que abrir el proyecto con una versión más nueva o diferente requiere que el proyecto esté actualizado. Lo más probable es que esto requiera una nueva descarga del entorno de ejecución. También necesita probar la aplicación para detectar posibles cambios en el comportamiento que resulten de nuevas funciones o correcciones de errores en el compilador o los editores gráficos. En general, se intenta minimizar nuevos errores del compilador o cambios de comportamiento en proyectos existentes para mantener el esfuerzo de actualización a nuevas versiones lo más bajo posible.
Es necesario tener en cuenta los siguientes puntos para garantizar la compatibilidad con los tiempos de ejecución existentes:
Nuevas funciones en CODESYS normalmente están habilitados en la descripción del dispositivo. Como resultado, están deshabilitados para sistemas de ejecución más antiguos o descripciones de dispositivos más antiguos.
Las versiones de todas las bibliotecas externas se resuelven mediante la descripción del dispositivo. De este modo se adaptan al sistema de ejecución correspondiente.
Las bibliotecas internas se resuelven mediante el CODESYS versión, independientemente de la versión del sistema de ejecución.
Los servicios de comunicación se estructuran según un formato compartido con etiquetas. El sistema de ejecución ignora las etiquetas desconocidas. Como resultado, es posible cambiar el servicio de comunicación, pero el sistema de programación no esperará que el sistema de ejecución interprete la nueva información.
Compatibilidad de CODESYS bibliotecas
Caso de uso | Apoyo |
---|---|
Usando una biblioteca compilada, que fue creada en una versión anterior CODESYSversión, en una nueva CODESYS versión. | ✓ |
Usando una biblioteca compilada, que fue creada en un nuevo CODESYS versión, en una versión más antigua CODESYS versión. | -- |
Las bibliotecas compiladas siempre deben crearse con el nivel más bajo CODESYSversión con la que deben ser compatibles. Viejo CODESYS Las versiones reconocen bibliotecas que se han creado con versiones más recientes y rechazan su uso en un proyecto. La verificación se basa en la versión del compilador configurada en la biblioteca. Dependiendo del contenido de la biblioteca, el formato de almacenamiento también puede influir.
Las mismas reglas para CODESYS Los proyectos también se aplican a las bibliotecas fuente.
Compatibilidad del CODESYS sistema de ejecución
Sin embargo, no se recomienda utilizar una versión anterior de CODESYS y una versión más nueva del sistema de ejecución. Esta compatibilidad no ha sido probada explícitamente. Debido a correcciones de seguridad en sistemas de ejecución más nuevos, puede haber incompatibilidades con sistemas más antiguos. CODESYS versiones.
Es necesario tener en cuenta los siguientes puntos para garantizar la compatibilidad con la versión de tiempo de ejecución existente:
Nuevas funciones en CODESYS normalmente están habilitados en la descripción del dispositivo. Como resultado, estas versiones están deshabilitadas para sistemas de ejecución o descripciones de dispositivos más antiguos.
Las versiones de todas las bibliotecas externas se resuelven mediante la descripción del dispositivo. De este modo se adaptan al sistema de ejecución correspondiente.
Las bibliotecas internas se resuelven mediante el CODESYS versión, independientemente de la versión del sistema de ejecución.
Los servicios de comunicación se estructuran según un formato compartido con etiquetas. El sistema de ejecución ignora las etiquetas desconocidas. Como resultado, es posible cambiar el servicio de comunicación, pero el sistema de programación no esperará que el sistema de ejecución interprete la nueva información.
Compatibilidad de descripciones de dispositivos: sistema de ejecución
Caso de uso | Apoyo |
---|---|
Al iniciar sesión se aceptan una versión anterior de la descripción del dispositivo y un sistema de ejecución más nuevo. | ✓ |
No se aceptan una versión más nueva de la descripción del dispositivo ni un sistema runtime antiguo, por lo que se rechaza el inicio de sesión. | -- |
Los proyectos existentes deben ejecutarse en sistemas de ejecución existentes, incluso con sistemas más nuevos. CODESYS versiones. Esto se puede lograr no cambiando la descripción del dispositivo en el proyecto y teniendo la versión existente que coincida con la versión del sistema de ejecución. También es posible iniciar sesión en el sistema de ejecución si la versión de la descripción del dispositivo y el sistema de ejecución no son demasiado diferentes o incompatibles:
La descripción del dispositivo contiene una lista de bibliotecas externas cuyas funciones externas se implementan en el sistema de ejecución. La versión correspondiente de la biblioteca se especifica en la lista de marcadores de posición de la biblioteca. Esta lista la define el fabricante del dispositivo.
Sugerencia
La lista de marcadores de posición debe contener solo las bibliotecas cuyos componentes de tiempo de ejecución correspondientes estén disponibles en el sistema de tiempo de ejecución.
Es posible configurar el rango de compatibilidad entre la descripción del dispositivo y el sistema de ejecución. Esto significa que no puede iniciar sesión en el controlador si las versiones no coinciden. Este rango puede ser seleccionado por el fabricante del dispositivo con las siguientes configuraciones en el sistema de ejecución (ver
SysTargetItf.h
del sistema de ejecución):SYSTARGETKEY_INT_TARGET_VERSION_MASK
"TargetVersionMask": configuración para especificar una máscara para verificar la compatibilidad de la versión de destino con la descripción del dispositivo. En la máscara sólo se comprueban los dígitos significativos.SYSTARGETKEY_INT_TARGET_VERSION_COMPATIBILITY_MASK
"TargetVersionCompatibilityMask": configuración para especificar una máscara de compatibilidad para verificar la compatibilidad de la versión de destino con la descripción del dispositivo. Se acepta una descripción del dispositivo que sea inferior a la versión de destino o igual. Se rechaza una versión superior de la descripción del dispositivo.
CODESYS Versión | CODESYS Versión de control | Versión de descripción del dispositivo | Recomendado | Restricciones | Comentario |
---|---|---|---|---|---|
3.5.19.0 | 3.5.19.0 | 3.5.19.0 | si, optimo | -- | Ésta es la combinación óptima. |
3.5.19.0 | 3.5.12.0 | 3.5.12.0 | Sí | -- | Este es un caso típico de compatibilidad. |
3.5.19.0 | 3.5.12.0 | 3.5.10.0 | No, pero es posible | Advertencia al iniciar sesión en el controlador de que DevDesc no coincide | Esto es posible porque el |
3.5.19.0 | 3.5.12.0 | 3.5.19.0 | No | Sin acceso al controlador | Por defecto, esto se rechaza porque |
3.5.19.0 | 3.5.10.0 | 3.5.10.30 | No | Sin acceso al controlador | Esto es posible porque el |
CODESYS Versión | CODESYS Versión de control | Versión de descripción del dispositivo | Recomendado | Restricciones | Comentario |
---|---|---|---|---|---|
3.5.17.0 | 3.5.19.0 | 3.5.19.0 | No | Es posible que se produzcan incompatibilidades debido a correcciones de seguridad en el sistema de ejecución. | El conjunto de todas las bibliotecas externas debe estar disponible en CODESYS. Es posible que en las bibliotecas externas se utilicen recursos de lenguaje IEC más nuevos que provoquen errores de compilación. |
3.5.17.0 | 3.5.19.0 | 3.5.17.0 | No, pero es posible | Es posible que se produzcan incompatibilidades debido a correcciones de seguridad en el sistema de ejecución. |
Compatibilidad del proyecto de arranque + Retiene - Sistema en tiempo de ejecución
Caso de uso | Apoyo |
---|---|
Un sistema de ejecución más nuevo carga proyectos de arranque más antiguos. | ✓ |
Un sistema de ejecución más antiguo carga proyectos de arranque más nuevos. |
|
Debe ser posible cargar proyectos de arranque existentes desde el sistema de ejecución dentro de una versión principal. Un proyecto de arranque existente se compara con la designación de tipo de un destino (VendorID
, DeviceID
, y el DeviceVersion
desde V3.5.8.0) antes de cargar.
Retener variables de un archivo de retención guardado (<application>.ret
) o de la SRAM siempre deben ser compatibles. Se guarda una suma de verificación en un archivo separado para cada área de retención. La misma suma de comprobación se guarda en el proyecto de arranque. Esta suma de verificación la genera el compilador a partir de los datos retenidos y es una identificación de todas las variables en el área de retención con sus respectivos tipos. Si la suma de comprobación de los datos retenidos y la suma de comprobación del proyecto de arranque no coinciden, entonces tiene varias opciones en el sistema de ejecución para seleccionar el comportamiento. Puede especificar estas opciones en el [CmpApp]
sección de la cfg
archivo:
Bootproject.RetainMismatch.Init = 1
: El proyecto de arranque se carga y los retenidos se inicializan.Bootproject.RetainMismatch.Exception = 1
: El proyecto de inicio se carga, pero la aplicación permanece en estado detenido y se establece en un estado de excepción. Esta condición se puede corregir con un reinicio manual.Sin configuración
[DEFAULT]
: El proyecto de inicio no se carga y se agrega un mensaje de error al registrador.
En la versión 3.5.7.0 y anteriores del sistema de tiempo de ejecución, la suma de comprobación se calculó a partir de todos los datos de la aplicación. En las versiones más recientes, la suma de comprobación se calcula únicamente a partir de los datos del área de retención. Esto significa que los datos retenidos se pueden cargar en un proyecto de arranque con versiones más recientes, incluso si el proyecto ha cambiado, siempre que estos cambios no impliquen ningún cambio en los datos retenidos.