A l'interieur d'un Gcode ... qu'y a t-il !!

  • Auteur de la discussion laurentl38
  • Date de début
L

laurentl38

Compagnon
Bonjour,

je suis à la recherche d'info un peu insolite sur le codage, peut être que les pros du Gcode pourrons m'aiguiller.

En quelque mots, qu'est ce qu'il y a derrière un Gcode par exemple un G71 ?

Par sa définition cela ressemble un peut a l'appel d'une macro avec passage de paramètre ...

Est ce qu'il y a du Gcode plus basic derrière, et si oui, ou pourrait ton aller chercher cette info et comme ces fonctions sont structurées?
Par exemple le G76, on pourrait plus ou moins sentir, qu'il y a du G32 derrière ...

Par avance merci pour vos contributions
Cordialement
Laurent
 
S

speedjf37

Compagnon
Bonjour,



Sur quel système ?

Recherche: "G71 linuxcnc"
Des infos ici:

Cordialement JF
 
S

sergepol

Compagnon
Des instructions reconnues par le calculateur (NUM, Heidenhain, Fagor, Mazak, Fanuc, et autres) les constructeurs ne sont pas bavards sur le sujet.
Salutations
 
S

sergepol

Compagnon
Pour certaines fonctions, par exemple changeur d'outils, ils utilisent un niveau supplémentaire: l'automate programmable, ce qui leur simplifie la vie quand ils intègres des matériels d'origine différente .
Bonne suite dans vos recherches.
 
L

laurentl38

Compagnon
Merci pour ces infos.
Dans mon cas c'est pour du tournage sur haas. et j'aurais voulu m'inspire de ce qu'il y avait derrière pour créer un Gcode custom ...
Mais au vue du lien sur linuxcnc, on peu penser que chaque gcode et codé en C ou autre langage, donc peut de chance de savoir ce qu'il y a derrière ... c'est bien dommage ...
 
P

petit_lulu

Compagnon
imagine la reflexion qu'il y a derriere un simple G0 ou G1.
tu as la position actuelle de la broche et la position terminale a la fin du deplacement.
comme la broche se deplace en ligne droite pour cette fonction, la vitesse en X et en Y est differente (sauf coup de bol extraordinaire)
pour un moteur PaP avec step/dir, selon les impulsions du step d'un des axe tu doit envoyer des impulsions sur l'autre axe a une vitesse differente et c'est vraiment pas simple a calculer.
en plus tu dois gerer la vitesse de deplacement et la calculer (pytagore est ton amis avec des carres et des racine ou des sinus/cosinus c'est selon...)
et par dessus encore, tu dois gerer l'acceleration et le freinage des axe et tout ca pour s'arreter au bon endroit.
donc je pense que c'est normal qu'aucun fabricants ne donne le code de gestion du Gcode, c'est un secret pour eux.
au pire voir du cote de GRBL peut etre si le code est ouvert, je dis ca mais j'en sais strictement rien.
 
L

Luo Lan

Apprenti
Cela dépend du firmware de la machine, si c'est un firmware Opensource tu peux savoir, les deux firmwares Opensource CNC que je connais c'est GRBL ou Smoothieware
 
E

Earthwalker

Compagnon
on peu penser que chaque gcode et codé en C ou autre langage, donc peut de chance de savoir ce qu'il y a derrière ... c'est bien dommage ...
Surement , puisqu'au final le Gcode n'est qu'une couche supplémentaire de langage , destiné à être simple d'utilisation pour les usineurs .
 
L

laurentl38

Compagnon
tout a fait, apres quelque recherche supplémentairement, il y a bien du codage par dessous (type C, ...).
J'ai donc plus qu'à cogiter sévère et me faire une belle macro...
 
G

gaston48

Compagnon
Bonjour,
GRBL, Linuxcnc et peut être d'autres, sont en open source
il est possible de consulter leurs sources

(... https://github.com/grbl/grbl/blob/master/grbl/gcode.c ...https://github.com/LinuxCNC/linuxcnc/tree/master/src/emc/rs274ngc )
edit: Pas réveillé ce matin .... Luo Lan avait déjà répondu
 
Dernière édition:
L

laurentl38

Compagnon
c'est ce que j'ai pu constater, tout est en C, python ou autre ...
Mais comme dans mon cas je ne peux pas écrire de routine en python, il faudra que je retranscrive tout en Gcode. Mais cela donne toujours des idées, quoi qu'il en soit, c'est toujours intéressant de savoir ce qu'il y a derriere ...
 
V

vres

Compagnon
Mais comme dans mon cas je ne peux pas écrire de routine en python, il faudra que je retranscrive tout en Gcode.
je ne comprend pas, le gcode est très basique et ne permet pas de retranscrire du C++ ou autre langage de programmation.
 
G

gaston48

Compagnon
Oui tu ne peux pas faire grand chose sur un système qui n'est pas open source comme "remaper" une instruction
Tu devrais peut être regarder comment s'en sort Fusion 360 en comparant le fichier source sans post pro
Dumper/dump et d'autres post pro qui n'ont pas de G71 par exemple
 
L

laurentl38

Compagnon
Quand je dis retranscrire c'est pas vraiment le bon terme ... et je comprend bien que cela n'est pas possible
Je suis partie dans une autre direction comme le suggère gaston. j'ai deja du g71 ce que j'aurai voulu, c'est d'imbriquer du g71 avec du filetage (type rope threading), mais ce n'est pas possible.
Donc il faut que je trouve une alternative ... je ne suis pas sur que fusion sache le faire, mastercam, gibbccam, ropecam et 1 ou 2 autre savent le faire ...
est ce que l'on peut faire une macro, cela ne me parait pas totalement impossible (moyennent de gros effort). Mais c'est avant tout pour le fun, et si cela echou, la reflexion aura quand meme bien entretenu les neurones, ce qui n'est jamais inutile ...
 
L

laurentl38

Compagnon
@Gaston, j'ai pu voir aussi ce sujet, ça fait rêver, et il y en a qui ne manque pas d'imagination, mais linux obligatoire ...
@speed, j'ai vu se poste aussi, l'approche et intéressante, s'est '"assez simple "en terme d'équation à mettre en place (pour des usinages, type vis roulé) mais si l'on souhaite une autre forme, ça pose problème, et il devient nécessaire de pouvoir définir un profil.
Autre inconvénient de cette méthode de mon point de vue, si la broche ne tourne pas trop vite, cela passe encore, sinon, cela met la mécanique à rude épreuve ...
 
Haut