Compatibilité
Compatibilité de CODESYS projets
Format de stockage
Cas d'utilisation | Soutien |
---|---|
Chargement des projets dans le nouveau CODESYS version sans perte de données | ✓ |
Sauvegarder des projets pour les plus âgés CODESYS variantes | ✓ |
Ouverture de nouveaux projets dans les anciens CODESYS variantes |
|
Projets existants qui sont ouverts avec un nouveau CODESYS versions sont conservées en "mode de compatibilité" le plus longtemps possible. Tant que vous apportez uniquement des modifications au projet qui ne nécessitent aucune nouvelle fonctionnalité, le format de stockage reste le même. C'est pourquoi l'original CODESYS La version peut continuer à ouvrir et à modifier le projet sans perte de données. Si vous apportez des modifications nécessitant l'enregistrement de nouvelles données dans le projet, vous serez informé de manière interactive de cette situation. Vous avez la possibilité d'annuler les dernières modifications si une violation de compatibilité serait inacceptable.
Vous pouvez souvent ouvrir des projets avec des versions de mémoire plus récentes dans des versions plus anciennes. CODESYS versions, mais cela est fortement déconseillé. La possibilité ou non d'ouvrir des projets dépend de la disponibilité des types de plug-ins dans l'ancienne version. Un message correspondant s'affiche lors du chargement d'un tel projet.
Vous avez également la possibilité de sauvegarder un projet pour une ancienne version de CODESYS en exécutant le Déposer → Enregistrer sous commande. Dans ce cas, des informations sur les objets concernés par la perte de données sont affichées dans le messages voir. Cependant, l'enregistrement de projets pour une ancienne version affecte explicitement uniquement le format de stockage. Il n'y a pas de conversion complète du projet dans laquelle la version du compilateur ou des paramètres similaires sont adaptés pour correspondre à l'ancienne version.
Comportement en ligne
Cas d'utilisation | Soutien |
---|---|
Compilation d'un projet créé avec un ancien CODESYS version, dans une nouvelle CODESYS version | ✓ |
Connectez-vous sans modification en ligne dans une nouvelle version. | -- |
Nouveau CODESYS Les versions ne peuvent pas générer le même code pour les projets existants que l'ancienne version avec laquelle le projet a été créé. Si vous devez vous connecter à une application en cours d'exécution sans modification ni téléchargement en ligne, vous devez alors ouvrir le projet avec la version chargée en dernier sur le contrôleur. Le CODESYS Installer et l'analyse du projet vous aident à restaurer la version originale si elle n'existe pas déjà.
Par conséquent, cela signifie que l’ouverture du projet avec une version plus récente ou différente nécessite une mise à jour du projet. Cela nécessitera très probablement un nouveau téléchargement de l'environnement d'exécution. Vous devez également tester l'application pour détecter d'éventuels changements de comportement résultant de nouvelles fonctions ou de corrections de bugs dans le compilateur ou les éditeurs graphiques. En général, on s'efforce de minimiser les nouvelles erreurs de compilateur ou les changements de comportement pour les projets existants afin de réduire au maximum les efforts de mise à jour vers de nouvelles versions.
Les points suivants doivent être respectés pour assurer la compatibilité avec les runtimes existants :
De nouvelles fonctions dans CODESYS sont généralement activés dans la description de l'appareil. Par conséquent, ils sont désactivés pour les anciens systèmes d’exécution ou les anciennes descriptions de périphériques.
Les versions de toutes les bibliothèques externes sont résolues au moyen de la description de l'appareil. Ils sont ainsi adaptés au système d'exécution correspondant.
Les bibliothèques internes sont résolues par le CODESYS version, quelle que soit la version du système d'exécution.
Les services de communication sont structurés selon un format partagé avec des tags. Les balises inconnues sont ignorées par le système d'exécution. En conséquence, il est possible de modifier le service de communication, mais le système de programmation ne s'attendra pas à ce que le système d'exécution interprète les nouvelles informations.
Compatibilité de CODESYS bibliothèques
Cas d'utilisation | Soutien |
---|---|
En utilisant une bibliothèque compilée, créée dans une version plus ancienne CODESYSversion, dans une nouvelle CODESYS version. | ✓ |
En utilisant une bibliothèque compilée, créée dans un nouveau CODESYS version, dans une ancienne CODESYS version. | -- |
Les bibliothèques compilées doivent toujours être créées avec le niveau le plus bas CODESYSversion avec laquelle ils doivent être compatibles. Vieux CODESYS les versions reconnaissent les bibliothèques créées avec des versions plus récentes et rejettent leur utilisation dans un projet. La vérification est basée sur la version du compilateur définie dans la bibliothèque. Selon le contenu de la bibliothèque, le format de stockage peut également jouer un rôle.
Les mêmes règles pour CODESYS les projets s’appliquent également aux bibliothèques sources.
Compatibilité du CODESYS système d'exécution
Cependant, il n'est pas recommandé d'utiliser une ancienne version de CODESYS et une version plus récente du système d'exécution. Cette compatibilité n'a pas été explicitement testée. En raison de corrections de sécurité apportées aux systèmes d'exécution les plus récents, il peut y avoir des incompatibilités avec les versions plus anciennes. CODESYS versions.
Les points suivants doivent être respectés pour assurer la compatibilité avec la version d'exécution existante :
Nouvelles fonctions dans CODESYS sont généralement activés dans la description de l'appareil. Par conséquent, ces versions sont désactivées pour les anciens systèmes d'exécution ou les anciennes descriptions d'appareils.
Les versions de toutes les bibliothèques externes sont résolues au moyen de la description de l'appareil. Ils sont ainsi adaptés au système d'exécution correspondant.
Les bibliothèques internes sont résolues par le CODESYS version, quelle que soit la version du système d'exécution.
Les services de communication sont structurés selon un format partagé avec des tags. Les balises inconnues sont ignorées par le système d'exécution. En conséquence, il est possible de modifier le service de communication, mais le système de programmation ne s'attendra pas à ce que le système d'exécution interprète les nouvelles informations.
Compatibilité des descriptions d'appareils – Système Runtime
Cas d'utilisation | Soutien |
---|---|
Une ancienne version de la description de l'appareil et un système d'exécution plus récent sont acceptés lors de la connexion. | ✓ |
Une version plus récente de la description de l'appareil et un système d'exécution plus ancien ne sont pas acceptés, de sorte que la connexion est rejetée. | -- |
Les projets existants doivent s'exécuter sur les systèmes d'exécution existants, même avec des systèmes plus récents. CODESYS versions. Ceci peut être réalisé en ne modifiant pas la description de l'appareil dans le projet et en disposant de la version existante qui correspond à la version du système d'exécution. Il est également possible de se connecter au système d'exécution si la version de la description de l'appareil et le système d'exécution ne sont pas trop différents ou incompatibles :
La description de l'appareil contient une liste de bibliothèques externes dont les fonctions externes sont implémentées dans le système d'exécution. La version correspondante de la bibliothèque est spécifiée dans la liste des espaces réservés de bibliothèque. Cette liste est définie par le fabricant de l'appareil.
Astuce
La liste d'espace réservé doit contenir uniquement les bibliothèques dont les composants d'exécution correspondants sont disponibles dans le système d'exécution.
Il est possible de configurer la plage de compatibilité entre la description de l'appareil et le système d'exécution. Cela signifie que vous ne pouvez pas vous connecter au contrôleur si les versions ne correspondent pas. Cette plage peut être sélectionnée par le fabricant de l'appareil avec les paramètres suivants dans le système d'exécution (voir
SysTargetItf.h
du système d'exécution) :SYSTARGETKEY_INT_TARGET_VERSION_MASK
"TargetVersionMask" : paramètre permettant de spécifier un masque pour vérifier la compatibilité de la version cible avec la description de l'appareil. Seuls les chiffres significatifs sont cochés dans le masque.SYSTARGETKEY_INT_TARGET_VERSION_COMPATIBILITY_MASK
« TargetVersionCompatibilityMask » : paramètre permettant de spécifier un masque de compatibilité pour vérifier la compatibilité de la version cible avec la description de l'appareil. Une description de l'appareil inférieure ou identique à la version cible est acceptée. Une version supérieure de la description de l'appareil est rejetée.
CODESYS Version | CODESYS Version de contrôle | Description de l'appareil Version | Recommandé | Restrictions | Commentaire |
---|---|---|---|---|---|
3.5.19.0 | 3.5.19.0 | 3.5.19.0 | Oui, optimal | -- | C'est la combinaison optimale. |
3.5.19.0 | 3.5.12.0 | 3.5.12.0 | Oui | -- | Il s'agit d'un cas typique de compatibilité. |
3.5.19.0 | 3.5.12.0 | 3.5.10.0 | Non, mais possible | Avertissement lors de la connexion au contrôleur indiquant que le DevDesc ne correspond pas | Ceci est possible parce que le |
3.5.19.0 | 3.5.12.0 | 3.5.19.0 | Non | Pas d'accès au contrôleur | Par défaut, ceci est rejeté car |
3.5.19.0 | 3.5.10.0 | 3.5.10.30 | Non | Pas d'accès au contrôleur | Ceci est possible parce que le |
CODESYS Version | CODESYS Version de contrôle | Description de l'appareil Version | Recommandé | Restrictions | Commentaire |
---|---|---|---|---|---|
3.5.17.0 | 3.5.19.0 | 3.5.19.0 | Non | Des incompatibilités sont possibles en raison de corrections de sécurité dans le système d'exécution. | L'ensemble de toutes les bibliothèques externes doit être disponible dans CODESYS. Il est possible que des ressources de langage CEI plus récentes soient utilisées dans les bibliothèques externes, ce qui entraîne des erreurs de compilation. |
3.5.17.0 | 3.5.19.0 | 3.5.17.0 | Non, mais possible | Des incompatibilités sont possibles en raison de corrections de sécurité dans le système d'exécution. |
Compatibilité du projet de démarrage + Retains - Système d'exécution
Cas d'utilisation | Soutien |
---|---|
Un système d'exécution plus récent charge les anciens projets de démarrage. | ✓ |
Un système d'exécution plus ancien charge des projets de démarrage plus récents. |
|
Il doit être possible de charger des projets de démarrage existants à partir du système d'exécution dans une version principale. Un projet de démarrage existant est vérifié par rapport à la désignation de type d'une cible (VendorID
, DeviceID
, et le DeviceVersion
depuis la V3.5.8.0) avant le chargement.
Conserver les variables d'un fichier de conservation enregistré (<application>.ret
) ou de la SRAM doivent toujours être compatibles. Une somme de contrôle est enregistrée dans un fichier distinct pour chaque zone de conservation. La même somme de contrôle est enregistrée dans le projet de démarrage. Cette somme de contrôle est générée par le compilateur à partir des données conservées et constitue une identification de toutes les variables de la zone conservée avec leurs types respectifs. Si la somme de contrôle des données conservées et la somme de contrôle du projet de démarrage ne correspondent pas, vous disposez de plusieurs options dans le système d'exécution pour sélectionner le comportement. Vous pouvez spécifier ces options dans le [CmpApp]
section de la cfg
déposer:
Bootproject.RetainMismatch.Init = 1
: Le projet de démarrage est chargé et les conservations sont initialisées.Bootproject.RetainMismatch.Exception = 1
: le projet de démarrage est chargé, mais l'application reste à l'état d'arrêt et est définie dans un état d'exception. Cette condition peut être corrigée par une réinitialisation manuelle.Aucun réglage
[DEFAULT]
: Le projet de démarrage n'est pas chargé et un message d'erreur est ajouté au journal.
Dans la version 3.5.7.0 et inférieure du système d'exécution, la somme de contrôle était calculée à partir de l'ensemble des données de l'application. Dans les versions plus récentes, la somme de contrôle est calculée uniquement à partir des données de la zone de conservation. Cela signifie que les données conservées peuvent être chargées dans un projet de démarrage avec des versions plus récentes, même si le projet a changé, tant que ces modifications n'impliquent aucune modification des données conservées.