Sinumerik: Tool zum ARC Dateien extrahieren

LowLevelMahn

Level-1
Beiträge
766
Reaktionspunkte
90
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Hier ein kleines Kommandozeilen-Tool mit dem man Sinumerik 840D ARC - Archive "entpacken" kann

Was geht:


  • Es werden alle mir bekannten 840D Archiv Formate unterstützt dazu gehören
    die textuellen Lochkartenformate (beiden Zeilenendeformate) welche mit Texteditoren bearbeitet werden können
    UND die binärform (PC-Format) d.h. z.B. auch PLC- und IBN-Archive
  • Alle enthaltenen Dateien werden mit Unterverzeichnissen extrahiert
  • Erkennt im Gegensatz zum Siemens ARC-Tool auch fehlerhafte Archive und gibt eine Meldung aus
    (das Siemens-Tool hänget in solchen Fällen meist mit 100% CPU-Auslastung oder schmiert einfach ab)
  • die Lockkarten-Formate kann das Tool auch "entpacken" - was
    ich bisher mit dem Siemens-Tool auch noch nicht geschafft habe :)


Was fehlt noch:

Zusammenbauen von Archiven - kann ich - auch mit den richtigen Checksummen
hatte nur noch keinen Bock das ins Tool zu bauen

Benutzung:

Aufruf in der Kommandozeile (Start->Ausführen->"cmd"):

arc_extract ARCHIVDATEI ENTPACKVERZEICHNIS

also z.B.


arc_extract c:\temp\SPF.ARC c:\temp\arcs\

lochkarte_crlf
press any key!

SPF.DIR\0.SPF
SPF.DIR\A.SPF
SPF.DIR\B.SPF
SPF.DIR\1.SPF
SPF.DIR\2.SPF
SPF.DIR\3.SPF
SPF.DIR\4.SPF
SPF.DIR\5.SPF


falls die EXE nicht läuft fehlt noch das "Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)"
(hat man meistens schon drauf da fast alle Microsoft-Tools das brauchen)
zu finden bei Mirosoft unter: www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647

hoffe auf Feedback und möglicherweise Archive die nicht funktionieren - damit ich weiter ausbauen kann
 

Anhänge

  • arc_extract.zip
    13,2 KB · Aufrufe: 1.461
Hi

Funktioniert cool.


Unter Windows wäre es noch schöner. :ROFLMAO:


Frage: Kann man das für Batch-Dateien verwenden ?


Also
--> Keinen Tastendruck mehr notwendig bei "Beenden Programm"
--> "Return"-Wert bei O.K und Fehler.


Karl
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen, vielen Dank :)

Wird bei Gelegenheit mal ausprobiert. Ich liebe diese Archive... Ein Kollege von mir hat noch mehr Kummer damit, dem spielt sein USB-Adapter glaube ich manchmal Streiche...

Gruß, Tobias
 
Hallo

ich habe eine kleine Anwendung in Visual C# 2008 geschrieben, mit der ich dein Tool ausführen lasse. Hier mein Quellcode:
Code:
private static System.Diagnostics.Process arcExtract = new System.Diagnostics.Process();
arcExtract.StartInfo.WorkingDirectory = Application.StartupPath;
arcExtract.StartInfo.FileName = "arc_extract.exe";
arcExtract.StartInfo.Arguments = arcFile + " \"" + arcDir + "\""; 
arcExtract.Start();         
SendKeys.SendWait("{ENTER}");
arcExtract.WaitForExit(4000);

Ich gebe zu, das ist keine wirklich elegante Lösung, beispielsweise startet der Kommandozeileninterpreter jedesmal im Vordergrund, auch die simulierte tasteneingabe gefällt mir nicht. Hast du in dein Tool Schnittstellen programmiert um es fernzusteuern und Daten ein- bzw. einzulesen, um z.B. Exceptions abzufangen?

MfG
 
was will ich noch bauen wenn zeit (lust) da ist

ich werde noch das archiv-erstellen bauen - da muss ich aber noch ein bischen mit den cheksummen von plc-code archiven testen
-> mein testszenario umfasst mitlerweile ca. 9000 arcs mit > 1.7gb :)

und aus dem ganzen einen dll machen welche man dann prima in irgendwelche applikationen einbauen kann - mit automation, gui - whatever

btw: meine direktanbindung (so ne art libnodave für SINUMERIK NCKs) an die 840D PL/SL wird auch immer besser - ich finde wieder ein bischen zeit mich dem thema zu widmen, d.h. nck-items, lesen/schreiben, überwachen, dateitransfer usw. - auf der Solutionline kann ich schon komplett auf die Siemenssoftware verzichten, auf der Powerline versuche ich gerade direkt mit dem CP5611-treiber zu kommunizieren (dann habe ich fast alle siemens-schichten umgangen)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
:eek: Ich bin erstaunt.

Wäre super, wenn ich aus den extrahierten Dateien wieder ein Archiv bauen könnte :)

Ich denke, an der Solution Line könnte es sogar noch einfacher sein, auf gewisse Teile zuzugreifen... Aber bis ich da rankomme, dauert es wohl noch ein bisschen. Bei uns wird die 840Dsl wohl erst recht spät auf breiter Linie einziehen.

Gruß, Tobias
 
Ich brauch mehr Testarchive

Ich brauch mehr Testarchive am besten welche die mein Tool nicht extrahieren kann (am besten mit der Info ob SinucomArc und/oder das HMI die noch schluckt - oder was passiert)

ich habe immer noch 3-4 verschiedene Checksummen-Formate - speziell wenn
PLC sachen in dem Archiv enthalten sind (könnte was historisches sein) würde da gerne mehr rausfinden
 
Perfekt!! genau das was ich suche

Hallo LowLevelMahn und alle anderen,

ich habe mir auch das Tool heruntergeladen und finde es echt super, genau das was ich suchte.:TOOL:

Herzlichen Dank und ein riesiges Lob hierfür.
Das Hauptsächliche erledigt das Tool bisher ohne Probleme. Allerdings hätte ich noch ein paar Fragen bzw. Anregungen dazu.

-es wäre schön wenn die Pfadangaben in den einzelnen Programmen nicht gelöscht würden bzw. wenn eine Abfrage erfolgen würde ob sie gelöscht werden sollen oder nicht.
-Weiterhin wäre es schön wenn es noch eine komfortable Win Variante geben würde.

Sind hier noch weitere Entwicklungen geplant?

Gruß Festus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ja wenn ich zeit finde

wenn ich Zeit finden mache ich noch ein paar Sachen - siehe Post 2 drüber

-es wäre schön wenn die Pfadangaben in den einzelnen Programmen nicht gelöscht würden bzw. wenn eine Abfrage erfolgen würde ob sie gelöscht werden sollen oder nicht.

Was meinst du? die $PATH-Angabe im Lochkartenformat?

-Weiterhin wäre es schön wenn es noch eine komfortable Win Variante geben würde.

ist auf dem Plan
 
Wenn ich aus dem Urlaub wieder da bin, kann ich mal ein paar Archive rüberschicken, fast alle 810D, einige 840D pl, ein paar 840D sl, teilweise mit SinuComNC gezogen, teilweise über serielle Schnittstelle, alle funktional, manche lassen sich aber nicht mit SinuCom ARC öffnen- warum auch immer.
Die Archive müssten nur bei dir bleiben, weil manchmal auch eigene Sachen in den NC-Archiven zu finden sind. Die, wo ich Bedenken mit Copyright habe, behalte ich erst mal, da müsste ich erst nachfragen.

Wie viele brauchst du? Ich würde dann durch alle Backups durch gehen und die "defekten" aussortieren. Bei einigen weiß ich definitiv, dass sie noch funktionieren.
Probleme habe ich mehr und öfter mit PLC-Archiven.

Gruß, Tobias
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Archive müssten nur bei dir bleiben, weil manchmal auch eigene Sachen in den NC-Archiven zu finden sind. Die, wo ich Bedenken mit Copyright habe, behalte ich erst mal, da müsste ich erst nachfragen.

kein problem - bleibt alles lokal

Wie viele brauchst du? Ich würde dann durch alle Backups durch gehen und die "defekten" aussortieren. Bei einigen weiß ich definitiv, dass sie noch funktionieren.
Probleme habe ich mehr und öfter mit PLC-Archiven.

am besten alle die welche nicht von meinem tool extrahiert werden können
und auch andere - so viele wie gehen - wie gesagt ich hab ~9000 hier

thx
 
da hat einer aber lange Urlaub?

bekomm ich deine Archive noch?

bin dabei das ganze mal mit QT zu ver-GUI-en - und das Archiv erstellen zu bauen
 
Flitterwochen... und danach verpennt... Tut mir leid. In der Zwischenzeit habe ich aber mal gesammelt und alle, die ich mal gemacht habe, in ein Zip geworfen. Das sind leider 78MB...

Hat irgendeiner 'ne Idee, wie und wo man das hochladen kann?

Gruß, Tobias
 
Faszinierenderweise funktionieren die meisten Archive daraus wunderbar...?!?

Ich hatte neulich einen ganzen Haufen, der nicht funktioniert hat, aber einen Grund oder einen Hinweis habe ich noch nicht finden können.

Es muss am Bediener liegen, wie fast immer :-D

Gruß, Tobias

PS: Lade gerade hoch, aber mit meinem Killer-DSL 2000 mit 76k Upload kann's noch dauern...
 
Zuletzt bearbeitet:
Danksagung und Motivation

@LowLevelMahn
Vielen Dank für dieses Tool. :TOOL:
Ich arbeite als CNC-Programmierer und habe oft mit Archiven zu tun. Meist sind es über DNC gesicherte Programmordner (WKS), aus denen ich bisher die Programme einzeln wieder rauskopieren musste, wollte ich sie mit den Originalprogrammen vergleichen. Dank deines Tools ist das jetzt vorbei!

PS: Hat schon jemand eine Batchdatei geschrieben? Vielleicht sogar eine, auf die man per Drag and Drop einfach das Archiv raufzieht und die dann einen Ordner(benannt nach Archiv) + ggf. Unterordner mit den extrahierten Datein anlegt?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Batchdatei zum Programm

Nun habe ich selbst meine erste Batchdatei geschrieben.

Wenn man ein Archiv (*.arc) per Drag & Drop darauf zieht, startet "extract_arc.exe" und schreibt die extrahierten Dateien in einen neuen Ordner, welcher den um das Systemdatum erweiterten Namen des Archivs bekommt.

Ist ein Ordner unter diesem Namen schon vorhanden, erfolgt eine Abfrage, ob er überschrieben werden darf.

Voraussetzung: Archiv, Batchdatei und "extract_arc.exe" sind in einem Ordner.

Vielleicht kann ja jemand was damit anfangen.

mfg, Mariteam
 

Anhänge

  • ARC_ENTPACKEN_BAT.ZIP
    1 KB · Aufrufe: 223
Probleme mit der eigenen Batchdatei

Die Batchdatei scheint leider einen Fehler zu haben, den ich auch nach längerer Suche nicht finden konnte. Bei mir funktioniert sie, wenn sich der Ordner z.B. direkt unter C: befindet, unter C:\temp oder auch auf dem Desktop. Wenn ich den gleichen Ordner aber nach D:\ kopiere, funktioniert es nicht mehr!?
Hat vielleicht jemand eine Lösung dafür? Warum ist es nicht egal, wo sich der Ordner befindet, lese ich doch die aktuellen Pfade aus!?

Hier der Code:

@ECHO OFF
SET Pfad_Archiv=%~p1
SET KPF=%~f1
SET Name_Archiv=%~n1
SET LW=%~d1

IF NOT EXIST "%LW%%Pfad_Archiv%%Name_Archiv%_%DATE%" GOTO LOS
SET /P w= Ein Verzeichnis mit dem Namen "%Name_Archiv%_%DATE%" existiert bereits. Ueberschreiben? [J]a / [N]ein:
IF /I "%w%"=="j" GOTO LOS
IF /I "%w%"=="n" GOTO NLOESCH
ECHO Fehler: [%w%]
GOTO ENDE

:LOS
REM altes Verzeichnis wird geloescht, falls existent, ==> ein Klick weniger (bzw. eine Bildschirmausgabe)
IF EXIST "%LW%%Pfad_Archiv%%Name_Archiv%_%DATE%" RMDIR "%LW%%Pfad_Archiv%%Name_Archiv%_%DATE%" /q /s

ECHO.
ECHO ****************************************************************
ECHO Nach der naechsten Bildschirmausgabe bitte Enter-Taste druecken!
ECHO ****************************************************************
ECHO.
CD %Pfad_Archiv%
MD "%Name_Archiv%_%DATE%"
arc_extract "%KPF%" "%LW%%Pfad_Archiv%%Name_Archiv%_%DATE%"
GOTO ENDE

:NLOESCH
ECHO Das Programm wurde nicht gestartet.
PAUSE

:ENDE

Vielleicht kennt sich hier jemand damit aus und kann helfen.
Ich habe den Ordner sogar schon einem Kollegen auf einen Netzwerkordner gelegt und selbst dort hat es funktioniert. :confused:

Vielen Dank, falls sich jemand die Mühe machen sollte...
 
Neue Batch-Datei

Ich habe die Batchdatei noch mal überarbeitet und stelle das Ergebnis hier zur Verfügung. Jetzt funktioniert alles reibungslos und ich hätte darum meinen vorangegangenen Beitrag mit dem Hilfeersuchen gern gelöscht. Das war leider nicht möglich.
 

Anhänge

  • ENTPACKE.zip
    1,1 KB · Aufrufe: 355
Zurück
Oben