# S5D Dateiformat?



## Jochen Kühner (13 Dezember 2010)

Gibts den für die S5 Dateien irgendwo Beschreibungen zum Dateiaufbau zum Download?
Würde gerne für eine Visu die DB Informationen aus der Projektdatei auslesen.


----------



## Corosop15 (14 Dezember 2010)

Ich habe ien Buch von Hans Berger aus dem Jahre 1987, Automatisieren mit S5-115U. Dort wird in einem Kapitel u.A. der Aufbau des Bausteinkopfs beschrieben. Wenn es das ist, was Du suchst, scann ich Dir Seiten ein.

Gruß
Corosop15


----------



## Jochen Kühner (14 Dezember 2010)

Jo, das wär ja schon ein Anfang, danke!


----------



## Thomas_v2.1 (14 Dezember 2010)

Hier sind auch einige Infos zu finden:

http://mc5decode.sourceforge.net/


----------



## Jochen Kühner (14 Dezember 2010)

Thomas_v2.1 schrieb:


> Hier sind auch einige Infos zu finden:
> 
> http://mc5decode.sourceforge.net/



Jo das kenn Ich schon... aber über den grundsätzlichen Dateiaufbau findet man nicht wirklich viel!


----------



## Jochen Kühner (14 Dezember 2010)

*Bausteinkopf...*

Zum Bausteinkopf habe Ich nun auch das gefunden: http://www.process-informatik.de/page/ftp/pub/handbook/powerbioshb15d.pdf
S26.

Mir gehts aber auch um den grundsätzlichen Dateiaufbau, ab wo kommen die Bausteine mit den Köpfen, was sind die Daten am Anfang einer S5D Datei, und wie sind die DBs aufgebaut (mc5decode kann ja nur AWL). Vielleicht hat ja jemand noch was...


----------



## blasterbock (14 Dezember 2010)

Ich habe ein Muster, was den Vorkopf einer S5 Datei beschreibt.
Vielleicht kannst Du damit mehr erreichen.


----------



## Corosop15 (14 Dezember 2010)

Hallo Jochen, hier sind meine gescannten Seiten.

Gruß
Corosop15


----------



## argv_user (14 Dezember 2010)

Jochen Kühner schrieb:


> Gibts den für die S5 Dateien irgendwo Beschreibungen zum Dateiaufbau zum Download?
> Würde gerne für eine Visu die DB Informationen aus der Projektdatei auslesen.



Du meinst sicherlich die Symbolik, denn den DB selber kann man ja mit
libnodave auch aus der Steuerung ziehen. In der Programmdatei *st.s5d
sind jedenfalls keine Symbole drin, die stecken wohl in irgendwelchen *.seq
Dateien.

Ich bin mir nicht ganz sicher, daher das folgende bitte vorsichtig genießen:

Es gibt eine relativ einfache Möglichkeit, aus dem ganzen Dateisammelsurium
einen ASCII-Text mit Symbolik zu erzeugen, und die heißt AWL-Batch-Compiler. S5-"Projekt"  "öffnen",
dann als AWL-Quelle speichern. Die kannst Du dann im Texteditor
anschauen.


----------



## blasterbock (14 Dezember 2010)

Die Kommentare der DB's sollten allesamt in den DK Dateien stehen, so wie die Netzwerkkommentare in den PK bzw in den FK Dateien stehen.
Jeder Baustein hat seinen Kommentarbaustein DB --> DK, FB --> FK.


----------



## Jochen Kühner (14 Dezember 2010)

blasterbock schrieb:


> Die Kommentare der DB's sollten allesamt in den DK Dateien stehen, so wie die Netzwerkkommentare in den PK bzw in den FK Dateien stehen.
> Jeder Baustein hat seinen Kommentarbaustein DB --> DK, FB --> FK.



Ja, aber diese sind ja auch in der S5D Datei enthalten, oder? Gibts denn dann auch eine Beschreibung des Bausteinkopfes bei einem PK, FK oder DK Baustein?


----------



## blasterbock (14 Dezember 2010)

Ich habe eben mal mit einem Hex-Editor in eine S5 Datei reingesehen.
Die Dateien sind auf jeden Fall in der S5D enthalten.

Ich würde mir ein Projekt anlegen, mit nur einem DB und dann mit einem Hex-Editor versuchen, den Bausteinkopf zu finden.
Einmal den vom DB selbst und den vom DK.

Ich hatte mir vor einigen Jahren (1986) mal einen Crosscompiler geschrieben, der von S5 auf AEG A100 compilierte.
Leider sind mir die Unterlagen aus dieser Zeit bei einem Gepäckverlust abhanden gekommen.
Damals hatte ich mir für jeden Baustein ein Projekt angelegt und dann die Erkennungsmuster der Bausteien herausgefiltert.
So weit ich in der Erinnerung habe, waren die Bausteinköpfe gleich.

Tut mir leid, dass ich Dir nicht weiter helfen kann.


----------



## Jochen Kühner (14 Dezember 2010)

blasterbock schrieb:


> Ich habe eben mal mit einem Hex-Editor in eine S5 Datei reingesehen.
> Die Dateien sind auf jeden Fall in der S5D enthalten.
> 
> Ich würde mir ein Projekt anlegen, mit nur einem DB und dann mit einem Hex-Editor versuchen, den Bausteinkopf zu finden.
> ...



Jo, das ist mir schon klar, hatte nur gedacht diese Info's gibt's viel. öffentlich schon irgendwo! Muss dann auch erst mal S5 wieder installieren...

Dann wird wahrscheinlich doch erst mal alles von Hand angelegt... mal schaun...


----------



## Corosop15 (14 Dezember 2010)

Hinzu kommt ja auch noch, daß es für Funktions- und Datenbausteine Vorköpfe gibt (FV bzw. DV). Diese existieren aber nur auf dem PG, nicht im AG. Im DV werden meines Wissen nach die Datenformate weggespeichert, z.B. KH, KT, KF, KG usw. Beim AG-Abzug muß deshalb jedesmal bei der Ausgabe auf PG eines DBs der Datentyp ausgwählt werden.

Gruß
Corosop15


----------



## argv_user (14 Dezember 2010)

Jochen Kühner schrieb:


> Ja, aber diese sind ja auch in der S5D Datei enthalten, oder? Gibts denn dann auch eine Beschreibung des Bausteinkopfes bei einem PK, FK oder DK Baustein?



Nein! Außer natürlich im Archiv des Herstellers.

Der Bausteinkopf dürfte derselbe sein wie zB der des DB,
nur vorne eine andere Kennung haben.

Sag mal Jochen, auf was willst Du eigentlich hinaus?
Eigene Programmanalyse entwickeln braucht etwas mehr Zeit als Du
denkst. Und bedenke auch, dass die neueren S5-Versionen zwar
uU auch die Dateien der älteren kennen, aber nicht umgekehrt.
Und natürlich dass das, was da gespeichert ist, auch noch vom Typ der S5
abhängen kann. 

Na dann mal viel Spass, ich muss jetzt auf ne kleine Feier.


----------



## Corosop15 (14 Dezember 2010)

Hallo Jochen,

im Handbuch zur STEP5 Software V6.6 steht auch noch etwas zum Thema Datenbausteinkopf und -vorkopf, ebenso zu FB-Köpfen.

http://support.automation.siemens.com/WW/view/de/1169885

Gruß
Corosop15


----------



## Gebs (14 Dezember 2010)

Hallo Jochen,

ich hab' mal den Anfang einer s5d-Datei aufgedröselt.
Ich hoffe es ist das, was Du suchst.

Grüße
Gebs


----------



## Jochen Kühner (15 Dezember 2010)

Gebs schrieb:


> Hallo Jochen,
> 
> ich hab' mal den Anfang einer s5d-Datei aufgedröselt.
> Ich hoffe es ist das, was Du suchst.
> ...



Jo das hilft schon mal weiter...


----------



## Jochen Kühner (27 Dezember 2010)

*Hab nun auch noch was...*

Hex Codes der Komentarbausteintypen:


```
OK = 0x51
PK = 0x31
FK = 0x41
FKX = 0x5a
SK = 0x21
DK = 0x5b
DKX = 0x5c
BB = 0x64
```

diese sind in keiner der hier bisher angehängten Unterlagen enthalten.


----------



## Jochen Kühner (27 Dezember 2010)

*Noch was...*

Noch was, kann es denn sein, das die Bausteingröße im Kopf nicht immer stimmt?

Hab hier einen Auszug aus einem Step5 Projekt. Hier wäre der Baustein ja laut file 1A Worte groß (52byte). Dann würde Ich aber bei Adresse 52cb4 landen, und nicht bei der erwarteten: 52d00.

Oder interpretiere ich da irgendetwas falsch?


----------



## Jochen Kühner (27 Dezember 2010)

*Ok*

Ok, so wie mir scheint, ist ein Block immer 0x80 Byte mindestens groß, d.h. wenn der Baustein Kleiner ist, muss man trotzdem zur nächsten durch 0x80 teilbaren Adresse springen.


----------



## Jochen Kühner (28 Dezember 2010)

Hab was Ich bis jetzt habe in meine ConnectionLibrary eingebaut.
Ist zwar noch lang nicht fertig, aber die Bausteinliste kann man schon auslesen, und auch DB können angezeigt werden.
Dadurch kann Ich schon die Infos aus dem Projekt lesen welche Ich wollte!

Auch sollte mit S5Decode dann eine Wandlung in AWL Code möglich sein, bau Ich vielleicht noch ein!

Danke schon mal an alle, Quellcode ist auf meiner HP falls jm. Interesse daran hat!


----------



## Jochen Kühner (2 Mai 2018)

Habs gefunden: https://www.yumpu.com/de/document/v...ss-informatik-entwicklungsgesellschaft-mbh/26
Gibts ein Bit -> Assemblerprogrammierung


----------

