Skip to main content

Livre blanc : La modularisation du point de vue de l'utilisateur

initiation

Dans CODESYS 3.5 SP17, nous avons effectué une conversion architecturale majeure. Auparavant, la plupart des fonctionnalités du système de programmation étaient regroupées dans une seule configuration cohérente. Seul CODESYS SoftMotion ainsi que les add-ons payants du CODESYS Professional Developer Edition étaient séparés. Au cours de la conversion, nous avons maintenant poursuivi cette modularisation loin dans la fonctionnalité de base. La plupart des éditeurs de langage de programmation, des configurateurs de bus de terrain et des générateurs de code sont désormais sous-traités à leurs propres add-ons. Il en va de même pour les grandes fonctionnalités comme la visualisation ou la configuration des icônes, pour ne citer que deux exemples. Les fonctionnalités importantes de l'infrastructure telles que la structure de l'interface utilisateur (système de menus, navigateur, fenêtre de message, etc.), le frontal du compilateur et les composants pour la gestion du projet et la communication avec les contrôleurs restent au cœur. Il convient de noter que d'autres parties du noyau pourraient être déplacées dans des modules complémentaires distincts à l'avenir.

Nous utiliserons principalement cette modularisation pour égaliser les cycles de version des composants individuels. Autrefois, il fallait CODESYS-Converger le développement concernant les nouvelles fonctionnalités et les améliorations à une seule date par an - à savoir la date de sortie d'un service pack. Les fonctionnalités qui n'étaient tout simplement pas terminées entraînaient généralement le report du service pack. Les fonctionnalités qui étaient clairement hors calendrier ont été repoussées d'une année complète. Nous voulons cet emboîtement à la fois dans notre propre intérêt et dans l'intérêt de tous CODESYS-Résolvez les utilisateurs et versionnez et publiez indépendamment chaque module complémentaire à l'avenir.

pour CODESYSutilisateurs, il y a un certain nombre d'avantages évidents et importants.

  • Les fonctionnalités sont publiées rapidement après leur achèvement et sont disponibles dès que possible.

  • Les versions bêta des modules complémentaires peuvent être livrées aux utilisateurs intéressés afin d'avoir une opportunité opportune de faire part de leurs commentaires. Une telle version bêta peut être exploitée dans un environnement autrement stable.

  • Les modules complémentaires inutiles peuvent être supprimés, ce qui profite à la fois à l'espace requis et aux performances globales.

Bien sûr, cette flexibilité est compensée par une complexité accrue. Dans ce livre blanc, nous aimerions décrire

  • quelles restrictions existent

  • quelles mesures avons-nous prises pour rendre la complexité gérable

  • quelle procédure nous recommandons pour les applications typiques

La mise en place

La configuration, qui est toujours de la CODESYS Store International téléchargeable est terminée. Tous les composants qui font déjà partie de CODESYS 3.5 SP16 et les versions antérieures sont également incluses dans la configuration actuelle, c'est-à-dire qu'après l'installation, les utilisateurs reçoivent un système global familier sans compromis fonctionnel.

Nous pensons que les utilisateurs doivent travailler sur la compilation individuelle du système de base et des versions complémentaires à leur propre rythme et ne pas avoir à s'en occuper dès le départ. Nous sommes également conscients que de nombreux utilisateurs ne sont pas mécontents du package global et ne voudront peut-être jamais créer une version personnalisée - une approche parfaitement légitime que l'outil n'est pas censé gêner.

L'installateur

Le programme d'installation installera automatiquement un nouvel outil global appelé CODESYS Installer noms. Avec ça tout le monde peut CODESYS-Les installations et les add-ons associés sont gérés. C'est la clé de voûte des utilisateurs qui souhaitent bénéficier activement des avantages de la modularisation.

Avec le CODESYS Installer n'importe quel nombre d'installations indépendantes peut être géré. Dans chaque installation individuelle, il peut être spécifié exactement quels modules complémentaires doivent en faire partie. Pour plus de clarté, chaque installation peut recevoir un nom descriptif. Avec chaque installation, vous pouvez définir quelles mises à jour doivent être signalées ; par défaut, il est défini sur "versions publiées uniquement", mais il peut également être basculé sur les versions préliminaires ou désactivé pour verrouiller l'état d'une installation.

Plus d'informations sur les fonctions utiles du CODESYS Installer peuvent être trouvés dans les recommandations ci-dessous.

Dans CODESYS nous avons le centre de notification au CODESYS Installer lié. Les messages concernant les mises à jour appropriées sont affichés ici. Donc, vous n'avez pas toujours à CODESYS Installer exécuter pour être averti des mises à jour.

compatibilité

Le mot clé compatibilité cache la plus grande augmentation de complexité qui résulte de la modularisation. Alors que traditionnellement, il y a eu une progression linéaire et que le problème de compatibilité a donc été simple ("nouveau CODESYS peut lire l'ancien projet"), la question est beaucoup plus difficile dans un environnement hautement modulaire.

Les décisions que nous avons prises et qui sont expliquées plus en détail dans les sections suivantes ont été délibérément prises non pas sur la base de ce qui est techniquement faisable, mais sur ce qui est raisonnablement gérable.

Compatibilité du projet

La question ici est de savoir dans quelle mesure un CODESYS-L'installation peut ouvrir un projet ou une bibliothèque avec un autre CODESYS-L'installation a été créée.

Nous n'avons pas modifié ce mécanisme. Le comportement est identique à celui du CODESYS-Versions avant modularisation. S'il y a des données dans le projet qui ne peuvent pas être lues ou interprétées avec la version actuelle parce qu'elles ont été créées à partir d'un environnement plus récent, les objets concernés sont marqués d'une croix rouge dans le navigateur et soit avec [incomplet] (→ L'éditeur peut encore être ouvert) ou [inconnue] (→ L'éditeur ne peut plus être ouvert). Dans les deux cas, le projet ne peut pas être chargé sur le contrôleur (car un comportement indéfini du programme pourrait en résulter) et il reste Enregistrer sous disponible (pour éviter l'écrasement accidentel du projet d'origine et donc la perte de données).

Ce comportement a fait ses preuves depuis des années.

Compatibilité des codes

Il s'agit de la question de savoir si quelqu'un avec un CODESYS-L'installation pour un projet peut toujours générer le même code binaire de contrôle qu'un autre CODESYS-Installation. Pour le dire simplement : pouvez-vous démarrer n'importe quel projet avec un CODESYS-Ouvrez l'installation et connectez-vous au contrôleur sans modification ou téléchargement en ligne ?

À cette fin, il y avait jusqu'à et y compris CODESYS 3.5 SP17 le concept de la version du compilateur. Nous allons démarrer la version du compilateur CODESYS 3.5 Supprimer SP18. Si vous comptez pouvoir vous connecter à un automate avec un projet sans modification en ligne ni téléchargement, vous devez démarrer le projet avec une correspondance exacte. CODESYS-Installation ouverte.

Il existe un certain nombre d'arguments de poids pour la décision d'abandonner le concept de version du compilateur :

  • Non seulement le compilateur, mais aussi les éditeurs de langage de programmation et les configurateurs de bus de terrain impliqués sont responsables du code généré. Étant donné que ceux-ci ont maintenant été sous-traités à des add-ons indépendamment versionnés, il ne peut en principe plus y avoir de version de compilateur uniforme et globale. Du point de vue de l'utilisateur, nous trouvons la tentative de combiner une combinaison de différentes versions de compilateur spécifiques à des modules complémentaires dans une sorte de profil de version de compilateur trop complexe. à CODESYS UML (Partie de CODESYS Professional Developer Edition) il existe une version de génération de modèle de langage distincte depuis des années, mais même avec ce module complémentaire, ce concept n'a pas fait ses preuves dans la pratique, et encore moins avec la multitude actuelle de modules complémentaires.

  • Même dans sa forme simple, la version du compilateur nécessitait des connaissances détaillées de la part de l'utilisateur. Au plus tard, la correction d'une version mal réglée par erreur posait souvent problème. Des utilisateurs qui en ont eu de mauvaises expériences, ou qui n'étaient pas fondamentalement convaincus par ce concept, ont réalisé plusieurs installations de maintenance dans le passé afin de pouvoir se connecter en toute sécurité à des contrôleurs en marche en cas de maintenance. Comme nous le verrons ci-dessous, nous proposons désormais un support interactif robuste pour ce cas.

  • Chaque nouvelle version du compilateur gonfle notre base de code interne. D'une part, cela a un effet négatif sur les performances et la taille de l'installation. En revanche, nous ne pouvons pas tester toutes les combinaisons dans cette base de code. Étant donné que la maintenance des versions du compilateur est également sujette aux erreurs dans une certaine mesure, cela est en contradiction directe avec nos normes de qualité en constante augmentation. En d'autres termes : nous ne pouvons pas garantir que le concept de la version précédente du compilateur fonctionnera de manière fiable dans tous les cas, et nous ne le pourrions certainement pas si nous devions rendre ce concept encore plus complexe en raison de la modularisation.

  • Les deux arguments précédents peuvent être résumés comme suit : Du point de vue de l'utilisateur, il est intéressant de pouvoir produire une version adaptée avec notre support d'outil pour le cas de maintenance sans avoir à gérer du tout une version du compilateur.

Compatibilité du système d'exécution

La question ici est de savoir dans quelle mesure un CODESYS-L'installation est compatible avec une version du système d'exécution. En d'autres termes : pouvez-vous en proposer un nouveau ? CODESYS-Se connecter à un ancien contrôleur et utiliser les fonctions en ligne disponibles ?

Nous n'avons pas modifié les mécanismes associés. En principe, les versions du système de programmation et du système d'exécution peuvent être combinées à volonté, avec les restrictions suivantes :

  • Une nouvelle version du système de programmation peut offrir des fonctions qu'une ancienne version du système d'exécution ne prend pas encore en charge. Dans ce cas, la fonction n'est pas disponible.

  • Une ancienne version du système de programmation peut ne pas être en mesure de fonctionner avec une version plus récente du système d'exécution si les extensions de sécurité l'interdisent (par exemple, l'administration forcée des utilisateurs ou un nouveau type d'algorithme de chiffrement).

Recommandations aux utilisateurs

Bien entendu, les scénarios décrits dans cette section peuvent également être utilisés en combinaison. Nous pensons que cela couvre la grande majorité des cas pertinents pour la pratique et souhaitons les soutenir du mieux que nous pouvons avec nos outils. Nous voulons continuer à optimiser notre logiciel en fonction de ces cas d'utilisation à l'avenir.

scénario

recommandation

support d'outil

Développement quotidien sur un projet en cours

la CODESYSversion et les add-ons associés doivent toujours être tenus à jour. Nous travaillons constamment sur de petites et grandes améliorations, des corrections de bogues et des mises à jour de sécurité, de sorte que la dernière version est toujours la meilleure version de tous les temps. Il y a peu de raisons de s'en tenir aux anciennes versions.

la CODESYS Installer Affiche toutes les mises à jour disponibles associées à une installation. Ces mises à jour peuvent être téléchargées et installées en quelques clics de souris.

De plus, via le centre de notification, qui est en CODESYS est intégré en tant que fenêtre ancrable, les mises à jour disponibles (correspondant exactement à l'installation actuelle) sont également affichées. De là, vous pouvez accéder directement au CODESYS Installer être sauté, de sorte qu'il n'a pas à être constamment actif.

Toutes les configurations et tous les modules complémentaires que nous fournissons sont signés, leur téléchargement sur Internet est donc sécurisé. Nous avons étendu le PackageManager avec des méthodes de test correspondantes (partiellement interactives).

Développement quotidien sur un projet en cours à condition que plusieurs personnes dans une équipe doivent utiliser une installation uniforme

Comme ci-dessus.

Une personne de l'équipe installe les mises à jour disponibles et les teste. Si la release est réussie, la nouvelle installation de référence est distribuée dans l'équipe.

dans le CODESYS Installer les installations existantes peuvent être exportées sous forme de fichier de description. Ce fichier peut être utilisé pour créer une installation identique sur une autre machine. Ce mécanisme est également disponible via la ligne de commande, il est donc particulièrement adapté aux environnements automatisés.

Essayez les dernières fonctionnalités complémentaires dans un environnement protégé

Un existant utilisé de manière productive CODESYS-L'installation est dupliquée. Dans ce cas, toutes les versions bêta des modules complémentaires sont installées et mises à jour selon les besoins.

Ceux utilisés de manière productive CODESYS-Les installations restent totalement inchangées. Le travail normal sur les projets n'est pas affecté.

la CODESYS Installer facilite la création d'une copie d'une installation existante. Pour chaque installation, vous pouvez choisir si seules les mises à jour publiées ou également les mises à jour bêta expérimentales doivent être proposées et installées.

Auparavant, un service pack ou un correctif spécifique ne pouvait être installé qu'une seule fois par machine. Depuis l'introduction du programme d'installation, cette restriction a été levée.

Maintenance sur un automate existant sans modification du projet d'inventaire associé. Il doit être garanti que vous pouvez vous connecter au contrôleur sans modification ou téléchargement en ligne,

Ce sera celui qui correspond exactement au projet CODESYS-Installation créée. Sans avoir à gérer les versions du compilateur, la génération d'un code de contrôle binaire égal est garantie.

Lors du chargement d'un projet, les différences entre le CODESYSinstallation et la version de création, vous avez la possibilité de télécharger et d'installer une installation qui correspond exactement au projet. Le projet est alors automatiquement ouvert dans cette nouvelle version créée.

De plus, les installations appropriées qui existent déjà sur la machine peuvent bien sûr également être sélectionnées lors du chargement.

Obtenez des installations dans CODESYS Installer un nom personnalisé. De cette façon, vous ne perdez pas le fil si vous devez gérer un grand nombre d'installations.

Afin de ne pas recevoir en permanence des suggestions de mise à jour pour une telle installation de compatibilité spéciale, celles-ci sont séparées du canal de mise à jour par défaut.

Poursuite du développement d'un projet existant plus ancien

Le projet est dans un courant CODESYS-Installation plus développée. Étant donné que des modifications sont apportées au code de toute façon, la modification en ligne ou le téléchargement qui est dû n'est pas pertinent.

CODESYS peut toujours charger des projets plus anciens sans perte. S'il manque un module complémentaire nécessaire, il est possible de le télécharger et de l'installer directement à partir du processus de chargement du projet. Sinon, le projet lui-même et le contrôleur sont protégés par une protection en écriture et en téléchargement.