Connecter un contrôleur (maître) avec un contrôleur (esclave)
La procédure de base correspond en grande partie à la description sous Connecter un contrôleur (maître) avec un coupleur de bus de terrain (esclave). La principale différence réside dans l'affectation du sens de communication. Elle ne s'effectue pas de manière automatique car des appareils programmables peuvent à la fois remplir des fonctions de maître et d'esclave. Le rôle doit donc être configuré. De plus, les points de données d'appareils esclave programmables doivent être créés et configurés pour la communication.
Placer les appareils dans la vue communication
- Sélectionnez les contrôleurs dans le catalogue produits et déplacez-les avec la souris dans l’affichage réseau (vue communication).

Configurer les modules d'E/S dans la vue de détail de l'appareil
- Double-cliquez sur le contrôleur pour ouvrir la vue de détail de l’appareil (au choix sous forme graphique ou de tableau).
- Disposez les modules d'E/S utilisés de manière analogue à votre matériel. Pour ce faire, déplacez-les du catalogue produits pour les placer derrière l'appareil.
- Paramétrez les modules d'E/S en les sélectionnant et en effectuant les paramétrages dans le panneau de commande « Paramètres ».
- Rebasculez dans l’affichage réseau.
- Procédez de la même façon avec le deuxième appareil.
Connecter les appareils
Demandez-vous tout d'abord lequel des appareils doit servir de maître et lequel d'esclave car la séquence dans laquelle vous connecterez les appareils entre eux est importante pour définir les rôles d'appareil. La ligne de connexion part du maître et se termine au niveau de l'esclave.
- Dans l’affichage réseau (vue communication), cliquez sur le connecteur gris (ETHERNET/Modbus) du maître et maintenez le bouton de souris enfoncé.
- Faites glisser la ligne de connexion sur le connecteur de même type de l'esclave et relâchez le bouton de la souris de sorte qu'un signe « plus » de couleur verte s'affiche.
- Les appareils sont connectés. Vous reconnaissez le rôle que vous avez attribué aux appareils à la flèche de la ligne de connexion : celle-ci commence par le maître et termine par l'esclave.

Conseil : vous pouvez modifier ultérieurement les rôles d'appareil maître et esclave. Pour ce faire, cliquez sur le connecteur Modbus de l'un des deux appareils, puis sur [Relation de communication]. La relation de communication actuelle est surlignée en bleu et est affichée en premier. Si nécessaire, sélectionnez une autre entrée.

Définir le protocole pour la connexion
- Pour définir le protocole pour la connexion, cliquez sur le bouton [Protocole] dans le menu contextuel du connecteur Modbus ou de la connexion.
- Sélectionnez la connexion souhaitée (dans cet exemple « Modbus (TCP) »).

Les possibilités de sélection dépendent des appareils utilisés.
Définir les paramètres de l'appareil dans le panneau de commande « Paramètres »
Allez dans le panneau de commande « Paramètres » pour modifier les paramètres ou réglages des appareils ajoutés. Le panneau de commande est ouvert par défaut. Si ce n'est pas le cas, vous pouvez l'ouvrir via le menu contextuel de l'appareil et le bouton [Paramètres].

- Sélectionnez l’appareil dans l’affichage réseau.
- Les onglets, masques de saisie et champs de sélection dans le panneau de commande « Paramètres » sont spécifiques à l’appareil. Les possibilités de paramétrage affichées dépendent du contenu du fichier de description d’appareil correspondant.
- Dans les premiers onglets, vous effectuez des paramètres généraux concernant l'appareil, l'API et le bus local. Modifiez par exemple l'adresse IP.
- Effectuez les paramètres Modbus dans l'onglet « Modbus ».
- Procédez de la même façon avec le deuxième appareil.
Programmer l'application
- Sélectionnez le contrôleur (maître).
- Pour ouvrir le panneau de commande « Structure programme », cliquez sur le bouton [Structure programme] dans l'onglet « AFFICHAGE » du bandeau de menu.
- Créez votre programme (dans le programme principal « PLC_PRG » ou dans une unité d'organisation de programme ou POU).
- Compilez et validez votre programme dans l'onglet « PROGRAMME » via [Compiler].
Configurer l'esclave
Vous effectuez la configuration de l'esclave dans le configurateur de points de données.
- Pour accéder au configurateur de points de données, double-cliquez sur la tuile de l'appareil esclave.
- La vue de l'appareil s'ouvre. Le configurateur de points de données Modbus s'ouvre dans l'onglet « Esclave Modbus » de la vue de l'appareil.
- À présent, définissez les points de données que l'esclave doit mettre à disposition via le bus de terrain. Vous disposez des possibilités suivantes qui sont expliquées ci-après :
• utiliser des variables existantes de l'application
• utiliser des variables de modules d'E/S
• créer des points de données génériques
Utiliser des variables existantes à partir de l'application :
Étant donné qu'un appareil programmable est utilisé comme esclave dans ce cas, les points de données de l'esclave se composent notamment de variables de l'application esclave. Ils peuvent être directement sélectionnés et créés à partir de l'application.
- Dans le menu contextuel de « Variables de programme », cliquez sur [Ajouter à partir du programme].
- Sélectionnez une variable existante à partir de l'application de l'esclave.
- Remarque : les types de données simples sont transférés directement via Modbus, tandis que les types de données complexes (y compris les structures) sont mappés sur des tableaux de mots. Ceux-ci sont ensuite transférées pour le compte de Modbus. Si le type de données utilisé est connu globalement dans le projet, le maître peut accéder directement aux éléments individuels des variables complexes, bien que Modbus n'utilise pas lui-même un tel type de données (voir aussi Accès à des types de données simples et complexes).
- Acceptez-la en cliquant sur [OK].
- Sélectionnez le sens de communication (Entrée, Sortie ou Entrée/Sortie).
- Vous pouvez utiliser le nouveau point de données.
Utiliser des variables de modules d'E/S :
- Pour utiliser des variables de modules d'E/S dans votre application, cliquez d'abord sur l'onglet « Image E/S bus local » dans le configurateur de points de données.
- Dans la vue de détail de l'appareil, sélectionnez le module d'E/S aux variable duquel vous souhaitez accéder.
- Créez des variables pour les différents canaux des modules d'E/S (ici « var1 » et « var2 »).
- Ces variables sont disponibles de manière globale.
- Rebasculez dans le configurateur de points de données. Pour ce faire, cliquez sur le contrôleur puis sur l'onglet « Esclave Modbus ».
- Dans le menu contextuel de « Variables de programme », cliquez sur [Ajouter].
- Un nouveau point de données « ModbusDataPoint » est créé.
- Allez dans l'application de l'esclave et attribuez au point de données créé la variable de bus local du module d'E/S.

Remarque
Toujours représenter des variables de modules d'E/S via des points de données nouvellement créés !
Pour les variables de modules d'E/S, utilisez le bouton [Ajouter] (comme décrit précédemment) et non [Ajouter à partir du programme].
Certes, vous pouvez aussi sélectionner la variable avec [Ajouter à partir du programme] (la variable s'affiche sous « Variables de programme »), mais aucun accès n'est possible dans ce cas, car on accède déjà la variable via le bus local.
Si vous cliquez sur [Générer le code], un message d'erreur apparaîtra dans la fenêtre de message : var1: map to existing variable with address is not allowed!
Par conséquent, utilisez le bouton [Ajouter à partir du programme] uniquement pour des variables d'application et pas pour des variables de modules d'E/S.
Créer des points de données génériques :
Dans certaines applications, il est judicieux d'utiliser des points de données génériques. Par exemple, vous pouvez regrouper plusieurs points de données dans un onglet et y accéder à partir de différents maîtres sans avoir à créer manuellement des canaux pour chaque accès dans le maître.
- Pour créer des points de données génériques, cliquez sur [Ajouter] dans le menu contextuel de « Points de données génériques ».
- Le cas échéant, adaptez le type de données et l'adresse Modbus.
- Dans le menu contextuel de la variable, cliquez sur [Éditer] et adaptez d'autres paramétrages le cas échéant, p. ex. les paramétrages sur les codes de fonction.
Remarque : les points de données génériques ne sont pas accessibles à partir de l'application esclave.
Configurer la connexion entre le maître et les esclaves
Vous configurez la connexion entre le maître et les esclaves dans le configurateur de bus de terrain. Dans celui-ci, les paramètres de connexion sont créés, les variables à transmettre sont affichées et de nouvelles variables sont créées.
- Cliquez sur le connecteur Modbus de l'un des deux appareils connectés.
- Cliquez sur le bouton [Configurateur] pour ouvrir le configurateur de bus de terrain.
- Le configurateur de bus de terrain s'ouvre. La connexion est affichée dans l'en-tête du configurateur. Si plusieurs esclaves sont connectés à un maître, vous pouvez modifier la sélection sous « Connexion sélectionnée ».
- Le configurateur de bus de terrain est divisé en deux colonnes :
sur le côté gauche figurent les variables qui sont transmises de l'esclave vers le maître via le bus.
Le côté droit affiche les points de données disponibles sur l'esclave. En plus des « Variables de programme », les « Points de données génériques » et d'autres variables standard qui sont automatiquement mises à la disposition de chaque esclave Modbus (« WAGO Modbus special register ») sont affichés. - Dans la colonne de droite, sélectionnez un point de données d'esclave auquel le maître doit accéder.
Conseil : vous pouvez sélectionner plusieurs points de données en maintenant la touche Ctrl enfoncée. - Dans le menu contextuel du point de données, cliquez sur [Mettre à disposition].
- La variable est créée dans l’application maître. La connexion avec le point de données esclave est ainsi établie.
- Vous voyez le point de données esclave (1), la variable créée sur le maître (2), le champ de sélection pour adapter le type de données (3), le temps de cycle pour adapter le type de données (4) et le type d'accès Modbus aux variables (5).
ReadOnly (RO) : le maître lit la sortie de l'esclave
WriteOnly (WO) : le maître écrit sur l'entrée de l'esclave
ReadWrite (RW) : le maître lit la sortie/écrit l'entrée de l'esclave - Le cas échéant, adaptez le temps de cycle (colonne T [ms]) au temps de cycle nécessaire.
- Vous pouvez à présent utiliser la variable de maître dans l'application du maître.
Accéder à des points de données
- Ouvrez la structure de programme et le programme principal du maître.
- Dans l’application du maître, l’accès à la variable se fait comme représenté sur la figure suivante.
- Conseil : pour une sélection simple de la variable, ouvrez l’aide à la saisie en appuyant sur la touche [F2].
- De cette façon, un point de donnée esclave existant a été rendu accessible via Modbus et a été lu dans l’application maître.