Siemens
Siemens

Digital Industries, Motion Control, Machine Tool Systems

CYKLEN, UNTERPROGRAMM, Variablen

Beitrag 10.07.2005, 18:11 Uhr
Hori_1969
Hori_1969
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 16.11.2002
Beiträge: 40
Wer kann mir Helfen??

Ich habe ein Unterprogramm geschrieben für Bohrung Fräsen mit Variablen aber irgendwo ist der Wurm drin coangry.gif Für jede antwort wäre ich dankbar.
Steuerung ist 840D-Horizontale Fräsmaschine. Programm liegt zum Downlad bereit!

Danke!
Angehängte Datei(en)
Angehängte Datei  Bofr2.txt ( 1.11KB ) Anzahl der Downloads: 167
 
   
Beitrag 10.07.2005, 19:55 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.931
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.
   
Beitrag 10.07.2005, 20:56 Uhr
Traori
Traori
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 18.10.2004
Beiträge: 249
Hallo tommy

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


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


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!"
   
Beitrag 11.07.2005, 04:30 Uhr
Hori_1969
Hori_1969
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 16.11.2002
Beiträge: 40
"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!!
   
Beitrag 11.07.2005, 06:09 Uhr
Traori
Traori
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 18.10.2004
Beiträge: 249
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.


--------------------
"Wenn die Torte spricht, hat der Krümel zu schweigen!"
   
Beitrag 12.07.2005, 20:53 Uhr
Hori_1969
Hori_1969
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 16.11.2002
Beiträge: 40
So funktioniert biggrin.gif
Angehängte Datei(en)
Angehängte Datei  Bohrfr.txt ( 13.02KB ) Anzahl der Downloads: 125
 
   
Beitrag 12.07.2005, 21:14 Uhr
Traori
Traori
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 18.10.2004
Beiträge: 249
Nun, ich dachte Du wolltest die Werte dem Zyklus BOHRFR beim Aufruf mitgeben....(?)


--------------------
"Wenn die Torte spricht, hat der Krümel zu schweigen!"
   
Beitrag 13.07.2005, 04:32 Uhr
Hori_1969
Hori_1969
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 16.11.2002
Beiträge: 40
Hallo Traori!

"Nun, ich dachte Du wolltest die Werte dem Zyklus BOHRFR beim Aufruf mitgeben....(?)"

Ja das stimmt aber das habe ich nicht hinbekommen mad.gif
Die Steuerung meckert beim "Proc" auch dann wenn unter Anwenderzyklen steht.
Fehler Nr. 12550
Bohrfr nicht definiert o. Option nicht vorhanden
coangry.gif
   
Beitrag 13.07.2005, 16:20 Uhr
condor077
condor077
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 03.05.2005
Beiträge: 14
Hallo tommy!

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
   
Beitrag 13.07.2005, 16:26 Uhr
Traori
Traori
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 18.10.2004
Beiträge: 249
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!"
   
Beitrag 13.07.2005, 17:45 Uhr
4970_inaktiv
4970_inaktiv
Level 4 = Community-Meister
****
Gruppe: Banned
Mitglied seit: 05.09.2004
Beiträge: 519
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 wacko.gif )

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 coangry.gif

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
   
Beitrag 13.07.2005, 18:44 Uhr
Hori_1969
Hori_1969
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 16.11.2002
Beiträge: 40
Hallo condor077

Die Datei finde ich nicht coangry.gif Sihe Bild
Angehängte Datei(en)
Angehängte Datei  Purrint006.JPG ( 137.39KB ) Anzahl der Downloads: 62
 
   
Beitrag 13.07.2005, 19:36 Uhr
CNCFr
CNCFr
Level 7 = Community-Professor
*******
Gruppe: Mitglied
Mitglied seit: 15.09.2002
Beiträge: 1.931
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).
   
Beitrag 13.07.2005, 20:25 Uhr
Traori
Traori
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 18.10.2004
Beiträge: 249
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...


--------------------
"Wenn die Torte spricht, hat der Krümel zu schweigen!"
   
Beitrag 13.07.2005, 21:11 Uhr
Traori
Traori
Level 3 = Community-Techniker
***
Gruppe: Mitglied
Mitglied seit: 18.10.2004
Beiträge: 249
PS: @tommy
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!"
   
Beitrag 13.07.2005, 21:12 Uhr
Hori_1969
Hori_1969
Level 1 = Community-Lehrling
*
Gruppe: Mitglied
Mitglied seit: 16.11.2002
Beiträge: 40
Hallo Eisenrobert und die Anderen!

Danke für den Tipp, es hat funzt!!
danke.gif
   
1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: