Lade. Bitte warten...
Laufzeitprotokoll erstellen (Siemens 840D), Auslesen eines Protokolls mit Laufzeiten der Maschine |
|
Antworten Neues Thema |
|
| |
 17.05.2010, 14:56 Uhr
|
|
| |
Hallo zusammen, bräuchte eure Hilfe. Wir arbeiten mit einer DMC 65H duoBlock, mit einer Siemens 840D Solution Line Steuerung. Auf der Maschine wird rund um die Uhr produziert und würden gerne Wissen, wie oft die Maschine läuft und wie oft sie steht. Jetzt wollte ich euch mal fragen, ob man sich ein Protokoll über die Laufzeiten der Maschine rauslassen kann. Bei Heidenhain weiß ich, dass man sich ein Logbuch rauslassen kann. Leider hab ich bei Siemens nichts derartiges gefunden. Vielen Dank schon mal im voraus Grüße
|
|
|
|
|
 |
 |
 |
| |
 17.05.2010, 15:42 Uhr
|
|
| |
ZITAT(snoopy84 @ 17.05.2010, 14:56 Uhr) index.php?act=findpost&pid=319902 Hallo zusammen, bräuchte eure Hilfe. Wir arbeiten mit einer DMC 65H duoBlock, mit einer Siemens 840D Solution Line Steuerung. Auf der Maschine wird rund um die Uhr produziert und würden gerne Wissen, wie oft die Maschine läuft und wie oft sie steht. Jetzt wollte ich euch mal fragen, ob man sich ein Protokoll über die Laufzeiten der Maschine rauslassen kann. Bei Heidenhain weiß ich, dass man sich ein Logbuch rauslassen kann. Leider hab ich bei Siemens nichts derartiges gefunden. Vielen Dank schon mal im voraus Grüße leg doch selbst ein protokol an, mach ein unterprogramm mit write befel und notiere dir die startzeit in eine datei dann lässt du im programm ne stopuhr laufen. mach ein 2. programm mit write auf die uhrzeit und laufzeit... nun hast du startzeit potokoliert und die stopzeit und die laufzeit ... kannst ja noch die stückzahl mit reinbeziehen. später kannst du dann im protokol sehen wie lang die gelaufen ist und wie lang die standzeiten der maschine waren. das kannst allerdings auch die steuerung alles rechnen lassen im UP und dann einfach mit write ins protokol schreiben.
|
|
|
|
|
 |
 |
 |
| |
 18.05.2010, 10:12 Uhr
|
|
| |
ZITAT(Hexogen @ 17.05.2010, 15:42 Uhr) index.php?act=findpost&pid=319906 leg doch selbst ein protokol an, mach ein unterprogramm mit write befel und notiere dir die startzeit in eine datei dann lässt du im programm ne stopuhr laufen. mach ein 2. programm mit write auf die uhrzeit und laufzeit... nun hast du startzeit potokoliert und die stopzeit und die laufzeit ... kannst ja noch die stückzahl mit reinbeziehen. später kannst du dann im protokol sehen wie lang die gelaufen ist und wie lang die standzeiten der maschine waren. das kannst allerdings auch die steuerung alles rechnen lassen im UP und dann einfach mit write ins protokol schreiben. Hey, danke für den Tipp, das werde ich mal versuchen. Vom Prinzip her hab ich es verstanden, allerdings muss ich mich da noch etwas einlesen. Hast du sowas schon mal programmiert und könntest du mir so ein Muster zeigen? Wäre super nett Grüße
|
|
|
|
|
 |
 |
 |
| |
 18.05.2010, 17:25 Uhr
|
|
| |
ZITAT(snoopy84 @ 18.05.2010, 11:12 Uhr) index.php?act=findpost&pid=319982 Hey, danke für den Tipp, das werde ich mal versuchen. Vom Prinzip her hab ich es verstanden, allerdings muss ich mich da noch etwas einlesen. Hast du sowas schon mal programmiert und könntest du mir so ein Muster zeigen? Wäre super nett
Grüße klar, aber das muster ist etwas verwirrend. hier: DEF REAL X_WERT, Y_WERT, Z_WERT, D_WERT DEF INT _NULLPUNKT, ERROR DEF STRING[24] NAME="OMP40_ERGEBNISS" ;________________________________________________________________ WRITE(ERROR,<<NAME," "<<$A_DAY<<"."<<$A_MONTH<<".0"<<$A_YEAR<<" "<<$A_HOUR<<":"<<$A_MINUTE<<"/ POS. IN X="<<(TRUNC(X_WERT*1000)/1000)<<" Y="<<(TRUNC(Y_WERT*1000)/1000)<<" RADIUS:"<<(TRUNC(D_WERT*1000)/1000)<<" ") hier erstelle ich ein protokoll mit Namen : OMP40_ERGEBNISS daten von uhrzeit datum und ergebniss. wichtig beim write das du den error immer mit angibst! dieser ist normal dazu da um auszuwerten ob die datei gesperrt, voll oder sonst noch was ist... du kannst dann in solchen fällen drauf reagieren. les dich mal ein wenn du fragen hast melden. wenn du nicht weiter kommst schreib ich dir ein prot prog.
|
|
|
|
|
 |
 |
 |
| |
 19.05.2010, 11:25 Uhr
|
|
| |
ZITAT(mori4200 @ 18.05.2010, 14:25 Uhr) index.php?act=findpost&pid=320040 Hi, habe da was fertiges fuer dich.
ich habe zwar jetzt keine Zeit mehr aber morgen stelle ich es hier rein. das Prot sieht dann so aus
______________________________________ PROG: /_N_WKS_DIR/_N_JDL_8TH_WPD/ TOOL: T 1 START: 11.13.2009 9H 56MIN 11SEC STOP: 11.13.2009 10H 17MIN 55SEC ______________________________________ PROG: /_N_WKS_DIR/_N_JDL_8TH_WPD/ TOOL: T 51 START: 11.13.2009 10H 18MIN 45SEC STOP: 11.13.2009 11H 39MIN 1SEC ______________________________________ PROG: /_N_WKS_DIR/_N_JDL_8TH_WPD/ TOOL: T 5 START: 11.13.2009 11H 39MIN 55SEC STOP: 11.13.2009 14H 28MIN 16SEC ______________________________________ PROG: /_N_WKS_DIR/_N_JDL_8TH_WPD/ TOOL: T 30 START: 11.13.2009 14H 29MIN 10SEC STOP: 11.13.2009 14H 40MIN 39SEC ______________________________________ PROG: /_N_WKS_DIR/_N_JDL_8TH_WPD/ TOOL: T 30 START: 11.13.2009 14H 40MIN 41SEC STOP: 11.13.2009 14H 53MIN 55SEC ______________________________________ PROG: /_N_WKS_DIR/_N_JDL_8TH_WPD/ So, und hier nun das SPF: Einfach mit RUN_TIME(1) starten und mit RUN_TIME stoppen. Wichtig ist noch MD 11420(Protokoll Laenge). Ich habs bei uns jetzt auf 1000 gesetzt- dann braucht man es nicht staendig aus der maschine rausholen. Das Protokoll wird im Werkstueckordner mit dem Namen MONI erstellt! PS: Ich hab das ganze in den Werkzeugwechselzyklus eingebaut. => so wird die zeit von einem zum naechsten gestopt viel Spass %_N_RUN_TIME.SPF ;$PATH=/_N_CUS_DIR/ PROC RUN_TIME(INT _FUNKT) DISPLOF Def int Error Def String[1] _LZ1 = " " Def String[1] _H = "H" Def String[3] _MIN = "MIN" Def String[3] _SEC = "SEC" Def String[1] _PK = "." Def String[3] JAHR = "20" STOPRE IF ($P_SEARCH OR $P_SIM) GOTOF ENDE IF (_FUNKT==1) WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","PROG: "<<$P_PATH[0]) WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","TOOL: T "<<$P_TOOLNO) WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","START: " <<$A_MONTH <<_PK <<$A_DAY <<_PK <<JAHR <<$A_YEAR <<_LZ1 <<$A_HOUR <<_H <<_LZ1 <<$A_MINUTE << _MIN <<_LZ1 <<$A_SECOND <<_SEC) ELSE WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","STOP: " <<$A_MONTH <<_PK <<$A_DAY <<_PK <<JAHR <<$A_YEAR <<_LZ1 <<$A_HOUR <<_H <<_LZ1 <<$A_MINUTE << _MIN <<_LZ1 <<$A_SECOND <<_SEC) WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","______________________________________") ENDIF ENDE: RET M17
|
|
|
|
|
 |
 |
 |
| |
 20.05.2010, 10:43 Uhr
|
|
| |
ZITAT(mori4200 @ 19.05.2010, 12:25 Uhr) index.php?act=findpost&pid=320090 So, und hier nun das SPF:
Einfach mit RUN_TIME(1) starten und mit RUN_TIME stoppen. Wichtig ist noch MD 11420(Protokoll Laenge). Ich habs bei uns jetzt auf 1000 gesetzt- dann braucht man es nicht staendig aus der maschine rausholen. Das Protokoll wird im Werkstueckordner mit dem Namen MONI erstellt! PS: Ich hab das ganze in den Werkzeugwechselzyklus eingebaut. => so wird die zeit von einem zum naechsten gestopt
viel Spass
%_N_RUN_TIME.SPF ;$PATH=/_N_CUS_DIR/ PROC RUN_TIME(INT _FUNKT) DISPLOF
Def int Error Def String[1] _LZ1 = " " Def String[1] _H = "H" Def String[3] _MIN = "MIN" Def String[3] _SEC = "SEC" Def String[1] _PK = "." Def String[3] JAHR = "20"
STOPRE
IF ($P_SEARCH OR $P_SIM) GOTOF ENDE
IF (_FUNKT==1)
WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","PROG: "<<$P_PATH[0]) WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","TOOL: T "<<$P_TOOLNO) WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","START: " <<$A_MONTH <<_PK <<$A_DAY <<_PK <<JAHR <<$A_YEAR <<_LZ1 <<$A_HOUR <<_H <<_LZ1 <<$A_MINUTE << _MIN <<_LZ1 <<$A_SECOND <<_SEC)
ELSE
WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","STOP: " <<$A_MONTH <<_PK <<$A_DAY <<_PK <<JAHR <<$A_YEAR <<_LZ1 <<$A_HOUR <<_H <<_LZ1 <<$A_MINUTE << _MIN <<_LZ1 <<$A_SECOND <<_SEC)
WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","______________________________________") ENDIF
ENDE: RET M17 Hey Mori, super vielen Dank echt geil!!!! Das hilft mir sehr weiter, werde mich dann nochmal melden wenns läuft. Schöne Woche und frohes schaffen
|
|
|
|
|
 |
 |
 |
| |
 23.05.2010, 23:51 Uhr
|
|
| |
ZITAT(snoopy84 @ 17.05.2010, 15:56 Uhr) index.php?act=findpost&pid=319902 Wir arbeiten mit einer DMC 65H duoBlock, mit einer Siemens 840D Solution Line Steuerung. Ist bei der Maschine L_TIME.SPF nicht dabei? Start mit L_TIME Ende mit T_TIME(1) Dann sollte sich im Ordner Teileprogramme eine neue Datei finden mit einem selbserklärenden Inhalt... Gruss fonsi
|
|
|
|
|
 |
 |
 |
| |
 25.05.2010, 13:12 Uhr
|
|
| |
ZITAT(mori4200 @ 19.05.2010, 12:25 Uhr) index.php?act=findpost&pid=320090 PS: Ich hab das ganze in den Werkzeugwechselzyklus eingebaut. => so wird die zeit von einem zum naechsten gestopt Hey LEUTE ! Ich würde hier ZWINGEN davon abraten im WERKZEUGWECHSEL, "rumzupfuschen" man kann einiges indes zerstören was zu kollisionen führen kann! also aufpassen! und vor Änderungen backup machen! vor allem sollte man sich erst mit der materie vertraut machen bevor man was in die hersteller zyklen reinschreibt!
|
|
|
|
|
 |
 |
 |
| |
 25.05.2010, 13:37 Uhr
|
|
| |
ZITAT(Hexogen @ 25.05.2010, 08:12 Uhr) index.php?act=findpost&pid=320537 Hey LEUTE !
Ich würde hier ZWINGEN davon abraten im WERKZEUGWECHSEL, "rumzupfuschen"
man kann einiges indes zerstören was zu kollisionen führen kann!
also aufpassen! und vor Änderungen backup machen!
vor allem sollte man sich erst mit der materie vertraut machen bevor man was in die hersteller zyklen reinschreibt! Wo ist das problem? Wenn ich am Anfang des Werkzeugwechselzyklus RUN_TIME in eine extra Line schreibe und am Ende RUN_TIME(1).
|
|
|
|
|
 |
 |
 |
| |
 25.05.2010, 14:06 Uhr
|
|
| |
ZITAT(mori4200 @ 25.05.2010, 14:37 Uhr) index.php?act=findpost&pid=320541 Wo ist das problem?
Wenn ich am Anfang des Werkzeugwechselzyklus RUN_TIME in eine extra Line schreibe und am Ende RUN_TIME(1). eigentlich keins! ich wollte nur mal ermahnen! es kann auch schief gehen! ich mein für dich und mich ist es kein problem! es gibt auch andere leute! es sollte mal allgemein heissen, dass man bei solchen zyklen aufpassen sollte!
|
|
|
|
|
 |
 |
 |
| |
 28.06.2010, 08:35 Uhr
|
|
| |
ZITAT(fonsi @ 24.05.2010, 00:51 Uhr) index.php?act=findpost&pid=320441 Ist bei der Maschine L_TIME.SPF nicht dabei? Start mit L_TIME Ende mit T_TIME(1)
Dann sollte sich im Ordner Teileprogramme eine neue Datei finden mit einem selbserklärenden Inhalt...
Gruss fonsi Hi Fonsi, vielen Dank für den Tip! Also das L_Time funktioniert, leider bei T_Time(1) kommt die Fehlermeldung T_TIME(1) nicht definiert oder Option/Funktion nicht aktiviert. Glaube das liegt an dem (1), gibt es hierfür vielleicht noch ein andere Schreibweise? Das Protokoll wird aber trotzdem im Teileprogramm erstellt, wie du es bereits beschrieben hast. Leider halt ohne Stopzeit. Grüßle Snoopy
|
|
|
|
|
 |
 |
 |
| |
 28.06.2010, 08:40 Uhr
|
|
| |
ZITAT(mori4200 @ 19.05.2010, 12:25 Uhr) index.php?act=findpost&pid=320090 So, und hier nun das SPF:
Einfach mit RUN_TIME(1) starten und mit RUN_TIME stoppen. Wichtig ist noch MD 11420(Protokoll Laenge). Ich habs bei uns jetzt auf 1000 gesetzt- dann braucht man es nicht staendig aus der maschine rausholen. Das Protokoll wird im Werkstueckordner mit dem Namen MONI erstellt! PS: Ich hab das ganze in den Werkzeugwechselzyklus eingebaut. => so wird die zeit von einem zum naechsten gestopt
viel Spass
%_N_RUN_TIME.SPF ;$PATH=/_N_CUS_DIR/ PROC RUN_TIME(INT _FUNKT) DISPLOF
Def int Error Def String[1] _LZ1 = " " Def String[1] _H = "H" Def String[3] _MIN = "MIN" Def String[3] _SEC = "SEC" Def String[1] _PK = "." Def String[3] JAHR = "20"
STOPRE
IF ($P_SEARCH OR $P_SIM) GOTOF ENDE
IF (_FUNKT==1)
WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","PROG: "<<$P_PATH[0]) WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","TOOL: T "<<$P_TOOLNO) WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","START: " <<$A_MONTH <<_PK <<$A_DAY <<_PK <<JAHR <<$A_YEAR <<_LZ1 <<$A_HOUR <<_H <<_LZ1 <<$A_MINUTE << _MIN <<_LZ1 <<$A_SECOND <<_SEC)
ELSE
WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","STOP: " <<$A_MONTH <<_PK <<$A_DAY <<_PK <<JAHR <<$A_YEAR <<_LZ1 <<$A_HOUR <<_H <<_LZ1 <<$A_MINUTE << _MIN <<_LZ1 <<$A_SECOND <<_SEC)
WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","______________________________________") ENDIF
ENDE: RET M17 Hi Mori, also ich konnte nun das Unterprogramm ausprobieren, sorry das es so lange gedauert hat. Es funktioniert noch nicht ganz. Die Maschine erkennt den Befehl (1) nicht. Es kommt die Fehlermeldung RUN_TIME(1) nciht definiert oder Option nicht aktiviert. Von daher ist dann auch immer nur die Stopzeit im Protokoll zu sehen. Vielleicht hast du ja noch n Tipp. Danke schon mal im voraus. Grüßle Snoopy
|
|
|
|
|
 |
 |
 |
| |
 28.06.2010, 09:10 Uhr
|
|
| |
ZITAT(snoopy84 @ 28.06.2010, 03:40 Uhr) index.php?act=findpost&pid=322843 Hi Mori, also ich konnte nun das Unterprogramm ausprobieren, sorry das es so lange gedauert hat. Es funktioniert noch nicht ganz. Die Maschine erkennt den Befehl (1) nicht. Es kommt die Fehlermeldung RUN_TIME(1) nciht definiert oder Option nicht aktiviert. Von daher ist dann auch immer nur die Stopzeit im Protokoll zu sehen. Vielleicht hast du ja noch n Tipp. Danke schon mal im voraus. Grüßle Snoopy Wenn du den Zyklus reingespielt und geladen hast must du die Maschine neu hochfahren bzw. einen NCK RESET durchfuehren. Kann sein dass du das Ganze auch zweimal machen musst.
|
|
|
|
|
 |
 |
 |
| |
 28.06.2010, 15:05 Uhr
|
|
| |
ZITAT(snoopy84 @ 28.06.2010, 09:35 Uhr) index.php?act=findpost&pid=322842 Hi Fonsi, vielen Dank für den Tip! Also das L_Time funktioniert, leider bei T_Time(1) kommt die Fehlermeldung T_TIME(1) nicht definiert oder Option/Funktion nicht aktiviert. Glaube das liegt an dem (1), gibt es hierfür vielleicht noch ein andere Schreibweise? Das Protokoll wird aber trotzdem im Teileprogramm erstellt, wie du es bereits beschrieben hast. Leider halt ohne Stopzeit.
Grüßle Snoopy Müsste L_TIME(1) und nicht T _TIME(1)
|
|
|
|
|
 |
 |
 |
| |
 29.06.2010, 09:05 Uhr
|
|
| |
ZITAT(mori4200 @ 28.06.2010, 10:10 Uhr) index.php?act=findpost&pid=322845 Wenn du den Zyklus reingespielt und geladen hast must du die Maschine neu hochfahren bzw. einen NCK RESET durchfuehren. Kann sein dass du das Ganze auch zweimal machen musst. Hi Mori, so hab die Maschine jetzt paar mal runter und wieder hochgefahren, doch leider funktioniert es immer noch nicht. Die erkennt einfach die (1) nicht. Komischerweise die (1) bei L_TIME(1) , was Fonsi beschrieben hat, funktioniert. Grüßle Snoopy
|
|
|
|
|
 |
 |
 |
| |
 29.06.2010, 10:16 Uhr
|
|
| |
ZITAT(fonsi @ 28.06.2010, 16:05 Uhr) index.php?act=findpost&pid=322878 Müsste L_TIME(1) und nicht T _TIME(1)  Hi Fonsi, vielen Dank für die Info funktioniert jetzt einwandfrei. Leider wird nicht die Programmnummer in das Protokoll geschrieben. Wir arbeiten mit Palettenwechsler von daher wäre die Programm Info sehr hilfreich. Naja hab gedacht jetzt mach ich es ganz schlau. Ich kopiere mir den L_TIME Zyklus und füge noch die Pfadbezeichnung ein, welche mir Mori schon gegeben hat. Das Unterprogramm habe ich jetzt L_TIMEX.SPF umbenannt. Jetzt bringt sie wieder die Fehlermeldung beim Befehl L_TIMEX(1), option nicht aktiviert blabla wie bereits oben schon beschrieben. Muss ich das Unterprogramm irgendwie speziell definieren. Komisch das es bei dem Hersteller UP-L_TIME(1) funktioniert und bei meinen eigenen Programmen wie RUN_TIME(1) oder L_TIMEX(1) immer die gleiche Fehlermeldung kommt. Vielleicht habt ihr ja noch eine Idee Grüßle Snoopy
|
|
|
|
|
 |
 |
 |
| |
 29.06.2010, 13:16 Uhr
|
|
| |
Hallo Zusammen, so nun bin ich am Ziel, ich habe es tatsächlich zum Laufen gebracht. Ich poste es hier mal vielleicht hat ja jemand das gleiche Problem. Ich bin bis vorher noch davon ausgegangen, dass es sich um herkömmliche Unterprogramme handelt. Dies ist aber in einem solchen Fall nicht so. Das SPF muss bei den Herstellerzyklen eingefügt werden, dies funktioniert auch nur, wenn man sich die Schreibrechte mittels Passwort freischaltet. Hatte in diesem Bereich noch nie was zu tun, deshalb hat es etwas länger gedauert. Jetzt hab ich nur noch eine Frage Mori von deinem Programm habe ich diese Angaben. PROG: /_N_WKS_DIR/_N_JDL_8TH_WPD/ wird geschrieben durch WRITE(ERROR,"/_N_WKS_DIR/_N_MONI_WPD/_N_PROTOCOL_MPF","PROG: "<<$P_PATH[0]) Wenn ich aber noch gerne die MPF zusätzlich dazu angegeben hätte, wie müsste dann der Write Befehl aussehen? So sollte es dann aussehen PROG: /_N_WKS_DIR/_N_JDL_8TH_WPD/2085.MPF wird geschrieben durch ???? Vielen Dank an alle für die tolle Unterstützung!!! Grüßle Snoopy
|
|
|
|
|
 |
 |
 |
0 Mitglieder:
|
|
|