1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.

Conversion language de programmation

Discussion dans 'FAO général' créé par saimone67, 12 Janvier 2012.

  1. saimone67

    saimone67 Nouveau

    Messages:
    19
    Inscrit:
    12 Décembre 2008
    Conversion language de programmation
    Mesdames; messieurs bonjour.

    J'ai un petit problème technique, j' aimerais avoir votre avis sur la chose.

    Je suis amené assez souvent à manipuler des CNC pour travailler du bois.
    Ces machines utilisent un language propre à leur système.
    Ces programmes sont édités via un software de FAO (type conversationnel MAZATROL pour Mazak par exemple).

    Comme toujours, avec ces programmes, une utilisation pour formes ou usinages complexes est innapropriée pour ne pas dire incompatible.
    Pour cela, je suis forcé de programmer via logiciel de FAO traditionnel (type TOPSOLID, MASTERCAM, ARTCAM ou autres)

    Cependant ces logiciels éditent des programmes dont la syntaxe est en iso "pur".

    Malheureusement, je peux lire ces programmes dans ma machine.

    Je suis donc en train de voir comment je pourrais convertir des programmes iso dans ma machine.
    En surfant sur le net, je suis tombé là dessus :

    création de post processeur

    Il serait possible de créer un post processeur permettant de "traduire" de l'iso en language utilisé par ma machine.

    Est ce que quelqu'un aurait déjà utilisé WINPOST ?
    Est-ce vraiment la bonne solution?

    Merci pour vos réponses :)



    Ps: voici la syntaxe des programmes lus par mes machines:

    TPA\ALBATROS\EDICAD\01.00:291:r0w0h0
    ::SIDE=1;
    ::UNm DL=300 DH=300 DS=50 J'ai remarqué qu'ici sont renseignées les dimensions du brut
    OFFS{
    #0=0|0
    #1=0|0
    #2=0|0
    #3=0|0
    #4=0|0
    #5=0|0
    #6=0|0
    #7=0|0
    }OFFS
    VARV{
    #0=0|0
    #1=0|0
    #2=0|0
    #3=0|0
    #4=0|0
    #5=0|0
    #6=0|0
    #7=0|0
    }VARV
    VAR{
    }VAR
    SPEC{
    :: ATTR=%;0
    }SPEC
    OPTI{
    }OPTI
    LINK{
    }LINK
    PREV{
    }PREV
    SIDE#1{
    W#89{ ::WTs WS=1 #8015=0 #1=50 #2=50 #3=-2 #201=1 #203=1 #205=1000 #1001=100 #9521=0 #8101=0 #8096=0 #40=2 #46=1 #8135=0 #8136=0 #8180=0 #8181=0 #8185=0 #8186=0 #9511=0 #9512=0 }W
    W#2201{ ::WTl #8015=1 #1=150 #42=0 }W les trois lignes précédentes concernent l'arrivée d'un outil, la plongée, ainsi qu'une avance en X de 150 mm
    }SIDE
    SIDE#3{
    }SIDE
    SIDE#4{
    }SIDE
    SIDE#5{
    }SIDE
    SIDE#6{
    }SIDE
     
  2. JLuc69

    JLuc69 Compagnon

    Messages:
    1 155
    Inscrit:
    19 Juin 2008
    Localité:
    Genas (69)
    Conversion language de programmation
    Le langage de ta machine est vraiment abscons...
    Mets plutôt un programme complet avec appel de l'outil, descente sur la pièce et un contour de rectangle par exemple de 100 * 50.
    A partir de là, on pourra peut être t'aiguiller sur une solution :|
     
  3. saimone67

    saimone67 Nouveau

    Messages:
    19
    Inscrit:
    12 Décembre 2008
    Conversion language de programmation
    Salut jeanluc, tout d'abord, merci de m'avoir répondu.

    J'ai fait un programme comme tu me l'as demandé.

    Brut: 150x100x30
    Un contour de rectangle centré au milieu de la pièce, dimensions: 100x50, profondeur 5mm.
    L'outil séléctionné est le nr1000. (l'équivalent en iso T1000D1000 M6).

    J'ai une option dans mon logiciel qui me permet de traduire une partie du programme en ASCII.

    La version ASCII OFF:


    TPA\ALBATROS\EDICAD\01.00:291:r0w0h0
    ::SIDE=1;
    ::UNm DL=150 DH=100 DS=30
    OFFS{
    #0=0|0
    #1=0|0
    #2=0|0
    #3=0|0
    #4=0|0
    #5=0|0
    #6=0|0
    #7=0|0
    }OFFS
    VARV{
    #0=0|0
    #1=0|0
    #2=0|0
    #3=0|0
    #4=0|0
    #5=0|0
    #6=0|0
    #7=0|0
    }VARV
    VAR{
    }VAR
    SPEC{
    :: ATTR=%;0
    }SPEC
    OPTI{
    }OPTI
    LINK{
    }LINK
    PREV{
    }PREV
    SIDE#1{
    W#89{ ::WTs WS=1 #8015=0 #1=25 #2=50 #3=-5 #201=1 #203=1 #205=1000 #1001=100 #9521=0 #8101=0 #8096=0 #40=1 #46=1 #8135=0 #8136=0 #8180=0 #8181=0 #8185=0 #8186=0 #9511=0 #9512=0 }W
    W#2201{ ::WTl #8015=1 #2=25 #42=0 }W
    W#2201{ ::WTl #8015=1 #1=100 #42=0 }W
    W#2201{ ::WTl #8015=1 #2=-50 #42=0 }W
    W#2201{ ::WTl #8015=1 #1=-100 #42=0 }W
    W#2201{ ::WTl #8015=1 #2=25 #42=0 }W
    }SIDE
    SIDE#3{
    }SIDE
    SIDE#4{
    }SIDE
    SIDE#5{
    }SIDE
    SIDE#6{
    }SIDE



    La version ASCII ON:


    TPA\ALBATROS\EDICAD\01.00:291:r0w0h0
    ::SIDE=1;
    ::UNm DL=150 DH=100 DS=30
    OFFS{
    #0=0|0
    #1=0|0
    #2=0|0
    #3=0|0
    #4=0|0
    #5=0|0
    #6=0|0
    #7=0|0
    }OFFS
    VARV{
    #0=0|0
    #1=0|0
    #2=0|0
    #3=0|0
    #4=0|0
    #5=0|0
    #6=0|0
    #7=0|0
    }VARV
    VAR{
    }VAR
    SPEC{
    :: ATTR=%;0
    }SPEC
    OPTI{
    }OPTI
    LINK{
    }LINK
    PREV{
    }PREV
    SIDE#1{
    SETUP WS1 EG0 X25 Y50 Z-5 TMC1 TR1 T1000 TP100 ROT0 EGL0 MLT0 DN1 DNR1 DNI0 DNO0 INEN0 INTP0 OUEN0 OUTP0 P9511=0 P9512=0
    L01 EG1 Y25 DVAR0
    L01 EG1 X100 DVAR0
    L01 EG1 Y-50 DVAR0
    L01 EG1 X-100 DVAR0
    L01 EG1 Y25 DVAR0
    }SIDE
    SIDE#3{
    }SIDE
    SIDE#4{
    }SIDE
    SIDE#5{
    }SIDE
    SIDE#6{
    }SIDE

    J'ai déjà commencé à répertorier des codes que je connais, à savoir:

    EG0 G90
    EG1 G91
    DVAR G40
    DVAR0 G41
    DVAR1 G42

    etc...

    Le soucis c'est, que faire avec le restant :wink:
     
  4. JLuc69

    JLuc69 Compagnon

    Messages:
    1 155
    Inscrit:
    19 Juin 2008
    Localité:
    Genas (69)
    Conversion language de programmation
    J'ai l'impression que le langage de la machine est aussi fermé que tous les langages conversationnels.
    C'est à dire qu'ils traitent une géométrie 2D sur une profondeur (en fait, ils font du 2D1/2).
    Peux tu faire un programme 3D du style :

    - appel de l'outil approche à X0 Y0 Z2
    - descente travail à Z0
    - usinage X100 Y5 Z-10
    - usinage Y0
    - usinage X0 Y-5 Z0
    - remonter rapide Z2
    - dégagement
    - fin de programme

    Sans correction de rayon
     
  5. saimone67

    saimone67 Nouveau

    Messages:
    19
    Inscrit:
    12 Décembre 2008
    Conversion language de programmation
    C'est tout à fait ça Jean Luc.
    C'est du conversationnel, avec lequel je ne peux piloter "que" 2,5 axes simultanément.
    J'aimerais utiliser une programme semblable à Artcam pour faire de la gravure, donc le 2,5D me suffit, j'entends par là que la machine me le permet.
    Le soucis c'est que ces logiciels n'exportent, la plupart du temps, que des programmes en g code, que je ne peux pas directement ouvrir sur ma machine (ah que je regrette mon ancienne Mazak !!).

    Enfin ...

    J'ai fait le programme tel que tu me l'as demandé; ça donne cela:

    TPA\ALBATROS\EDICAD\01.00:291:r0w0h0
    ::SIDE=1;
    ::UNm DL=200 DH=100 DS=19
    OFFS{
    #0=0|0
    #1=0|0
    #2=0|0
    #3=0|0
    #4=0|0
    #5=0|0
    #6=0|0
    #7=0|0
    }OFFS
    VARV{
    #0=0|0
    #1=0|0
    #2=0|0
    #3=0|0
    #4=0|0
    #5=0|0
    #6=0|0
    #7=0|0
    }VARV
    VAR{
    }VAR
    SPEC{
    :: ATTR=%;0
    }SPEC
    OPTI{
    }OPTI
    LINK{
    }LINK
    PREV{
    }PREV
    SIDE#1{
    SETUP WS1 EG0 X0 Y0 Z2 TMC1 TR1 T1000 TP100 ROT0 EGL0 MLT0 DN0 DNR1 DNI0 DNO0 INEN0 INTP0 OUEN0 OUTP0 P9511=0 P9512=0
    L01 EG0 Z0 DVAR0
    L01 EG0 X100 Y5 Z-10 DVAR0
    L01 EG0 Y0 DVAR0
    L01 EG0 X0 Y-5 Z0 DVAR0
    }SIDE
    SIDE#3{
    }SIDE
    SIDE#4{
    }SIDE
    SIDE#5{
    }SIDE
    SIDE#6{
    }SIDE


    Quelques précisions:

    Le point d'arrivée et le point de sortie en rapide est directement geré par la machine.

    En fait, la trame d'un programme se déroule comme celà:

    -"setup": Choix de l'outil, cote XYZ, le Z ici étant le Z final, correction du rayon
    -ensuite viennent les différents profils de l'usinage souhaité (ligne, arc, etc...)

    L'arrivée de l'outil et le dégagement se font directement par la machine en arrière plan.
    En fonction des dimensions du brut renseigné, elle arrive en rapide à Z sécurité ( en fait c'est l'épaisseur du brut + 5mm ), puis elle descend en travail au Z renseigné dans le setup.
    Idem pour le dégagement; arrivée au dernier point programmé, elle remonte en travail à Z sécurité, et dégage en rapide à YO (la position de dégagement est paramétrable hors programme).

    [​IMG]


    Uploaded with ImageShack.us
     
  6. JLuc69

    JLuc69 Compagnon

    Messages:
    1 155
    Inscrit:
    19 Juin 2008
    Localité:
    Genas (69)
    Conversion language de programmation
    Alors, dans ce cas, il n'y a qu'a faire une moulinette sur la partie travail (blocs XYZ) pour la transformer en LO1XYZ...
    Et ainsi l'inclure dans le SIDE#1{}
    Pour faire les choses bien, il faudrait connaitre les syntaxes pour :
    - G1
    - G2/G3 avec rayon
    - G2/G3 avec centre
    - G90/G91
    - G40/G41/G42
     
  7. saimone67

    saimone67 Nouveau

    Messages:
    19
    Inscrit:
    12 Décembre 2008
  8. JLuc69

    JLuc69 Compagnon

    Messages:
    1 155
    Inscrit:
    19 Juin 2008
    Localité:
    Genas (69)
    Conversion language de programmation
    Non, avec la FAO, tu crées le programme ISO. Ensuite tu récupères la partie usinage qui t’intéresse. Tu la passes à la moulinette. Et tu l'insère dans le SIDE que tu veux
     
  9. saimone67

    saimone67 Nouveau

    Messages:
    19
    Inscrit:
    12 Décembre 2008
    Conversion language de programmation
    La syntaxe pour l'avance rapide/travail n'est pas directement lisible malheureusement, donc là dessus il va falloir que je trouve une solution.

    Pour tout le reste, je me suis déjà fait un excel.

    Mon problème majeur étant que via artcam, j'aurais des programmes de plusieurs miliers de lignes.
    Je me vois mal corriger la syntaxe de toutes les lignes une par une
    :-D
     
Chargement...

Partager cette page