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 :

problème communication modbus/TSX57


Sujet :

Automation

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 1
    Points
    1
    Par défaut problème communication modbus/TSX57 [résolu]
    bonjour, voilà dans le cadre d'un projet de doit réa liser un TGBT communicant. dans ce TGBT il y a une centrale de mesure PM820 qui doit communiquer (envoyer des information comme la tension, la puissance) avec un automate TSX57. j'ai réaliser les branchement mais aucune information n'est transmise a l'automate. dans le programme automate j'ai inséré un bloc compare qui dit que si la puissance est supérieur a 10 KW, une sortie doit s'allumer. Mais lors de l'aisser ou je simule une forte consomation (15KW) la sortie de s'allume pas et je ne trouve pas le problème.
    un soucis possible est que la carte PMCIA (qui relie l'automate a la centrale de mesure) doit se brancher a une boite de dérivation (boite assez spéciale avec circuit imprimé a l'interieur) avec 5 fils + la tresse, or ma centrale est en modbus 2fils+ la tresse.

    j'espere avoir était assez clair, et j'espere aussi que quelqu'un saura me dépanner mon BTS est en jeu lol.

    PS: je suis en réseau modbus 8 bit, paires.

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    bonjour ..

    tu dis avoir fait le branchement ... mais comment la tu fait ?



    Ton automate doit être maitre sur ton réseau modbus, il faut programmer les trames de lectures, les informations ne vont pas "venir" toutes seules ...

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    j'ai branché l'alimentation de la centrale, j'ai mis une charge (une lampe), j'ai brancher les câble a ma centrale depuis ma lampe qui me permet de recevoir mon information tension, tout en passant par un tord de mesure d'intensité (TI).

    pour l'automate juste l'alimentation, et la carte PMCIA. la carte PMCIA et la centrale sont relié par deux fils, j'ai utiliser la paire marron blanc/blanc marron.

    je n'ai rien vu qui parler de trame de lecture comment faut-il programmer cela?

    a savoir que le programme automate fait via PL7pro, l'automate est définit comme maitre, qu'il communique en modbus 8bits et qu'il a une vitesse de 9600bauds

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Tu doit avoir une documentation avec ta carte PCMCIA ou tu doit trouver le schéma de câblage en RS485 2 fils ..


    a savoir que le programme automate fait via PL7pro, l'automate est définit comme maitre,
    tu as donc un déjà un morceau de programme dans ton automate ?

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    oui j'ai eu une feuille avec la carte mais le cablage du réseau est trés particulier car je ne peut pas relier ma carte directement a la centrale de mesure, je doit passer par le biais du boîtier TSX SCA 50 (genre de boite de dérivation) ou je doit brancher 5 fils+ la terre or la centrale marche en deux fils et la feuille de la cartes ne précise pas comment faire. a savoir qu'il n'y a aucun repère de borne dans le boitier.

    j'ai un morceaux de programme automate qui n'a aucun rapport avec la centrale, et une ligne concernant la centrale. dans cette ligne je dit que si le maux 24 (adresse que j'ai entré dans ma centrale) est supérieur a 10000 la sortie doit s'activer

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 90
    Points : 126
    Points
    126
    Par défaut
    Hello,

    pour le raccordement de la communication entre la centrale de mesure et la carte PCMCIA (une TSX SCP 114, je suppose ?), le boitier SCA 50 n'est pas obligatoire, tu peux relier les deux directement (ou via un bornier).
    Pour le raccordement des voies de communication côté carte PCMCIA, voir la doc Schneider Electric, dispo sur leur site: http://www.global-download.schneider...5?Opendocument
    (voir page 11, pour le raccordement avec un câble TSX SCP CM 4030. Au fait, la paire blanc/vert doit être la bonne).

    Côté Premium, il faudra programmer les lectures de données qui t'intéressent. Voir l'aide en ligne de PL7 Pro (touche de fonction F1), rubrique Communication (indice: READ_VAR).

    Après la lecture de tout ça, tu auras sûrement des questions précises à poser ici

    Bon courage.

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    trés bien merci pour tout je regarde sa demain et je vous tient au courant

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    bon bonne nouvelle, j'ai réussi a connecter la carte PCMCIA a ma centrale et a la configuerer sur l'automate.

    mais voila qu'un autre soucis apparait en effet l'automate doit lire une grandeur mesuré sur ma centrale (malheuresement la doc de ma centrale n'indique pas quel donné elle envoie a l'automate) afin de délester en cas de surconsomation.

    j'arrive au problème qui est: comment dire a l'automate de comparer la valeur mesuré par exemple si on consome 5kW et ke normalement le max est 4,5kW on doit délester, mais je n'arrive pas a écrire un programme dans PL7 pour que cela fonctionne j'ai bien esseyer avec un bloc operate et READ_VAR mais ça ne donne aucun resultat quelqu'un aurait-il un moyen de resoudre ce problème?

    PS: n'hésité pas a me poser des question si je n'ais pas été assez clair

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 90
    Points : 126
    Points
    126
    Par défaut
    Hello,

    Citation Envoyé par romain59280 Voir le message
    bon bonne nouvelle, j'ai réussi a connecter la carte PCMCIA a ma centrale et a la configuerer sur l'automate.
    Heu... ça signifie que ça cause ? Tu lis des valeurs dans la centrale, ou bien tu as juste câblé ?

    Citation Envoyé par romain59280 Voir le message
    mais voila qu'un autre soucis apparait en effet l'automate doit lire une grandeur mesuré sur ma centrale (malheuresement la doc de ma centrale n'indique pas quel donné elle envoie a l'automate) afin de délester en cas de surconsomation.
    Ben voilà, première chose à faire: trouver à quelle adresse l'automate doit lire le paramètre qui t'intéresse dans la centrale. Sinon, c'est mal barré...

    Citation Envoyé par romain59280 Voir le message
    j'arrive au problème qui est: comment dire a l'automate de comparer la valeur mesuré par exemple si on consome 5kW et ke normalement le max est 4,5kW on doit délester, mais je n'arrive pas a écrire un programme dans PL7 pour que cela fonctionne j'ai bien esseyer avec un bloc operate et READ_VAR mais ça ne donne aucun resultat
    Dans les grandes lignes, il faut:
    1 - lire périodiquement, dans la centrale, les paramètres qui t'intéressent (mesure de puissance, si j'ai bien compris);
    2 - comparer la puissance récupérée avec la valeur limite que tu fixes, et décider s'il faut délester en fonction de ça.

    Le (1) se fera avec une instruction READ_VAR(), qui mettra les données lues dans la centrale dans une table de mots, du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    IF %TM0.Q AND NOT %MW10:X0 THEN
        %MW12:=1000;
        READ_VAR(ADR#0.1.2,'%MW',16,20,%MW100:20,%MW10:4);
    END_IF;
    (* avec %MW10:4: structure de controle d'echange pour READ_VAR(); *)
    (* %MW10:X0: bit d'activité de l'echange *)
    (* %MW12: time-out, on abandonne l'echange au bout de 1000 ms *)
    (* la fonction READ_VAR() lit 20 mots à partir de l'adresse 16 *)
    (* dans l'esclave MODBUS d'adresse 2, à travers le port PCMCIA du processeur (ADR#0.1), *)
    (* et range les données dans %MW100:20, si l'echange precedent est terminé *)
    (* et si le timer cadençant les echanges est terminé *)
    Peux-tu poster le bout de programme que tu as tenté ? Ca nous en dira plus sur ce qui ne fonctionne pas.

    Pour diagnostiquer la communication:
    1 - lire les compteurs dans l'écran de mise au point de la voie de com;
    2 - régler la vitesse de communication la plus basse commune aux deux équipements, et regarder le clignotement de la led sur la carte PCMCIA;
    3 - régler le timer de cadencement des échanges (%TM0 dans l'exemple) à 5 secondes.

    Si tu ne vois pas la valeur qui t'intéresse (dans les variables %MW100 et suivantes dans l'exemple), alors:
    - la led ne clignote pas du tout: tu as programmé comme un manche;
    - la led ne clignote q'une fois toutes les 5 s: pas de réponse de la centrale => vérifer _tous_ les paramètres de communication;
    - la led clignote deux fois, mais le compteur de réponse avec exception s'incrémente: les requètes sont mal formées, du style on veut lire à une adresse qui n'existe pas dans la centrale.

    Bon courage !

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Poil_dur Voir le message
    Hello,

    Heu... ça signifie que ça cause ? Tu lis des valeurs dans la centrale, ou bien tu as juste câblé ?
    le cablage est OK, et lorsque l'on fait un test de communication, l'automate trouve la centrale de mesure.

    en ce qui concerne la programmation j'ai mit un bloc operate et dedans j'ai inscrit ça:

    READ_VAR(ADR#0.1.5.'%MW',1143,1,%MW60:1,%MW40:4)

    ma entrale est a l'adresse 5
    le 1143 correspondrait a la mesure de la puissance active d'aprés l'aide en ligne de shneider.

    mais le problème c'est qu'avec ce que j'ai fait, l'automate lit la variable mais n'active pas de sortie. Je conptais mettre un bloc compare qui activerai la sortie le soucis est que je n'ais aucune idée de quoi inscrit a l'interieur :s

    voila, en tout cas merci de m'aider

  11. #11
    Membre habitué
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 90
    Points : 126
    Points
    126
    Par défaut
    Hello,

    Citation Envoyé par romain59280 Voir le message
    ...READ_VAR(ADR#0.1.5.'%MW',1143,1,%MW60:1,%MW40:4)
    Ca me parait très bon ! Au passage, tu peux lire plusieurs registres en une requete, ça ne consomme pas tellement plus de temps de communcation, et ça te permettra de disposer des autres valeurs intéressantes comme les tensions, les intensités, les énergies actives/réactives... quand tu en auras besoin.

    Citation Envoyé par romain59280 Voir le message
    mais le problème c'est qu'avec ce que j'ai fait, l'automate lit la variable mais n'active pas de sortie. Je conptais mettre un bloc compare qui activerai la sortie le soucis est que je n'ais aucune idée de quoi inscrit a l'interieur :s
    Déja, dans la variable %MW60, lis-tu une valeur cohérente avec ce que tu peux voir sur l'afficheur de la centrale ?

    Le délestage est commandé par une sortie TOR de l'automate ?
    Pour commander une sortie réalisant le délestage, j'imagine un truc comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    IF (%MW60 > 5000) THEN
        SET %Q0.0 (* %Q0.0 passe à 1 s'il faut délester *)
    END IF;
    IF (%MW60 < 4500) THEN
        RESET %Q0.0 (* on releste *)
    END IF;
    C'est juste un exemple, à voir avec ton process !
    Et ne pas oublier de gérer les situations particulières, comme le démarrage de l'API, ou la perte de communication avec la centrale de mesure, par exemple...

  12. #12
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    justement on souhaite lire plusieur valeur faudra me dire comment on fait lol.

    en ce qui concerne %MW60, on n'arrive pas a lire une valeur quand je vais dans table de valeur il inscrit zero hors il devrai mettre 220V (car on fait un essais en mesure de tension) c'est la qu'est le plus gros problème en faite.

    en ce qui concerne le délestage je pensé faire un truc du meme genre sa me rassure ça veut dire que j'ai de bonne idée lol

  13. #13
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Comme te l'as dit Poil_dur , il te faut diviser ton travail en diverse tâches, commence par te préoccuper de l'acquisition de ta valeur avant de la traiter ...


    Tu nous as montré un morceau de ton code mais on ne sait pas comment ton Read_VAR est déclenché ?


    as tu observé en retour le status de ta fonction READ_VAR en %MW40:4 ?

  14. #14
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    ha non je n'ai pas pensé a regarder en %MW40 j'ai juste regardé en %MW60 et il n'y avait rien.

    en %MW40 que devrais-je voir? la valeur que je doit mesurer?

  15. #15
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Fait un petit tour dans l'aide en ligne de PL7 pro, au sujet de l'instruction READ_VAR .
    %MW40:4 Paramètres de gestion. Le compte-rendu d'opération prend l'une des valeurs suivantes:
    16#00: opération de lecture correcte
    16#01: erreur d'opération
    16#02: réponse incorrecte
    16#03: taille de la réponse incohérente
    ....

  16. #16
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    ou j'ai était voir ça, et j'ai pu lire 16#0000 qui indique que la valeur est bonne malgré cela je n'arrive pas a lire la valeur en question :s

  17. #17
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par bbil Voir le message
    ....Tu nous as montré un morceau de ton code mais on ne sait pas comment ton Read_VAR est déclenché ?...

    tu la vu ou : 16#0000 ..?


    Il suffit pas que retour soit = 0 .. il faut que t'on code soit exécuté donc tu doit voir %MW40 changer de valeur (numéro d'échange) et le retour qui doit être égal à 0 c'est %MW41 .

  18. #18
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    j'ai vu sa dans table de valeur (un truc du genre me souvient plus du nom exacte)

    je regarderais demain a combien est le retour je vous tiens informé

  19. #19
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    me revoila, alors aprés plusieur heure de travail, j'arrive a lire une variable avec l'automate. le programme était bon mais il y avait un probleme de configuration ma centrale était configuré en modbus or il fallait mettre Jbus mais ça rien ne le précisé. de plus, il y avait une erreur dans la configuration automate car il était en esclave et non en maitre. voila merci beaucoup de m'avoir aider ça ma permis de mieux comprendre comment tou cela fonctionné .

Discussions similaires

  1. Problème communication Excel-Access
    Par apriliaman dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/06/2008, 21h33
  2. Problème communication sockets serveur mutli-client
    Par muad'dib dans le forum Réseau
    Réponses: 5
    Dernier message: 17/05/2007, 02h21
  3. Réponses: 5
    Dernier message: 29/03/2007, 22h26
  4. Problème communication flash-php
    Par pascalghost dans le forum Flash
    Réponses: 3
    Dernier message: 01/02/2007, 22h45
  5. [ServerSocket]Problème communication client-serveur udp sur linux
    Par gdecrouez dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 29/09/2006, 14h59

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