IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Automation Discussion :

contrôle d'effort de coupe - CN siemens 840D


Sujet :

Automation

  1. #1
    Membre habitué Avatar de skysee
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 191
    Points : 137
    Points
    137
    Par défaut contrôle d'effort de coupe - CN siemens 840D
    Bonjour,

    Sachant que mon problème est vraiment spécifique à l'usinage, je pose tout de même ma question.

    En programmation siemens, pour connaître la valeur de l'intensité consommée par un axe, on récupère la valeur contenue dans la variable $AA_CURR[axe].

    J'ai toujours eu a contrôler une valeur d'effort maxi. Mais pour mon cas je dois contrôler une valeur d'effort mini :

    WHEN (ABS($AA_CURR[AX6])<30) DO DELDG

    Hors bien que la valeur soit supérieure a 30 (contrôlé par un trace servo), la cn se plante en controle d'effort....

    Y'aurait il, a tout hazard, un expert cn 840D dans le coin?

    merci

  2. #2
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    Citation Envoyé par skysee Voir le message
    Y'aurait il, a tout hazard, un expert cn 840D dans le coin?
    peut-être ...

    tu gères ça comment ?

    parce que ta ligne de prog
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHEN (ABS($AA_CURR[AX6])<30) DO DELDG
    c'est sûr, elle semble faire ce que tu voudrais, mais elle est ou ?
    En action synchrone ? en ProgEvent ?

    je suppose que quand tu dis "la cn se plante" c'est dans DELDG

    Donne un peu plus de détails, sinon, c'est pas gagner pour t'aider

  3. #3
    Membre habitué Avatar de skysee
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 191
    Points : 137
    Points
    137
    Par défaut
    Bonjour,

    Souvent en usinage, on cherche à sécuriser le matériel via des contrôle d'effort sur les axes.

    Jusqu'à maintenant, je n'ai vu et utiliser que des recherches d'effort maxi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WHEN (ABS($AA_CURR[AX6])>50) DO DELDTG
    G1 X50 Y20
    ...
    Ici, dès que le courant consommé par l'axe 6, pendant le déplacement G1, dépasse 50A, DELDTG passe à 1 et le mouvement est immédiatement arrêté.

    Dans mon application, je dois faire l'inverse. Trouver si suffisamment de courant est consommé par l'axe pendant ce G1.

    DELDTG est une action synchrone à un déplacement. Delete Distance To Go, stop donc le déplacement dès que la condition est réalisé.

    Dans mon cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    WHEN (ABS($AA_CURR[AX6])<30) DO DELDTG
    G1 X50 Y20
    ...
    Le DELDTG est activé alors que la condition n'est pas vrai...
    Pour le vérifier, j'ai relevé le courant consommé par l'axe6 pendant le déplacement via une trace de servo. La valeur se balade entre 40 et 60A.

    Quand je demande de lire le courant de l'axe6, avec $AA_CURR[AX6], il y'a forcément un labs de temps où la valeur est infèrieure à 30, sinon le DELDTG ne passerait pas à 1.

    Voilà, je ne vois pas trop comment gérer l'affaire...

    Merci

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mai 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Normal, tout cà ...!
    je sais que le post date mais la réponse peut avoir intérêt. le principe est bon mais l'algorithme insuffisant --> le courant pass tjrs par un min DONC la fsync declenchera tjrs et immédiatement ... Il faut conditionner le déclenchement de la fsync au fait que que l'effort en cours est nominal puis chute donc attendre que ce courant ait atteint une certaine valeur avant ENFIN de declencher sur sur sa chute. Si vous avez un HMI_ADVANCED ou un OPERATE, servez-vous de la fonction "trace" (domine "mise en service") pour enregistrer ce courant, et regardez sa courbe. vous y constaterez 5 phases 1) Accel, avec une pointe courant Imax 2) Vitesse atteinte, avec un courant qui est revenu a une valeur In 3)courant necessaire au déplacement de la masse avant effort sans ,4) pointe courant du au 1er contact de l'outil avec la matière à usiner 5) Courant IF necessaire à vore usinage. c'est SUR ce courant qu'il faut déclencher. une solution simple (mais qui implique que jemais la vitesse sera constante --> potar des avances = 100%) consiste a lancer 2 fsync avant le bloc a surveiller 1) une fsync qui va armer un marqueur au bout d'un temps T, le temps au bout duquel l'axe est en phase stable 2) une Fsync de valeur min.
    DO $AC_TIMER[1]=0 $AC_MARKER[1]=0
    WHEN $AC_TIMER[1]> 10 DO $AC_MARKER[1]=1
    WHEN (($AC_MARKER[1]==1) AND (ABS($AA_CURR[AX6])<30)) DO DELDTG
    d'autre part, vous constaterez via la fonction trace que le signal courant est , d'une part, fortement bruité et que d'autre part, le courant du a l'effort peut etre "noyé" dans le courant necessaire au déplacement de la masse de l'axe. De plus, une fsync tourne à la vitesse de l'interpolateur (NCMD 10050 x NCMD 10070). les fsync vont surement accrocher le bruit et non le courant . il faudra "lisser" (fsync de calcul moyen du Iq sur 5 cycles Interpo par ex) MAIS a lisser on retarde d'autant le declenchement entre la chute du Iq et le DELDTG. Allez, jouez-bien

Discussions similaires

  1. émulateur pour Siemens 840D
    Par 3aychoucha dans le forum Automation
    Réponses: 0
    Dernier message: 13/03/2012, 15h38
  2. Réponses: 0
    Dernier message: 20/12/2010, 13h49
  3. Réponses: 2
    Dernier message: 05/12/2002, 16h55
  4. [contrôle] dbDateTimePicker ???
    Par Fizgig dans le forum Composants VCL
    Réponses: 2
    Dernier message: 28/11/2002, 15h45
  5. [Kylix] Contrôle DBGrid
    Par KThrax dans le forum EDI
    Réponses: 1
    Dernier message: 10/05/2002, 14h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo