Demande d'aide pour traduire des programmes NUM en Siemens

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

LeGeorges

Nouveau
Bonjour à tous,

Je travaille actuellement en tant qu'Informaticien Développeur de logiciel sur un traducteur qui translate des programmes écrit en NUM en langage Siemens
Mon problème est le suivant :
Mon chef et moi même avons essayés un des programmes traduits et malheureusement une des lignes n'avait pas été traduites.
Cette ligne contenait la variable R. De ce fait la machine a plantée car de ce que nous a dit la personne venant réparer la machine , ces variables R sont utilisées par la machine pour diverses choses.
Un R150 se traduit par un CR=150 ( dans mon programme ) et cela poserait également problème et mon chef ainsi que moi-même ne sommes pas spécialistes de ces machines c'est pourquoi je m'en remet à vous.

Comment traduire des R venant d'un programme NUM en Siemens sans faire planter le tout ?
Y a-t-il d'autres points importants à voir ? D'autre variables à ne pas utiliser ?

Si quelqu'un à déjà expérimenté la traduction de programme NUM vers Siemens , pourrait-il m'aider ?
Merci pour vos futurs réponses
 
J

joumpy

Compagnon
Je ne connais pas sur Num, mais sur Fanuc et Siemens, on ne doit pas utiliser certains paramètres R qui sont réservés au fonctionnement de la machine. De mémoire les R1 à R30 sont utilisables puis il faut passer à R500 pour être tranquille jusqu'à R999. A vérifier exactement avec le manuel de la CN concernée.
Il faut donc recoder les paramètres avec des chiffres plus élevés.
 
5

5axes

Apprenti
Je pense que LeGeorges étant novice en programmation CN, il ne faut pas prendre ses explications au pied de la lettre. Visiblement ce n'est pas un problème de paramètre au sens variable mais une adresse qui visiblement concerne une interpolation circulaire. Si c'était un paramètre au sens NUM ca serait une adresse L150 qui deviendrait R150 sur Siemens.

Ici on doit etre sur une notation d'interpo circulaire du type :
G02 / G03 X Y R sur Num qui devient G02 / G03 X Y CR= sur Siemens.
Normalement transcrire le code Num vers Siemens sur ce type de notation ne devrait pas être un gros problème puisque que les notations sont assez similaires.

Maintenant ce que je comprend c'est que la ligne n'avait pas été " traduite " donc forcément si on a une ligne G02 XY R150 dans un programme siemens la machine va planter . Tout ça pour dire que si tu as un problème tu devrais poster la ligne de départ , la ligne obtenue pour une analyse plus pertinente. Et quand je dis la ligne je devrais dire les lignes car c'est peut être parce que la notation avait une petite subtilité qui t'avait échappé et qui peut dépendre des codes G modaux qui seraient définis sur des lignes précédentes.

Pour ton problème, de ce que je comprends la réponse est dans ta question : "malheureusement une des lignes n'avait pas été traduites" alors il suffit de la traduire pour régler le problème et en gardant la notation avec le rayon du cercle cela ne devrait pas poser problème.
 
Dernière édition:
L

LeGeorges

Nouveau
Bonjour joumpy , bonjour 5axes,

Tout d'abord merci pour vos retours.

Je pense que LeGeorges étant novice en programmation CN, il ne faut pas prendre ses explications au pied de la lettre.[...]

[...] Ici on doit etre sur une notation d'interpo circulaire du type :
G02 / G03 X Y R sur Num qui devient G02 / G03 X Y CR= sur Siemens.
Normalement transcrire le code Num vers Siemens sur ce type de notation ne devrait pas être un gros problème puisque que les notations sont assez similaires.

En effet comme tu me l'a mentionné , je suis novice en programmation CN, et la notation que tu m'a fournis est exactement ce que j'avais à faire.
C'est à dire transformer des lignes contenant un R en CR=

exemple.PNG



De mémoire les R1 à R30 sont utilisables puis il faut passer à R500 pour être tranquille jusqu'à R999. A vérifier exactement avec le manuel de la CN concernée.
Il faut donc recoder les paramètres avec des chiffres plus élevés.
Le problème avec les variables "R" a été réglé suite au programme défaillant.
Mais un autre problème est survenue avec les CR= et nous ne comprenons pas pourquoi.
La machine à perdu son TRAORI et les techniciens ont dû réinjecter le soft de la machine afin qu'elle refonctionne.

Voici la ligne du programme qui n'a pas été acceptée :

G19G2Y-227Z-39CR=70


Je vous met les lignes présentes avant et après si cela peut aider:
N10;--EBAUCHE-
G0X-565Y-445Z150A-5C180
Z-135
G1X-565Y-391Z-137F3000
Y-386Z-140F8000
Y-361Z-140
X-635Y-367
Y-351
X-731
X-731Y-200Z-142
X-768Z-157
X-774Z-160
X-885Z-160
G0Z150
G0XY-438 A C180
Z-129
G1Y-340Z-129 A-35
Y-334Z-90
Y-293Z-87

G19G2Y-227Z-39CR=70

G0Y-250Z
Z30
G0XY120Z30A35
Z-20
G1Y105Z-58
Y203 Z-65 A-20
Y214 Z-39 A35

Quelqu'un aurait-il une idée ?
Nous craignons un autre arrêt de la machine et voulons nous informer au mieux. ( J'ai été voir la doc Siemens pour cela mais une aide sur le forum n'est pas de trop ).

Encore merci pour vos réponses !
 
Dernière édition:
5

5axes

Apprenti
Les lois de murphy tu connais ? Donc oui tu vas avoir d'autre problèmes, lesquels ? aucune idée . Ca va dépendre de la complexité du code d'origine. Et d'après ce que je vois une écriture condensé du type G19G2R sur un positionnement B et C n'a pas du être écrit par une CFAO mais par l'homme. Donc en terme de "subtilité" d'écriture tout est possible.

Pour avoir déjà fait ce genre de travail c'est normalement au bout d'une dizaine de programme complet, testé sur la machine que tu devrais arriver à avoir traité le plus gros. Le risque ici que je vois n'est pas sur la transcription du code car au pire le programme va s'arrêter sur une erreur . Ton gros problème c'est le recalcul des angles machine avec un passage du cinématique B/C en A/C . Si le programme a été écrit avec des rotations optimisées au niveau des passages pièce, tu n'es pas à l'abri qu'une rotation de 180° génère une collision sur la machine et là en G0 c'est 30K€ de réparation . Donc un conseil gardez bien la main sur les potards pour les premiers essais.

Bon courrage :)
 
O

osiver

Compagnon
Ça n'apportera pas de solution mais je suis surpris de 2 choses dans cette affaire :
- avant exécution, le programme n'est pas vérifié par la CN ? Il y a peut-être une action à faire soit manuellement = demander la vérification ou paramétrer la vérification avant exécution.
- si j'ai bien compris les paramètres machine ont été altérés par un programme ?? Comment est-ce possible :peur5466:
 
5

5axes

Apprenti
- si j'ai bien compris les paramètres machine ont été altérés par un programme ?? Comment est-ce possible

C'est encore plus étrange que dans le programme cité il n'y a pas d'appel aux fonctions TRAORI .. certaines fois il faut se méfier tu penses que le problème vient d'une ligne mais avec les lectures de bloc anticipé le problème peut être bien en amont . Dans le code cité le G02 ne me dérange pas par contre la ligne :
G0XY-438 A C180
Avec le A sans valeur ? je sais pas comment une CN pourrait l'intérpréter ?
 
V

vieuxfraiseur

Compagnon
Bjr,
peut-etre un truc simple , utilisé le petit traitement de texte qui est sur windows, a savoir note.txt ?
chercher et remplacer une portion de texte dans un programme ?.
R300 devient R=300
et cela sur l'ensemble du prog.
Y.
 
L

LeGeorges

Nouveau
C'est encore plus étrange que dans le programme cité il n'y a pas d'appel aux fonctions TRAORI .. certaines fois il faut se méfier tu penses que le problème vient d'une ligne mais avec les lectures de bloc anticipé le problème peut être bien en amont . Dans le code cité le G02 ne me dérange pas par contre la ligne :
G0XY-438 A C180
Avec le A sans valeur ? je sais pas comment une CN pourrait l'intérpréter ?


Je vais rectifier le tir. Je n'ai pas mis toutes les lignes qui sont au dessus de ma ligne citée. Je fais bien un appel à TRAORI :

G0 G53 Z0 D0
G53 Y-200
G506
ROT X0 Y0 Z0
TRANS X0 Y0 Z0

N1 MSG("FRAISE DIA 5")
M6 T1
G0 G53 Z0 D0
D1
M3 S25000
G0 A0 C0
TRAORI



N10;--EBAUCHE-
G0X-565Y-445Z150A-5C180
Z-135
G1X-565Y-391Z-137F3000
Y-386Z-140F8000
Y-361Z-140
X-635Y-367
Y-351
X-731
X-731Y-200Z-142
X-768Z-157
X-774Z-160
X-885Z-160
G0Z150
G0XY-438 A C180
Z-129
G1Y-340Z-129 A-35
Y-334Z-90
Y-293Z-87

G19G2Y-227Z-39CR=70

G0Y-250Z
Z30
G0XY120Z30A35
Z-20
G1Y105Z-58
Y203 Z-65 A-20
Y214 Z-39 A35


En ce qui concerne le A seul , il a été également traité et remplacé par A0. Donc le problème ne venait pas de là. Excusez moi pour ne pas avoir donné cette information plus tôt...
De la même manière les rotations sont gérées et mon programme ajoute bien les degrés nécessaires à A et C( si besoin ).

- si j'ai bien compris les paramètres machine ont été altérés par un programme ?? Comment est-ce possible :peur5466:

Je ne sais malheureusement pas car trop novice en la matière. Mon chef est en ce moment même en train de téléphoner aux techniciens pour nous donner plus amples informations.

Bjr,
peut-etre un truc simple [...] R300 devient R=300
et cela sur l'ensemble du prog.
Y.

Donc pas besoin du CR= ?
Merci encore à tous.
 
L

LeGeorges

Nouveau
Je reviens aux nouvelles après l'appel passé.
Voici un résumé de la situation de mon chef et de l'appel passé :

Sur du NUM , on contruit des trajectoire en RTCP en faisant des interpolation circulaire ou hélicoïdale selon les 3 plans G17 G18 et G19.
Les changements de plans ne posent pas de problèmes. Les calculs de déport de la tête s'effectuent même si la tête n'est pas perpendiculaire à la trajectoire.

Sur du SIEMENS , il semblerait que l'introduction d'un G19(ou G18) dans une trajectoire 5 axes influerait sur le calcul des jauges et pertuberait le bon fonctionnement de la machine.

Pourquoi ? C'est le point qui reste en suspens.

Les machines Siemens sont-elles capables de faire cela ?

Je vais vous mettre les 2 versions de mon programme.

Programme en NUM :

$G77H1967N0N1000
E60000=-4091420 M121 (B1-E1)
E61000=-2140552
E62000=-472300
$M104
$M12
M165
G4F27
T1M6
M3S30000
N10$--
G59XYZ
D1
GX-350Y-80Z100C90B
G151EU0.5EV0EW-4
$-EBAUCHE-
GX-350Y-80Z
Z-115
G1Y-29F10000
Y-69
X340
Y67
X385
GZ
N20$-AVANT-
$GX-348Y-75Z B-90C90
$Z-92
$G1G9Y-38F2500
$G9X-331Z-92
$Y-43Z-92
$X-185Y-44Z-92
$X5Z-92
$X165Z-92.5
$X308Y-45Z-92.5
$G9X311Y-46Z-92C180
N30$--DROITE-
G59Z.5
GX330Y-46C180B-90
Z-93
G1G9X311F4000
Z-92.9
G19G2X311Y-37Z-88.9R20
G3X312Y48Z-86.3R600
X312Y117Z-67.4R300
X313Y248Z-2.5R860
G2X313Y282.5Z12.5R150
X313Y302Z16.5R60
X313Y309Z9.5R9
G1X313Y309.5Z-7EB7
G9G1X314Y327.5Z-25
GX320
[....]



Programme traduit en Siemens :

;G77H1967N0N1000
G500
G0G53Z-200
G506
ROT X0 Y0 Z0
TRANS X0 Y0 Z0

N10 MSG("")
M6T1
D1
M3S24000
G0A0C0

TRAORI

N10;--

G0X-350Y-80Z100AC180
;G151EU0.5EV0EW-4
TRANS X0.5 Y0 Z-4
;-EBAUCHE-
G0X-350Y-80Z0
Z-115
G1Y-29F10000
Y-69
X340
Y67
X385
G0Z0
N20;-AVANT-
;G0X-348Y-75Z A-90C180
;Z-92
;G1G9Y-38F2500
;G9X-331Z-92
;Y-43Z-92
;X-185Y-44Z-92
;X5Z-92
;X165Z-92.5
;X308Y-45Z-92.5
;G9X311Y-46Z-92C270
N30;--DROITE-
;G59Z.5
G0X330Y-46A-90C270
Z-93
G1G9X311F4000
Z-92.9
G19G2X311Y-37Z-88.9CR=20
G3X312Y48Z-86.3CR=600
X312Y117Z-67.4CR=300
X313Y248Z-2.5CR=860
G2X313Y282.5Z12.5CR=150
X313Y302Z16.5CR=60
X313Y309Z9.5CR=9
G1X313Y309.5Z-7RND=7
G9G1X314Y327.5Z-25
G0X320

En espérant que cela aide.
 
5

5axes

Apprenti
C'est encore pire que je pouvais imaginer :) Les gars était juste des grands malades :evil:

Mélanger le RTCP G151 avec décalage d'origine , une définition de plan G19 et interpo hélicoïdale + fonction chanfrein de rayonnage ..; Ouais ben bon courage j'arrive même plus à comprendre le code d'origine. Sur le principe on va dire que ce que NUM pouvait faire Siemens Devrait le faire .. Désolé mais j'ai jamais été aussi loin et je suis pas capable de te dire si ca va marcher.

Par contre je n'ai pas souvenir que sur siemens on soit capable d'écrire une interpolation hélicoïdale G2/G3 avec X… Y… Z… en utilisant CR= .. on est plus dans du G2/G3 X… Y… Z… I… J… K… TURN=

C'est peut être pour ça que tu disais au départ que tu avais des problème avec les interpo circulaire en mode CR.
 
Dernière édition:
L

LeGeorges

Nouveau
Par contre je n'ai pas souvenir que sur siemens on soit capable d'écrire une interpolation hélicoïdale G2/G3 avec X… Y… Z… en utilisant CR= .. on est plus dans du G2/G3 X… Y… Z… I… J… K… TURN=

C'est peut être pour ça que tu disais au départ que tu avais des problème avec les interpo circulaire en mode CR.

Du coup si je remplace les "CR=" par des "TURN =" le programme devrait fonctionner ?
Oui je trouve cela étrange également de penser que Siemens ne peut pas faire ce que fait NUM .
 
5

5axes

Apprenti
Ca n'a rien à voir ... ce que je voulais dire c'est que l'on passe d'une notation avec indication du rayon de l'interpolation à une notation ou l'on spécifie le centre de l'arc du cercle (I J K) Mais pour ça il faut que tu re-calcul le centre du cercle à partir des données disponible c'est pas juste en Chercher-remplacer. Mais avant de te lancer la dedans il faudrait encore valider ça, car comme je l'ai dit je ne suis pas sure du tout de ce que j'ai mentionné à propos des interpos hélicoïdale sur Siemens.
 
L

LeGeorges

Nouveau
Nous allons essayer d'avoir un technicien Siemens pour savoir ce qui ne va pas. Je vous tiendrais au courant !

Du coup nous avons décidés de faire sans interpolation hélicoïdale car apparemment la machine ne saurait pas le faire, d'après ce que j'ai pu comprendre.
Dommage. Merci encore tout le monde
 
Dernière édition:
T

traverse mobile

Apprenti
je confirme ce que dit 5axes , pour la syntaxe on serait plutôt sur quelque chose du genre : (exemple utilisé pour du taraudage en interpo helicoidale)

FGROUP(X,Y) ; ce n 'est pas obligatoire mais permet de dissocier l avance combinée X+Y de l 'avance Z
G2 X8 Y0 Z-20 I-8 J0 TURN=15 F200 FL[Z]=20 ; helice diametre 16, centre X0 ,Y0, avec avance en Z a 2mm/min
FGROUP(X,Y,Z) ; pour reprendre en compte les 3 axes X Y et Z dans le calcul de l avance outil dans la suite du prog.

la syntaxe en X..Y..Z ... CR= serait interprete par la CN comme une tentative de faire un arc de cercle de rayon CR dans un plan incliné passant par le point X,Y,Z : ce qui dans certain cas serait peut etre possible (tout depend d ou on part et des valeur X,Y Z et CR , si le cercle existe) mais certainement pas ce que tu veux (car par une hélice)
 
5

5axes69

Nouveau
Bonjour

Nous travaillons en 5 axes sur Num1060 depuis des années et nous avons évolué sur SIEMENS 840D
Je rencontre le même pb que vous , perte du TRAORI à la lecture d'une interpo helicoïdale ; je pense que c'est surtout la lecture d'un G18 ou G19
qui met le bazard
Je me débrouille avec la fonction CIP ; mais j'ai un réel pb de transformation des programmes en NUM vers SIEMENS
Avez vous progressé sur le sujet?
Merci pour votre retour
Cordialement

5AXES69
 
T

traverse mobile

Apprenti
y pas de moulinette magique pour passer des programme num en siemens
il faut tout verifier a la main
si vous avez le logiciel SINUTRAIN customisé avec une archive de votre machine vous pourrez simuler vos programme piece : cela vous evitera les erreurs de syntaxes , en revanche pour le controles des trajectoires j ai jamais essayé (a voir) . sinon c est la machine qui sera le "juge de paix"
concernant la perte du TRAORI il y a en effet plusieurs fonction qui annule le TRAORI , j en ai deja renconté une ou 2 mais je n ai pas de liste exhaustive. le groupe G17/G18/G19 neamoins ne devrait pas revoquer le TRAORI. mais cela n'a pas de sens de changer de plan en TRAORI puisque par definition le TRAORI est capable de travailler dans l espace (c est une sorte de "super" plan incliné pour les numiens)
 
5

5axes69

Nouveau
Bonjour
je vais apporter plus de précision ; pendant 20 ans nous avons développé et programmé sous NUM en 5 axes en utilisant le RTCP avec une programmation par palpage un peu 'bidouille' .Les trajectoires sont une combinaison d'interpo hélicoidale en passant de G18 à G19..G17 selon la pièce ; en faisant cela on tolère des erreurs sur trajectoire (de l'ordre du mm voir plus) ; c'était la vie avant la FAO et avant les modèles numérisés .
Mon souci est d'adapter les vieux programmes sur lesquels je n'ai pas de modèle numérisé. je n'arrive pas à trouver une écriture SIEMENS . Je pense voir avec les CIP mais cela demande de calculer les centres des interpo ; pour moi TROARI est l’équivalent du RTCP NUM
Merci pour vos remarques
Ci joint une petite trajectoire 'type'
Cordialement
5AXES69
 

Fichiers joints

  • num1.txt
    679 bytes · Affichages: 93
T

traverse mobile

Apprenti
je confirme RTCP en num = TRAORI en siemens ............ mais bien sur ce n est pas exactement traité pareil par les 2 constructeurs
si la finalité est bien la meme les conditions d utilisation et les effets sur les autres fonctions peuvent être differentes
d ou la nécessite de faire a la main et de TOUT verifier
pour resumé : il n y aura pas , malheureusement, de réponse simple et unique a vos problemes de traductions NUM->Siemens
et je n ai pas connaissance de logiciel assurant ce travail (de maniere automatique et fiable)
seul votre expertise en num et sur les pieces que vous realisez vous permettra de savoir exactement le comportement que vous attendez de votre nouvelle CN
après sachez que TOUT est possible en Siemens (et souvent de plusieur maniere, c est d ailleurs souvent un probleme, en soit)

la question de l interpo helicoidale n est pas resolue ainsi ?
FGROUP(X,Y) ; ce n 'est pas obligatoire mais permet de dissocier l avance combinée X+Y de l 'avance Z
G2 X8 Y0 Z-20 I-8 J0 TURN=15 F200 FL[Z]=20 ; helice diametre 16, centre X0 ,Y0, avec avance en Z a 2mm/min
FGROUP(X,Y,Z) ; pour reprendre en compte les 3 axes X Y et Z dans le calcul de l avance outil dans la suite du prog.

seul une question precise peut amener une reponse (etant donné l etendu de la problématique)
 
A

asiaboy69

Nouveau
N as tu pas acces aux cycle 800 sous siemens pour travailler sous les differents plans?
 

Sujets similaires

Haut