IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Automation Discussion :

Récupérer les bits d'un esclave Modbus sur Vijeo Designer


Sujet :

Automation

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 8
    Points
    8
    Par défaut Récupérer les bits d'un esclave Modbus sur Vijeo Designer
    Bonjour,

    Je suis actuellement sur un projet d'automatisme et j'ai un petit problème avec Vijeo Designer. Le système est composé de 4 automates (TSX-57) reliés en Ethernet à un automate maître.

    On m'a demandé de récupérer les données des ces automates (variables) sur l'automate maître et d'analyser les données sur Vijeo Designer.

    Mon problème est le suivant : Je n'arrive pas à récupérer les variables de mes automates sur l'automate maître.

    Par exemple : J'ai un capteur câblé sur un de mes automates, et dans le programme ce capteur est relié au bit interne %M1500. Lorsque sur Vijeo Designer, je rentre état_capteur_automate1 et lui donne comme adresse %M1500, l'IHM ne prend pas en compte cette variable puisqu'elle n'apparaît pas dans le programme de l'automate maître.

    Comment faire pour que je puisse récupérer les bits internes de mes automates et ainsi, les utiliser avec l'IHM de mon automate maître ?

    Merci d'avance ^.^

  2. #2
    Membre du Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Mai 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Automaticien

    Informations forums :
    Inscription : Mai 2011
    Messages : 68
    Points : 64
    Points
    64
    Par défaut
    Salut,

    il faut mettre en place un IO Scanning sur ton maître pour qu'il aille lire les données désirées sur les esclaves.

    Regarde dans la config ethernet du maître, c'est là que ça se passe.


  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 8
    Points
    8
    Par défaut
    Bonjour LePingouin,

    Justement, j'ai essayé de comprendre l'IO Scanning, mais pour moi, il ne lit que les mots internes %MW et non pas les bits internes %M. L'IO Scanning ne serait qu'à faire sur l'automate maître du coup ?

    De plus, j'ai 144 variables à lire par automate, et l'IO Scanning ne va que jusqu'à 125 ..

    C'est assez problématique, je ne sais pas comment faire

  4. #4
    Membre du Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Mai 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Automaticien

    Informations forums :
    Inscription : Mai 2011
    Messages : 68
    Points : 64
    Points
    64
    Par défaut
    L'IO Scanning ne peut lire que %MW, mais il y plusieurs solutions:

    - Soit, dans chaque esclave, tu recopie les %M qui t'intéresse dans une plage de %MW pour pouvoir les attaquer en IO Scanning. Si tu dépasse le nombre de mots pour un requête, il suffit de créer 2 requêtes. L'IO Scanning ne se paramètre que sur le maître car il sait lire et écrire dans les esclaves.

    - Soit, si tous tes automates sont compatibles, tu utilise du Global Data. Ça permet de déclarer des variables communes à plusieurs automates. Par contre il faut les paramétrer une à une dans chaque automate!

    - Soit (et c'est le plus simple), si ton réseau ethernet le permet, tu déclare tous tes automates dans Vijeo et tu pourra lire les %M directement dans les automates esclaves sans les faire transiter par le maître.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 8
    Points
    8
    Par défaut
    Pour la dernière solution (oui je crois que je vais choisir la plus simple ), je peux directement sur Vijeo Designer, ajouter 4 liaisons Modbus TCP/IP même si les autres automates cont connectés à leur propre écran tactile ?

    En tout cas je vais essayer cette solution et je te tiens au courant si ça marche ou non

  6. #6
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 104
    Points
    19 104
    Par défaut
    Bonsoir,

    Si ton afficheur est sur le même réseau que tes quatre automates, oui tu peux créer autant de liaison que d'automate et lire directement les données sans passer par le maître.
    Tu peux avoir sans problème plusieurs afficheurs sur le même automate.
    La seule contrainte est de 16 connexions simultanées par carte réseau de l'automate. Attention : Unity, les voies IOScanning, les fonction directe read_var/write_var comptent aussi dans le total de 16. En mise au point sur la carte réseau tu a le nombre de connexions actives à l'instant T.

    C'est la solution la plus simple.

    Le nombre de driver (dans ton cas un seul, ModbusTCp) et le nombre d'équipements (dans ton cas quatre) est limité suivant le modèle d'afficheur que tu utilises

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 8
    Points
    8
    Par défaut
    Merci pour vos réponses !

    Au final, je vais essayer avec l'IO Scanning car je ne peux pas ajouter mes automates sur Vijeo Designer (Impossible de mettre plusieurs fois la liaison TCP/IP). Je pense que c'est parce que seul mon automate maître est relié aux autres, et l'écran tactile est uniquement relié à l'automate maître.

    J'ai donc rajouter dans mon programme des lignes pour dire que quand %M1500 est actif, il active la variable %MW1540:X0. Comme ça je peux traiter mes variables avec l'IO Scanning. Je vais essayer ce matin pour voir si cela fonctionne

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 8
    Points
    8
    Par défaut
    Re bonjour,

    Bon au final l'IO Scanning ne marche toujours pas, et j'avoue que je dois être proche de la solution pourtant .. En regardant pleins d'explications j'ai essayé de le paramétrer au mieux mais toujours rien

    Pour voir les paramètres enregistrés, voici quelques screen de pl7 :

    Screen de la config de l'automate maître :
    Nom : Sans titre.png
Affichages : 2113
Taille : 110,7 Ko

    Screen de la config de l'automate 1 :
    Nom : Sans titre2.png
Affichages : 2157
Taille : 95,1 Ko

    Screen du bout de programme rajouté dans l'automate 1 pour que mes variables soient reconnues sur l'IO Scanning :
    Nom : Sans titre3.png
Affichages : 2060
Taille : 86,0 Ko

    Je vois plus du tout comment faire, pourtant j'ai essayé de changer les paramètres un par un pour voir si cela changeait quelque chose mais rien :/

  9. #9
    Membre du Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Mai 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Automaticien

    Informations forums :
    Inscription : Mai 2011
    Messages : 68
    Points : 64
    Points
    64
    Par défaut
    C'est un problème d'IP: tes 2 automates ne sont pas sur le même sous réseaux, ils ne pourront donc jamais communiquer.

    Masque = 255.255.255.0
    API1 = 192.168.1.1
    API2 = 192.168.10.1

    Il faut soit définir un masque de sous-réseau plus large (255.255.0.0) de manière à ce qu'il englobe toutes tes IP actuelles,
    soit changer l'IP des automates pour qu'elles rentrent dans ton masque de sous réseau actuel.

  10. #10
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 8
    Points
    8
    Par défaut
    Pourtant mes deux masques étaient 255.255.255.0 donc identiques.

    Il suffirait juste de mettre le masque en 255.255.0.0 pour les deux automates pour que cela fonctionne ?

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 8
    Points
    8
    Par défaut
    De plus, je dois associer les variables de mes automates à des voyants sur Viejo Designer.

    Cela marchait quand mes variables étaient sous la forme %M, mais en me servant de l'I/O Scanning j'ai dû transformer mes variables en %MW..:X.. Le seul soucis c'est que maintenant mes voyant ne marchent plus du tout

    Comment faire ?

  12. #12
    Membre du Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Mai 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Automaticien

    Informations forums :
    Inscription : Mai 2011
    Messages : 68
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Chachoumie Voir le message
    Pourtant mes deux masques étaient 255.255.255.0 donc identiques.
    Identiques ou non, c'est pas ça l'important, ce qui compte c'est que les IP soient compatibles au masques.

    Comme l'indique son nom, un masque sert à "masquer" une partie de l'IP. Les nombres à 255 sont conservés, les 0 sont masqués.

    Pour bien comprendre, voilà ce qui se passe:

    API1:
    255.255.255.0
    192.168.001.x

    API2:
    255.255.255.0
    192.168.010.x

    Tu constate que les parties restantes des IP ne sont pas identiques, donc ils ne peuvent pas communiquer.

    Si tu mets 255.255.0.0, alors la partie non masquée sera 192.168.x.x, ce qui est vrai pour tes 2 automates, ils pourront alors dialoguer.

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 24
    Points : 8
    Points
    8
    Par défaut
    Ah oui d'accord je comprends mieux !

    Je ne me rappelais plus l'intérêt des masques sous réseaux Du coup je viens de modifier le masque pour mes automates en mettant : 255.255.0.0, j'espère que cette fois cela marchera

  14. #14
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 104
    Points
    19 104
    Par défaut
    Citation Envoyé par Chachoumie Voir le message
    Au final, je vais essayer avec l'IO Scanning car je ne peux pas ajouter mes automates sur Vijeo Designer (Impossible de mettre plusieurs fois la liaison TCP/IP). Je pense que c'est parce que seul mon automate maître est relié aux autres, et l'écran tactile est uniquement relié à l'automate maître.
    Faux.

    Il ne faut pas mettre plusieurs pilotes mais un pilote et N équipements.
    Dans Vijeo ça va donner ceci avec quatre automates ModbusTcp de configurés :
    Nom : VijoNcom.JPG
Affichages : 2361
Taille : 104,5 Ko

    C'est quand même plus simple que de mettre de l'ioscanning pour cela !
    Il faudra bien sur mettre le masque de sous réseau à 255.255.0.0 aussi sur ton afficheur pour qu'il puisse accéder aux deux

Discussions similaires

  1. Réponses: 3
    Dernier message: 27/07/2010, 10h41
  2. Réponses: 3
    Dernier message: 01/02/2010, 10h54
  3. récupérer les bits d'un fichier
    Par padodanle51 dans le forum C
    Réponses: 6
    Dernier message: 20/11/2007, 20h43
  4. Récupérer les bits qui composent un byte
    Par ToTo13 dans le forum Langage
    Réponses: 4
    Dernier message: 25/01/2007, 18h12
  5. récupérer les bits d'un byte
    Par ToTo13 dans le forum Langage
    Réponses: 3
    Dernier message: 10/12/2006, 17h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo