Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 38

la communication via Modbus



  1. #1
    azizAVR

    la communication via Modbus


    ------

    bonjour, mes amis,


    je suis étudiant, et j'ai un stage de fin d'étude, mon projet consiste à implanté une interface pour la télegestion à distance, bon j'ai une carte électronique à base d'un µC ATmel 8515, pour la commande et la gestion des alarmes,cette carte à une sortie de RS485 par le port RJ11 (téléphonique) qui contient 4fils, RX,TX, et deux pour l'alimentation 24V, mon probleme c'est que je veux ajouter le protocole ModBus RU à la carte ,pour la communication,donc et ce que possible de trouver un convertisseur qui va convertit les données issu de ce µC par le RX et TX en Modbus, ou bien il faut crée ça à nouveau par un µC qui contient déjà ce protocole,
    ....urgent, svp j'ai besoin d'un coup de main merci d'avance

    -----

  2. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #2
    azizAVR

    Re : la communication via Modbus

    n'ai-je pas bien expliqué mon inquiétude?ou personne pour m'aider jusqu'alors?

  5. #3
    azizAVR

    Re : la communication via Modbus

    ya personne qui connais ce protocole ?!!!
    j'ai besoin de vos aidez !!!!

  6. #4
    schmo

    Re : la communication via Modbus

    salut,

    en RS485 on n'a pas une ligne pour émettre et une ligne pour recevoir. C'est du différentiel. on se sert des 2 lignes pour la transmission ou la reception.

    Pourquoi ne pas implanter directement le protocole Modbus dans ton µc ? tu peux te contenter d'implanter uniquement les fonctions qui te sont utiles.


    spécification: http://www.modbus.org/specs.php

    A+

  7. A voir en vidéo sur Futura
  8. #5
    azizAVR

    Re : la communication via Modbus

    merci schmo

    la carte contient normalement un circuit SN75176BP (8pins) c'est un convertisseur de type RS-485TTL, bon les pins RX,RE,TE et TX sont tous lié à le µC et la sortie de ce circuit (A,B) utilisé pour controler un LCD et d'autre application, je crois que la sortie A et B sont utilisé pour la transmission et la reception puisque ont peut configurer le LCD càd quand on modifier les parametres de Température,humidité ..
    donc si j'ai bien compris votre réponse c est que je peux implanter ce protocole modbus directement sur la carte puisque j'ai déjà le RS-485, càd que je dois écrire un programme en C qui gere la trame ModBus??!!
    svp j'ai besoin de votre aide
    merci d'avance

  9. #6
    Jack
    Modérateur

    Re : la communication via Modbus

    Jamais entendu parler de MODBUS RU. Ca ne serait pas plutôt RTU?

    donc si j'ai bien compris votre réponse c est que je peux implanter ce protocole modbus directement sur la carte puisque j'ai déjà le RS-485, càd que je dois écrire un programme en C qui gere la trame ModBus??!!
    bin oui. Si tu n'utilises pas toutes les commandes de MODBUS, tu peux coder ça assez facilement. Tu construis une trame que tu balances sur le port série, tu attends que l'esclave réponde et tu interprètes la trame.

    Sinon, il existe des librairies toutes faites, par exemple:
    http://www.libmodbus.org/

    A+
    Dernière modification par Jack ; 23/03/2012 à 10h49.

  10. Publicité
  11. #7
    azizAVR

    Re : la communication via Modbus

    merci Jack
    oui tt à fait c'est le ModBus RTU ,
    j'ai trouvé sur le net un code source qui sert à lire et ecrire les données par deux fonction :
    fonction3: read multiple registre message framing
    fonction 16: write multiple registers messages framing
    mais je sias pas comment je peux le transférer vers le µC, et par quel compilateur je dois utilisé pour le converti en Hexa?!!
    merci d'avance

  12. #8
    Jack
    Modérateur

    Re : la communication via Modbus

    Tu n'as pas de compilateur pour ton ATmega? Il va bien falloir en trouver un pour développer ton programme.
    Regarde sur le site d'ATMEL, les fabricants de µC en proposent tous un gratuit, la plupart du temps en version limitée mais suffisante pour une petite application.

    A+

    A+

  13. #9
    azizAVR

    Re : la communication via Modbus

    oui je utilise le MicroC for AVR mais je sais pas estce que il contient déjà ces bibliothéque,
    bon ta pas un code ou bien un exemple de programme pour crée une trame ModBus en C ??
    merci

  14. #10
    Jack
    Modérateur

    Re : la communication via Modbus

    Une étape indispensable à la réussite d'un projet est de s'investir personnellement. Il te faut absolument lire une doc sur le contenu d'une trame modbus, comprendre ses différentes fonctions et consulter la doc des esclaves modbus pour savoir comment accéder à leurs données.

    A+

  15. #11
    azizAVR

    Re : la communication via Modbus

    oui justement je connais le contenu de la trame ModBus, moi j'intéresse pas aux esclave puisque mon but c'est que la carte contient le protocole ModBus, j'ai trouvé un code en C mais je sais pas comment l'exploiter ??!

  16. #12
    Jack
    Modérateur

    Re : la communication via Modbus

    Je ne comprends vraiment pas ce qui te pose problème: apparemment tu connais le contenu de ta trame. Envoie-la sur le port série et relie ce que te renvoie l'esclave. Que veux-tu faire de plus? As-tu un exemple concret?

    A+

  17. Publicité
  18. #13
    Seb.26

    Re : la communication via Modbus

    Citation Envoyé par MP
    bjr .

    je suis étudiant, et j'ai un stage de fin d'étude, mon projet consiste à implanté une interface pour la télégestion à distance, bon j'ai une carte électronique (existe et fonctionne bien) à base d'un µC ATmel 8515, pour la commande et la gestion des alarmes,lla carte contient un convertisseur SN75A76 de type RS485 le µC controle ce circuit via 4ports(Rx,Tx,T/R,et RST\) et la sortie de ce circuit (Aet B) est connecter avec le port RJ11 (téléphonique) qui contient 4fils, A,B, et deux pour l'alimentation 24V,qu ont peut connecter avec une autre carte ou bien avec un LCD. mon problème c'est que je veux ajouter le protocole ModBus RTU à la carte ,pour la communication,donc et ce que possible de trouver un convertisseur qui va convertit les données issu de ce µC par le RX et TX en Modbus, ou bien il faut implanter directement le protocole Modbus dans le µc par un programme en C??
    ....urgent, svp j'ai besoin d'un coup de main merci d'avance

    Répondre avec citation Répondre au message privé Transférer le message Transférer

    Réponse rapide

    C'est pas la peine d'envoyer des MP à tout le monde comme ça, ça donne tout sauf envie de t'aider ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  19. #14
    azizAVR

    Re : la communication via Modbus

    merci Jack
    bon pour etre trés claire, dans l'entreprise que je fait mon stage,j'ai trouvé une carte à base d'un µC avec un programme cette carte contient une sortie RS485 on peut relié cette carte avec deux esclaves une autre carte à base d'un µC et une carte qui contient un afficheur LCD,mon projet consiste à ajouter le ModBus, d'apres l'analyse de cette carte je crois que cette carte contient déjà ce protocole modbus,parceque la carte à une sortie RS485 à partire du ports série (UART) de µC, et elle sert à connécté des esclaves (2cartes) je crois que c'est le meme principe du modbus RTU?!!on effet j'ai pas trouvé une documentation de cette carte
    si non càd si la carte ne contient pas ce ModBus c'est moi qu'il va ajouter un interface je crois que l'interface c'est à base d'un µC pour lire les données Tx et encapsuler ces données ce forme d'une Trame ModBus RTU .
    merci Jack de m'éclairai le chemin.

  20. #15
    azizAVR

    Re : la communication via Modbus

    Pouvez-vous me aidez SVP.??
    schmo

  21. #16
    schmo

    Re : la communication via Modbus

    salut,

    Si ta carte µ contient déjà le protocole modbus.... Youpi t'a rien à écrire...
    Sinon, concentre toi sur les esclaves qui sont reliés sur le bus rs485. Quel protocole utilisent-ils? car c'est pas parce qu'ils sont branchés sur le bus 485 qu'ils utilisent le protocole modbus... (RS485 c'est le transport...Modbus c'est la manière de discuter..)

    A+

  22. #17
    azizAVR

    Re : la communication via Modbus

    oui ta raison on peut rien dire, mais comment je peux d'avoire est ce que la carte contient ou nn le modBus parce que j'ai pas des information sur la carte?
    merci d'avance

  23. #18
    Jack
    Modérateur

    Re : la communication via Modbus

    On ne sait rien sur ta carte, on ne sait rien sur ton µC, on ne sait pas avec quoi il faut développer, comment veux-tu qu'on t'aide ...

    A+

  24. Publicité
  25. #19
    azizAVR

    Re : la communication via Modbus

    c'est une simple carte à base d'un µC ATMEL 8515 à des entrés numérique (12 in pour les larmes comme alarme si il ya une manque de tension AC ou bien DC ...) et 3 entrées analogique (Température, humidité ) et des sortie des relais (11 relais) avec 2 sorties RS485 pour relié un afficheur LCD, et une carte des alarmes c tt. je pense pour éviter tous ça d'ajouter un µC et le connecter avec cette carte par le port RS485, et de faire un programme qui va gérer ces données sous forme des trames ModBus, nn?
    merci d'avance

  26. #20
    Jack
    Modérateur

    Re : la communication via Modbus

    Tant que tu n'en connaîtras pas plus sur ta carte, ni sur la manière de communiquer avec, je crois qu'on n'avancera pas.

    A+

  27. #21
    azizAVR

    Re : la communication via Modbus

    salut,
    comme quoi ces informations??
    bon je vais voir si j'arrive a trouver les infor?
    merci d'avance

  28. #22
    azizAVR

    Re : la communication via Modbus

    Re salut,

    d'après une petite documentation de la carte, j'ai trouvé que cette carte ne contient pas le protocole ModBus , et que le RS-485 sert uniquement pour la communication série avec plusieurs esclaves, donc je me trouve que je suis obligé d'ajouter une interface, qui supporte ce protocole,je crois que pour réaliser cette interface j'ai besoin d'un µC qui possede une sortie serie comme UART, ensuite d'utiliser l'UART pour la transmission et la reception des données,enfin utiliser les fonctions du protocole ModBus (Fonction02,Fonction16..)pour organiser les trames UART ce forme d'une Trame modbus
    je suis sur le bon chemin ?!!
    merci d'avance

  29. #23
    Jack
    Modérateur

    Re : la communication via Modbus

    Tu ne peux donc pas reprogrammer la carte?

    crois que pour réaliser cette interface j'ai besoin d'un µC qui possede une sortie serie comme UART, ensuite d'utiliser l'UART pour la transmission et la reception des données,enfin utiliser les fonctions du protocole ModBus (Fonction02,Fonction16..)pour organiser les trames UART ce forme d'une Trame modbus
    Si tu ne peux pas reprogrammer la carte, oui.
    Mais il faudra aussi ajouter des drivers de ligne RS485 pour accéder au bus.

    A+

  30. #24
    azizAVR

    Re : la communication via Modbus

    oui j'ai écris des programme qui pilote les entrés numérique et analogique pour commandé les sorties (relais) et ça marche bien mais j'ai pas encours arrivée à utilisé le port Tx et Rx càd l'envoyer des données sur le RS-485 ;
    mais mon encadrant il ma dit que je vais refaire une carte qui fait la mm chose c'est plus simple d'analyser la carte ,(copier/coller) bon j'ai réaliser cette carte, j' le PCB et ts, pour le moment je pilote que les entrées sortie pas les sorties séries donc la dernier phase de mon projet c'est d'envoyer ces données (Alarmes, temperature..) sur un afficheur LCD je crois que c'est facile, et sur un port serié modbusRTU( le plus difficile )
    donc je sais pas est ce quee si j'arrive à envoyer ces donnes via UART de mon µC je peux trouvé une moyenne pour le rendre sous forme ModBus !!!
    merci Jack

  31. Publicité
  32. #25
    Jack
    Modérateur

    Re : la communication via Modbus

    il faut lire la doc de l'uart de ton µC. Comme je ne connais ni sa marque, ni son modèle, je ne peux rien pour toi pour le moment.

  33. #26
    azizAVR

    Re : la communication via Modbus

    oui UART de ATmel c'est presque la mm chose que les PIC le mem principe j'ai essayé avec une petite programme est ça marche bien:
    Code:
    char uart_rd;
    void main() {
       DDRB=0xFF;
       PORTB=0;
    
       UART1_Init(9600);              // Initialize UART module at 9600 bps
       Delay_ms(100);                 // Wait for UART module to stabilize
       while (1) {                    // Endless loop
           if (UART1_Data_Ready()) {     // If data is received,
               uart_rd = UART1_Read();
               if(uart_rd=='S'){
                   PORTB.B0==1;
               }     //   read the received data,
               UART1_Write(uart_rd);       //   and send data via UART
           }
       }
    }
    supposant que je travaille avec le PIC 16F87 est ce que possible d'utiliser le UART pour communiquer via le modbus,??!!
    Dernière modification par Jack ; 26/03/2012 à 22h45. Motif: Ajout balises code

  34. #27
    Jack
    Modérateur

    Re : la communication via Modbus

    Il va falloir que tu apprennes à soigner la présentation, donc indente ton code et utilise les balises codes pour le forum.

    J'ai l'impression que tu as repiqué un code et que tu ne sais pas trop ce qu'il fait parce que je ne vois pas trop pourquoi le 1er caractère doit être un 'S'. Enfin bref, ce code ne fait que renvoyer ce que reçoit l'usart et mettre une sortie à 1 à la réception d'un 'S'.
    Je ne vois pas trop le rapport avec modbus.

    est ce que possible d'utiliser le UART pour communiquer via le modbus
    J'ai l'impression que tu n'as toujours pas compris ce qu'est modbus. Modbus est un PROTOCOLE utilisant la liaison série asynchrone comme support de transmission.

    A+

  35. #28
    azizAVR

    Re : la communication via Modbus

    salut,
    oui c'est un simple programme en C, pour tester la transmission et la réception via UART, j'ai utilisé le caractère "S" juste pour le teste, pour le ModBus vraiment j'ai pas grand chose à dire,si j'ai bien compris le protocole ModBus c'est un protocole de dialogue basé sur une structure hiérarchisée entre un maître et plusieurs esclaves.
    et peut être implémenté sur liaison séries RS-232 ou bien RS-4S85 et mm en TCP.
    c'est pour cette raison que j'ai choisi l UART (transmission asynchrone) pour envoyées les données sur le RS-485 ou bien le RS-232, mais comment on peut dire que cette Trame correspond à la trame ModBus (les trames contenant l'adresse de l'automate concerné, la fonction à traiter (écriture, lecture), la donnée et le code de contrôle de redondance cyclique CRC. ??!
    merci Jack .

  36. #29
    Jack
    Modérateur

    Re : la communication via Modbus

    Citation Envoyé par azizAVR Voir le message
    salut,
    c'est pour cette raison que j'ai choisi l UART (transmission asynchrone) pour envoyées les données sur le RS-485 ou bien le RS-232, mais comment on peut dire que cette Trame correspond à la trame ModBus (les trames contenant l'adresse de l'automate concerné, la fonction à traiter (écriture, lecture), la donnée et le code de contrôle de redondance cyclique CRC. ??!
    merci Jack .
    C'est expliqué dans n'importe quelle doc, notamment celle-ci qui a l'avantage d'être plus courte que la doc complète:
    http://stielec.ac-aix-marseille.fr/c...oad/modbus.pdf

    (Attention, modbus TCP est un protocole différent de modbus série).

  37. #30
    azizAVR

    Re : la communication via Modbus

    merci Jack pour ta réponse c'est très claire,
    si j' bien compris pour implémenter le ModBus la solution c'est au niveau de soft c.à.d encoder les données selon ce protocole
    Start Adresse Fonction Données CRC Stop.
    d'après cet exemple :
    Trame émise par le maître : 04 03 00 02 0001 25 CA
    c ça la forme de la trame, mais j'ai pas compris comment mon µC peut savoir que 03 correspond à une fonction pour lire le registre d'adresse 00 02??!!

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Modbus rtu
    Par maccoa dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 03/03/2012, 19h52
  2. Communication modbus sur Ethernet
    Par mayonaise dans le forum Internet - Réseau - Sécurité générale
    Réponses: 6
    Dernier message: 24/11/2011, 20h00
  3. Modbus en Matlab
    Par ouarnadir dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 07/04/2010, 00h12
  4. Protocole Modbus
    Par eul boïau rouge dans le forum Électronique
    Réponses: 7
    Dernier message: 19/11/2008, 19h13
  5. Modbus Protocol Communication
    Par triviaux dans le forum Électronique
    Réponses: 1
    Dernier message: 27/02/2008, 20h40
Découvrez nos comparatifs produits sur l'informatique et les technologies.