Es hat zwar lange gedauert, aber ich konnte es jetzt endlich zum Laufen bringen auf der älteren 840D.
Es funktioniert nur über die zusätzliche Einbindung eines eigenen Anwenderbildes, welches vom NC-Programm aus aufgerufen wird.
NC-Programm enthält am Anfang folgende Programmzeilen für's Löschen der eventuell vorhandenen Quelldatei:
QUOTE
MMC("CYCLES,LM,TLC.COM,SEITE1","S")
STOPRE
g4 f1
STOPRE
DELETE(ERROR,"TLC_COLGAR")
Anstelle von
PICTURE_ON aus den
Siemens Handbüchern muß aber
LM verwendet werden, sonst geht garnix. Habe ich im CYCLE102 von den Messzyklen rausgefunden, der ja die Messwerte je nach Einstellung anzeigt.
Hier erfolgt dann das Ganze mit dem WRITE-Befehl zum Schreiben der Datei.
QUOTE
FOR Zaehler=1 to 32000
IF $P_TOOLEXIST[Zaehler]
WRITE (ERROR,"TLC_COLGAR","T="<<$TC_TP2[Zaehler]<<" Platz="<<$A_TOOLMLN[Zaehler]<<" Magazin="<<$A_TOOLMN[Zaehler])
ENDIF
ENDFOR
NC-Programm enthält folgende Programmzeilen für's Kopieren der neuen, mit WRITE erstellten und noch geladenen Quelldatei:
QUOTE
MMC("CYCLES,LM,TLC.COM,SEITE2","S")
STOPRE
g4 f2
Die Verweilzeiten G4 Fxx habe ich zur Sicherheit noch drin gelassen, falls mal was länger dauert als gewöhnlich
Die Datei TLC.COM ist im Verzeichnis der Anwenderzyklen erstellt und sieht wie folgt aus:
QUOTE
//M(SEITE1/"Werkzeugexport")
DEF VAR1 = (R3///,"Werkzeugliste exportieren"/R,Al1,//""/,30,219/230,29,200/7,1)
DEF Quelle
DEF Ziel
VS1=("")
VS2=("")
VS3=("")
VS4=("")
VS5=("")
VS6=("")
VS7=("")
VS8=("")
HS1=("")
HS2=("")
HS3=("")
HS4=("")
HS5=("")
HS6=("")
HS7=("")
HS8=("")
LOAD
Quelle = "\wks.dir\ZYY_WERKZEUG.WPD\TLC_COLGAR.MPF"
Ziel = "\wks.dir\ZYY_WERKZEUG.WPD\TLC.MPF"
DP(Quelle)
EXIT
END_LOAD
//END
//M(SEITE2/"Werkzeugexport")
DEF VAR1 = (R3///,"Werkzeugliste exportieren"/R,Al1,//""/,30,219/230,29,200/7,1)
DEF Quelle
DEF Ziel
VS1=("")
VS2=("")
VS3=("")
VS4=("")
VS5=("")
VS6=("")
VS7=("")
VS8=("")
HS1=("")
HS2=("")
HS3=("")
HS4=("")
HS5=("")
HS6=("")
HS7=("")
HS8=("")
LOAD
Quelle = "\wks.dir\ZYY_WERKZEUG.WPD\TLC_COLGAR.MPF"
Ziel = "\wks.dir\ZYY_WERKZEUG.WPD\TLC.MPF"
DP(Ziel)
CP(Quelle,Ziel)
PP(Ziel)
EXIT
END_LOAD
//END
Seite 1 ist zum Löschen der Quelldatei, falls sie entladen sein sollte. Da geht das Löschen über den DELETE-Befehl im NC-Programm nicht. Datei muß unbedingt entfernt sein, da WRITE immer an eine Datei anhängt. Außerdem würde sonst eine neue geladene Datei und eine entladene Datei parallel existieren, was wieder nur Chaos verursacht
QUOTE
DP(Quelle) --> Quelldatei löschen, auch wenn sie entladen ist
EXIT --> Anwenderbild schließen
Seite 2 kopiert und entläd die kopierte Datei
QUOTE
DP(Ziel) --> Zieldatei löschen, falls vorhanden
CP(Quelle,Ziel) --> Kopieren von Quelldatei zur Zieldatei, egal ob geladen oder nicht
PP(Ziel) --> Zieldatei entladen, falls geladen
EXIT --> Anwenderbild schließen
Die Funktionen sind jeweils als LOAD-Block geschrieben. Dadurch werden sie sofort bei Öffnen der Fensters ausgeführt und durch EXIT wird das Fenster gleich wieder geschlossen.
Die Funktion DP(Ziel) kann auch in externen Laufwerken, z.B. Netzlaufwerk die gewählte Datei löschen.
Die Funktion CP(Quelle,Ziel) kann leider nicht nach extern kopieren, aber da die kopierte Datei nachher entladen wird, kann ich sie ja übers Netzwerk erreichen und dann weiter benutzen
Der Versuch bei der 840D SL erfolgt dann demnächst auch noch. Ergebnis werde ich dann auch entsprechend weitergeben.