Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  PTC Creo Elements/Direct Drafting
  Fehlermeldung: Makro-Stapelregisterüberlauf

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für PTC CREO
Autor Thema:  Fehlermeldung: Makro-Stapelregisterüberlauf (856 mal gelesen)
lw
Mitglied
Koordinator technische DV CAD Betreuer


Sehen Sie sich das Profil von lw an!   Senden Sie eine Private Message an lw  Schreiben Sie einen Gästebucheintrag für lw

Beiträge: 24
Registriert: 21.10.2002

Workmanager 5.10
ME10 9.0
NT + UNIX

erstellt am: 14. Jul. 2004 08:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen zusammen:
Arbeite jetzt nahezu 10 Jahre mit ME10 und habe viel geschrieben aber diese Fehlermeldung von gestern hatte ich noch nie: Makro-Stapelregisterüberlauf. Bei dem Versuch ca 1050 Zeichnungen, die als PDF-Datei vorliegen, an einen Drucker zu senden kam nach ca 145 Zeichnungen die o.g. Fehlermeldung. Ein Macro holt die entsprechenden Daten aus einer Tabelle und führt diverse Prüfungen und Suchroutinen durch um dann die entsprechende PDF-Datei auf den Drucker zu kopieren.
Frage: Wer kennt diese Fehlermeldung und hat einen Tipp diesen zu umgehen, zu verhindern oder auszuschalten?
MfG Uli.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Klaus Lörincz
Mitglied
Consultant


Sehen Sie sich das Profil von Klaus Lörincz an!   Senden Sie eine Private Message an Klaus Lörincz  Schreiben Sie einen Gästebucheintrag für Klaus Lörincz

Beiträge: 533
Registriert: 06.08.2003

OSD M = aktuell
OSD D = aktuell
OS M = aktuell
auf WIN und HP-UX

erstellt am: 14. Jul. 2004 09:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lw 10 Unities + Antwort hilfreich

Darf man wissen warum Du mit ME10 im Batch versuchst PDF Dateien an den Drucker zu senden ?


Grüßle

------------------
Klaus Lörincz
0174 3439 428
Sindelfingen
Germany

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lw
Mitglied
Koordinator technische DV CAD Betreuer


Sehen Sie sich das Profil von lw an!   Senden Sie eine Private Message an lw  Schreiben Sie einen Gästebucheintrag für lw

Beiträge: 24
Registriert: 21.10.2002

Workmanager 5.10
ME10 9.0
NT + UNIX

erstellt am: 14. Jul. 2004 10:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Also: Es gibt im ME10 ein selbst geschriebenes Tool "ZLP" Zeichnungen laden und plotten.
Folgende Daten können in die Tabelle geladen werden:
1. Nummernbereich aus dem Workmanager holen und alle entsprechenden Infos dazu anzeigen (Format, Status, Version, Blatt usw.)
2. Stückliste aus WM holen
3. Mappeninhalt aus WM holen
4. Verzeichnis anzeigen
Weitere Dateneingaben bieten folgende Möglichkeiten:
1. Nummerneingabe von Hand als Liste und verarbeiten
2. Excelformat csv lesen und verarbeiten
3. Ersatzteilstücklisten aus dem PPS System lesen und verarbeiten
Alle 3 Möglichkeiten holen die entsprechenden Daten aus dem WM und werden angezeigt. Hier wird auch eine Protokolltabelle mitgeschrieben.
Dazu gibt es dann einige Tabellenfunktionen wie Sortieren, Löschen, Markieren und der gleichen.
Zu den Einträgen kann ich mir die Teiledaten im WM anzeigen lassen und eine vorhandene Zeichnung anschauen: dies kann eine ME10 Zeichnung sein aber auch ein Office Dokument, die auch im WM verwaltet werden: PDF, TIFF, GIF, JPG, DOC, XLS, PPS, TXT.
Jetzt kommt der eigentliche Sinn des Tools: Man kann hinter jedem Dokument einen Drucker, der im Netz hängt, mit dem entsprechendem Blattformat für die Ausgabe eintragen. Das kann jetzt ein ganz normaler Laserdrucker oder ein DIN A0 Plotter sein aber eine Ausgabe als PDF, PS, MI, und DXF ist auch möglich. TIFF und DWG wäre auch kein Problem.
Alle freigegebenen Zeichnungen liegen bei uns im Intranet als PDF Dokument vor.
Es kommt nun des öfteren vor, das jemand alle Zeichnungen einer Baugruppe als Druck haben möchte. Diese werden aus dem WM als MI Datei geladen, Stückliste aktualisiert und dann geplottet. Bei Ersatzteilstücklisten nehme ich nur die PDF Dateien, auch als Kontrolle, ob alle Zeichnungen für die Maschine da sind. Diesen großen Umfang an Zeichnungen (hier waren es über 1000) haben wir sonst nicht. Aber zu diesem Prototyp sind nun mal alle Zeichnungen in der Endmontage notwendig.
Meine Vermutung: Dies ist ein recht komplexes Tool mit sehr vielen Möglichkeiten. Bei der Nutzung waren bisher immer Zeichnungen aus dem WM beteiligt. So das immer zwischen ME10 und WM hin und her geschaltet wurde. Bei dieser Aktion war nur ME10 beteiligt und hat dann wohl die Menge an zu durchlaufenden Macros nicht verkraftet. Werde mal den Versuch starten und nach 100 Dateien in den WM springen und nach einem WAIT wieder zurückkommen. Denke dadurch wird der Stapelregister wieder leer sein.

MfG Uli

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

H.annes
Mitglied
CAD-Pfriemler


Sehen Sie sich das Profil von H.annes an!   Senden Sie eine Private Message an H.annes  Schreiben Sie einen Gästebucheintrag für H.annes

Beiträge: 482
Registriert: 02.07.2001

ME10 8.7 - PTC DirectDrafting 19.00; OSM 15.xx - PTC DM 19.xx

erstellt am: 14. Jul. 2004 11:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lw 10 Unities + Antwort hilfreich

Morgen!

"Stapelregisterüberlauf" heißt, daß Du ein Makro rekursiv immer wieder aufrufst, also zB:

DEFINE Makro1
  LET ...
  Makro1
  ...
END_DEFINE

Probiers mal aus:

LET I 1  {I ausserhalb vom Makro setzen!}
DEFINE Xx
  LOCAL V
  LET I (I+1)
  LET V 88
  DISPLAY_NO_WAIT I Xx
END_DEFINE

Das geht bei mir genau 2040 mal gut, dann kommt der Stapelregisterüberlauf.


Gruß aus Österreich,
Hannes

------------------
und in da finstakeit do siacht ma net so weit
ois wia beim togesliacht wo ma vü weida siacht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

lw
Mitglied
Koordinator technische DV CAD Betreuer


Sehen Sie sich das Profil von lw an!   Senden Sie eine Private Message an lw  Schreiben Sie einen Gästebucheintrag für lw

Beiträge: 24
Registriert: 21.10.2002

Workmanager 5.10
ME10 9.0
NT + UNIX

erstellt am: 14. Jul. 2004 12:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Hannes

"Das geht bei mir genau 2040 mal gut, dann kommt der Stapelregisterüberlauf."

Also ich schaffe mit deiner Methode genau 2500. Wäre interressant ob das generell eine Grenze von ME10 ist.

Werde das demnächst mal untersuchen.

MfG Uli.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

H.annes
Mitglied
CAD-Pfriemler


Sehen Sie sich das Profil von H.annes an!   Senden Sie eine Private Message an H.annes  Schreiben Sie einen Gästebucheintrag für H.annes

Beiträge: 482
Registriert: 02.07.2001

ME10 8.7 - PTC DirectDrafting 19.00; OSM 15.xx - PTC DM 19.xx

erstellt am: 14. Jul. 2004 12:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lw 10 Unities + Antwort hilfreich

hast recht - es sind 2500 durchläufe; ich hab wohl in der eile nicht runtergescrollt 
egal - auf jeden fall ist das die ursache für deinen fehler.

mahlzeit!
hannes

------------------
und in da finstakeit do siacht ma net so weit
ois wia beim togesliacht wo ma vü weida siacht.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Wolfgang Binninger
Mitglied
Dipl.Ing. Maschinenbau

Sehen Sie sich das Profil von Wolfgang Binninger an!   Senden Sie eine Private Message an Wolfgang Binninger  Schreiben Sie einen Gästebucheintrag für Wolfgang Binninger

Beiträge: 7
Registriert: 16.07.2004

erstellt am: 16. Jul. 2004 11:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für lw 10 Unities + Antwort hilfreich

Hallo, die Gefahr bei rekursiven Programmen it immer recht groß, daß
die an die Programm-Grenzen kommen. In Unix kann man den Prozess-Raum der Anwendungsprogramme heraufsetzen ( sam ) , dann muß aber auch der Hauptspeicher samt SWAP ausreichend gross sein. Ich würde hier nicht
rekursiv vorgehen, sondern sequentiel, alle Daten in eine logische Tabelle und danach mmir REPEAT , WHILE oder LOOP das ganze abackern.
Wenn immer noch zusätzlich Zeichnungen im ME10 gelden werden, brauchen die naürlich auch Platz im Hauptspeicher.Üblicherweise gibt es in jedem Programm zwei Speicherbereiche , den HEAP und den STACK
Zeichnungen werden wahrscheinlich im HEAP abgelegt, ablaufende Programme/Routinen auf dem STACK. Man kann sich das so vorstellen:
--- Obere Grenze des Prozessraumes -----
- Anfang des STACK                    -
-      ...                            -
- Hier werden die Routinen ausgeführt  -
-      ...                            -
-    dynamisches Ende des STACKS      -
-  Hier geht es rauf und runter        -
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
-vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv-
-Freier Speicher zwischen STACK u. HEAP-
-      ...                            -
-      ...                            -
-      ...                            -
-      ...                            -
-      ...                            -
-      ...                            -
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
-vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv-
- dynamische Obergrenze des HEAP      -
-  Hier liegen die Benutzerdaten      -
-      ...                            -
-      ...                            -
-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-
-Hier liegt der Programm-Code          -
- Dieses einfache Modell gilt nur bei  -
- single-Threading                    -
- Anfang des Prozess-Raumes-------------

sollten nun HEAP und STACK aufeinandertreffen
geben gute Betriebssysteme und Anwendungen hierbei
an die Benutzer eine Meldung ( wie geschehen)


------------------
Mit Grüßen aus Stutensee
Wolfgang Binninger

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz