Export DB aus Step7 nach Excel

Nathalie schrieb:
Josef schrieb:
Aber es gibt doch sed (Streameditor) und regexp (regularexpressions).

Stand gerade auf der Leitung. ;) Stimmt, man könnte natürlich auch den guten alten Edlin nehmen...
Nee, das meint Josef nicht. Sed ist ein Werkzeug, mit dem man die Arbeit des Editierens der Maschine überläßt:
Datei1 + Anweisungen ergibt Datei2 (oder eine neue Version von Datei1). Es ist ein Werkzeug, das aus dem Unix-Bereich kommt, aber es ist auch für Windows zu haben (umsonst).
Regular Expressions sind eine Methode, Muster zu formulieren:
Du kennst das dir *.* von DOS/Windows: Es bedeutet: Eine Folge beiliebiger Zeichen, ein Punkt, und noch eine Folge belibiger Zeichen.
Regular Expressions in PERL (noch ein Werkzeug und eine komplette Skriptsprache dazu, kann Sed komplett ersetzen, auch umsonst) können viel mehr. Ich müßte jetzt ins Handbuch gucken...

Eine andere Frage: Wenn du sagst, bei Gleikommezahlen gibt es einen Umbruch: Im "gedruckten" Text oder erst in EXCEL? Im zweiten Fall in EXCEL die Trennzeichen anpassen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nathalie schrieb:
[FLAME]
Ich hasse Step7! Nennt sich Version 5.3, aber die Editoren sind finsterste Steinzeit. Kein Syntax-Highlighting, kein Code-Folding, kein Autocomplete, kein... Und ansonsten muss mich der Editor ständig gängeln und meint schlauer zu sein als ich.
[/FLAME]
[quote="Nathalie"}
Ich auch. Insbesondere das mit dem schlauer sein...
So, trotzdem geht es mir jetzt nicht besser. :([/quote]
Mir doch, ich hatte immer den Eindruck, die meisten finden ganz toll was Siemens mit irrsinnigen Resourcenverbrauch zustande bringt.
 
Zottel schrieb:
Eine andere Frage: Wenn du sagst, bei Gleikommezahlen gibt es einen Umbruch: Im "gedruckten" Text oder erst in EXCEL? Im zweiten Fall in EXCEL die Trennzeichen anpassen.
Natürlich schon im gedruckten Text, in Excel wäre ja zu einfach. ;(

Wahrscheinlich muss ich mich doch mal hinsetzen und mir das API von Step7 anschauen (Ich wusste noch gar nicht, dass das offengelegt ist.), und ein Export-Tool schreiben. Sowas braucht man ja öfters. Ich habe nur im Moment leider gar keine Zeit dafür. :(
 
Hallo,

Gibt es eine Möglichkeit, einen (bzw. mehrere) Datenbausteine aus einem S7-Projekt mitsamt ihrer Adressen in eine Exceltabelle zu exportieren?

Ich weiss, es geht über den Umweg mit PDF, aber das ist mir zu umständlich. Aber vielleicht kennt hier jemand einen besseren Weg.
Hallo Anonymous,

ich hab es geschafft ohne Hilfsmittel:

Im Simatic Manager:
1.) DB öffnen, die Zelle "0.0" unter "Adresse" anklicken bzw. markieren.
2.) Die Shift-Taste drücken und gedrückt halten
3.) Die "Pfeil-nach-unten" Taste mehrfach betätigen
-> So werden Zeilen und Spalten im DB markiert
4.) Strg+C (Kopieren)
5.) In Excel wechseln, erste Zelle anklicken
6.) Strg+V (Einfügen)

Gruß
 
Delta, zu meiner Verteidigung: Vor 20 Jahren (als die Frage gestellt wurde) gab es noch kein TIA ;-)
(Aber mit dem TIA geht's bestimmt besser, hab ich jetzt nicht ausprobiert.)
Anbei ein Screenshot (ohne Daten)
Anmerkung: Die Adresse, wie gewünscht, kommt leider nicht mit
 

Anhänge

  • Screenshot 2025-09-03 103426.png
    Screenshot 2025-09-03 103426.png
    81,4 KB · Aufrufe: 23
Zuviel Werbung?
-> Hier kostenlos registrieren
Anmerkung: Die Adresse, wie gewünscht, kommt leider nicht mit
Die Adresse lässt sich ja in Excel berechnen. Die erste Adresse ist ja immer 0.0
in der darauffolgenden Zeile ist die Formel z.B. so
Code:
=TEXT(WENN(ODER(B1="DINT";B1="DWORD";B1="REAL");A1+4;WENN(ODER(B1="INT";B1="WORD");A1+2;WENN(B1="BYTE";A1+1;WENN(UND(A1-GANZZAHL(A1)>0.65;A1-GANZZAHL(A1)<0.75);A1+0.3;A1+0.1))));"0.0")
 
Mit einem Instanz-DB geht das wohl noch immer nicht, oder?
Der wird ja in einem anderen Fenster geöffnet, und dort kann ich keine Zeile(n) markieren & kopieren, nur jeweils eine Zelle.

(K5.7.2.1)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mit einem Instanz-DB geht das wohl noch immer nicht, oder?
Der wird ja in einem anderen Fenster geöffnet, und dort kann ich keine Zeile(n) markieren & kopieren, nur jeweils eine Zelle.

(K5.7.2.1)
Dafür könntest du eine Quelle exportieren und diese mit einem Excel Makro in Excel reinziehen.
 
Mit einem Instanz-DB geht das wohl noch immer nicht, oder?
Der wird ja in einem anderen Fenster geöffnet, und dort kann ich keine Zeile(n) markieren & kopieren, nur jeweils eine Zelle.

(K5.7.2.1)

Hallo Stivi_d,

also ich hab es so gemacht: Wenn man einen iDB öffnet, dann kommt bei mir eine Abfrage (siehe Bild).
Wenn ich "ja" drücke - geht's nicht wie DeltaMike anmerkte.
Aber wenn ich an dieser Stelle "nein" drücke, dann wird der iDB wie ein "normaler DB" geöffnet und man kann die Sachen rauskopieren (siehe Kommentar oben).

Gruß
 

Anhänge

  • Screenshot 2025-09-03 142516.png
    Screenshot 2025-09-03 142516.png
    6,9 KB · Aufrufe: 7
dafür gibts ein Tool: DBtoExcel

basiert auf Libnodave.
Geht das auch mit einem offline-DB nur aus dem Projekt? Oder nur online aus einer CPU?

Wenn ich den Aufbau eines DB inklusive der Adressen brauche, dann drucke ich den DB mit einem Drucker, der nur Text kann (z.B. Generic / Text Only) in eine Datei und kopiere dann aus dieser Textdatei.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
DbToExcel geht nur offline und greift auf das Step7-Projekt zu.
Mit File Open S7 project wählst du das Projekt aus, dann werden alle DBs geladen, du wählst aus, welche du haben willst und dann exportiert das Tool in ein Excel-File. Jeder DB ist dann 1 Register. UDTs werden gruppiert dargestellt.
1756907000334.png1756907193178.png
Es gehen aber nur ganze DBs, wenn was zu viel ist, muss du das dann im Excel löschen.

Das Programm hat auch die Möglichkeit, Aktualwerte zu lesen, habe ich aber nie probiert (und aktuell keine S7-300 aktiv, es zu testen)
 
Zurück
Oben