FANUC
Ihr Spezialist für Fabrikautomation
Programm mit Zeitabfrage

Servus Zusammen, bin grad an unserer Star SV-32 Mit Fanuc-Steuerung am Programmieren und komme irgendwie nicht weiter.
Problem ist das wir eine mindest Temparatur von ca 30°C haben müssen die Maschine über Nacht aber Teilweise bis auf 22°C runterkühlt.
Aus diesem Grund wollte ich ein Programm schreiben welches wir Abends starten und das erst ab einer bestimmten Uhrzeit startet und ab einer Bestimmten Uhrzeit nicht mehr.
Soweit ich aus den Unterlagen rausgelesen habe ist die Systemvariable #3012 zum auslesen der Systemzeit die in eine Dezimalzahl umgewandelt wird.
Also 15:38Uhr und 53 sekunden ist dann 153853
Bekomme aber immer einen Fehler das mit der IF Goto Schleife die ich geschrieben habe etwas nicht stimmt.
Mein Programm sieht bis dahin so aus:
#1=043000
#2=053000
M5
M10
M150
M26 (Auschaltung sämltlicher Kühlwasserkreisläufe, Pneumatik Führungszange spannen usw.)
M126
M159
M161
N10
IF [#3012 GE #1] Goto N20
N15 Goto N10
N20
IF [#3012 GE #2] Goto N10 (GE= Größer, Gleich als)
S500 M3
.
.
.
Weiß einer von euch wo der Fehler liegt?
Problem ist das wir eine mindest Temparatur von ca 30°C haben müssen die Maschine über Nacht aber Teilweise bis auf 22°C runterkühlt.
Aus diesem Grund wollte ich ein Programm schreiben welches wir Abends starten und das erst ab einer bestimmten Uhrzeit startet und ab einer Bestimmten Uhrzeit nicht mehr.
Soweit ich aus den Unterlagen rausgelesen habe ist die Systemvariable #3012 zum auslesen der Systemzeit die in eine Dezimalzahl umgewandelt wird.
Also 15:38Uhr und 53 sekunden ist dann 153853
Bekomme aber immer einen Fehler das mit der IF Goto Schleife die ich geschrieben habe etwas nicht stimmt.
Mein Programm sieht bis dahin so aus:
#1=043000
#2=053000
M5
M10
M150
M26 (Auschaltung sämltlicher Kühlwasserkreisläufe, Pneumatik Führungszange spannen usw.)
M126
M159
M161
N10
IF [#3012 GE #1] Goto N20
N15 Goto N10
N20
IF [#3012 GE #2] Goto N10 (GE= Größer, Gleich als)
S500 M3
.
.
.
Weiß einer von euch wo der Fehler liegt?

Hallo,
GOTO muss auf jeden Fall groß geschrieben werden, sonst sieht es eigentlich richtig aus. Ist die Option Custom Makro B vorhanden?
GOTO muss auf jeden Fall groß geschrieben werden, sonst sieht es eigentlich richtig aus. Ist die Option Custom Makro B vorhanden?

Hallo, würde vielleicht zwischen den vergleichen ne Verweilzeit von ner Minute eintragen, damit sie sich nicht Überrechnet, um recoursen zu schonen und einem Absturz vor zu beugen.
Auch wenn die Fanuc das so gut meistern kann.
MfG
Auch wenn die Fanuc das so gut meistern kann.
MfG

Hallo,
richtig wäre:
IF [#3012 GE #1] GOTO20
Das "N" der Satznummer entfällt.
Gruß
Igel80
richtig wäre:
IF [#3012 GE #1] GOTO20
Das "N" der Satznummer entfällt.
Gruß
Igel80
--------------------
Der Wanderer mit leeren Taschen lacht dem Räuber ins Gesicht.

Das GOTO ist definitiv groß geschrieben hab es direkt an der Steuerung Programiert. Woran seh ich ob diese funktion aktiviert ist bzw wie kann man sie aktivieren wenn sie es nicht sein sollte?
Ich habe beim Goto beide varianten probiert da es ja auch mit GOTO 20 im Handbuch steht. Aber der Tip mit der Verweilzeit klingt gut werde ich mal mit einbauen so ne minute sollte ja wohl reichen sprich: G4 X60
Der Beitrag wurde von Biestli82 bearbeitet: 28.06.2010, 21:32 Uhr
Ich habe beim Goto beide varianten probiert da es ja auch mit GOTO 20 im Handbuch steht. Aber der Tip mit der Verweilzeit klingt gut werde ich mal mit einbauen so ne minute sollte ja wohl reichen sprich: G4 X60
Der Beitrag wurde von Biestli82 bearbeitet: 28.06.2010, 21:32 Uhr

Hallo,
welcher Fehler kommt den?
Hast du schon mal geprüft, ob #3012 richtig ist?
Also einfach mal #101=#3012 Programiert, und dann #101 angesehen, ob das hin kommt?
welcher Fehler kommt den?
Hast du schon mal geprüft, ob #3012 richtig ist?
Also einfach mal #101=#3012 Programiert, und dann #101 angesehen, ob das hin kommt?

Naja laut Programmierhandbuch ist es die Systemvariable dafür. kann ich mir die Variable #101 direkt anzeigen lassen?
Heute hab ich es zum starten gebracht ohne das ein Fehler kam allerdings bliebt das Programm auf dem Satz vor dem IF befehl stehen und hat nix mehr gemacht.
Nur die Lampe für Head1 hat geblinkt als Zeichen das das Programm am arbeiten ist.
Heute hab ich es zum starten gebracht ohne das ein Fehler kam allerdings bliebt das Programm auf dem Satz vor dem IF befehl stehen und hat nix mehr gemacht.
Nur die Lampe für Head1 hat geblinkt als Zeichen das das Programm am arbeiten ist.

kann ich mir die Variable #101 direkt anzeigen lassen?
Blättere mal im Bild der Nullpunktverschiebungen mit der rechten Pfeil-Taste weiter, bis da was mit Macro steht. Da kannst du dann alle Variablen sehen.
Poste doch mal dein ganzes Programm. Vielleicht kann man da was erkennen, was fehlerhaft wäre.
Gruß
Igel80
Der Beitrag wurde von Igel80 bearbeitet: 29.06.2010, 21:11 Uhr
--------------------
Der Wanderer mit leeren Taschen lacht dem Räuber ins Gesicht.

das steht schon sogut wie komplett oben das einzige was dann noch kommt sind nen paar verfahrbewegungen mit dem linearschlitten und das die drehzahl stufenweise angehoben wird. wenn ich die IF abfragen rauslasse läuft das Programm ganz lormal durch

Hallo,
vielleicht springt dein Programm so schnell auf den Satz N10 bzw. N20 das es nur so aussieht als würde sich nichts tun. Schreib doch mal bei deinen N Sätzen eine Verweilzeit mit z.B. 5sec ==> G4 X5
Was passiert dann?
Gruß Boern
vielleicht springt dein Programm so schnell auf den Satz N10 bzw. N20 das es nur so aussieht als würde sich nichts tun. Schreib doch mal bei deinen N Sätzen eine Verweilzeit mit z.B. 5sec ==> G4 X5
Was passiert dann?
Gruß Boern
--------------------
Das dringendste Problem der Technologie von heute ist nicht mehr die Befriedigung von Grundbedürfnissen und uralten Wünschen der Menschen, sondern die Beseitigung von Übeln und Schäden, welche uns die Technologie von gestern hinterlassen hat.
Dennis Gabor (1900-79), ungar.-brit. Physiker, Entwickler der Holographie, 1971 Nobelpr.



Level 2 = Community-Facharbeiter


Gruppe: Mitglied
Mitglied seit: 14.09.2007
Beiträge: 72
Mitglied seit: 14.09.2007
Beiträge: 72
N10
IF [#3012 GE #1] Goto N20
N15 Goto N10
N20
IF [#3012 GE #2] Goto N10 (GE= Größer, Gleich als)
S500 M3
.
.
.
.
Hallo Biestli,
Überprüf doch mal genau ob du mit deinen Bedingungen überhaupt aus den Sätzen 10 und 20 rausspringen kannst !!
Wenn die Bedingung in Satz 10 erfüllt ist, springst du in Satz 20, sonst zurück zu 10 ---- soweit so gut
Wenn du die Bedingungen in Satz 20 erfüllt hast, springst du wieder in Satz 10 ... wie soll´s denn da weiter gehen ???
Irgendwann solltest du auch eine Nummer 30 vergeben und auch aufrufen damit es weiter geht oder denke ich da falsch ??
Ich habe mal ein Macro für eine Zeitschaltung eines Bearbeitungszentrums geschrieben, das stelle ich dir morgen rein, ist zwar etwas grösser,
aber die eigentlichen Bestandteile sind auch enthalten -- mit Erklärung !
bis dann
Werner
IF [#3012 GE #1] Goto N20
N15 Goto N10
N20
IF [#3012 GE #2] Goto N10 (GE= Größer, Gleich als)
S500 M3
.
.
.
.
Hallo Biestli,
Überprüf doch mal genau ob du mit deinen Bedingungen überhaupt aus den Sätzen 10 und 20 rausspringen kannst !!
Wenn die Bedingung in Satz 10 erfüllt ist, springst du in Satz 20, sonst zurück zu 10 ---- soweit so gut
Wenn du die Bedingungen in Satz 20 erfüllt hast, springst du wieder in Satz 10 ... wie soll´s denn da weiter gehen ???
Irgendwann solltest du auch eine Nummer 30 vergeben und auch aufrufen damit es weiter geht oder denke ich da falsch ??
Ich habe mal ein Macro für eine Zeitschaltung eines Bearbeitungszentrums geschrieben, das stelle ich dir morgen rein, ist zwar etwas grösser,
aber die eigentlichen Bestandteile sind auch enthalten -- mit Erklärung !
bis dann
Werner

Hallo,
ich würde es so Probieren
Ich arbeite ungern mit den Var. unter 100 da die bei einigen Umständen z.b. Reset oder so Zurück gesetzt werden.
Kann sein, das man das als Option bekommen könnte, kenne ne Maschine mit ner 31i Steuerung, da gibt man einfach die Uhrzeit für den Programmstart ein und bestätigt das.
Der Beitrag wurde von edm-dsc bearbeitet: 02.07.2010, 17:55 Uhr
ich würde es so Probieren
QUOTE
N10 #101=600000 (SETZEN DER EINSCHALTZEIT)
N20 G04 X10
N30 IF [#3012 LT #101] Goto 10
S500 M3
N20 G04 X10
N30 IF [#3012 LT #101] Goto 10
S500 M3
Ich arbeite ungern mit den Var. unter 100 da die bei einigen Umständen z.b. Reset oder so Zurück gesetzt werden.
Kann sein, das man das als Option bekommen könnte, kenne ne Maschine mit ner 31i Steuerung, da gibt man einfach die Uhrzeit für den Programmstart ein und bestätigt das.
Der Beitrag wurde von edm-dsc bearbeitet: 02.07.2010, 17:55 Uhr

Hallo,
ich würde es so Probieren
Ich arbeite ungern mit den Var. unter 100 da die bei einigen Umständen z.b. Reset oder so Zurück gesetzt werden.
Kann sein, das man das als Option bekommen könnte, kenne ne Maschine mit ner 31i Steuerung, da gibt man einfach die Uhrzeit für den Programmstart ein und bestätigt das.
ich würde es so Probieren
Ich arbeite ungern mit den Var. unter 100 da die bei einigen Umständen z.b. Reset oder so Zurück gesetzt werden.
Kann sein, das man das als Option bekommen könnte, kenne ne Maschine mit ner 31i Steuerung, da gibt man einfach die Uhrzeit für den Programmstart ein und bestätigt das.
Die Variablen unter 100 also die 1 bis 33 sind für so einen Fall aber perfekt. Somit ist ein ungewolltes Überschreiben einer schon verwendeten 100er oder noch schlimmer einer 500er Variable ausgeschlossen! Ist auf jedenfall sicherer als wie wenn man 100er oder 500er aufwärts verwendet.


Der Beitrag wurde von Armageddon bearbeitet: 03.07.2010, 11:24 Uhr



Level 2 = Community-Facharbeiter


Gruppe: Mitglied
Mitglied seit: 14.09.2007
Beiträge: 72
Mitglied seit: 14.09.2007
Beiträge: 72
Hallo zusammen,
ich hatte ja gesagt, ich stell mal mein Warmlaufmacro hier rein. Ich habe leider die Variablen über 500 benutzt, aber das könnt ihr ja ändern.
N10 IF[#500 EQ 1] GOTO 80 ( #500 = Warmlauf - automatisch gesetzt)
N20 IF[#510 EQ 1] GOTO 170 ( #510 = Warmlauf - manuell gesetzt )
N30 IF[#3011 EQ #508] GOTO 50 (#508 = Datum für Warteschleife Start )
N40 GOTO 210 ( = Programmende )
N50 IF[#3012 GE #509] GOTO 60 (#509 = Uhrzeit für Warteschleife Start )
N55 GOTO 210 ( = Programmende )
N60 IF[#3012 GE #509] THEN #500=1 ( Zeit erreicht, # 500 auf 1 setzen )
N70 GOTO 170 ( Spindel leeren für Wartezeit, um einen Werkzeugklemmer zu vermeiden )
N80 G04 X900 ( Wartezeit, hier z. B.: 15 Minuten )
N90 IF[#3011 EQ #511] GOTO 110 ( #511 = Datum für Warmlaufstart )
N100 GOTO 80 ( Wartezeit - erneute abfrage Datum)
N110 IF[#3012 GE #512] GOTO 130 ( #512 = Uhrzeit für Warmlaufstart )
N120 GOTO 80 ( Wartezeit -- erneute Abfrage " Uhrzeit " )
N130 M98 Pxxxx ( Aufruf des Warmlauf - Programms)
N140 IF[#500 EQ 1] GOTO 130 ( Bedingungsabfrage Warmlauf - automatisch )
N150 IF[#510 EQ 1] GOTO 130 ( Bedingungsabfrage Warmlauf - manuell )
N160 GOTO 200 ( Spindelstop )
N170 T00 ( Werkzeugvorwahl zum Spindel leeren )
N180 T00 M6 ( Spindelwerkzeug ablegen im Magazin )
N190 GOTO 80 ( Rücksprung zur Warteschleife )
N200 M19 ( Spindel Stop )
N210 M99 ( Programm Ende )
Die Programmnummer muß natürlich irgendwo am Programmende eines aktuellen Bearbeitungsprogramms aufgerufen werden ( als Unterprogramm )
Bei uns wurde nach einer Geisterschicht das Warteprogramm mit Spindel leeren eröffnet und dann die Wartezyklen durchlaufen bis der in den # 508 und #509
vorgegebene Zeitpunkt mit Datum und Uhrzeit erreicht war. Danach wurde die Maschine mit dem Programm " O xxxx " mit Spindeldrehzahlen und Verfahrwegen mit Kühlmitteldusche und allem was man sonst noch reinschreiben möchte in Bewegung und Temperatur gehalten. Funktioniert auch über mehrere Tage hinweg, da das Datum mit eingebunden ist. Was euch nicht gefällt, könnt ihr weglassen, oder ändern. Mir hat es lange Zeit gute Dienste geleistet. Viel Spass damit
wünscht euch
Werner
ich hatte ja gesagt, ich stell mal mein Warmlaufmacro hier rein. Ich habe leider die Variablen über 500 benutzt, aber das könnt ihr ja ändern.
N10 IF[#500 EQ 1] GOTO 80 ( #500 = Warmlauf - automatisch gesetzt)
N20 IF[#510 EQ 1] GOTO 170 ( #510 = Warmlauf - manuell gesetzt )
N30 IF[#3011 EQ #508] GOTO 50 (#508 = Datum für Warteschleife Start )
N40 GOTO 210 ( = Programmende )
N50 IF[#3012 GE #509] GOTO 60 (#509 = Uhrzeit für Warteschleife Start )
N55 GOTO 210 ( = Programmende )
N60 IF[#3012 GE #509] THEN #500=1 ( Zeit erreicht, # 500 auf 1 setzen )
N70 GOTO 170 ( Spindel leeren für Wartezeit, um einen Werkzeugklemmer zu vermeiden )
N80 G04 X900 ( Wartezeit, hier z. B.: 15 Minuten )
N90 IF[#3011 EQ #511] GOTO 110 ( #511 = Datum für Warmlaufstart )
N100 GOTO 80 ( Wartezeit - erneute abfrage Datum)
N110 IF[#3012 GE #512] GOTO 130 ( #512 = Uhrzeit für Warmlaufstart )
N120 GOTO 80 ( Wartezeit -- erneute Abfrage " Uhrzeit " )
N130 M98 Pxxxx ( Aufruf des Warmlauf - Programms)
N140 IF[#500 EQ 1] GOTO 130 ( Bedingungsabfrage Warmlauf - automatisch )
N150 IF[#510 EQ 1] GOTO 130 ( Bedingungsabfrage Warmlauf - manuell )
N160 GOTO 200 ( Spindelstop )
N170 T00 ( Werkzeugvorwahl zum Spindel leeren )
N180 T00 M6 ( Spindelwerkzeug ablegen im Magazin )
N190 GOTO 80 ( Rücksprung zur Warteschleife )
N200 M19 ( Spindel Stop )
N210 M99 ( Programm Ende )
Die Programmnummer muß natürlich irgendwo am Programmende eines aktuellen Bearbeitungsprogramms aufgerufen werden ( als Unterprogramm )
Bei uns wurde nach einer Geisterschicht das Warteprogramm mit Spindel leeren eröffnet und dann die Wartezyklen durchlaufen bis der in den # 508 und #509
vorgegebene Zeitpunkt mit Datum und Uhrzeit erreicht war. Danach wurde die Maschine mit dem Programm " O xxxx " mit Spindeldrehzahlen und Verfahrwegen mit Kühlmitteldusche und allem was man sonst noch reinschreiben möchte in Bewegung und Temperatur gehalten. Funktioniert auch über mehrere Tage hinweg, da das Datum mit eingebunden ist. Was euch nicht gefällt, könnt ihr weglassen, oder ändern. Mir hat es lange Zeit gute Dienste geleistet. Viel Spass damit
wünscht euch
Werner
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: