# S7 200 in S7 300



## Treffnix1283 (1 März 2011)

Hallo ,

ich bräuchte Ansätze zum Thema "Programm schreiben in C#"
was S7 200 Programme in S7 300 Programme wandelt .

könntet ihr mir da bitte weiter helfen ???

Vielen Dank 

Robert


----------



## Verpolt (1 März 2011)

Treffnix1283 schrieb:


> Hallo ,
> 
> ich bräuchte Ansätze zum Thema "Programm schreiben in C#"
> was S7 200 Programme in S7 300 Programme wandelt .
> ...



Das willst du nicht wirklich...... oder doch?

Ist doch einfacher, den Code der 200er in die 300er zu schreiben (Befehle beachten), als ein drittes (C#) zu schreiben, daß das automatisiert.


----------



## bike (1 März 2011)

Treffnix1283 schrieb:


> Hallo ,
> 
> ich bräuchte Ansätze zum Thema "Programm schreiben in C#"
> was S7 200 Programme in S7 300 Programme wandelt .
> ...



Also das ist ein schönes Projekt.
Doch wer will so etwas und wie soll das funktionieren?
Die Syntax der beiden PLC sind schon sehr verschieden und nachdem BigS es von S5 nach S7 nicht sinnvoll geschafft, hast du dir etwas ans Bein nageln lassen.

Wenn es gut funktioniert, dann melde dich, dann kann man damit Geld verdienen.


bike


----------



## Treffnix1283 (1 März 2011)

also bin student und das soll meine BA arbeit werden und gedacht hatte ich , das ich in microsoft das programm in awl migiere und dann umschreibe in s7 300 . 

der sinn der sache ist das in der firma wo ich bin sind 15 anjlagen umzurüsten von s7 200 auf s7 300 also über 100 steuerung .

ja und da bleibt mir wohl nichts anderes übrig aber mir fehlt noch so der ansatz 

grüße


----------



## MSB (1 März 2011)

Jetzt mal ungeachtet, das ich ein derartiges Projekt aufgrund der sehr verschiedenen 
Syntax beider Steuerungen, für quasi nicht realisierbar halte.

Aber was hat man davon, wenn man dann 100 S7-300 Steuerungen 
mit einem konvertierten Kauderwelsch-Code vor sich hat, wo keine Sau mehr durchblickt?

Mfg
Manuel


----------



## Jan (1 März 2011)

Hallo Robert,

ich finde, dass das Vorhaben sehr interessant ist.
Als Abschlussarbeit sicherlich nicht schlecht.
Leider kann ich dir mit C nicht helfen, aber eins möchte ich dir auf den Weg geben.

Wie MSB schon schrieb, sollte da kein Kaudawelsch rauskommen.

Wenn du Programme kreierst, durch die keiner durchblicken kann, machst du dir keine Freunde (dann solltest du in ein anderes Universum Auswandern).

Wie gesagt; das Vorhaben an sich ist eine interessante Aufgabe.

Viel Erfolg.


----------



## bike (1 März 2011)

Treffnix1283 schrieb:


> also bin student und das soll meine BA arbeit werden und gedacht hatte ich , das ich in microsoft das programm in awl migiere und dann umschreibe in s7 300 .
> 
> der sinn der sache ist das in der firma wo ich bin sind 15 anjlagen umzurüsten von s7 200 auf s7 300 also über 100 steuerung .
> 
> ...



Kannst du dir nicht etwas aussuchen, was realisierbar ist?

In jeder Anlage sind mehr als  6 S7-200 verbaut?
Warum sollen bzw müssen die nach S7-300 portiert werden?
AWL ist das eine, doch mir fällt kein Algorithmus ein, wie du Logik portiern willst. 
Ich hoffe es nur ein Projekt und wird nicht in Freiheit entlassen, denn das muss schief gehen.


bike


----------



## Boxy (2 März 2011)

Wenn dann würde ich mir her den Weg über Reverse Eng. denken.
Könnte mir vorstellen, das es sich da bei der S7-200 auch um einen MC7 Code wie bei der 300'er handelt.


----------



## MSB (2 März 2011)

Boxy schrieb:


> Wenn dann würde ich mir her den Weg über Reverse Eng. denken.
> Könnte mir vorstellen, das es sich da bei der S7-200 auch um einen MC7 Code wie bei der 300'er handelt.



Da die S7-200 ursprünglich nicht von Siemens stammt, kann man das wohl relativ sicher ausschließen.
Letzten Endes ist das eine alte Texas-Instruments Krücke, welche von Siemens "hier und da" erweitert wurde.
Deswegen gibts ja auch die relativ großen Unterschiede im Syntax.

Mfg
Manuel


----------



## Treffnix1283 (2 März 2011)

selber stell ich mir das auch sehr schwierig vor aber mein chef und der master student sagen es sein nicht so schwer . 

der master student schrieb mal ein programm wo er eine awg in s5 übersetzt



und ich denke mir das so wenn ich in micro/win eine *awl exportiere stehen da doch die netzwerke und was in den netzwerken steht und das will ich dann eben einfach abgleichen und in eine neue *.awl schreiben und zum schluss es über den Simatic manager importieren !

Grüße


----------



## thomass5 (2 März 2011)

Ist es überhaupt sinnvoll den 200er Code autom. übersetzen zu lassen? Viel händische Nacharbeit sollte ja schon bei den Hardwareadressen/Hardwaregegebenheiten gegeben sein. Meiner Meinung nach könntest du auch sicher mehrere 200er in einer 300er zusammenfassen und eine gewisse Vereinheitlichung/Optimierung schaffen. Wenn du dann noch die jetzt vorhandenen unzulänglichkeiten der Anlagen berücksichtigst und eventuell beseitigst...
Eine Visualisierung hängt ja meist auch noch mit dran und spätestens da must du das Programm wieder händisch angreifen. 
Abgesehen davon kenne ich hauptsächlich 3 Arten von 200er  Programmen.
1. nur ein paar Bits verknüpft und sonst nicht wirklich viel : dies wäre schneller und Sauberer mal eben so in der Frühstückspause nachprogrammiert und die CPU langweilt sich.
2. die kleine schwarze Schachtel wird mit allen möglichen Erweiterungen betrieben(Analog/Ethernet/Freeportkommunikation...): da muß bei Kommunikationsaufgaben Analogwertverarbeitung und Geräteanbindungen ...  sowiso auf die Gegebenheite der 300er Reihe mit ihren Baugruppen eingegangen werden und händisch nachprogrammiert werden. Der Rest der in so einer Kiste dann läuft fält meist unter 1. Regelungsbausteine einfach so automatisch zu portieren wäre ich auch vorsichtig. In der 200 sind ja einige über die Assistenten erzeugte Strukturen sowiso mit einem Passwort verrammelt(gabs schon mal ein Thema hier mit einigen Passworten) und müssten somit auch händisch erstellt werden.
3. Die 200er wurde von einem 300er Kenner programiert und spezielle Eigenheiten (nur 1 "Datenbaustein"...) ignoriert und/oder "kunstvoll"(in dem Fall via Offsets) nachgebaut. Da ist sowiso Handarbeit bei der Portierung angesagt.

Das Programm so einfach losgelöst von der Hardware und/oder dem Produktionsprozeß zu sehen und zu behandeln kann für mich nicht wirklich funktionieren.

Ich kenne Programme die von S5 nach S7 übersetzt wurden ... einfach grausam.

Oder ist das ein Projekt, nur das du ein Projekt hast? Sinn und Nutzen zweitrangig/künstlich hochgeschaukelt?
Anspruchsvoll wenn du es machst ist es auf jeden Fall.

Thomas


----------



## mariob (2 März 2011)

Hallo,
mach Dir doch mal den Spaß und nimm Dir mal das Systemhandbuch der 200 und das AWL Handbuch der "richtigen" S7 (ich kann die kleine 200 gut leiden), und vergleiche die Befehle, deren Syntax, Datenformate usw. Wenn Du C programmierst wundert mich das schon ein wenig das Du das noch nicht getan hast. Dann nimm Dir irgendein x beliebiges Beispiel von Siemens auf der Website und versuche mal mit Deinem Bioprozessor auf den Schultern umzusetzen. Und dann überlege Dir wie Du das in C machen willst. Ein schönes Projekt, aber nur mit wahrscheinlich riesigen Zeitaufwand zu realisieren und es wird immer Konstrukte geben wo Dir dann dieses Machwerk um die Ohren fliegt.
S5 nach S7 klappt auch nicht immer, ich kann Dir ja mal was zum Übersetzen geben, es ist das Teufelswerk eines französichen Studenten wie ich immer sage.
Wie gesagt schönes Projekt...

Gruß
Mario


----------



## Treffnix1283 (2 März 2011)

danke mario 

endlich mal jemand der nicht nur das " schwarze " und böse darin sieht ich bin in zwischen auch ganz guter Hoffnung weil es ist zwar ein großer zeitaufwand aber ich habe ja 20 wochen zeit ;-)

habe mich heut damit beschäfftig bitverkünfung zu vergleichen der beiden programme und das ist bis jetzt nicht so kompliziert 

grüße robert


----------



## thomass5 (2 März 2011)

Treffnix1283 schrieb:


> danke mario
> 
> endlich mal jemand der nicht nur das " schwarze " und böse darin sieht ich bin in zwischen auch ganz guter Hoffnung weil es ist zwar ein großer zeitaufwand aber ich habe ja 20 wochen zeit ;-)
> 
> ...



Wir sehen darin nicht das schwarze und böse, sondern geben nur Anhaltspunkte wo Stolpergebirge lauern. Die 200er hat/hatte ihre Daseinsberechtigung.   Versuch das Programm bitte nicht nur losgelöst vom Prozeß zu betrachten. Ein guter Dolmetscher übersetzt auch nicht wörtlich, sondern wie es der Sinn vorgibt. Es mag Programmteile geben die so übersetzbar sind. Ob die Ausgabe dann schön ist sei mal dahingestellt. Allein die unterschiedliche Hardwarearchitektur legt dir schon Steine in den Weg. Wie bildes du z.B. die ganzen Systemmerker,spezifischen Timer ... der 200er die verwendet sind ab? D.h. du müsstest dir teilw. eine virtuelle 200er in der 300er schaffen. Grundvoraussetzung wäre schon mal beide Programmiersprachen ordentliich zu beherschen.  Und 20 Wochen oder ca. 800h wenn du fleisig bist sind schnell um. 

Thomas


Thomas


----------

