Page 1 sur 2

le bloc READ_VAR pour plusieurs eclaves somachine basic

Posté : 12 juil. 2018, 16:08
par AMINE
Bonjour les amis,
je fait un échange de données entre un maître et plusieurs partenaires, avec le bloc WIRTE_READ_var de somachine basic, l'astuce est d’exécuter sepparement chaque bloc, pour cela j'ai utilisé un compteur temporaire pour chaque valeur du compteur un partenaire est interrogé, mais la communication est un peux lourde, je vous sollicite donc pour m’orienter a utiliser les bits DONE et BUSY de chaque blocs SVVVVVVVVVVVVVp :oops: ou autre solution plus efficace, merci par avance

Re: le bloc READ_VAR pour plusieurs eclaves somachine basic

Posté : 12 juil. 2018, 16:40
par itasoft
slts,
Pourquoi tu dois utiliser WIRTE_READ_VAR et pas WRITE_VAR ou READ_VAR ???

Re: le bloc READ_VAR pour plusieurs eclaves somachine basic

Posté : 13 juil. 2018, 00:36
par AMINE
itasoft a écrit : 12 juil. 2018, 16:40 slts,
Pourquoi tu dois utiliser WIRTE_READ_VAR et pas WRITE_VAR ou READ_VAR ???
Bonjour ITASOFT,
pour lire et écrire au même temps , mais même si j'utilise read_var et write_var il faut faire une séquence d'appel sepparer pour chaque bloc sinon sa marche pas

Re: le bloc READ_VAR pour plusieurs eclaves somachine basic

Posté : 13 juil. 2018, 00:52
par itasoft
slts,
Le WRITE_READ_VAR est utilisé quand il faut d’abord envoyer une demande de lecture à l’esclave qui répond immédiatement dans la table de réception du write_read_var.
Si ce n’est pas le cas, il faut utiliser WRITE_VAR pour écrire dans l’esclave et READ_VAR pour lire.
Ceci dit, tu as combien de lectures et écriture à faire , il te faut combien de blocs WRITE_VAR et combien de blocs READ_VAR ?????????

Re: le bloc READ_VAR pour plusieurs eclaves somachine basic

Posté : 13 juil. 2018, 00:58
par AMINE
slts ,
merci pour votre réponse ITASOFT
moi j'ai un maitre et 3 esclaves, en tous soit 3 blocs read_write ou bien 3r ead et 3 write

Re: le bloc READ_VAR pour plusieurs eclaves somachine basic

Posté : 13 juil. 2018, 00:59
par philou77
Salut,

Perso, j'utilise un seul bloc en Read et Write, un compteur et un tableau d'adresse pour lire les températures et écrire les consigne (bon d'&accord, suis en M340) mais ça doit pas être si différent en somachine basic

Re: le bloc READ_VAR pour plusieurs eclaves somachine basic

Posté : 13 juil. 2018, 01:19
par itasoft
Slts,
Ya plusieurs façons de faire, utiliser 3 blocs READ et 3 blocs WRITE
une des solution consiste à mettre tous les BUSY en sérié et quand chaque bloc on terminés sa requête on décale le chenilllard WROL d’une case et avec les bits de WROL on lance les requêtes EXECUTE pour ne faire que un seul bloc par tour de cycle, exemple ci dessous.
---
cliquer dessus pour agrandir
_busy.JPG

Re: le bloc READ_VAR pour plusieurs eclaves somachine basic

Posté : 13 juil. 2018, 01:37
par AMINE
salut ;
je vais essayer de voir et déchiffrer votre solution ITASOFT, moi j'ai fait comme ça pour executer chaque bloc separement, pour le moment sa marche mais je ne s'est par la suite si je peux avoir des cas ou le front n'est pas generer

Re: le bloc READ_VAR pour plusieurs eclaves somachine basic

Posté : 13 juil. 2018, 01:45
par itasoft
slts,
c'est pas bon, tous les blocs utilisent le même port série il faut donc que tous les blocs aient terminés leurs requetes avant d'en lancer une autre, compris ??
j'avais dit de ne pas utiliser WRITE_READ_VAR

Re: le bloc READ_VAR pour plusieurs eclaves somachine basic

Posté : 13 juil. 2018, 02:03
par dpo
le dernier somachine basic a un i/o scan modbus intégré...si tu es en modbus !