DMG MORI
DMG MORI

Global One - Integration. Innovation. Quality.

Timer programmieren Steuerung Sinumerik 840D

Beitrag 01.12.2017, 14:22 Uhr
Finkla
Level 1 = Community-Lehrling
*
Hallo Zusammen,
ich möchte gerne bei unseren Fräsmaschinen DMC65V und DMC85V einen Timer für die Zykluszeit programmieren.

Timer für 5 Bearbeitungen und Gesamtzykluszeit.
Funktioniert nur bei den neueren Steuerungen von Siemens.
Hier die Programmierung aus einer neueren Maschine:
$AC_TIMER[1]=0
$AC_TIMER[2]=0

R201=$AC_TIMER[2]/60
$AC_TIMER[2]=-1
$AC_TIMER[2]=0

R202=$AC_TIMER[2]/60
$AC_TIMER[2]=-1
$AC_TIMER[2]=0

R203=$AC_TIMER[2]/60
$AC_TIMER[2]=-1
$AC_TIMER[2]=0

R204=$AC_TIMER[2]/60
$AC_TIMER[2]=-1
$AC_TIMER[2]=0


R200=$AC_TIMER[1]/60
R205=$AC_TIMER[2]/60
$AC_TIMER[2]=-1
$AC_TIMER[1]=-1

Wie kann ich das programmieren?
Habe eine alte Sienumerik 840 D (Maschinen Baujahr 2001).

Dankeschön!
Grüße Klaus!! danke.gif
   
Beitrag 01.12.2017, 18:38 Uhr
platsch
Level 4 = Community-Meister
****
Du kannst den Umweg über die Systemzeit nehmen.
Hier werden aber Stunden, Minuten und Sekunden getrennt behandelt.
CODE
def int Zeit[9,3],Stunden,Minuten,Sekunden

Zeit[1,1]=($A_HOUR*3600)+($A_MINUTE*60)+$A_SECOND;  Startzeit_1 in Sekunden
....
Zeit[1,2]=($A_HOUR*3600)+($A_MINUTE*60)+$A_SECOND;  Stopzeit_1 in Sekunden
Zeit[1,0]=Zeit[1,2]-Zeit[1,1] ;  Laufzeit_1
...
Zeit[2,1]=($A_HOUR*3600)+($A_MINUTE*60)+$A_SECOND;  Startzeit_2 in Sekunden
....
Zeit[2,2]=($A_HOUR*3600)+($A_MINUTE*60)+$A_SECOND;  Stopzeit_2 in Sekunden
Zeit[2,0]=Zeit[2,2]-Zeit[2,1] ;  Laufzeit_2
...
Zeit[0,0]=Zeit[1,0]+Zeit[2,0]+Zeit[3,0]+Zeit[4,0]+Zeit[5,0]+Zeit[6,0]+Zeit[7,0]+Zeit[8,0]+Zeit[9,0]
Anzeigeaufbereitung:
  Stunden=Zeit[0,0]DIV3600
  Minuten=(Zeit[0,0]MOD3600)DIV60
  Sekunden=(Zeit[0,0]MOD60)DIV60
  MSG("Gesamtlaufzeit = "<<Stunden<<":"<<Minuten<<":"<<Sekunden)


Der Beitrag wurde von platsch bearbeitet: 01.12.2017, 18:47 Uhr
   
Beitrag 02.12.2017, 18:01 Uhr
platsch
Level 4 = Community-Meister
****
Noch eine Anmerkung: Die AC_TIMER sind für die Ausführung von Bewegungssynchronaktionen gedacht.
   
Beitrag 05.12.2017, 07:41 Uhr
Finkla
Level 1 = Community-Lehrling
*
Hallo ,
erstmal Dankeschön für die schnelle Antwort!

Die von dir beschriebenen Daten werden so in das Teileprogramm eingefügt???

Gruß Klaus


QUOTE (platsch @ 01.12.2017, 17:38 Uhr) *
Du kannst den Umweg über die Systemzeit nehmen.
Hier werden aber Stunden, Minuten und Sekunden getrennt behandelt.
CODE
def int Zeit[9,3],Stunden,Minuten,Sekunden

Zeit[1,1]=($A_HOUR*3600)+($A_MINUTE*60)+$A_SECOND;  Startzeit_1 in Sekunden
....
Zeit[1,2]=($A_HOUR*3600)+($A_MINUTE*60)+$A_SECOND;  Stopzeit_1 in Sekunden
Zeit[1,0]=Zeit[1,2]-Zeit[1,1];  Laufzeit_1
...
Zeit[2,1]=($A_HOUR*3600)+($A_MINUTE*60)+$A_SECOND;  Startzeit_2 in Sekunden
....
Zeit[2,2]=($A_HOUR*3600)+($A_MINUTE*60)+$A_SECOND;  Stopzeit_2 in Sekunden
Zeit[2,0]=Zeit[2,2]-Zeit[2,1];  Laufzeit_2
...
Zeit[0,0]=Zeit[1,0]+Zeit[2,0]+Zeit[3,0]+Zeit[4,0]+Zeit[5,0]+Zeit[6,0]+Zeit[7,0]+Zeit[8,0]+Zeit[9,0]
Anzeigeaufbereitung:
  Stunden=Zeit[0,0]DIV3600
  Minuten=(Zeit[0,0]MOD3600)DIV60
  Sekunden=(Zeit[0,0]MOD60)DIV60
  MSG("Gesamtlaufzeit = "<<Stunden<<":"<<Minuten<<":"<<Sekunden)
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: