-
confus
c’est confus, je récapitule :
Il est seul sur un mot et j'envoie "1" à l'adresse du bit.
Tu veux dire que il est seul sur un mot de 32 bits et que tu envoi à l’adresse 90C2h 2 mots de 16 bits avec la valeur « 1 » sur le premier mot et la valeur « 0 » sur le 2 éme mot, c’est ça ?
sinon, me dire quel bit tu veux mettre à 1 et à quelle adresse de mot de 32 bits
-
1 pièce(s) jointe(s)
Salut,
Je reconnais que j'ai du mal à être clair. Pour que tu vois bien l'organisation je t'ai mis un extrait de la doc avec toutes les adresses.
Les étapes obligatoire c'est sur les adresses en 90C2 et 90C1 :
Le Y30 à 1 en permanence ( ils mettent des X et Y je ne sais pas trop pourquoi mais bon ...)
Ensuite le Y19 à 1 en permanence ( tension de l'asservissement codeur). Le retour est le bit X49 (qui valide que c'est ok pour la tension)
Enfin le Y1C à 1 une seule fois (retour à l'origine du vérin électrique) le retour c'est le bit X4A qui valide que l'origine est ok.
Si jamais j'arrive à faire ça le reste ce sera ok ( j'espère). Ensuite on peut attaquer les opérations de trame.
Sur mon Write_var, j'ai mis l'adresse 16#30, format %M et j'ai mi le transmis à 1. Apparemment ça marche ( je dis bien apparemment parce que j'ai l'impression que même sans ce bit j'avais toujours ma liaison Modbus)
Ensuite, pour le SVON, j'ai essayé d'envoyer à l'adresse 90C1 les données 2#0000000001000000 en %MW. En fait je crois que j'ai tout essayé (sauf ce qui doit fonctionner je pense).
Pour la position, j'ai déplacé le vérin avec mon autre logiciel et j'ai lu 2 mots à l'adresse D9000. Là c'était nickel, j'avais bien ma position.
Pour le Proface j'ai utilisé les adresses Modbus, 0000001, 1000001 et 400001. j'ai juste converti les hexa en décimal et ajouté ces adresses. Pour le logiciel Modbus doctor ça marche avec les adresses de bits, Y30, Y19, X40 etc ... C'est ce qui me fait dire que les adresses de la doc sont ok.
Voili voilou, tu as la même doc que moi ( j'aurais faire ça dès le départ), je pense que ce sera plus clair. Faudrait que je me trouve "unity pour les nuls" ;)
J'espère qu'un jour je pourrais t'aider en retour ( autre chose que sur unity évidemment) parce que tu fais preuve d'une grande patience et c'est vraiment génial :)
Pièce jointe 404309
Pascal.
-
exemple
Adresse Bit nom Mot INT
D90C1 0 Y10 Ecriture[1].0
D90C1 1 Y11 Ecriture[1].1
D90C1 2 Y12 Ecriture[1].2
D90C1 3 Y13 Ecriture[1].3
D90C1 4 Y14 Ecriture[1].4
D90C1 5 Y15 Ecriture[1].5
D90C1 6 Y16 Ecriture[1].6
D90C1 7 Y17 Ecriture[1].7
D90C1 8 Y18 Ecriture[1].8
D90C1 9 Y19* Ecriture[1].9
D90C1 10 Y1A Ecriture[1].10
D90C1 11 Y1B Ecriture[1].11
D90C1 12 Y1C* Ecriture[1].12
D90C1 13 Y1D Ecriture[1].13
D90C1 14 Y1E Ecriture[1].14
D90C1 15 Y1F Ecriture[1].15
D90C2 0 Y30* Ecriture[2].0
D90C2 1 Y31 Ecriture[2].1
D90C2 2 Y32 Ecriture[2].2
D90C2 3 Y33 Ecriture[2].3
D90C2 4 Y34 Ecriture[2].4
D90C2 5 Y35 Ecriture[2].5
D90C2 6 Y36 Ecriture[2].6
D90C2 7 Y37 Ecriture[2].7
D90C2 8 Y38 Ecriture[2].8
D90C2 9 Y39 Ecriture[2].9
D90C2 10 Y3A Ecriture[2].10
D90C2 11 Y3B Ecriture[2].11
D90C2 12 Y3C Ecriture[2].12
D90C2 13 Y3D Ecriture[2].13
D90C2 14 Y3E Ecriture[2].14
D90C2 15 Y3F Ecriture[2].15
(* Mise à 1 des bits Y19, Y1C, Y30 *)
SET Ecriture[1].9 ---------(S)-----
SET Ecriture[1].12 ---------(S)-----
SET Ecriture[2].0 ---------(S)-----
Envoi par WRITE_VAR de la Table Ecriture (soit 2 mots INT) à l’adresse D90C1
(* Mise à 0 des bits Y19, Y1C, Y30 *)
RESET Ecriture[1].9 ---------(R)-----
RESET Ecriture[1].12 ---------(R)-----
RESET Ecriture[2].0 ---------(R)-----
Envoi par WRITE_VAR de la Table Ecriture (soit 2 mots INT) à l’adresse D90C1
-
Genial .. merci. J'essaie ça demain matin. Je te tiens au courant.
-
1 pièce(s) jointe(s)
Salut,
Mauvaise nouvelle, ça marche pas :-(
Pièce jointe 404446
Ma com est bonne, je lis toujours ma position. J'ai ajouté un time out sur "report_ecriture". Comprends po ...
Pascal.
-
rapport
slts,
Tout est correct , c'est programmé correctement, voir dans les mots du rapport les erreurs tableau "Rapport_ecriture"
dans l'aide en ligne chercher: Paramètres de gestion : rapports de communication et d'opération
bb
-
Salut,
J'ai vérifié et apparemment rien ne dysfonctionne (notamment le mot 2 qui reste bien à 0 alors que le 1 défile). Je me suis focalisé sur la programmation jusqu'ici parce que je ne maîtrisais pas mais si tu me dis que c'est ok de ce point de vue je vais maintenant rechercher côté matériel (un ms mal réglé quelque part peut être). J'ai trouvé une doc sur la liaison Modbus sur M340 je vais creuser.
Quoi qu'il en soit un énorme merci pour ton aide, grâce à toi je pense avoir bien progressé sur la compréhension des blocs READ_VAR et WRITE_VAR qui me semble assez incontournable dans les com.
J'espère pouvoir t'aider à mon tour dans un autre domaine un de ces jours qui sait.
A bientôt et encore merci :-)
Pascal.