Unity pro reception de bit unique par liaison modbus

Forum traitant des automates industriels de marque Schneider - Telemecanique
Canneberge
Code sa première boucle
Code sa première boucle
Messages : 17
Enregistré le : 17 oct. 2018, 19:33

Unity pro reception de bit unique par liaison modbus

Message 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 :)
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Unity pro reception de bit unique par liaison modbus

Message 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.
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2233
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Unity pro reception de bit unique par liaison modbus

Message 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 :D
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Canneberge
Code sa première boucle
Code sa première boucle
Messages : 17
Enregistré le : 17 oct. 2018, 19:33

Re: Unity pro reception de bit unique par liaison modbus

Message 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 ?
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2233
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Unity pro reception de bit unique par liaison modbus

Message 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
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Canneberge
Code sa première boucle
Code sa première boucle
Messages : 17
Enregistré le : 17 oct. 2018, 19:33

Re: Unity pro reception de bit unique par liaison modbus

Message 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.
philou77
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2142
Enregistré le : 21 oct. 2015, 10:00
Localisation : Ile de France

Re: Unity pro reception de bit unique par liaison modbus

Message 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 !
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part ! :D
Avatar du membre
JC87
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 2233
Enregistré le : 20 oct. 2015, 13:00
Localisation : Nouvelle Aquitaine

Re: Unity pro reception de bit unique par liaison modbus

Message 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
"On veut faire du zéro défaut mais on a zéro bonhomme et zéro budget, et bien à la fin on a zéro résultat..."
Avatar du membre
itasoft
Mi homme - Mi automate
Mi homme - Mi automate
Messages : 7806
Enregistré le : 20 oct. 2015, 10:15
Localisation : Lyon
Contact :

Re: Unity pro reception de bit unique par liaison modbus

Message par itasoft »

slts,
On sait pas si c'est du ModBus RTU ou du ModBus TCP/IP ?
Automaticien privé (de tout)
itasoft@free.fr
Canneberge
Code sa première boucle
Code sa première boucle
Messages : 17
Enregistré le : 17 oct. 2018, 19:33

Re: Unity pro reception de bit unique par liaison modbus

Message 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 !
Répondre