Siemens
Digital Industries, Motion Control, Machine Tool Systems
8846
Follower:innenCYKLEN, UNTERPROGRAMM, Variablen
10.07.2005, 18:11 Uhr
Wer kann mir Helfen??
Ich habe ein Unterprogramm geschrieben für Bohrung Fräsen mit Variablen aber irgendwo ist der Wurm drin Für jede antwort wäre ich dankbar.
Steuerung ist 840D-Horizontale Fräsmaschine. Programm liegt zum Downlad bereit!
Danke!
Ich habe ein Unterprogramm geschrieben für Bohrung Fräsen mit Variablen aber irgendwo ist der Wurm drin Für jede antwort wäre ich dankbar.
Steuerung ist 840D-Horizontale Fräsmaschine. Programm liegt zum Downlad bereit!
Danke!
Angehängte Datei(en)
10.07.2005, 19:55 Uhr
Wie äußert sich der Wurm denn?
Wenn wir mal den Teil "Fräsen im Uhrzeigersinn" betrachten: Was soll in den drei G2-Sätzen passieren? Der erste und der dritte Satz bilden einen Vollkreis, aber was soll der Satz dazwischen? Der Endpunkt liegt in Plusrichtung in X, der Mittelpunkt aber in Minusrichtung. Das kann nicht gut gehen.
Wenn wir mal den Teil "Fräsen im Uhrzeigersinn" betrachten: Was soll in den drei G2-Sätzen passieren? Der erste und der dritte Satz bilden einen Vollkreis, aber was soll der Satz dazwischen? Der Endpunkt liegt in Plusrichtung in X, der Mittelpunkt aber in Minusrichtung. Das kann nicht gut gehen.
10.07.2005, 20:56 Uhr
Hallo tommy
Ich sehe schon ein Problem in den ersten paar Zeilen:
Einen Zyklus mit Parameterübergabe bzw. Prozedur (PROC) musst Du entweder im Verzeichnis Anwenderzyklen oder Herstellerzyklen ablegen!
Und nicht vergessen: NCK-Reset
Gruss
PS: Ein kleiner Sicherheitstip für "Fehlermeldungen":
Ich würde es so machen:
Ein M0 mit Bildschirmkommentar hält aus eigener Erfahrung nicht jeden Bediener vom erneuten Start-Drücken ab...
Ich sehe schon ein Problem in den ersten paar Zeilen:
CODE
%_N_BOFR_SPF
;$PATH=/_N_WKS_DIR/_N_TEST_WPD
PROC BOFR(REAL RR1,REAL RR2,REAL RR3,REAL RR4) SAVE SBLOF DISPLOF
;$PATH=/_N_WKS_DIR/_N_TEST_WPD
PROC BOFR(REAL RR1,REAL RR2,REAL RR3,REAL RR4) SAVE SBLOF DISPLOF
Einen Zyklus mit Parameterübergabe bzw. Prozedur (PROC) musst Du entweder im Verzeichnis Anwenderzyklen oder Herstellerzyklen ablegen!
Und nicht vergessen: NCK-Reset
Gruss
PS: Ein kleiner Sicherheitstip für "Fehlermeldungen":
Ich würde es so machen:
CODE
FEHL1:
MSG ("FRAESERDUCHMESSER >= BOHRUNGDURCHMESSER")
G4 F2
GOTOB FEHL1
MSG ("FRAESERDUCHMESSER >= BOHRUNGDURCHMESSER")
G4 F2
GOTOB FEHL1
Ein M0 mit Bildschirmkommentar hält aus eigener Erfahrung nicht jeden Bediener vom erneuten Start-Drücken ab...
--------------------
"Wenn die Torte spricht, hat der Krümel zu schweigen!"
11.07.2005, 04:30 Uhr
"Wenn wir mal den Teil "Fräsen im Uhrzeigersinn" betrachten: Was soll in den drei G2-Sätzen passieren? Der erste und der dritte Satz bilden einen Vollkreis, aber was soll der Satz dazwischen? Der Endpunkt liegt in Plusrichtung in X, der Mittelpunkt aber in Minusrichtung. Das kann nicht gut gehen. "
Ich komme garnicht dazu. Fehler ist beim "PROC" und "REAL"
Getestet wurde aber nur mit SINUTRAIN!!
Ich komme garnicht dazu. Fehler ist beim "PROC" und "REAL"
Getestet wurde aber nur mit SINUTRAIN!!
11.07.2005, 06:09 Uhr
Wie gesagt: Zyklen mit PROC musst Du zwingend unter Anwenderzyklen (/_N_CUS_DIR) oder Herstellerzyklen (/_N_CMA_DIR) ablegen! Damit die wirksam werden muss ein NCK-Reset durchgeführt werden.
Damit dürfte das Problem behoben sein.
Damit dürfte das Problem behoben sein.
--------------------
"Wenn die Torte spricht, hat der Krümel zu schweigen!"
12.07.2005, 20:53 Uhr
12.07.2005, 21:14 Uhr
Nun, ich dachte Du wolltest die Werte dem Zyklus BOHRFR beim Aufruf mitgeben....(?)
--------------------
"Wenn die Torte spricht, hat der Krümel zu schweigen!"
13.07.2005, 04:32 Uhr
Hallo Traori!
"Nun, ich dachte Du wolltest die Werte dem Zyklus BOHRFR beim Aufruf mitgeben....(?)"
Ja das stimmt aber das habe ich nicht hinbekommen
Die Steuerung meckert beim "Proc" auch dann wenn unter Anwenderzyklen steht.
Fehler Nr. 12550
Bohrfr nicht definiert o. Option nicht vorhanden
"Nun, ich dachte Du wolltest die Werte dem Zyklus BOHRFR beim Aufruf mitgeben....(?)"
Ja das stimmt aber das habe ich nicht hinbekommen
Die Steuerung meckert beim "Proc" auch dann wenn unter Anwenderzyklen steht.
Fehler Nr. 12550
Bohrfr nicht definiert o. Option nicht vorhanden
13.07.2005, 16:20 Uhr
Hallo tommy!
Das allein reicht nicht. Du mußt die Datei SC.COM im Standard Zyklen Ordner editieren und folgendes am Ende eingeben (vor M17 falls vorhanden)
//C32(BOFR)
(R///)
(R///)
(R///)
(R///)
Dannach Maschine aus und wieder einschalten dann müste es gehen.
Bei mir hat es jedenfalls funzt. (mit meinen Zyklen)
Mfg
Armin
QUOTE
Zyklen mit PROC musst Du zwingend unter Anwenderzyklen (/_N_CUS_DIR) oder Herstellerzyklen (/_N_CMA_DIR) ablegen!
Das allein reicht nicht. Du mußt die Datei SC.COM im Standard Zyklen Ordner editieren und folgendes am Ende eingeben (vor M17 falls vorhanden)
//C32(BOFR)
(R///)
(R///)
(R///)
(R///)
Dannach Maschine aus und wieder einschalten dann müste es gehen.
Bei mir hat es jedenfalls funzt. (mit meinen Zyklen)
Mfg
Armin
13.07.2005, 16:26 Uhr
Ist das abhängig vom Software-Stand? Bei mir ist das auf jeden Fall nicht nötig, wenn sie im CMA_DIR oder im CUS_DIR liegen.....!
--------------------
"Wenn die Torte spricht, hat der Krümel zu schweigen!"
13.07.2005, 17:45 Uhr
Hallo Leute
also meiner Erfahrung nach müssen Zyklen der Marke Eigenbau nicht zwingend in den Anwender oder Herstellerzyklen liegen. Ich habe die Zyklen, an denen ich mich mal probiert habe immer in den Unterprogrammen abgelegt um sie zu testen und erst nach erfolgreichem Test in die Anwenderzyklen mit eingebaut. Dabei müssen ein oder zwei Dateien mit der Endung ".com" verändert werden, wie es Condor077 beschrieben hat (die heißen bei mir scheinbar anders als bei euch )
So habe ich es gemacht:
Der Zyklus liegt wie gesagt in den Unterprogrammen. Die erste Zeile des Zyklus lautet: "N1 PROC ABSPAN(REAL AP_MAX,REAL SP_X,REAL EP_X,REAL SP_Z,REAL EP_Z) SAVE"
Der erste Satz im aufrufenden Programm lautet:"N1 EXTERN ABSPAN(REAL,REAL,REAL,REAL,REAL)"
Zyklusaufruf im Programm dann mit:"N10 ABSPAN(5,103,49,2,-53)"
Ob es nun "call by value" oder "call by reference" ist müsste ich erst nachlesen
Wenn dann alles problemlos funktioniert, stricke ich die Zyklen erst in die Anwenderprogramme mit den div. com-Geschichten ein. Dann entfällt natürlich die erste Zeile im aufrufenden Programm.
mfG.
Eisen
also meiner Erfahrung nach müssen Zyklen der Marke Eigenbau nicht zwingend in den Anwender oder Herstellerzyklen liegen. Ich habe die Zyklen, an denen ich mich mal probiert habe immer in den Unterprogrammen abgelegt um sie zu testen und erst nach erfolgreichem Test in die Anwenderzyklen mit eingebaut. Dabei müssen ein oder zwei Dateien mit der Endung ".com" verändert werden, wie es Condor077 beschrieben hat (die heißen bei mir scheinbar anders als bei euch )
So habe ich es gemacht:
Der Zyklus liegt wie gesagt in den Unterprogrammen. Die erste Zeile des Zyklus lautet: "N1 PROC ABSPAN(REAL AP_MAX,REAL SP_X,REAL EP_X,REAL SP_Z,REAL EP_Z) SAVE"
Der erste Satz im aufrufenden Programm lautet:"N1 EXTERN ABSPAN(REAL,REAL,REAL,REAL,REAL)"
Zyklusaufruf im Programm dann mit:"N10 ABSPAN(5,103,49,2,-53)"
Ob es nun "call by value" oder "call by reference" ist müsste ich erst nachlesen
Wenn dann alles problemlos funktioniert, stricke ich die Zyklen erst in die Anwenderprogramme mit den div. com-Geschichten ein. Dann entfällt natürlich die erste Zeile im aufrufenden Programm.
mfG.
Eisen
13.07.2005, 18:44 Uhr
Hallo condor077
Die Datei finde ich nicht Sihe Bild
Die Datei finde ich nicht Sihe Bild
Angehängte Datei(en)
13.07.2005, 19:36 Uhr
QUOTE
Der erste Satz im aufrufenden Programm lautet:"N1 EXTERN ABSPAN(REAL,REAL,REAL,REAL,REAL)"
So würde ich es auch machen. Dann ist es allerdings ein "normales" Unterprogramm.
Zyklen unterscheiden sich von normalen Unterprogrammen dadurch, daß sie auch EXTERN-Deklaration gefunden werden. Diese automatische Erkennung funktioniert aber erst nach einem Aus- und Wiedereinschalten der Steuerung (und sie müssen im Zyklendirectory liegen).
13.07.2005, 20:25 Uhr
Nun ja, soweit klar. Ich habe mich in einem anderen Zusammenhang mit EXTERNen Programmen befasst. Zu Bedenken ist hierbei jedoch, dass die Verarbeitungszeit nicht unwesentlich zu Buche schlägt. Nicht dass wir gerade Sekunden spalten aber wenn man solche Sachen mal auf ein Jahr hochrechnet, erschrickt man sogar manchmal. Zudem wird es va. fragwürdig, wenn man ganze Abläufe bis an den Anschlag perfektioniert hat, zB asynchrones Positionieren A-, B- ...Achsen während dem WZW etc., und dann hier dort x/10-tel Sek. "verschenkt".
Aber zurück zum Thema: Condor077, musst Du jeden selbstgestrickten Zyklus so in der SC.COM deklarieren? Ich weiss nicht genau, wie das bei unseren Maschinen eingerichtet ist, aber ich kann eine beliebige Prozedur ins CUS_DIR stellen, NCK-Reset.. und der Zyklus steht mir zur Verfügung...
Aber zurück zum Thema: Condor077, musst Du jeden selbstgestrickten Zyklus so in der SC.COM deklarieren? Ich weiss nicht genau, wie das bei unseren Maschinen eingerichtet ist, aber ich kann eine beliebige Prozedur ins CUS_DIR stellen, NCK-Reset.. und der Zyklus steht mir zur Verfügung...
--------------------
"Wenn die Torte spricht, hat der Krümel zu schweigen!"
13.07.2005, 21:11 Uhr
PS: @tommy
COM-Dateien werden unter Programme i.d.R. nicht angezeigt. Du erreichst sie über Dienste...
COM-Dateien werden unter Programme i.d.R. nicht angezeigt. Du erreichst sie über Dienste...
--------------------
"Wenn die Torte spricht, hat der Krümel zu schweigen!"
13.07.2005, 21:12 Uhr
Hallo Eisenrobert und die Anderen!
Danke für den Tipp, es hat funzt!!
Danke für den Tipp, es hat funzt!!
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: