Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Autres systèmes > Automation

Automation Forum d'entraide sur l'automatisme, la robotique et l'informatique industrielle

Réponse
 
Outils de la discussion
Vieux 19/09/2008, 10h54   #1 (permalink)
Membre actif
 
Avatar de mat-tech
 
Date d'inscription: avril 2006
Localisation: Bruxelles
Messages: 173
Par défaut Connection RS485 vers Modul Modbus

Bonjour,
j'aimerai connecter mon pc a un compteur Diris A40 (Modbus), pour se faire j'ai un transformateur RS 485.
Le modul de communication du compteur a 3 connecteurs + - 0
Le transformateur a 4 connecteurs T+ T- R+ R-

Je suppose que je dois connecter T+ R+ -> sur connecteur + et T- R- sur -
Mais comme c'est du matériel assez cher, j'ai pas envie de jouer a l'apprenti sorcier, d'autant plus que je sais que sur ce Forum il y a des specialite en la matère ...

Pour la doc du modul communication du Diris c'est ICI

Pour la doc du convertiesseur c'est ICI

Merci
__________________
mat-tech est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/09/2008, 12h35   #2 (permalink)
Invité de passage
 
Date d'inscription: septembre 2006
Messages: 8
Par défaut



http://www.gs-computer.com/index.php...fr&id=6&menu=5
yome3k est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/09/2008, 14h16   #3 (permalink)
Membre actif
 
Avatar de mat-tech
 
Date d'inscription: avril 2006
Localisation: Bruxelles
Messages: 173
Par défaut

Bonjour,
J’ai raccordé de cette façon la et j'envoi cette requête au compteur
Code :
0502072B0002B4F3
Et je ne reçois aucune réponse hors il devrait me renvoyer quelque chose, merci de votre aide.
__________________
mat-tech est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 20/09/2008, 17h30   #4 (permalink)
Responsable Delphi
 
Avatar de Nono40
 
Date d'inscription: mai 2002
Messages: 5 067
Par défaut

Ton convertisseur ne gère pas le basculement en mode réception automatiquement mais avec le signal RTS. Quelle est la position du T-RTS ? Est-ce que le programme coté PC gère le signal RTS correctement ? (la plupart ne le font pas, surtout si tu passes par des APIs Windows dont les drivers n'ont jamais géré le RTS correctement)

Si ton problème est là, je te conseille très fortement de changer de convertisseur :
- Soit tu achètes un conservertisseur RS422 (RS485 4 fils) car là tu n'as plus besoin de la notion 'mode écriture'
- Soit tu achètes un convertisseur 'automatique' se servant de l'activité reçue sur TD pour passer en mode émission.

Un premier truc que du peux essayer : tu prends un volmètre à aiguille et tu mesures la tension entre T- et T+ (environ 1.5V normalement) à chaque trame envoyée par le PC l'aiguille doit bouger légèrement. Si tu n'as rien, essaye d'inverser le switch DCE-DTE.
__________________
Delphi :
La F.A.Q. , 877 réponses à vos questions !
264 sources à consulter/télécharger !
Nono40 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/09/2008, 19h54   #5 (permalink)
Membre actif
 
Avatar de mat-tech
 
Date d'inscription: avril 2006
Localisation: Bruxelles
Messages: 173
Par défaut

Bonjour,
Lors de l'envoie de données, j'ai mesuré entre Td+ et Td-, et je n'ai aucune variation de tension; avant ca, j'avai pourtant testé en liant avec un autre pc et la ca fonctionnait bien, mais avec le compteur je recois aucune reponse et pire je ne suis meme pas certain qu'il recoit ma trame.
J'ai lu dans la notice, du modul de communication dans les premieres pages, qu'il faut absolument mettre une resistance de 120 ohms a chaque extremité du cable(je vais tester ca demain).
Si non je vais acheter un convertisseur de la marque (ici pour voir)

Je suis ouvert a tous vos conseils

Merci a vous
__________________
mat-tech est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 21/09/2008, 21h29   #6 (permalink)
Responsable Delphi
 
Avatar de Nono40
 
Date d'inscription: mai 2002
Messages: 5 067
Par défaut

Essaye de débrancher ton régulateur et de regarder la tension en sortie de convertisseur. As-tu déjà quelque chose genre 1.5 V ? Tu peux essayer de baisser le débit à 300 bauds avant de regarder si l'aiguille bouge. Sur ton convertisseur essaye de te mettre sur TON-RON (toujours sans le régulateur) afin de vérifier que le signal sort.

Sur ton nouveau convertisseur il faudra choisir le mode émission activé sur "Flux de données".
__________________
Delphi :
La F.A.Q. , 877 réponses à vos questions !
264 sources à consulter/télécharger !
Nono40 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 22/09/2008, 09h35   #7 (permalink)
Invité de passage
 
Date d'inscription: septembre 2006
Messages: 8
Par défaut

Ne pas oublier de brancher l'adaptateur secteur 9V pour polariser le bus RS485 (des fois que )
yome3k est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/09/2008, 20h28   #8 (permalink)
Membre actif
 
Avatar de mat-tech
 
Date d'inscription: avril 2006
Localisation: Bruxelles
Messages: 173
Par défaut

Bonjour le forum,
bon apres quelques jours d'attente, j'ai recu mon nouveau convertisseur usb/rs485, bon le problème est que apres connection excectement comme décrit dans la notice, rien ne se passe, hors lorsque j'envoie des données la led TX clignote et avec un multimetre je vois qu'il y a une variation de tension, mais je ne recois aucune donnee.
J'ai besoin de votre aide

Pour la notice du convertisseur (ICI)
Pour la notice du modul de communication (ICI)
Pour avoir la version de mon programme (ICI)

Merci pour tout
__________________
mat-tech est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/09/2008, 22h22   #9 (permalink)
Responsable Visual Basic
 
Avatar de bbil
 
Date d'inscription: juin 2003
Localisation: Toulouse-Mirepoix
Âge: 42
Messages: 7 733
Envoyer un message via Skype™ à bbil
Par défaut

Bonsoir,

il manque un fichier dans ton zip.. form...

as-tu essayé de trouver un logiciel "maitre modbus" te permettant de faire des tests de communications indépendamment de ton programme afin de vérifier ta liaisons ?
tu as bien vérifier la concordance des paramètres séries (vitesse,parité ..) et numéro d'esclave entre ton logiciel et le diris ?
__________________
bbil : Impératif "A LIRE AVANT DE POSTER"
bbil est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 25/09/2008, 22h44   #10 (permalink)
Responsable Delphi
 
Avatar de Nono40
 
Date d'inscription: mai 2002
Messages: 5 067
Par défaut

Dans la doc du convertisseur USB-485 ce n'est pas précisé comment se fait la basculement émession/réception. Si tu restes en mode émission tu ne pourras jamais recevoir de réponse.
__________________
Delphi :
La F.A.Q. , 877 réponses à vos questions !
264 sources à consulter/télécharger !
Nono40 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/09/2008, 07h46   #11 (permalink)
Membre actif
 
Avatar de mat-tech
 
Date d'inscription: avril 2006
Localisation: Bruxelles
Messages: 173
Par défaut

Bonjour et merci pour vos reponses,
j'ai sauvegarde la Form dans le zip, (ICI)

Pour le programme maitre modbus, je n'ai aucune idee ou je pourais en trouver un gratuitement ...
Maintenant si vous avez un petit programme, ou meme un exe, pour que je puisse juste tester le bon fonctionnement, je suis preneur

Pour la bascule emission/reception, elle se fait automatiquement, grace au programme à moins que je ne me trompe ...

Encor merci de votre aide

Mon code (vient de la faqs vb)

Code vb :
 
Option Explicit
 
Private Sub Command1_Click()
Text1.Text = ""
MSComm1.Output = Text2.Text
Call MSComm1_OnComm
End Sub
 
Private Sub Form_Load()
Form1.Caption = "App2"
With MSComm1
.CommPort = 1 'on utilise le port COM1
.Handshaking = 2
.RThreshold = 1
.RTSEnable = True
.Settings = "9600,n,8,1"
.SThreshold = 1
.PortOpen = True
End With
Text1.Text = ""
 
Command1.Caption = "&Send"
Text2.Text = "0502072B0002B4F3"
End Sub
 
Private Sub Form_Unload(Cancel As Integer)
MSComm1.PortOpen = False 'on ferme le port quand l'appli quitte
End Sub
 
Private Sub MSComm1_OnComm()
Dim Tampon As String
 
Select Case MSComm1.CommEvent
' On effectue la gestion des erreurs (cf. le modèle ci-dessus)
' Ici, on gère en fait pas grand-chose, mais c'est pour illustrer la démarche ;)
 
'liste des erreurs possibles
Case comEventBreak 'On a reçu un signal d’interruption (Break)
Case comEventCDTO ' Timeout de la porteuse
Case comEventCTSTO ' Timeout du signal CTS (Clear To Send)
Case comEventDSRTO ' Timeout du signal de réception
Case comEventFrame ' Erreur de trame
Case comEventOverrun ' Des données ont été perdues
Case comEventRxOver ' Tampon de réception saturé
Case comEventRxParity ' Erreur de parité
Case comEventTxFull ' Tampon d’envoi saturé
Case comEventDCB ' Erreur de réception DCB (jamais vu)
 
'liste des événements possibles qui sont, eux, normaux
Case comEvCD 'Changement dans la broche CD (porteuse)
Case comEvCTS 'Changement dans broche CTS
Case comEvDSR 'Changement dans broche DSR (réception)
Case comEvRing 'Changement dans broche RING (sonnerie)
 
'Chouette! on a reçu des données :)
Case comEvReceive
      Tampon = MSComm1.Input
      Call Traitement(Tampon) 'traitement données
 
Case comEvSend ' il y a des caractères à envoyer
 
Case comEvEOF 'on a reçu le caractère EOF
End Select
End Sub
 
Sub Traitement(Chaine As String)
'cette procédure sert à traiter l’information reçue dans le tampon
     Text1.SelStart = Len(Text1.Text)
     Text1.SelText = Chaine 'ici, on affiche le résultat dans un champ de texte
End Sub
 
 
__________________

Dernière modification par bbil ; 26/09/2008 à 18h22 Motif: rajout code=vb
mat-tech est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/09/2008, 14h51   #12 (permalink)
Membre actif
 
Avatar de mat-tech
 
Date d'inscription: avril 2006
Localisation: Bruxelles
Messages: 173
Par défaut

Apres avoir cherché sur le net, j'ai trouvé un programme qui permet de tester la communication ModBus.

Avec le petit programme dont le code est ici plus haut, lorsque j'envoie la trame il n'y a que la led TX qui clignote, mais avec le programme que j'ai trouvé sur le net (ca va tres vite) mais il y a la led TX qui clignote puis la led RX qui clignote.

Moi je crois que dans le programme que j'ai ecrit il y a quelque chose qui ne fonctionne pas, l'envoie se fait correctement mais pas la reception.
Parmis vous personne n'a un petit programme de base qui me permettrait d'effectuer un envoie d'une cahine de caractere et afficher la reception de la chaine recue par l'esclave
Je vous remercie, j'ai vraiment besoin de vous
__________________
mat-tech est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/09/2008, 17h27   #13 (permalink)
Membre actif
 
Avatar de mat-tech
 
Date d'inscription: avril 2006
Localisation: Bruxelles
Messages: 173
Par défaut Communication Modbus avec un Diris en RS 485

Bonjour le forum,
Dans le cadre d'un projet, je dois réaliser une communication entre mon pc et un compteur, en Modbus.
J'aimerai juste savoir si parmi vous, une personne aurait un programme très simple qui me permettrait juste t'envoyer un trame "0503072B0002B4F3" et l'esclave (le compteur), va me renvoyer une trame en réponse.

J'ai utilisé un programme présent dans la facq, mais l'envoie fonctionne (la led TX clignote lorsque je clic envoyer), mais aucune réponse.

Si parmi vous, une personne a petit programme qui me permettrai d'envoyer et recevoir sur le port com1.

Pour plus d'info
La doc de mon convertisseur (ICI)
La doc du module de communication (ICI)
Le programme que j'utilise (ICI)

POUR LES MODERATEURS
J'ai un post presque identique dans le forum automation, mais comme je sais que dans la sexion visualbasic il y a beaucoup de personnes qui maîtrisent le sujet, voila pourquoi je post aussi ici
__________________
mat-tech est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/09/2008, 18h09   #14 (permalink)
Modérateur
 
Avatar de OhMonBato
 
Date d'inscription: mars 2007
Localisation: Vannes et en mer
Messages: 1 788
Par défaut

si ton code n'est pas trop gros, mets le ici, en tout cas la partie communication (en le mettant entre les balises code, c'est à dire grâce au bouton #), c'est plus simple de lire le code ici directement
__________________
Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
OhMonBato est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 26/09/2008, 18h26   #15 (permalink)
Responsable Visual Basic
 
Avatar de bbil
 
Date d'inscription: juin 2003
Localisation: Toulouse-Mirepoix
Âge: 42
Messages: 7 733
Envoyer un message via Skype™ à bbil
Par défaut

Citation:
Envoyé par bbil Voir le message
...
tu as bien vérifier la concordance des paramètres séries (vitesse,parité ..) et numéro d'esclave entre ton logiciel et le diris ?
dans le code ci-dessus je ne vois pas comment tu envoi ta chaîne
__________________
bbil : Impératif "A LIRE AVANT DE POSTER"
bbil est déconnecté   Envoyer un message privé Réponse avec citation
NEWS AUTRESAdaAlgoAssembleurBasicCobolFortranLaTeXMATLABPascalPerlPrologPurebasicRéseauRubySystèmesXMLRAD

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Autres systèmes > Automation



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide