Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Automation
Automation Forum d'entraide sur l'automatisme, la robotique et l'informatique industrielle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 08/03/2010, 00h22   #1
Invité de passage
 
Inscription : février 2009
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 3
Points : 0
Points : 0
Par défaut envoie d'une trame a travers modbus

salut,comment je peut envoyer une trame qui contient ces information a travers le protocole modbus vers une mot interne %MW0200 qui contient:
-numero d'esclave:01
-code function:06
-numero de premier mot:2329
-valeur de mot:000D
-crc16 :9243
merci
ziedingenieur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 07h20   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 541
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 541
Points : 16 410
Points : 16 410
Envoyer un message via Skype™ à bbil
Ce que tu nous cite semble être les paramètres d'une trame modbus... tu veux "envoyer" cela d'ou et vers ou ? habituellement on utilise une liaison série ou ethernet .......
bbil est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2010, 14h42   #3
Invité de passage
 
Inscription : février 2009
Messages : 3
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 3
Points : 0
Points : 0
je veut l'envoyer de TSX PREMIUM 57(maitre) vers une module COMBOX-S(esclave) à travers une liaison serie RS485,pour qui le module me repondre avec une trame qui possede le parametre à lire.
peut-on m'expliquer svp comment je fait un programme qui permet d'envoyer cette trame (langage ST) ainsi comment recuperer ces parametre et le mettre dans un memoire interne? merci
ziedingenieur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2010, 12h25   #4
Membre à l'essai
 
Inscription : septembre 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 34
Points : 23
Points : 23
il existe avec PL7pro une requête qui évite de se prendre la tête qui est

ReadVar pour la lecture et Writevar pour l'écriture depuis le tsx.

readvar(adr#M.V.1,'%MW',2329,1,%MW200:1,%MW300:4)

M : N° du module de communication modbus sur le TSX
V : N° de voie de communication sur le module
1 : adresse de l'esclave cible.

%MW : indique que l'echange se fait sur une variable type mot
2329 : n° du premier registre lu dans l'esclave
1 : taille de l'échange (ici un mot)

%MW200:1 = adresse(s) dans laquelle(s) je stocke le contenu du registre.

Remarque, il doit y avoir derrière le : le même chiffre que la taille de l'échange.

%MW300:4 = espace de stockage du résultat de l'échange.

j'espère que ça t'aidera
jay.69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2010, 20h22   #5
Responsable outils internes
 
Avatar de Nono40
 
Homme Bruno Guérangé
Ingénieur développement logiciels
Inscription : mai 2002
Messages : 7 604
Détails du profil
Informations personnelles :
Nom : Homme Bruno Guérangé
Âge : 44
Localisation : France, Loir et Cher (Centre)

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

Informations forums :
Inscription : mai 2002
Messages : 7 604
Points : 11 266
Points : 11 266
Citation:
Envoyé par jay.69 Voir le message
Remarque, il doit y avoir derrière le : le même chiffre que la taille de l'échange.
Non, la taille de la zone est en mot alors que la taille de léchange est en octets. La taille de la zone d'échange doit être suffisante pour contenir toutes les données reçues. Elle peut être plus grande mais pas plus petite.
__________________
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 00
Vieux 12/05/2010, 08h03   #6
Membre à l'essai
 
Inscription : septembre 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 34
Points : 23
Points : 23
Citation:
Envoyé par Nono40 Voir le message
Non, la taille de la zone est en mot alors que la taille de léchange est en octets. La taille de la zone d'échange doit être suffisante pour contenir toutes les données reçues. Elle peut être plus grande mais pas plus petite.
La taille est en octet dans une trame Modbus, mais avec la syntaxe Readvar/writevar, la taille est fixée par '%MW', '%MB' ou '%M' (Mot, octet ou bit) selon la nature des registres à lire.

pour info, j'ai déjà utilisé cela entre un TSX37 et un ATV31 et un TesysU
jay.69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 22h54.


 
 
 
 
Partenaires

Hébergement Web