# S7 micro win



## Thor (23 Juli 2004)

Hallo Strippen Strolche. Ich habe folgendes Problem mit der Software für die S7 200. Ich soll Programme von der S5 auf die S7-200 übersetzen. Dazu habe ich mir einiges an Literatur besorgt, auch das Systemhandbuch. Leider musste ich feststellen, das die Syntax eine gänzlich andere ist. Wer kann mir Quellen (Internetseiten, e-bücher, etc.)nennen, wo ich gesagt bekomme, wie ich zum Beispiel Datenbausteine oder Programmbausteine bei der S7 200 bestimme und schreibe (in AWL)?


----------



## plc_tippser (23 Juli 2004)

Hey,
wir sind Byte Strolche bitte 8) 

Von S5 auf S7 200? Wer bestraft dich denn da?
Da musst du die Funktion schon gut kennen, da die 200er nur einen DB hat und soweit ich weiß auch nur einen Baustein für den Programmcode.

Wenn die S5 also komplexere Programme bearbeitet, wird es günstiger sein, wenn du eine kleine 300er nimmst.

Gruß pt


----------



## Zottel (23 Juli 2004)

Thor schrieb:
			
		

> , auch das Systemhandbuch.


Das sollte schon die halbe Miete sein.


> Leider musste ich feststellen, das die Syntax eine gänzlich andere ist. Wer kann mir Quellen (Internetseiten, e-bücher, etc.)nennen, wo ich gesagt bekomme, wie ich zum Beispiel Datenbausteine oder Programmbausteine bei der S7 200 bestimme


Es gibt dort einen Baustein MAIN, der dem OB1 vergleichbar ist.
Allen Programmcode, der dort nicht hinsoll, packst du in Unterprogramme (SBR, subroutine).
Unterprogramme werden immer bedingt aufgerufen. Die call-Anweisung ist eher ein SPB als ein SPA. Zur Zeit des Aufrufs muss dein Verknüpfungsergebnis wahr sein. Das gilt auch für Rechen- und Transferbefehle. In KOP oder FUP haben die Dinger immer einen Eingang EN, der 1 sein muss, damit sie ausgeführt werden.
Wenn du keine Bedingung brauchst, nimmst du den Systemmerker SM0.0, der ist immer ein.
Typischer Code:

```
LD SM 0.0
call SBR2

LD SM 0.0
MOVW MW4,MW6
ADD 4,MW3
```
Du solltest noch zwei Unterschiede bemerken:
1. Jedes neue Netzwerk der Bitlogik beginnt mit LD x.y. Dieser Befehl ist eine Zuweisung an das Verknüpfungsergebnis(VKE). Würdest du mir Ux.y beginnen, so würdest du das bisherige VKE mit x.y Und-verknüpfen.
2. Rechen- und Transferbefehle haben immer 2 (Quelle und Zieloperand. Und nicht wie bei S7-300/400 und S5 implizit den Akku. Zum Trost gibt es drei Akkus (AC0 bis AC3).

Der letzte wichtige Unterschied ist die binäre Logik:
Es gibt keine U(, O( oder )-Befehle. Stattdessen kann ein (Zwischen-) VKE auf einen Stack geschoben und wiedergeholt werden. Das ist im Systemhandbuch erläutert. Wenn es dir zu ungewohnt ist, kannst du Merker oder Lokalmerker für die Zwischenergebnisse nehmen.

Ach ja, und es gibt eigentlich keine DBs oder nur einen. Der dient dazu, Werte aufzunehemen, die beim Anlauf in den V(Variablen)-Bereich geschrieben werden. DBs, in denen dein Programm auch schreibt, bildest du durch Bereiche im Variablenspeicher ab.


----------



## Zottel (23 Juli 2004)

plc_tippser schrieb:
			
		

> Hey,
> Von S5 auf S7 200? Wer bestraft dich denn da?


Ok, dass Umsetzen eines Programms auf andere Hardware ist immer doof und die 300er sind der S5 ähnlicher.
Aber sonst war ich von der Leistungsfähigkeit der 200er (schnelle Zähler, Wandlungszeiten der Analogeingänge um Größenordnungen besser) beindruckt, auch mit Blick auf den Preis. Wenn die noch DP-Master könnten, wozu bräuchte die Welt 300er?


----------



## Markus (23 Juli 2004)

@zottel
jo das ist war die 200er ist preislich unschlagbar (für ein siemens produkt...)

aber die softwareeditoren finde ich eine katastrophe, ist aber vielcht auch gewohnheitssache?

jo und so ein teil mit dp master wäre echt sexy...


@thor
wer sagt das du eine 200er nehemen sollst? kennt derjenige sich damit aus? wenn es eine kleinere anlage ist mit ein paar schrittketten ist das sicher kein problem, aber bei größeren sachen auf jeden fall eine 300er...

und wenn es was kleineres ist dann ist es sowieso egal, wiel du schneller auf dem neuen system ne neue software geschrieben hast als dich mit der alten rumzuschlagen...

wieso überahupt umstellen? was soll an der 200er besser sein als an der s5?


----------



## Thor (26 Juli 2004)

@zottel
Vielen Dank für deine Antwort, hat mir sehr geholfen.   

@markus
Ja, das ist nicht so einfach. Also für meine Gesellenprüfung soll ich eine halbfertige Biegepresse mit einer Steuerung versehen. Der Hersteller benutz selber eine S7-200und ganz exklusiv ein Touchpanel.  Mein Ausbilder bezüglich SPS kennt sich hervorragend mit S5 aus, weil er die damals bei Siemens teilweise mit entwickelt hat. In der Berufsschule üben wir an S7-300; den normalen Kram halt. Alles andere, wie mit Bausteinen programmieren oder Schieberegister passiert da nicht. Und da mein Ausbilder die S7-200 nicht so sehr mag .... :roll: 
Aber egal. Ich denke mit den Informationen, die ich von euch bekommen habe, kriege ich das Kind schon geschaukelt.
Nochmals Vielen Dank.  8)


----------

