Page 1 sur 3
Unity pro reception de bit unique par liaison modbus
Posté : 19 nov. 2018, 14:23
par Canneberge
Bonjour,
J'essaie de recevoir avec un automate m340, un flag, sur une liaison modbus. J'ai trouvé un bloc fonction nommé read_var, mais celui ci ne lit que des mots de bits. J'avais lors pensé à input char puis à convertir le char reçu en hexadécimal, mais j'ai vu sur une table ascii que le char correspondant à 1 était "début d'entête" (SOH) et je ne suis pas sur de pouvoir convertir cela.
Savez vous 'il existe un bloc tout fait permettant de recevoir des bits unique ?
Merci d'avance pour votre aide

Re: Unity pro reception de bit unique par liaison modbus
Posté : 19 nov. 2018, 14:40
par philou77
Salut,
Si c'est un %M, rien te t'empêche d'aller lire cela, le type d'objet est à spécifier sur Object_type du readvar il me semble.
Re: Unity pro reception de bit unique par liaison modbus
Posté : 19 nov. 2018, 14:41
par JC87
Bonjour,
on peut parfaitement lire des bits avec une fonction Read_Var en Mobus, il faut simplement lui préciser un type bits dans l'Object_Type du bloc avec le nombre de bits à lire dans "Object_Number ".
La syntaxe est la suivante :
Type des objets à lire pour les UC Modicon M340 et M580 :
’%M’: bits internes
’%MW’ : mots internes
’%I’ : bits d'entrée
’%IW’ : mots d'entrée
Après il faut aussi que l'esclave soit capable de traite un code requête de lecture de bits mais normalement ça ne pose pas de probléme.
JC
Oups mon message s'est croisé avec celui de Philou. Bon c'est pas grave on dit la même chose

Re: Unity pro reception de bit unique par liaison modbus
Posté : 19 nov. 2018, 15:14
par Canneberge
Bonjour,
Merci à tous pour vos réponses rapides !
Je vais donc spécifier le type d'objet, par contre, pourriez vous m'indiquer la différence entre les bits internes et les bits d'entrées ?
Re: Unity pro reception de bit unique par liaison modbus
Posté : 19 nov. 2018, 15:23
par JC87
Les bits d'entrées ce sont les entrées physiques TOR d'un automate ou d'un ilot d'entrées déportées. Les bits internes comme leurs noms l'indiquent sont internes au processeur et donc non liés a quelque chose de physique.
JC
Re: Unity pro reception de bit unique par liaison modbus
Posté : 19 nov. 2018, 16:58
par Canneberge
Merci pour la précision, je suppose que dans le cas d'une communication ou le bit communiqué par le pc distant ne se retrouve pas sur une carte physique, le type le plus adéquate est %M.
Par contre la variable en réception est un tableau de 2 int, est ce normal ? Je ne comprend pas trop comment récupérer le bit e sortie si on est obligé de récupérer un tableau.
Re: Unity pro reception de bit unique par liaison modbus
Posté : 19 nov. 2018, 17:41
par philou77
Re !
Le résultat de la lecture de bits contient aussi l'information de bits forcés.
(Ils ne sont pas accessibles en M340)
Tu lis par exemple 16 bits (%M) et tu les places à partir de %MW100 par exemple
Dans le tableau on récupère :
en premier - Etat des bits
en second - Etat du forcçage des bits
tu auras donc 2 octets de valeurs et 2 octets pour l'indication de forçage
%MW100:X0 = valeur du premier Bit
%MW101:X0 = état du forçage du premier bit
etc pour les 15 bits suivants
Tape F1 pour l'aide sur read_var suis je ne suis pas clair !
Re: Unity pro reception de bit unique par liaison modbus
Posté : 19 nov. 2018, 17:43
par JC87
Si tu a un PC ce que tu n'avait pas précisé, il vaudrait mieux le mettre en maitre et écrire dans l'automate, le M340 paramétré en esclave est capable de traiter des requêtes Modbus de manière totalement transparente sans écrire une seule ligne de code.
JC
Re: Unity pro reception de bit unique par liaison modbus
Posté : 19 nov. 2018, 19:48
par itasoft
slts,
On sait pas si c'est du ModBus RTU ou du ModBus TCP/IP ?
Re: Unity pro reception de bit unique par liaison modbus
Posté : 21 nov. 2018, 10:27
par Canneberge
Bonjour,
Merci à tous une nouvelle fois pour vos réponses.
Il s'agit dans mon cas de modbus TCP IP.
Merci pour tes explications philou77, je vais essayer de me servir de la liaison série avec putty dans un premier temps pour comprendre le fonctionnement de read_var.
Je vous tient au courant dans la journée !