Pour afficher des temps d'exécution d'un programme sur CN Siemens il existe plusieurs variables système, qui peuvent être utilisés pour surveiller des processus technologiques.
On peut par exemple utiliser :
$AN_SETUP_TIME Temps depuis la dernière initialisation en minutes,
$AN_POWERON_TIME Temps depuis la dernière mise sous tension en minutes.
Les trois temps suivants sont définis en tant que variables système spécifiques à un canal et peuvent être activés par le biais d'un paramètre machine.
$AC_OPERATING_TIME Temps global d'exécution de programmes CN en mode automatique en secondes,
$AC_CYCLE_TIME Temps d'exécution du programme CN sélectionné en secondes,
$AC_CUTTING_TIME Temps de mise en oeuvre de l'outil en secondes.
Si l'on désire utiliser un compteur de pièce c'est un peu plus complexe car le fonctionnement dépend de variables système. Il faut regarder par exemple quel code M va incrémenter automatiquement le compteur :
Le code qui pilote l'incrémentation est défini par la variable $MC_PART_COUNTER_MCODE, sur cette machine c'est 97 donc M97 va incrémenter le code mais on pourrait le régler à M17 (fin d'un sous programme), M02.
Donc chaque fois que le programme va rencontrer M97 il augmentera la variable $AC_TOTAL_PARTS de 1. Si la variable $AC_REQUIRED_PARTS est définie, une fois que le nombre de pièce produites ( $AC_TOTAL_PARTS) sera égal au nombre de pièces à produire ($AC_REQUIRED_PARTS), un message va s'afficher sur la CN pour dire que le nombre de pièce à produire est atteint.
Voici un exemple de programme ou l'on retrouve quelques exemple d'utilisation de :
$AC_TOTAL_PARTS,
$AC_REQUIRED_PARTS
et $AC_CYCLE_TIME
A la fin de chaque boucle j'affiche un message pour donner le nombre des pièces produites et le temps d'exécution globale :
;Test Variable
G71 G90
G54 G17
G0 SUPA Z-5 D0
$AC_TOTAL_PARTS=0 ; RAZ du nombre de pièce produites
$AC_REQUIRED_PARTS=5 ; Nombre de pièces demandés
MSG("Piece demandee :"<<$AC_REQUIRED_PARTS) ; Nombre de pièce demandées
BOUCLE:
T="OUTIL1"
M06
S2500 D1
M03
G0 X0.0 Y0.0
Z100.0
X100.0
Z200.0
M05
M97 ; Incrémente nb pièce produite
MSG("Pieces produites : "<<$AC_TOTAL_PARTS<<" / "<<$AC_CYCLE_TIME<<" secondes") ; Nombre de pièce produites et temps execution depuis lancement du programme
M00
G0 SUPA Z-5 D0
; Si on a pas atteint le nombre de pièce retourne au départ
IF $AC_TOTAL_PARTS<$AC_REQUIRED_PARTS GOTOB BOUCLE
M02
bonjour,
RépondreSupprimerje me permet de poster un message sur votre dernier "post" car découvrant votre site j'ai été attiré par votre logiciel visuoutil, mais malheureusement il m'est impossible de le trouver les liens sont "mort", vous serait-il possible de me fournir un lien afin que je puisse télécharger votre logiciel et "essayer" de l'utiliser pour peu-être créer un bibliithèque outil sous topsolid V7.
par avance merci