jeudi 24 octobre 2013

Code Siemens840D avancée utilisation d'une MACRO personnalisée



Voici un petit exemple de code pour CN Siemens sur l'utilisation des variables et de macros.  Le code de cet article permet d’illustrer la relecture et la modification de variables concernant les longueurs de l’outil. Le code permet aussi d’illustrer l’appel de MACRO avec passage de paramètre et la déclaration de variable. Rajouter le code suivant dans un fichier Test.mpf
T=”Boule10” D1
M6
G00 G90 G17 G94
G54
CORRECTEUR(-0.02) ;MACRO PERSO
M30
...
Dans un fichier CORRECTEUR.SPF stocké dans le repertoire des sous-programmes de la cn rajoutez le code suivant :

PROC CORRECTEUR(REAL PARAM1)
DEF REAL PARAM2
PARAM2=$P_TOOLNO ; Recuperation numero d’outil actif
$TC_DP3[PARAM2,1]=$TC_DP3[PARAM2,1]+PARAM1

IF $TC_DP3[PARAM2,1]<=0 GOTOF ALARM1
GOTOF END

ALARM1:MSG("LONGUEUR OUTIL NULLE")
STOPRE
M00
GOTOB ALARM1

END:
M17

On utilise dans l'exemple ci-dessus la variable  :
$ TC_DP3[PARAM2,1]=Variables liées à la longueur de l’outil actif pour le correcteur 1.
Si la longueur de l’outil est inférieure à zéro le sous-programme affiche un message lié à l’erreur.

2 commentaires:

  1. Vous dite: "si la longeur de l outil est inferireur a zero.... ".. est-ce dans le cas de mesurer l outil avec une probe utilisant une sub routine? - Max

    RépondreSupprimer
  2. Ce code est juste un exemple destiné à illustrer l'utilisation d'une macro sur Siemens.
    De même le test permet d’illustrer la fonction IF.
    Mais oui on pourrait aussi imaginer que cette fonction pourrait être intégré dans une mesure d'outil automatique. Dans le cas ou l'opérateur aurait oublié de rentrer une valeur pour la longueur d'outil la macro serait annulé pour éviter une collision lors de la mesure automatique.

    RépondreSupprimer