Skip to main content

Whitepaper: Modularización desde el punto de vista del usuario

iniciación

En CODESYS 3.5 SP17 hemos llevado a cabo una importante conversión arquitectónica. Anteriormente, la mayor parte de la funcionalidad del sistema de programación se agrupaba en una única configuración cohesiva. Solo CODESYS SoftMotion así como los complementos de pago del CODESYS Professional Developer Edition estaban separados. En el curso de la conversión, ahora hemos continuado esta modularización en la funcionalidad principal. La mayoría de los editores de lenguajes de programación, configuradores de bus de campo y generadores de código ahora se subcontratan a sus propios complementos. Lo mismo ocurre con las grandes funciones como la visualización o la configuración de iconos, por citar dos ejemplos. Las características importantes de la infraestructura, como la estructura de la interfaz de usuario (sistema de menús, navegador, ventana de mensajes, etc.), el front-end del compilador y los componentes para el manejo de proyectos y la comunicación con los controladores permanecen en el núcleo. Cabe señalar que es posible que más partes del núcleo se muevan a complementos separados en el futuro.

Principalmente utilizaremos esta modularización para igualar los ciclos de versión de los componentes individuales. En el pasado era necesario CODESYS-Convergencia del desarrollo de nuevas características y mejoras en una sola fecha por año, es decir, la fecha de lanzamiento de un paquete de servicio. Las características que simplemente no se terminaron generalmente llevaron a que se pospusiera el paquete de servicio. Las características que claramente estaban fuera de programa se han retrasado un año completo. Queremos este entrelazamiento tanto en nuestro propio interés como en el interés de todos. CODESYS-Resolver usuarios y versiones independientes y lanzar cada complemento en el futuro.

por CODESYSusuarios, hay una serie de ventajas obvias e importantes.

  • Las características se lanzan inmediatamente después de la finalización y están disponibles lo antes posible.

  • Las versiones beta de los complementos se pueden entregar a los usuarios interesados para tener una oportunidad oportuna para recibir comentarios. Dicha versión beta se puede operar en un entorno estable.

  • Los complementos innecesarios se pueden eliminar, lo que beneficia tanto el requisito de espacio como el rendimiento general.

Por supuesto, esta flexibilidad se ve compensada por una mayor complejidad. En este libro blanco nos gustaría describir

  • que restricciones existen

  • qué medidas hemos tomado para que la complejidad sea manejable

  • qué procedimiento recomendamos para aplicaciones típicas

La puesta en marcha

La configuración, que todavía es del CODESYS Store International se puede descargar está completo. Todos los componentes que ya forman parte de CODESYS 3.5 SP16 y anteriores también se incluyen en la configuración actual, es decir, después de la instalación, los usuarios reciben un sistema general familiar sin compromisos funcionales.

Creemos que los usuarios deberían trabajar en la compilación individual del sistema central y las versiones complementarias en su propio tiempo y no tener que lidiar con eso desde el principio. También somos conscientes de que muchos usuarios no están descontentos con el paquete general y es posible que nunca quieran hacer una compilación personalizada, un enfoque perfectamente legítimo que la herramienta no debe interferir.

el instalador

La configuración instalará automáticamente una nueva herramienta global llamada CODESYS Installer nombres Con eso todos pueden CODESYS-Se gestionan las instalaciones y los complementos asociados. Es el eje para los usuarios que quieren beneficiarse activamente de las ventajas de la modularización.

Con el CODESYS Installer se puede gestionar cualquier número de instalaciones independientes. Dentro de cada instalación individual, se puede especificar exactamente qué complementos deben formar parte de ella. Para mayor claridad, a cada instalación se le puede dar un nombre descriptivo. Con cada instalación, puede establecer qué actualizaciones se deben informar; de forma predeterminada, está configurado en "solo versiones publicadas", pero también se puede cambiar a versiones preliminares o desactivarse para bloquear el estado de una instalación.

Más información sobre funciones útiles del CODESYS Installer se puede encontrar en las recomendaciones a continuación.

Dentro CODESYS tenemos el centro de notificaciones al CODESYS Installer conectado. Aquí se muestran mensajes sobre actualizaciones adecuadas. Así que no siempre tienes que CODESYS Installer ejecutar para recibir notificaciones de actualizaciones.

compatibilidad

La palabra clave compatibilidad esconde el mayor aumento de complejidad que resulta de la modularización. Si bien tradicionalmente ha habido un avance lineal y, por lo tanto, el problema de la compatibilidad ha sido simple ("nuevo CODESYS puede leer un proyecto antiguo"), el asunto es mucho más difícil en un entorno altamente modular.

Las decisiones que tomamos y que se explican con más detalle en las siguientes secciones se tomaron deliberadamente no en función de lo que es técnicamente factible, sino de lo que es razonablemente manejable.

Compatibilidad de proyectos

La pregunta aquí es hasta qué punto un CODESYS-La instalación puede abrir un proyecto o biblioteca con otro CODESYS-Se creó la instalación.

No hemos cambiado este mecanismo. El comportamiento es idéntico al de la CODESYS-Versiones antes de la modularización. Si hay datos en el proyecto que no se pueden leer o interpretar con la versión actual porque se creó a partir de un entorno más nuevo, los objetos afectados se marcan con una cruz roja en el navegador y con [incompleto] (→ El editor todavía se puede abrir) o [desconocido] (→ Editor ya no se puede abrir). En ambos casos, el proyecto no se puede cargar en el controlador (porque podría resultar en un comportamiento de programa indefinido), y simplemente permanece Guardar como disponibles (para evitar la sobrescritura accidental del proyecto original y, por lo tanto, la pérdida de datos).

Este comportamiento se ha demostrado durante años.

Compatibilidad de código

Se trata de la cuestión de si alguien con un CODESYS-La instalación para un proyecto siempre puede generar el mismo código de control binario que otro CODESYS-Instalación. En pocas palabras: ¿Puede comenzar cualquier proyecto con un CODESYS- ¿Abrir la instalación e iniciar sesión en el controlador sin cambios o descargas en línea?

Para este propósito hubo hasta e incluyendo CODESYS 3.5 SP17 el concepto de la versión del compilador. Iniciaremos la versión del compilador. CODESYS 3.5 Eliminar SP18. Si depende de poder iniciar sesión en un controlador con un proyecto sin un cambio o descarga en línea, entonces debe iniciar el proyecto con una coincidencia exacta. CODESYS-Instalación abierta.

Hay una serie de argumentos de peso para la decisión de abandonar el concepto de versión del compilador:

  • No solo el compilador sino también los editores de lenguaje de programación y los configuradores de bus de campo involucrados son responsables del código generado. Dado que estos ahora se han subcontratado a complementos con versiones independientes, en principio ya no puede haber una versión uniforme del compilador que lo abarque todo. Desde el punto de vista del usuario, consideramos que el intento de combinar una combinación de diferentes versiones del compilador específicas del complemento en una especie de perfil de versión del compilador es demasiado complejo. en CODESYS UML (Parte de CODESYS Professional Developer Edition) ha habido una versión separada de generación de modelo de idioma durante años, pero incluso con este complemento, este concepto no se ha probado en la práctica, y mucho menos con la multitud actual de complementos.

  • Incluso en su forma simple, la versión del compilador requería un conocimiento detallado por parte del usuario. A más tardar, la corrección de una versión que accidentalmente se configuró incorrectamente a menudo era problemática. Los usuarios que han tenido malas experiencias con él, o que básicamente no estaban convencidos de este concepto, han llevado a cabo varias instalaciones de mantenimiento en el pasado para poder iniciar sesión de forma segura en los controladores en funcionamiento en caso de mantenimiento. Como veremos a continuación, ahora ofrecemos un sólido soporte interactivo para este caso.

  • Cada nueva versión del compilador infla nuestra base de código interna. Por un lado, esto tiene un efecto negativo en el rendimiento y el tamaño de la instalación. Por otro lado, no podemos probar todas las combinaciones en este código base. Dado que el mantenimiento de las versiones del compilador también es propenso a errores hasta cierto punto, esto está en contradicción directa con nuestros estándares de calidad en constante aumento. En otras palabras: no podemos garantizar que el concepto de la versión anterior del compilador funcionará de manera confiable en todos los casos, y ciertamente no podríamos hacerlo si tuviéramos que hacer este concepto aún más complejo debido a la modularización.

  • Los dos argumentos anteriores se pueden resumir de la siguiente manera: desde el punto de vista del usuario, es atractivo poder producir una versión adecuada con nuestra herramienta de soporte para el caso de mantenimiento sin tener que lidiar con una versión del compilador en absoluto.

Compatibilidad del sistema de tiempo de ejecución

La pregunta aquí es hasta qué punto un CODESYS-La instalación es compatible con una versión del sistema de tiempo de ejecución. En otras palabras: ¿Puedes pensar en uno nuevo? CODESYS-¿Iniciar sesión en un controlador antiguo y usar las funciones en línea disponibles?

No hemos cambiado los mecanismos asociados. En principio, las versiones del sistema de programación y del sistema runtime se pueden combinar como se desee, con las siguientes restricciones:

  • Una nueva versión del sistema de programación puede ofrecer funciones que una versión anterior del sistema de tiempo de ejecución aún no admite. En este caso la función no está disponible.

  • Es posible que una versión anterior del sistema de programación no funcione con una versión más reciente del sistema de tiempo de ejecución si las extensiones de seguridad lo prohíben (por ejemplo, administración forzada de usuarios o un nuevo tipo de algoritmo de cifrado).

Recomendaciones para los usuarios

Por supuesto, los escenarios descritos en esta sección también se pueden utilizar en combinación. Creemos que esto cubre la gran mayoría de los casos relevantes para la práctica y nos gustaría apoyarlos lo mejor que podamos con nuestras herramientas. Queremos continuar optimizando nuestro software a lo largo de estos casos de uso en el futuro.

guión

recomendación

soporte de herramientas

Desarrollo diario en un proyecto en curso

el CODESYSLa versión y los complementos asociados deben mantenerse siempre actualizados. Trabajamos constantemente en mejoras grandes y pequeñas, correcciones de errores y actualizaciones de seguridad, por lo que la última versión es siempre la mejor. Hay pocas razones para seguir con las versiones antiguas.

el CODESYS Installer Muestra todas las actualizaciones disponibles asociadas con una instalación. Estas actualizaciones se pueden descargar e instalar con solo unos pocos clics del mouse.

Además, a través del Centro de notificaciones, que se encuentra en CODESYS se integra como una ventana acoplable, también se muestran las actualizaciones disponibles (que coinciden exactamente con la instalación actual). Desde aquí puede ir directamente a la CODESYS Installer ser saltado, para que no tenga que estar constantemente activo.

Todas las configuraciones y complementos que proporcionamos están firmados, por lo que descargarlos a través de Internet es seguro. Hemos ampliado PackageManager con los métodos de prueba correspondientes (parcialmente interactivos).

Desarrollo diario en un proyecto en curso con la condición de que varias personas en un equipo tengan que usar una instalación uniforme

Como anteriormente.

Una persona del equipo instala las actualizaciones disponibles y las prueba. Si el lanzamiento es exitoso, la nueva instalación de referencia se distribuye en el equipo.

en el CODESYS Installer las instalaciones existentes se pueden exportar como un archivo de descripción. Este archivo se puede utilizar para crear una instalación idéntica en otra máquina. Este mecanismo también está disponible a través de la línea de comandos, por lo que es especialmente adecuado para entornos automatizados.

Pruebe las funciones complementarias más recientes en un entorno protegido

Un existente usado productivamente CODESYS-La instalación está duplicada. En esto, las versiones beta de los complementos se instalan y actualizan según sea necesario.

Los que se utilizan productivamente CODESYS-Las instalaciones permanecen completamente inalteradas. El trabajo normal en los proyectos no se ve afectado.

el CODESYS Installer facilita la creación de una copia de una instalación existente. Para cada instalación, puede elegir si solo se deben ofrecer e instalar actualizaciones publicadas o también actualizaciones beta experimentales.

Anteriormente, un paquete de servicio o parche específico solo podía instalarse una vez por máquina. Desde la introducción del instalador, esta restricción se eliminó.

Mantenimiento en un controlador existente sin cambiar el proyecto de inventario asociado. Debe garantizarse que puede iniciar sesión en el controlador sin un cambio o descarga en línea,

Será uno que se ajuste exactamente al proyecto. CODESYS-Instalación creada. Sin tener que lidiar con versiones del compilador, se garantiza la generación de un código de control binario-igual.

Al cargar un proyecto, las diferencias entre el actual CODESYSinstalación y la versión de creación, tiene la oportunidad de descargar e instalar una instalación que se ajuste exactamente al proyecto. A continuación, el proyecto se abre automáticamente en esta versión recién creada.

Además, las instalaciones adecuadas que ya existen en la máquina, por supuesto, también se pueden seleccionar durante la carga.

Obtener instalaciones en CODESYS Installer un nombre personalizado. De esta forma, no perderá la visión general si tiene que gestionar un mayor número de instalaciones.

Para no recibir constantemente sugerencias de actualización para una instalación de compatibilidad tan especial, estas están separadas del canal de actualización por defecto.

Desarrollo adicional de un proyecto existente más antiguo

El proyecto se encuentra en plena actualidad. CODESYS-Instalación más desarrollada. Dado que los cambios se realizan en el código de todos modos, el cambio en línea o la descarga que se debe realizar es irrelevante.

CODESYS todavía puede cargar proyectos más antiguos sin pérdidas. Si falta un complemento necesario, es posible descargarlo e instalarlo directamente desde el proceso de carga del proyecto. De lo contrario, tanto el proyecto en sí como el controlador están protegidos por protección contra escritura y descarga.