Skip to main content

Restrictions

CODESYS version

La même version du système d'exécution doit être installée sur les deux appareils car le projet de démarrage est transféré entre les contrôleurs et doit donc pouvoir être chargé sur le deuxième contrôleur.

Tâche et communication en temps réel

Seules les tâches cycliques sont autorisées. Tâches de type Événement, État, ou Roue libre ne peut pas être synchronisé.

Le CODESYS Redundancy la fonctionnalité synchronise exactement une tâche (Tâche de redondance). D'autres tâches et applications sont possibles, mais elles s'exécutent de manière non synchronisée sur les deux automates.

De plus, le système de redondance qui affecte l'exécution de la tâche et la communication doit répondre à certaines exigences en temps réel : Le temps d'exécution des messages (requête et réponse) de la communication de redondance doit exister dans un intervalle de temps préalablement défini et la gigue de la tâche doit être considéré.

L'exécution de tâche en temps réel signifie que la tâche d'application qui est contrôlée par la redondance a une gigue limitée. La communication en temps réel signifie qu'un message envoyé au moyen de la liaison de redondance doit être reçu par l'autre automate dans un délai spécifique.

Temps d'exécution de la tâche

La durée de la messagerie (temps de requête et de réponse) augmente le temps d'exécution de la tâche : le temps total d'exécution de la tâche est plus long lorsque la redondance est utilisée.

Modification des noms de l'application et de la tâche

La modification des noms de l'application redondante ou de la tâche redondante est une modification importante et n'est pas possible pendant le fonctionnement redondant. En effet, après une modification, vous devez reconfigurer les deux automates comme décrit dans "Mise en route" sous "Configuration du système de redondance".

Valeur du délai d'attente

La valeur que vous spécifiez pour le délai d'attente doit être supérieure à la somme du temps de gigue de la tâche et du temps de gigue de communication maximum. Les deux heures sont spécifiques au système. Lors de l'exécution, lorsque la gigue de la tâche est élevée et que le transfert du message est retardé, un délai d'attente se produit. En attendant un message de l'autre automate, le système suppose que l'autre automate ne fonctionne plus. De ce fait, l'automate en attente et l'automate émetteur passent en mode autonome. Cela entraîne des pertes de synchronisation et des problèmes de communication sur le bus de terrain.

Astuce

Vous définissez le délai d'attente lorsque l'automate actif passe en mode autonome dans Configuration de redondance éditeur, sur le Général onglet du Paramètres de redondance onglet. De plus, la valeur est stockée dans le fichier de configuration d'exécution (exemple : CODESYSControl.cfg) avec l'entrée StandbyWaitTime.

Minuterie CEI

Des temps d'exécution différents sur les deux automates peuvent provoquer des "bosses" (valeurs de sortie divergentes) lors du changement d'automate. Pour éviter cela, les valeurs des temporisateurs CEI sont gelées pendant l'exécution d'une tâche CEI. Appels des temporisateurs IEC (exemple : la fonction TON) lors de l'exécution d'une tâche CEI conduisent donc toujours aux mêmes valeurs de temporisation, même si le temps physique continue de s'écouler. Par conséquent, les implémentations doivent attendre de manière inactive (éventuellement dans une boucle). Cela est dû au fait que les valeurs de minuterie CEI ne changent pas dans l'analyse de tâche en cours.

Pointeurs, références et interfaces

Le POINTER TO, REFERENCE TO, et INTERFACE les instructions (et les instances d'interface) permettant d'exprimer les relations entre les unités d'application ne fonctionnent pas avec les applications redondantes synchronisées.

POINTER les variables ne doivent pas être déclarées dans des zones de données contrôlées par redondance. En effet, des données contrôlées de manière redondante sont transmises à l'autre API lors de la synchronisation. Cependant, les pointeurs ne sont pas valides sur l'autre automate car une autre configuration mémoire peut s'y trouver.

Lors de la compilation, la fonctionnalité de redondance vérifie qu'un pointeur se trouve dans une zone contrôlée de manière redondante. Un avertissement s'affiche pour chaque pointeur qui s'y trouve. Le contrôle peut être désactivé dans le fichier de description de l'appareil avec l'entrée suivante :

<Device>
    <Custom>
            <Redundancy DisablePointerChecks="true">

EtherCAT DC

Cette extension de redondance est davantage destinée à l'industrie de process qu'à l'automatisation industrielle. Pour cette raison, les variateurs EtherCAT avec horloges distribuées ne sont pas pris en charge. Cependant, les E/S EtherCAT sont prises en charge.

Voir également la section "Tâche et communication en temps réel" ci-dessus.

"Mapper sur existant": mappage sur des variables existantes

Il n'est pas recommandé d'utiliser la méthode de mappage d'E/S « Map on Existing » (mappage d'E/S avec des variables existantes) avec CODESYS Redundancy. Ces types de variables ne sont pas stockés dans les zones de données d'entrée ou de sortie, mais là où ils sont déclarés. Par conséquent, ils ne sont pas synchronisés pendant le fonctionnement.

Variables réseau

Les variables réseau avec accès en écriture ne doivent pas être utilisées car plusieurs télégrammes d'écriture sont envoyés en même temps. Les variables réseau avec accès en lecture sont autorisées.

Accès aux fichiers

L'accès aux fichiers ne doit pas être utilisé car des données de fichier différentes peuvent provoquer des "chocs" sur les différents automates lors de leur commutation.

Si vous utilisez des fichiers, vous devez déclarer les descripteurs de fichiers dans les zones de données qui ne sont pas soumises au contrôle de redondance. Les fichiers doivent être ouverts séparément sur les deux automates. Le descripteur de fichier d'un autre automate ne doit pas être utilisé pour accéder aux fichiers sur le PC local.

Lors de la compilation, CODESYS Redundancy vérifications qui gèrent des variables (RTS_IEC_HANDLE, CAA.HANDLE) sont situés dans une zone contrôlée de manière redondante. Un avertissement est émis pour chaque variable de descripteur détecté dans une telle zone.

Gestion des utilisateurs de la sécurité en ligne

Si une gestion des utilisateurs de sécurité en ligne est utilisée, vous devez configurer les deux automates avec le même nom d'utilisateur et le même mot de passe. Sinon, les services en ligne tels que write variable ou online change ne sont pas transmis à l'automate de secours.

SoftMotion

CODESYS SoftMotion et CODESYS Redundancy ne peuvent pas être combinés. Les exigences de temps de SoftMotion ne peut pas être remplie lors de l'utilisation de la redondance.