Demande d'aide pour traduire des programmes NUM en Siemens

LeGeorges
Nouveau
14 Juin 2018
7
  • Auteur de la discussion
  • #1
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
 
joumpy
Compagnon
8 Octobre 2009
1 486
38: Grenoble
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.
 
5axes
Apprenti
6 Novembre 2006
85
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:
LeGeorges
Nouveau
14 Juin 2018
7
  • Auteur de la discussion
  • #4
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:
5axes
Apprenti
6 Novembre 2006
85
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 :)
 
osiver
Compagnon
7 Septembre 2013
10 369
Ç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:
 
5axes
Apprenti
6 Novembre 2006
85
- 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 ?
 
LeGeorges
Nouveau
14 Juin 2018
7
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.
 
LeGeorges
Nouveau
14 Juin 2018
7
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.
 
5axes
Apprenti
6 Novembre 2006
85
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:
LeGeorges
Nouveau
14 Juin 2018
7
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 .
 
5axes
Apprenti
6 Novembre 2006
85
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.
 
LeGeorges
Nouveau
14 Juin 2018
7
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:
La dernière réponse à ce sujet date de plus de 6 mois
Haut