le bloc READ_VAR pour plusieurs eclaves somachine basic
le bloc READ_VAR pour plusieurs eclaves somachine basic
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 ou autre solution plus efficace, merci par avance
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 ou autre solution plus efficace, merci par avance
- itasoft
- Mi homme - Mi automate
- Messages : 7092
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: le bloc READ_VAR pour plusieurs eclaves somachine basic
slts,
Pourquoi tu dois utiliser WIRTE_READ_VAR et pas WRITE_VAR ou READ_VAR ???
Pourquoi tu dois utiliser WIRTE_READ_VAR et pas WRITE_VAR ou READ_VAR ???
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
- itasoft
- Mi homme - Mi automate
- Messages : 7092
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: le bloc READ_VAR pour plusieurs eclaves somachine basic
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 ?????????
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 ?????????
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: le bloc READ_VAR pour plusieurs eclaves somachine basic
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
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
-
- Mi homme - Mi automate
- Messages : 2081
- Enregistré le : 21 oct. 2015, 10:00
- Localisation : Ile de France
Re: le bloc READ_VAR pour plusieurs eclaves somachine basic
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
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
Si vous avez compris tout ce que je viens d'écrire, c'est que j'ai dû faire une erreur quelque part !
- itasoft
- Mi homme - Mi automate
- Messages : 7092
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: le bloc READ_VAR pour plusieurs eclaves somachine basic
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
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
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: le bloc READ_VAR pour plusieurs eclaves somachine basic
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
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
- itasoft
- Mi homme - Mi automate
- Messages : 7092
- Enregistré le : 20 oct. 2015, 10:15
- Localisation : Lyon
- Contact :
Re: le bloc READ_VAR pour plusieurs eclaves somachine basic
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
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
Automaticien privé (de tout)
itasoft@free.fr
itasoft@free.fr
Re: le bloc READ_VAR pour plusieurs eclaves somachine basic
le dernier somachine basic a un i/o scan modbus intégré...si tu es en modbus !