CamBam et Heidenhain

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

Laurent_CNC

Compagnon
Bonjour à tous,

Je voudrais faire un programme sous CamBam, que je connais suffisamment bien pour réaliser des usinages sur une "vieille" 3 axes équipée d'un Heidenhain TBC360.

A priori, je n'ai pas trouvé de postpro adapté. Pensez vous qu'il soit possible de le fabriquer ?
Le langage Heidenhain est très différent de l'ISO, seul que je connaisse.

Ma machine est sensée lire aussi l'iso mais je ne sais pas lequel, c'est à dire, que je n'ai pas la structure type du programme et mon seul essai à été un échec, la machine n'a pas reconnu le programme.

Ca serait peut être plus simple de modifier un PP ISO pour l'adapter à l'Heidenhain.

Est que qq est intéressé par le projet et/ou aurait des infos pour moi, par exemple la structure d'un programme ISO lisible par de l'Heidenhain.

Merci par avance,
Laurent qui tourne sur LinuxCNC à la maison et sous NUM1040 aussi avec le PostPro qui va bien.
 
G

gaston48

Compagnon
Bonjour,
TNC 360 plutôt non ?
Dans les manuels de la TNC 407 (page 11-31) communiqué par la Sté Araxe, la syntaxe DIN/ISO est bien détaillée.
 

Fichiers joints

  • Manuel_ISO_TNC407_TNC415_TNC425_FR_1995_araxe.pdf
    19.1 Mo · Affichages: 108
Dernière édition:
D

dh42

Compagnon
Dans les manuels de la TNC 407 (page 11-31) communiqué par la Sté Araxe, la syntaxe DIN/ISO est bien détaillée.

Salut,

apparemment c'est les mêmes codes que le Gcode basique sorti avec le PP default. Peut être faut il simplement ajouter les n° de lignes. (à activer dans les options du PP)

Ma machine est sensée lire aussi l'iso mais je ne sais pas lequel, c'est à dire, que je n'ai pas la structure type du programme et mon seul essai à été un échec, la machine n'a pas reconnu le programme.

Il faudrait savoir exactement sur quelles ligne ça coince ; pour commencer faire un Gcode ultra simple avec juste des G0, G1 de façon à pouvoir trouver plus facilement les codes non reconnus. (une simple ligne droite en opération de gravure, avec le PP default)

++
David
 
L

Laurent_CNC

Compagnon
Je part un petit WE et vous êtes déjà sur la brèche !

Vous êtes formidables !

On en recause demain, mais je ne pourrais faire les essais sur la machine que dans une quinzaine par contre.

Grand merci
 
L

Laurent_CNC

Compagnon
première grosse erreur, le nom du fichier que je mettais en .ISO et pas en .I
ça ne risquait pas de marcher...

OK, donc j'essaye ça :
%100
N1 G21 G90 G61 G40
N2 G0 Z10.0
( T10 : 0.0 )
N3 T10 M6
( Gravure )
N4 G17
N5 M3 S3500
N6 G0 X15.0 Y88.0
N7 G0 Z1.0
N8 G1 F300.0 Z-0.5
N9 G1 X86.0
N10 G1 Y11.0
N11 G1 X17.0
N12 G0 Z10.0
N13 M5
N14 M30
dès que possible
 
D

dh42

Compagnon
Salut,

Dans CamBam, dans Outils/options, tu peux définir l'extension qui sera utilisée pour le Gcode dans la propriété Extension GCode par défaut (pour les nouveau fichiers, les anciens fichiers déjà créés garderont l'extension utilisée précédement à moins que tu ne la change dans le dossier Usinage - Fichier GCode

++
David
 
L

Laurent_CNC

Compagnon
Oui pas de soucis pour ça, merci David.
Pour l'instant je bosse sur mon PC alors je ne change la fin du fichier que sur mon test.

Merci aussi Gaston, je bosse sur tes documents depuis hier et je vois mieux ou je vais.
J'avais pourtant fouillé le site Araxe... mais sans voir ça...

CamBam fonctionnant principalement sur le modes G0 G1 G2 G3, le seul vrai soucis sera de personnaliser le début du programme il me semble.
Je voudrais par exemple intégrer en automatique dans mon futur PostPro les 2 lignes qui définissent le brut pour la visu sur le pupitre.
C'est faisable vu que le PostPro Mach3-Cutviewer le fait à sa façon. Faut je regarde comment il fait.

Ca avance,
Laurent

PROG ISO Heidenhain.JPG
 
L

Laurent_CNC

Compagnon
J'ai commencé à modifier le PostPro Default.

Peut être pas très élégant mais j'obtiens ça comment début de programme :

1-PostPro ISO Heidenhain.JPG


EDIT : il faut que je me méfie, les codes G21 et G61 sont inconnus pour la TNC360. Je vais enlever ça.

EDIT 2 : Bon, je continue de bosser et je viens de voir que les cycles de perçages étaient différents aussi. Méfiance.

En fin de compte, j'utilise le PostPro NUM 1040F que je modifie petit à petit. Je mettrais mon PP à dispo quand il sera potable.

@+
Laurent
 
Dernière édition:
L

Laurent_CNC

Compagnon
Salut,

Je bloque sur la définition du cycle de perçage.
C'est un G83 avec des infos derrière mais ma modif du PP ne fonctionne pas.

Il me faut ça :
percage G83_1.JPG


Et pour l'instant j'arrive à ça :
Comment on défini ce qui est derrière une instruction comme : {$_r} {$_z} etc. ?
percage G83_2.JPG


Comment on défini ce qui est derrière une instruction comme : {$_r} {$_z} etc. ?
Je ne trouve pas le chemin pour aller modifier ...

édit : il y a aussi les commentaires qui doivent commencer par un ; et pas être mis entre parenthèses.

@+
Laurent, qui cherche et test :wink:
 
Dernière édition:
D

dh42

Compagnon
Salut,

édit : il y a aussi les commentaires qui doivent commencer par un ; et pas être mis entre parenthèses.

la c'est simple, dans le PP, section Options, tu peux définir les caractères de début et fin de commentaire

Pour ton autre question, je suppose que le but est de virer les lettres R,Z,Q,P,F qui s'affichent en trop ?

Tu ne peux pas le faire dans les macros G83, il faut faire un post traitement du Gcode afin d'identifier les lignes qui on un G81/82/83 et de remplacer les code ISO R,Z, etc par ceux de heindenhain ; c'est un programme externe à écrire en VB ou en C (ou autre langage capable de sortir un .exe)

Une autre option, c'est les scripts de perçage personnalisés, qui permette une syntaxe plus "libre", mais c'est moins pratique à utiliser.

Attention, si tu veux explorer les script de perçage, note que leur syntaxe est différente de celle des macro. à voir ici pour les variables utilisables
http://www.atelier-des-fougeres.fr/Cambam/Aide_V1/cam/Drill.htm

++
David
 
L

Laurent_CNC

Compagnon
Salut David,

Ok pour les commentaires, c'est fait, j'avais pas vu...

Du coup j'ai modifié et c'est bon sauf que le numéro de la ligne s'affiche aussi avant le commentaire et je ne sais pas si c'est convenable.
Du coup j'ai enlevé le post traitement et j'ai demandé à CamBam de me mettre les lignes et là, les commentaires ne sont pas numérotés.
Mais je dois ajouter le %nom_du_prog moi même.

Pour le post traitement, Peut on modifier le programme CBline ?
Je n'ai jamais touché à la programmation mais si c'est simple à faire je veux bien me lancer.
Je dois enlever les numérotations, garder le %nom_du_prog et modifier l'affichage du G83.
Après ça, ça doit être plug and play :wink:
Je voudrais un PP fiable et simple à utiliser...

@micalement, Laurent
 
Dernière édition:
L

Laurent_CNC

Compagnon
C'est encore moi,

Il me semble qu'un fichier en .VBS pourrait faire mon bonheur non ?
J'ai essayé de comprendre celui utilisé pour le PP Heidenhain 151 mais je dois en enlever trop...
J'ai tenté ça : (en .VBS)

Sub ProcessFile()

'For canned cycles, remove axis prefixes
If Left(sLine,8)="G83" Then
sLine=Replace(sLine," R"," ")
sLine=Replace(sLine," Z"," ")
sLine=Replace(sLine," Q"," ")
sLine=Replace(sLine," Z"," ") 'Non-pecking = peck the full Z height = gets a Z axis...
sLine=Replace(sLine," P"," ")
End If

End Sub

mais ce serait trop simple, je continue de chercher :wink:
 
D

dh42

Compagnon
Salut,

Il me semble qu'un fichier en .VBS pourrait faire mon bonheur non ?
Oui, pour ma part c'est fait avec Visual Basic 2010 Express, mais je pense que ça peut marcher avec du VB script, même si je n'ai jamais essayé.

le left(sLine,8) va renvoyer les 8 caractères de gauche de la ligne ; et dans ton cas, les 8 ctr contiennent le n° de ligne, qui peut avoir une longueur variable ; je ne vois pas trop comment ça fonctionne .. (je n'ai pas regardé le code)

tu peux utiliser InStr() pour tester si un G83/82/81 existe dans la ligne.
https://docs.microsoft.com/fr-fr/do...albasic.strings.instr?view=netframework-4.7.2

pour le Replace() tu peux mettre directement le P0x à la place de la chaine vide (""), par contre il faudra tester pour le P en premier, sinon tu détectera aussi les P0x que tu a rajouté !

tu peux te servir du code qui est ici comme squelette ; c'est le plus simple ; le traitement de la ligne commence ici
' .... traiter les lignes
line_out = Replace(line, "G1Z", "Z")

http://www.cambam.co.uk/forum/index.php?topic=4174.msg29028#msg29028

bien sûr il faudra que tu remplace la ligne line_out = Replace(line, "G1Z", "Z") par le traitement qui va bien pour tes G8x, probablement un appel de fonction qui retournera la ligne, modifiée ou non suivant que la ligne comporte des G8x ou non.

Dans visual basic, quand tu crée ton nouveau projet, il faut choisir "application console"

++
David
 
L

Laurent_CNC

Compagnon
YESSS ! (enfin je crois :wink: )

J'ai tenté tout un lot d'expériences à partir du .VBS qu'utilise le PP Heidenhain 151 conversationnel sur le forum CamBam.

J'ai beaucoup "tatouiller" car je ne connais rien ou presque au langage.
Mais avec un peu de méthode j'ai fini par obtenir qq chose qui tiens la route.

Je n'ai plus les numéros imposés et je demande à CamBam de les mettre lui même ce qui fait qu'il n'en met pas aux commentaires.
Ceux ci sont avec un ;
Et le G83 est cohérent. Il me reste à vérifier que les valeurs sont les bonnes (bonnes variables) en fonction du type de cycle (débourrage et tempo)

extrait :
N10 G71
N20 G17 G90
N30 G30 X0 Y0 Z-30
N40 G31 X100 Y100 Z0
; T3 : 3.01
N50 T3 M6
; PERCAGE PAR G83
N60 M3 S3500
N70 G0 Z10
N80 X76 Y19
N90 G83 P01 5 P02 -15 P03 3 P04 P05 50
; PERCAGE EN SPIRALE
; T6 : 5.998
N100 T6 M6
N110 M3 S3500
N120 G0 Z10
N130 X25 Y37
N140 Z10
N150 X27.001 Y37
 
L

Laurent_CNC

Compagnon
Bon, je crois qu'il ne me reste que la pose en fond de perçage et ça sera presque tout bon.
J'obtiens ça :

percage G83_3.JPG


Je voudrais encore enlever le N10 et le remplacer par %"nom_du_fichier".
Et il faut aussi voir si la fin de programme est bonne.

ATTENTION FICHIERS POUR TESTS : (enlever les extensions .TXT)
 

Fichiers joints

  • ISO TNC360.cbpp.txt
    1.9 KB · Affichages: 54
  • ISO_TNC360.vbs.txt
    3 KB · Affichages: 51
Dernière édition:
L

Laurent_CNC

Compagnon
J'ai essayé plusieurs façon de coder mes G83, avec débourrage et/ou pause.
J'ai fini par faire, débourrage ou pause, je n'ai pas réussi à faire autrement.

J'ai mis des valeurs farfelues exprès pour tester la longueur et ne pas avoir de doublons.

débourrage et pause.
N90 G83 P01 1.8 P02 -15 P03 3.22 P04 0 P05 50
je suis obligé de fixer la pause à 0...

N90 G83 P01 1.8 P02 -15 P03 3.22 P04 0 P05 50
débourrage et pas de pause. OK

N90 G83 P01 1.8 P02 -15 P03 -15 P04 0 P05 50
Pas de débourrage, la valeur est la même que la profondeur de perçage et pas de pause. OK

N90 G83 P01 1.8 P02 -15 P03 -15 P04 0.5 P05 50
Pas de débourrage et pause. OK

Voila la dernière version du PP : toujours à utiliser avec précaution.

Ne reste "plus qu'a" faire en sorte d'ajouter le %"nom du ficher" et ça semblerait être tout bon ; opération facile à faire à la main.
Surtout que moi, je rajoute systématiquement à la fin un dégagement en Z et une approche en Y pour avoir plus facile à manipuler l''étau que j'utilise 90% du temps...

J'essaye ça "en vrai" le 16 mai normalement.

Laurent
 

Fichiers joints

  • ISO TNC360.cbpp.txt
    1.9 KB · Affichages: 55
Dernière édition:
D

dh42

Compagnon
Salut,

Pour obtenir ça


%
; TEST_PP 5/5/2018 7:56:17 PM
N10 G71
N20 G17 G90
......

modifie la section En tête du PP comme suit

%
{$comment} {$cbfile.name} {$date} {$endcomment}

{$cbfile.header}
G71
G17 G90
G30 X{$stock_x} Y{$stock_y} Z-{$stock_z}
G31 X{$stock_width} Y{$stock_length} Z0
{$toolchange(first)}

++
David
 
L

Laurent_CNC

Compagnon
Merci David,

Ce n'est pas ce dont j'avais besoin mais ça m'a donné la solution quand même :wink:

%{$cbfile.name}.I

Simple et efficace, cette première ligne de l'entête intègre bien mon %nomdufichier.I en début de programme comme vu dans la doc ISO/Heidenhain.

2-PostPro ISO Heidenhain.JPG


Je mettrais le PP quand j'aurais pu l'essayer mais je crois qu'on tiens le bon bout.

@+
Laurent
 
D

dh42

Compagnon
Salut,

C'est cool si ça marche :wink:

Si tu partage le PP, pense à mettre le fichier .exe du post traitement des G8x avec :wink:

Au fait, ce post traitement, tu l'a fait en VB script ou en VB Express ?

++
David
 
L

Laurent_CNC

Compagnon
Pas de soucis pour partager dès que cela sera fonctionnel.

Je te mettrais même à contribution si tu veux bien.
Car j'ai "créé" un script en .VBS en modifiant le script trouvé sur le forum anglais :
http://www.cambam.co.uk/forum/index.php?topic=3029.0
Donc j'aimerais l'accord du concepteur d'origine.

@+
Laurent
 
D

dh42

Compagnon
Donc j'aimerais l'accord du concepteur d'origine.

Bah, il ne s'est pas connecté depuis 1 an et demi (AdeV) ... et son sujet date de 2013 ... Il suffira de mettre les "crédits" dans le texte du programme et dans le texte du message sur le(s) forum(s) ; s'il ne voulait pas qu'on copie, il n'aurai pas partagé son fichier sur le forum :wink:

++
David
 
L

Laurent_CNC

Compagnon
OK, on fera ça alors.

J'aurais aimé comprendre ce que j'ai fait aussi :oops:.
J'ai joué à l'apprenti sorcier, enlevant et ajoutant des morceaux à son script pour essayer.
Je suis sûr que le script pourrait être plus propre.

Bon, on va déjà tester ça et on mettra officiellement en ligne.
Surtout que ça doit marcher pour des Heidenhain plus récentes car le codage des opérations est très simple.
Ca ne servira probablement pas qu'à moi.

@+
Laurent
 
L

Laurent_CNC

Compagnon
Bon, les premiers tests m'ont inquiété mais on devrait y arriver.

Mais il me faut encore une batterie de tests pour valider.
On a bloqué au début et du coup on a bidouillé à la main.
Visiblement il faut déjà insérer à la fin une dernière ligne avec %nomduprog
Il faut aussi ne pas mettre d'espaces après le %
Ensuite il faut que je vois si les signes + ne sont pas obligatoires.
Et d'autres bricoles...

On a réussi à transférer un programme, fonctionnel que la machine comprenait et interprétait, c'est un bon début.

Mais je voudrais du plug & play autant que possible.

Je vous tiens au courant.
@micalement,
Laurent
 
D

dh42

Compagnon
Salut,

Visiblement il faut déjà insérer à la fin une dernière ligne avec %nomduprog

même principe que ce que tu à fait pour l'en tête, mais à mettre dans "pied de page", juste après la dernière ligne.

Ensuite il faut que je vois si les signes + ne sont pas obligatoires.
je n'ai pas vu d'option pour ça, j'ai essayé un format du genre "+0.0##", mais ça ne marche pas ; si c'est vraiment nécessaire, il faudra le faire en post traitement.

++
David
 
L

Laurent_CNC

Compagnon
Bon, j'ai pu faire encore une batterie de tests.

Le .i n'est pas obligatoire, je suis repassé à .txt pour avoir plus simple.
Le nom du programme semble devoir ne comporter que des chiffres mais c'est encore à vérifier.
La machine bouge plus de code erreur sauf qu'elle refuse le Z dans un G2 ou un G3, pas d'usinage en spirale j'ai l'impression.
Mais je vais encore essayer une nouvelle façon de coder.

Et le G83 refuse de fonctionner. Ca plante et je ne sais pas pourquoi.
Mon écriture à l'air strictement identique à celle de la documentation mais...

%TEST_ISO_1 G71
N10 G30 G17 X0 Y0 Z-30
N20 G31 G90 X100 Y100 Z0
; T6 : 5.99
N30 T6 M6
; CONTOUR FINITION
N40 M3 S2000
N50 G0 Z10
N60 X9 Y1.005
N70 Z1
N80 G1 F50 Z-5
N90 F450
N100 I9 J9 G2 X1.005 Y9 Z-5
N110 G1 Y91
N120 I9 J91 G2 X9 Y98.995 Z-5
N130 G1 X91
N140 I91 J91 G2 X98.995 Y91 Z-5
N150 G1 Y9
N160 I91 J9 G2 X91 Y1.005 Z-5
N170 G1 X9
; PERCAGE PAR G83
; T3 : 3
N180 T3 M6
N190 M3 S3500
N200 G0 Z10
N210 X76 Y19
N220 G83 P01 1.8 P02 -15 P03 3.22 P04 0 P05 50
N230 G0 Z10
N240 M5
N250 M2
%TEST_ISO_1 G71

là c'est brut de sortie de CamBam. Il faut juste ajouter un numéro de ligne à la dernière ligne.
comme il y a un %, le PP refuse de l'écrire lui même.

Vivement la suite des tests. Loin de la machine, c'est pas pratique...

@+
Laurent
 
D

dh42

Compagnon
Salut,

là c'est brut de sortie de CamBam. Il faut juste ajouter un numéro de ligne à la dernière ligne.
comme il y a un %, le PP refuse de l'écrire lui même.

dans la section: Numérotation des lignes, enlève le % de la liste des caractères à ignorer dans: Ignorer, et tu devrais avoir tes n° de lignes pour le %.

Loin de la machine, c'est pas pratique...

Je veux bien te croire !

La machine bouge plus de code erreur sauf qu'elle refuse le Z dans un G2 ou un G3, pas d'usinage en spirale j'ai l'impression.

Dans la section Options-Sortie des arcs: tu peux essayer de mettre: Convert. hélice en lignes ; ça réglera peut être ce problème.

Et le G83 refuse de fonctionner. Ca plante et je ne sais pas pourquoi.

Ça ne pourrait pas être un pb de longueur de lignes ? à tu tenté en supprimant les espaces

C'est quoi les I9 et I91... je ne connais pas ce code ?

++
David
 
L

Laurent_CNC

Compagnon
dans la section: Numérotation des lignes, enlève le % de la liste des caractères à ignorer dans: Ignorer, et tu devrais avoir tes n° de lignes pour le %.
Oui mais si je fais ça, je plante carrément mon post traitement... et je ne sais pas pourquoi

Dans la section Options-Sortie des arcs: tu peux essayer de mettre: Convert. hélice en lignes ; ça réglera peut être ce problème.
Je viens de tester, plus de G02 ou de G03 pour les spirales, plus que des lignes. La longueur du programmes s'en ressent violemment.
On verra sur la machine sont comportement.

Ça ne pourrait pas être un pb de longueur de lignes ? à tu tenté en supprimant les espaces
Alors, après avoir imprimé et relu tranquillement la doc Heidenhain ISO TNC360, il semblerait bien qu'il faille mettre un - devant les chiffres du P01 (la distance de sécurité) et P02 (la profondeur totale) et P03 (la profondeur de dérourrage).
J'ai modifié le PP et le VBS, j'obtiens bien ça :
N220 G83 P01 -2 P02 -15 P03 -5 P04 0 P05 50
ça semble la copie conforme de ce donne le manuel.
A tester.

C'est quoi les I9 et I91... je ne connais pas ce code ?
Ce sont les coordonnées des centres de rayons. Il code I J G83 X Y dans la doc, j'ai fait pareil.

Merci et à bientôt pour la suite :wink:
Laurent
 
Dernière édition:
D

dh42

Compagnon
Oui mais si je fais ça, je plante carrément mon post traitement... et je ne sais pas pourquoi
il faudrait mettre ton code de post traitement, je jetterais un œil même si je n'ai pas l'habitude des post traitement en VBS.

++
David
 

Sujets similaires

M
Réponses
15
Affichages
512
D
L
Réponses
7
Affichages
7 494
Remyje66
R
L
Réponses
0
Affichages
22 236
Laurent_CNC
L
laurenttanguy
Réponses
0
Affichages
1 248
laurenttanguy
laurenttanguy
V
Réponses
9
Affichages
773
vdiallonort
V
N
Réponses
28
Affichages
1 364
Nicoala
N
Jo Wan
Réponses
18
Affichages
1 709
chabercha
chabercha
Devil-Nic
Réponses
18
Affichages
3 474
dh42
D
C
Réponses
5
Affichages
1 234
rabotnuc
R
T
Réponses
2
Affichages
52 836
Tristan l'apprenti
T
M
Réponses
14
Affichages
1 785
Mika2A
M
MECAJACK
Réponses
5
Affichages
1 151
MECAJACK
MECAJACK
Haut