Re: Machine virtuelle

21
Jérôme,
Merci pour ta réponse.
Le 12 Novembre tu me disais ceci "Jedicut n'envoie qu'un ordre par paquet, mais il me semble que le firmware en supporte autant que possible" ....
Dans le cas que je te citais précédemment (guillotine horizontale de 10000 pas ) tu pourrais alors envoyer M 1 2710 xxxx M 2 2710 xxxx dans le me me buffer (10000 = H2710 ) .....
Donc je vais prévoir de travailler avec les 4 moteurs simultanément même si actuellement tu n'envoies qu'un ordre à la fois.
Par curiosité qu'envoies-tu exactement dans le cas de l'exemple de la guillotine horizontale de 10000 pas ?

Re: Machine virtuelle

22
Salut,

Tu as tout compris du fonctionnement des paquets envoyés sur le port USB. Dans l'exemple de la guillotine de 10000 pas, Jedicut pourrait envoyer un seul paquet à la machine. Si ce n'est pas ce que Jedicut fait, c'est parce que le calcul des pas est le même pour le port parallèle ou pour le port USB.

Dans le cas d'une guillotine, Jedicut vérifie l'option "lissage". Si c'est coché, alors les paquets ordonnent la rotation de 1 pas sur un moteur, puis un autre paquet pour un pas du moteur suivant, etc. Si ce n'est pas coché, Jedicut envoie un paquet avec un ordre de rotation pour chaque moteur concerné. Ces pas sont alors envoyés simultanément à la machine, à l'image de ce qui est fait sur le port parallèle.

;)
Jerome

Re: Machine virtuelle

23
Bonjour Jérôme,

J'ai réussi à faire dialoguer ma carte (R2009) à base de F320 avec Jedicut par le port USB HID pour les commandes D F M.

Pour P (Arrêt/Reprise) ça marche aussi mai j'ai besoin de précisions :
- lorsque je reçois un P j'arrête le moteur et je sauvegarde le nombre de pas effectués depuis la dernière commande M
ensuite lorsque je reçois un nouveau P (Reprise) je relance le moteur pour un nombre de pas= nb pas commande M - nb pas sauvegardés.
Ca paraît fonctionner correctement. Mais que se passe t'il si au lieu de Reprise on a Abandon. On ne recois alors pas le deuxième P.
Faut-il que je considère que la séquence "Pause" est terminée si après un P je reçois autre chose qu'un P ? Sans doute... mais je voudrais
en être sûr.

Pour la chauffe il y a les commandes C et I
Je pense que c'est Jedicut qui doit envoyer C xxx (0 à 100) et alors il faut que la carte adapte la température du fil.
Est-ce bien ça ?
Pour la commande I , à quoi sert-elle ? Qui l'envoie ? A quel moment est-elle envoyée ?

A l'avance merci pour tes réponses.

Re: Machine virtuelle

24
Hello,

Je vois que tu avance bien! C'est super!!!

Pour la commande "C" tu as tout juste. Sinon pour "I", c'est Jedicut également qui l'envoie à l'adaptateur et ce dernier envoie la valeur de chauffe en cours. Ceci est utile si tu est en mode manuel ou en réglage, comme ceci Jedicut peut afficher l'état de la chauffe (toujours de 0 à 100).

Pour le reste je laisse Jérôme te répondre. Mais en faite il le "P" sert juste à arrêter un les motuers un moment et au moment ou tu resois denouveau le P ca repart (donc il faut mémoriser la valeur précédente comme tu le décrit). La commande F sert à dire que c'est la fin et peut-etre envoyer a tout moment.

J'espère de pas trop me planter dans les explications, mais je n'ai pas mes docs sous la main, attends une confirmation de Jérôme ca sera plus sur.

A+
Xavier

Re: Machine virtuelle

25
Félicitation Robert, tu avances bien !

Rien que pour toi je me suis replongé dans le code de la dll de l'adatateur de Xavtronic et j'ai une drôle de nouvelle pour toi concernant ta question sur la pause : Jedicut ne la gère pas... En tout cas je n'ai rien trouvé dans mon code concernant cette fonction... Donc soit je me suis passé à côté de quelque chose dans mon code, soit tu as vu passé un P à partir d'un autre programme que Jedicut lol

Dans Jedicut, la pause de la découpe se fait au niveau du thread dédié à la communication avec la machine. C'est tout le thread qui est mis en pause. Si la découpe est abandonnée, l'ordre de coupure de l'alimentation des moteurs "M" est envoyé, puis Jedicut redonne la main à l'utilisateur.

Pour la chauffe Xavier a bien répondu. Le I est utilisé ponctuellement, lorsque Jedicut a besoin de connaitre la valeur de la chauffe de la machine ainsi que le mode de chauffe (PC ou manuel).

Bonne continuation ;)
Jerome

Re: Machine virtuelle

26
Jérôme,
Encore une petite précision....
Tu me dis "Le I est utilisé ponctuellement, lorsque Jedicut a besoin de connaitre la valeur de la chauffe de la machine ainsi que le mode de chauffe (PC ou manuel). "
Lorsque la carte n'est pas en manuel suffit-il de répondre ou I ?
Robert.

Re: Machine virtuelle

27
Salut,

Si la carte est en mode chauffe PC, il suffit d'envoyer I puis 0. Dans tous les cas je lis la valeur de chauffe qui me sera indiqué dans le deuxième octet du paquet, mais je crois que je ne fais rien de cette valeur si la carte est en mode chauffe PC.
Si la carte est en mode chauffe manuelle, il me faut I, 1, puis la valeur de chauffe comprise entre 0 et 100.

J'ai vu ton mail. Merci pour le report du bug. Je regarderai ça quand j'aurai pu avancer sur l'assistant ;)
Jerome
`); }); })(jQuery, window, document, phpbb);