S5 auf S7

Einfache Programme lassen sich komplett konvertieren. Dazu gibts ein umfangreiches Handbuch (von S5 nach S7 Umsteigerhandbuch) .
Ansonsten ist das eher schlecht. Es gibt x-fach Stolpersteine wie festgestell werden musste. Zum Beispiel Deklarationen, Lokaldaten uvam. Fast unmöglich wird eine Übertragung von Datentypen (UDTs - wenns hinterher funktionieren soll ...) oder selbst einfacheren Strukturen. Die Konversation mit anderen CPUs erfordert oftmals kompletten Umbau des Programms.

Anfangs schenkte ich Aussagen Glauben das wäre nicht 'so schlimm', stellte sich allerdings ganz anders raus.
mfG, Fritz
 
Hinweis

Und hier noch ein Hinweis von mir:

Nicht zu unterschätzen ist auch dass Bausteinaufrufe mit Parameterübergabe nicht mehr in KOP/FUP darstellbar sind und jeder(!!) einzeln nachgearbeitet werden muss.

MfG
André Räppel
 
S5

Hi,

also sollte man sich das Programm vorher ausgiebig anschauen eh man sich darauf einlässt. Auf jeden Fall habe ich viele Bausteinaufrufe drin. Wie muss man die ändern? Sachen mit Strings gibts nicht. Ich mag sowieso lieber Strings bei Frauen als in der SPS. ;-) Fremdkommunikation gibts nicht.

Paule
 
Siemens sagt, man nehme den Converter und fertig :D

Die Praxis sieht etwas anders aus.
Man nehme den Converter und arbeite das gesamte Prg nach (Logik klappt und das wars).
Kopplungen müssen neu aufgebaut werden
Indirekte Adressierungen müssen überprüft werden
usw.

Und dann hat man ein S5 - Prg wechles auf einer S7 läuft.
Instanzen kennt das Prg nicht. wie Andre schon geschreiben hat Bausteinaufrufe lassen sich nicht in Kop/Fup darstellen.

Daher viel Arbeit, wenn man es nicht nur Konvertieren möchte, sondern ein S7-Prg daraus machen möchte. :(
 
Haben sie schon mal "S7 für Windows" ausprobiert ?

Nein (Demo gerade mal geladen und kurz getestest)

aber einige Fragen habe ich noch,
wie ersetzten Sie zum Beispiel die S5-Aufrufe Send, Send-All in S7 ?
wie erkennen Sie ob der Merker Beeich 200 in S5 wirklich als Schmiermerker-bereich verwendet wird?
Wie ersetzten die die Gleitpunktberechnung der S5-115U ?
Wie erkennen Sie die lokalen Variablen ?

Mein erster Eindruck:
Das konvertierte Programm ist ein S5 - Prg welcher auf einer S7 läuft (Nacharbeit ist erforderlich und siehe oben).

Erster Eindruck:
für jemanden der S5 sehr gut kennt und etwas S7 machen möchte => Top Lösung
Für S7 Programmierer etwas gewöhnungsbedüftig. (Soll nicht heisen schlecht)
 
Ich bekam die Aufforderung etwas mehr Text zu schreiben:

Bei "S7 für Windows" kann man die alten S5 Projekte direkt einlesen. Danach markiert man die Bausteine und lässt diese auf Knopfdruck in Step7 übersetzen.
Dies funktioniert allerdings nur bei solchen Bausteinen, die nicht auf spezielle Hardwarefunktionen oder absolute Speicherstellen der SPS zugreifen.

Nach dem Umsetzen und Nacharbeiten (über integriertem Editor) kann man diese entweder direkt in die SPS laden und testen oder als Step7 Projekt abspeichern.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Unsere Antworten hatten sich zeitlich überschnitten, deshalb die direkte Antwort auf Ihre Fragen:

Die S5-Aufrufe Send, Send-All kann S7W leider auch nicht übersetzen. Hier würde ich in Step7 einen FC schreiben, der das zur S5 equivalent übernimmt.

Die S5 SPS weiss auch nicht daß es die Schmiermerker gibt. Dies ist eine allgemeine Programmiererdefinition. S5W übersetzt einfach die Step5 Befehle und kümmert sich nicht darum. Die S7 benutzt diese dann einfach auch als Schmiermerker. Über die Querverweisfunktion können Sie leicht herrausfinden wo die Schmiermerker bearbeitet werden.

Die Gleitpunktberechnungen werden meines Wissens nach umgesetzt. Ich werde es gelegentlich mal Ausprobieren.

Lokale Variablen kennt die S5 nicht.

Natürlich werden die S5 Programme nur "stumpf" übersetzt. (leider)

Wir arbeiten an einer neuen Version, die für die S7-Programmierer einfacher ist. Einen Eindruck von dieser Oberfläche können Sie gewinnen, wenn Sie die Demo(zeitlich begrenzte Vollversion) von unserem S5/S7-Doctor herunterladen. www.ibhsoftec-sps.de

Ich hoffe ich konnte Ihnen ein wenig weiterhelfen.
 
Axel Hulsch schrieb:
Die Gleitpunktberechnungen werden meines Wissens nach umgesetzt. Ich werde es gelegentlich mal Ausprobieren.

Ich meinte die Aufrufe von FB in der S5-115U und nicht die Gleitpunktfunktionen der S5-135 / 155 U

Das ich die SChmiermerker über die Querverweise finde klar, nun beginnt ja die Arbeit. Prüfen ist es wirklich ein Schmiermerker, hat jemand die Schmiermerker als Übergabemerker zwischen Bausteinen verwendet (Die Entwickler von Siemens haben so was gemacht) und wenn nichts dagegen spricht kann ist nun aus dem Merker eine Temp-Var machen.

Viele Kunden wünschen aber ein S7 Programm und nicht nur ein S5 Konvertiertes Programm und da liegt viel Arbeit. (Gruß an Andre)
 
Richtig ! Die 115U hatte FB Aufrufe (bis auf die 945 CPU).
Auch hier gehts leider nur durch selbstgebastelte FC's.

Ich fürchte, daß die meisten S5 Programme schon auf S7 umgeschrieben sind. Wir machen uns trotzem mal Gedanken, ob wir bei der Umsetzung noch was verbessern können. Schwierig ist, daß die "Krücken" bei den verschiedenen CPU Typen unterschiedlich sind.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
das sehe ich auch so, sehr viel Energie würde ich nicht mehr aufwenden. Sie können nur an HAnd von bestimmten Stellen einen Rückschluss auf die CPU ziehen. (z.B. Gleitpunkt siehe oben) Bei der 945 gibt es ja auch einige Besonderheiten.

Ich kenn noch einige S5 bei unseren Kunden die in Betrieb sind. Aber dort wird man an einigen Stellen eher das Programm neu entwickeln, um die Standardfunktionen der S7 nutzen zu können, da es übergeordnete Steuerung ohne eigentliche Steuerungsfunktion handelt. (Datensammler und Verteiler).
 
S5

Hallo,

ich schätze mal dass das von IBH nichts anderes macht als die DB-Zugriffe von wortorientiert auf byteorientiert zu ändern und den Rest 1:1 zu übernehmen bis auf FB/PB/SB -> FC. Alles andere muss man wie bei Konvertierungen von Hand erledigen. Woher soll das Programm wissen wieviele Anlaufebenen das neue Programm hat? Ich hatte mir das mal angeschaut und auch festgestellt dass Bausteinaufrufe mit Parametern (in Step7 gemacht) dort nicht mehr in KOP/FUP darstellbar sind - die BLD-Befehle können nicht interpretiert werden. Hier ist der Aufruf in S5/S7 gleich. Mein Fazit: schnelle Lösung, aber gleiches Ergebnis wie mit dem Konverter von Siemens.

MfG
André Räppel
 
geht

Hi,

das funzt jetzt alles. Sind aber 2 Welten die Programme. Danke für die Tips an Fritz, Martin, Heinz! Besonderen Dank an André für die Konvertierung der Bausteinaufrufe.

Paule
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!! ich hab ein Problem beim übersetzen S5 auf S7. Hab kaum S5 Kenntnisse .. Folgenden Fb soll ich in S7 umsetzen.. einpaar Sachen sind mir klar wie ><f = <>I aber was ist L BS 41 ???? kenn ich nicht :-( oder LIR 2 ????? Über jede Hilfe bin ich dankbar!!!!!

:L BS 41
:L KH 5539
:><F
:SPB =M001
:L BS 42
:SRW 8
:L KH 0034
:!=F
:SPB =M002
M001 :L BS 42
:L KH 3935
:!=F
:SPB =M003 :L BS 42
:L KH 3130
:><F
:SPB =M004
:L BS 43
:L KH 330D
:!=F
:SPB =M002
:
M004 :SPA =M005
:
M002 :L KH E400
:T MW 240
:SPA =M006
M003 :L KH 7E00
:T MW 240
:SPA =M006

M006 :L =H-DB
:L KF +256
:>=F
:SPB =M007
:L =H-DB
:L KF +2
:<F
:SPB =M007
:
:L =H-DB
:SLW 1
:L MW 240
:+F
:LIR 2
:TAK
:T MW 242
:L KH 0000
:!=F
:SPB =M008
:L MW 242
:L KH 0002
:-F
:LIR 2
:TAK
:L KF +100
:<F
:SPB =M009
:
:
:L KH 0101
:T BS 57
:L KH 0044
:T MB 244
:L =H-DB
:T MB 245
:L MW 244
:T BS 58
:L KH 0444
:T BS 59
:L =H-DB
:T MB 244
:L KF +40
:T MB 245
:L MW 244
:T BS 60
:L KH 0044
:T MB 244
:L =H-DB
:T MB 245
:L MW 244
:T BS 61
:L KH 2944
:T BS 62
:L =H-DB
:T MB 244
:L KF +5
:T MB 245
:L MW 244
:T BS 63
:
:L =H-DB
:T MW 244
:B MW 244
:A DB 0
:L KC SA
:T DW 1
:L KC E-
:T DW 2
:L KC L1
:T DW 3
:L MW 240
:T DW 70
:L KH 8000
:T DW 4
:L KH 0000
:T DW 40
:T DW 41
:
:
:L KF +1
:SPA =M010
M008 :L KF +2
:SPA =M010
M009 :L KF +4
:SPA =M010
M007 :L KF +8
:SPA =M010
M005 :L KF +128
:SPA =M010
:
M010 :T =FEHL
 
BS 41:
Greift auf den Systemdatenbereich 41 deiner CPU zu.
Da musst du in deinem Handbuch der CPU nachsehen.
Welchen CPU Type hast du?

LIR 2:
Den Akkumulator 1 oder 2 mit dem Inhalt eines
Speicherwortes (durch AKKU 1 adressiert) indirekt
laden. (0=AKKU 1; 2=AKKU 2)

godi
 
BS sind systemdatenworte.
abhängig vom ag stehen da spezielle sachen drin. schau mal ins handbuch.
LIR heist lade register indirekt. damit greifst du du direkt auf einen speicherbereich zu (TIR ist das gegestück dazu).

das lässt sich nicht so ohne weiteres übersetzen.

welche cpu hast du?

EDIT: zu langsam :(
 
Zurück
Oben