Konverter von Step7 MicroWin32 Programmen nach Step7

M

Meiko

Guest
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,
kennt jemand ein Programm, mit dem es möglich ist, ein Step7 MicroWin32-Programm(S7-200) in Step7(S7-300/400) zu konvertieren. Würde mich über eine Antwort freuen. Vielen Dank für Eure Bemühungen. :?:
 
als was...

als was willst du sie den konvertieren???

denke so n converter zu schreiben dürfte nicht zu schwierig sein, so das man ne awl quelle erhält.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Machbar ist natürlich vieles... Aber die Unterschiede sind vielfältig:
Weil bei logischen Verknüpfungen keine Klammern sondern ein Stack benutzt wird, müßte der Konverter den Programmablauf nachvollziehen.

Da die Arithmetik zwei Operanden werwendet, könnte er aus:

+D MD12,MD16

LD MD16
LD MD12
+D
T MD16
machen, was nicht sehr effizient ist. Das geht natürlich mit einer Text-datei, und einem Programm, das reguläre Ausdrücke für Suchen und Ersetzen beherscht.

V-Operanden könnte immer durch einen DB ersetzt werden, den man so groß wählt wie der V-Bereich der 200. Geht mit jedem Texteditor.

Was aber tun mit den ganzen feature der 200? Schnelle Zähler, PWM, Interrupts?
 
machbar...

Da die Arithmetik zwei Operanden werwendet, könnte er aus:

+D MD12,MD16

LD MD16
LD MD12
+D
T MD16
machen, was nicht sehr effizient ist. Das geht natürlich mit einer Text-datei, und einem Programm, das reguläre Ausdrücke für Suchen und Ersetzen beherscht

wie würdes du es denn anderst lösen das es effizienter ist?? die s7 kann nunmal nicht mit 2 operanden gleichzeitig!


interrupts könnte man doch mit einer alarmbaugruppe und ob40 realisieren, oder??

habe mich noch nich so viel mit der 200 beschäftigt... aber wie du sagst es müsste möglich sein, der größste teil zumindest... bei schnällen zähler, inerrupts usw müsste man halt sehen ob es mit der 300er überhaupt realisierbar ist!
 
Re: machbar...

Jochen Kühner schrieb:
Da die Arithmetik zwei Operanden werwendet, könnte er aus:

+D MD12,MD16

LD MD16
LD MD12
+D
T MD16
machen, was nicht sehr effizient ist. Das geht natürlich mit einer Text-datei, und einem Programm, das reguläre Ausdrücke für Suchen und Ersetzen beherscht

wie würdes du es denn anderst lösen das es effizienter ist?? die s7 kann nunmal nicht mit 2 operanden gleichzeitig!
Schon klar, daß die nicht 2 Operanden kann. Aber etliche Programme für die 200 verwenden halt den 2.Operanden für ein Zwischenergebnis (effektiver wäre einer der Akkus AC0 bis AC3). Wahrscheinlich, weil die Programmierer von den 300/400 kamen. Da ein Konverter auch Schwierigkeiten hätte, die erwendung von 4 Akkus zu verfolgen, müßte er aber auch dafür Merker- oder Datenworte nehmen:

Typischer Code, bei dem MD16 Zwischenergenis ist:
+D MD12,MD16
*D 45,MD16
+D 4,MD16

Ineffizientes 300/400 AWL:
LD MD16
LD MD12
+D
T MD16

L +45
LD MD16
*D
T MD16

L 4
LD MD16
+D
T MD16

Effizientes 300/400 AWL:
LD MD16
LD MD12
+D
L +45
*D
L 4
+D
T MD16

aber das verlangt eben eine Analyse über mehrere Instruktionen.
 
Zurück
Oben