$AC_TIME pour moi c'est le temps d'exécution d'un bloc , le temps d'usinage d'un programme ce serait plus $AC_CYCLE_TIME. Sur Siemens il existe au moins 5 ou 6 variables pour le temps
Mais pour ma part j'utilise $AC_CYCLE_TIME qui est le temps d'exécution du programme en secondes.
Pour le compteur de pièce c'est un peu plus complexe car le fonctionnement dépends de variables système. Il faut regarder par exemple quel code M va incrémenter automatiquement le compteur :
Le code est piloté par la variable
$MC_PART_COUNTER_MCODE sur cette machine c'est 97 donc
M97 qui va incrémenter le code mais on pourrait le régler à M17,M02 ..
Donc chaque fois que le programme va rencontrer M97 il augmentera la variable $AC_TOTAL_PARTS de 1 si tu as réglé la variable $AC_REQUIRED_PARTS 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'affiché 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
à la fin de chaque programme 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
M05
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