Programm von S7-300 nach Mitsubishi FX übersetzen

hando0815

Level-1
Beiträge
49
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag zusammen.

Wie im Titel schon erwähnt, muss ich ein S7 Programm auf eine Mitsubishi FX übersetzen.
Kann mir jemand sagen, worauf ich da achten muss, oder gibts irgendwelche Tipps, wie man das am besten bewerkstelligen kann?
Einen Compiler der das alles für mich macht gibt es wohl nicht, aber für jeden Stolperstein dem ich aus dem Weg gehen kann beim übersetzen bin ich dankbar.

Gruß

Hando0815
 
Kommt auf das Programm in der S7 an. Was wurde da verwendet? Nur Bitverarbeitung? Rechenoperationen/Datenhandling?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Sorry die Infos waren echt etwas dürftig.
Es handelt sich um ein kleines S7 Programm, in dem neben der Bitverarbeitung auch Sollwerte berechnet, Timer benutzt und ein Profibus Teilnehmer angesprochen wird.

Das erste Problem hat sich schon ergeben, das ich wohl mit den remanenten Speicherbereichen nicht auskomme, bzw. das Programm da irgendwie anpassen muss.

Ich bin für jede Anregung, was ich noch beachten muss dankbar.

Gruß

Hando0815
 
Sagen wir mal so, das du mit dem remanenten Speicherbereich nicht auskommst, glaub ich dir nicht,
allerdings musst du wohl stärker selektieren was wirklich remanent sein muss.

Welche FX? Welche Software? GX-Dev oder IEC-Dev.

Weitere Anregungen sind ohne Kenntnis des S7-Programms nur relativ schwer.

Mfg
Manuel
 
Bei Siemens muss man immer ein bischen aufpassen wg High und LowByte...
(wenn man es als Word schreibt und nachher Byteweise oder bitweise verarbeitet - muss man immer drauf achtenwo ist denn jetzt mein Bit)

Bei Mitsubihi ist das nicht so...
und eigentlich ist das auch viel besser so...

elektromensch
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die Antworten.

Du hast wohl recht das ich wahrscheinlich mit den Speicherbereichen auskommen werde, aber dann muss ich schon genau schauen wo es nötig ist und kann das Programm nicht einfach 1:1 übersetzen. Also so weit man da von 1:1 sprechen kann.

Eingesetzt wird eine FX3U-64M Steuerung und der GX Developer FX.
 
Naja, also bei der SPS sind ab D200 - D511 wählbar remanent, und ab D512 - D7999 ist alles remanent.
Also hast du 7800 remanente Worte zur Verfügung, das ist doch schon eine ganze Menge wie ich finde.

Spätestens wenn in der S7 aber Datenbausteine verwendet sind, hast du mit dem bloßen 1 zu 1 Umsetzen ohnehin relativ schlechte Karten.

Worauf du auf jeden fall noch achten muss:
Es ist bei Mitsubishi nicht ganz so einfach auf die einzelnen Bits der Datenregister zuzugreifen, hier hast du nur 2 relativ umständliche Möglichkeiten:
Der Befehl "BON", oder so:
LD M8000
MOVW D0 K4M0

M0 - M15 wären nun Bit 0 - 15 des D0.

Mfg
Manuel
 
Vielen Dank für die Antwort.

Ich habe mal damit angefangen und muss sagen das es nicht so schwer ist, wie ich es mir vorgestellt habe. Aber nicht zu früh freuen, denn noch ist es ja nicht in Betrieb.

Kann ich auf die einzelnen Bits eines Registers nicht einfach mit beispielsweise "ld d6.0" zugreifen? Das hab ich in einem Beispiel aus der Mitsubishi Doku so gefunden.

Edit: Problem schon gelöst.

Vielen Dank für eure Mühe

Hando0815
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag zusammen.

Ich habe wieder ein Problem gefunden.
Wenn ich mein Programm in die SPS übertrage erhalte ich die Meldung "Die KOP-Blöcke folgen aufeinander." Leider finde ich zu dieser Meldung keine Informationen irgendwo.
Da man scheinbar die KOP-Blöcke nicht einfach hintereinander machen darf, würde ich jetzt dazwischen jeweils AS-Blöcke mit Dummy Funktionen einfügen, aber das geht doch mit Sicherhheit eleganter oder?
Kann mir das jemand erklären, komme wie gesagt aus dem Siemens Land und möchte ja nur sowas wie Bausteinaufrufe im OB1 haben.

Ich hoffe mir kann jemand helfen.

Gruß

Hando0815
 
Also ich persönlich verstehe gerade überhaupt nicht was du meinst, hast du da mal ein Bildchen?

P.S. Bausteine in des wörlich eigentlichen Sinne gibts doch ohnehin nicht, insofern hast du hier quasi nur einen OB1.
 
Zunächst einmal Danke für die schnelle Reaktion.

Da liegt wahrscheinlich das Problem an der ganzen Geschichte. Ich habe halt versucht mein Programm etwas zu strukturieren und deshalb verschiedene Blöcke angelegt die ich dann der Reihenfolge nach abgearbeitet werden sollen. Ich habe mal ein anderes Projekt gehabt, da gab es aber immer abwechselnd ein AS- und ein KOP Block. Jetzt gibt es halt nur KOP-Blöcke da ich das Programm der Reihe nach aus einem S7(AWL) Projekt in KOP-Blöcke (AWL) übersetzt habe. Muss ich tatsächlich alles in einen KOP-Block der Reihe nach schreiben? Das ist ja dann genau so, als wenn ich nur im OB1 programmiere und das durften wir schon damals in der Berufsschule nicht.

Ich hab auch mal 2 Bilder angehängt. Einmal die "Programmstruktur" und die Meldung die ich beim Übertragen bekomme.

Programm.jpgKOP-Bloecke.png

Vielen Dank schon einmal für deine Mühe.

Gruß

Hando0815
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag zusammen.

Gib es eigentlich eine Möglichkeit Kommentare in ein Programm einzufügen? Wenn ich schon das gesamte Programm unstrukturiert in einen Block schreiben muss, dann würde ich die einzelnen Programmteile wenigstens gerne durch Kommentarzeilen abgrenzen.

Ich wüsste gerne wie andere Leute das handhaben bei "größeren" Projekten. Schreibt ihr alles in einen Block, oder programmiert ihr nur in AS-Blöcken? Wie behaltet ihr dabei die Übersicht?

Gruß

Hando0815
 
Also zum einen bist du hier in einem "Sondermodus" des GX-Developer, sprich du hast dein Projekt als SFC-Projekt angelegt.
Du bist also quasi im Graph des GX-Developer, persönlich weiß ich zwar das es das gibt, habe es aber noch nie praktisch verwendet.
Die KOP-Blöcke dienen hier wohl dem was sich bei S7-Graph "Permanente Operationen" nennt.

Du muss nun also dein Projekt ganz normal als ProgramType Ladder bzw. KOP anlegen.
Hier hast du dann die Möglichkeit, dein Programm einzugeben, als AWL oder KOP, und kannst mit ";" auch beliebig Kommentare einfügen.

Wenn man sich vorher ein wenig Gedanken macht über die Reihenfolge in der man das alles schreibt,
findet man sich in sowas quasi genauso schnell zurecht wie in Bausteinen.

P.S.
Bei "größeren" Projekten kommen dann auch "größere" Steuerungen vorwiegend die Q zum Einsatz,
da hat man dann auch mehrere Programme im GX-Developer zur Verfügung.

P.P.S.
Aufgrund der von dir genannten Bedenken hat Mitsubishi seit vielen Jahren noch den GX-IEC-Developer,
was dann ein eben ein nach IEC-61131 arbeitender Editor ist, mit Programmen, Funktionen, Funktionsbausteinen und Tasks,
sprich allem was du dir eigentlich gerade wünschst.

Mfg
Manuel
 
Hey vielen Dank, das du meine Fragen beantwortest und so viel Geduld hast.

Ich hab bisher hauptsächlich Änderungen in einem Programm meines Vorgängers gemacht und an diese Vorlage habe ich mich nun gehalten, was scheinbar nicht die beste Wahl war.
Ich werde dann mein Programm mal umstricken und mit Kommentaren (Danke für die Info, hab ich wohl übersehen in der Doku) versehen. Ich glaube wenn ich so weiter mache, wie ich angefangen habe werde ich noch in so manche Falle tappen.

Da ich wie gesagt eher mit Siemens Steuerungen zu tun habe, bin ich in deren Struktur wohl schon ziemlich festgefahren.
Wenn ich dich richtig verstehe gleicht der GX IEC Developer am ehesten Step 7 von der STruktur der Programme her oder? Sind Programme aus dem GX Developer dann eher so strukturiert wie im Developer FX? Ich frage, weil vor dem Projekt im Raum stand, ob nicht doch eine Q-Serien SPS eigesetzt wird und dann auch die Frage nach einer "größeren" Software auf kam. Da waren wir uns dann auch nicht sicher, welche der beiden da besser für uns wäre. Kann man sagen, das es für Leute die Siemens gewohnt sind einfacher ist, die IEC Version einzusetzen, oder gibt es da noch gravierende Unterschiede, die man beachten muss?
Wäre nett, wenn da mal jemand was zu sagen könnte, da die Frage spätestens wieder aufkommt, wenn der nächste Kunde nach Mitsubishi fragt.

Gruß

Hando0815
 
Zuviel Werbung?
-> Hier kostenlos registrieren
GX Developer und GX Developer FX sind praktisch identisch,
nur ist der FX halt dahingehend eingeschränkt, das eben "nur" FX-Steuerungen programmiert werden können.
Also sowas wie TIA Basic und TIA Professional, um beim Siemens-Jargon zu bleiben.

Definitiv aber ist es so, das der GX-IEC-Developer am ehesten dem entspricht, was man von Siemens, oder auch anderen
an die betreffende IEC-Norm angelehnten Programmierumgebungen halt so kennt.
Somit ist es von der Denkweise her definitiv leichter weil ähnlicher.
Kennst du andere IEC-Systeme, z.B. Codesys, PCWorx, Multiprog ...?
So in diese Kerbe schlägt auch der IEC-Developer.

Allerdings wenn du bisher wirklich nur und ausschließlich Siemens kennst, musst du dich halt vor allem beim Datenhandling ein wenig umgewöhnen.

Mfg
Manuel
 
Danke für die Infos.

Bisher habe ich eigentlich nur mit Siemens wirklich zu tun gehabt. Werde aber in Zukunft auch öfter was mit Mitsubishi Steuerungen machen müssen.
Das ich mich umgewöhnen muss ist klar und auch nicht schlimm, man will ja auch ein bisschen was neues kennenlernen.
Wenn ich jetzt schon darauf gedrängt hätte, den IEC Developer zu kaufen, müsste ich das Siemens Programm ja quasi nur abtippen, deshalb werde ich beim nächsten Projekt auf den Kauf drängen, vor allem wenn es wieder darum geht ein altes Projekt zu übersetzen.

Gruß

Hando0815
 
Ich habe leider wieder ein Problem gefunden.
Es geht um Sprünge in einem Programm. Im Siemens Programm gibt es einige Sprünge mit "SPBN", die ich jetzt umsetzen muss. Deshalb habe ich mir angeschaut, wie die Sprünge bei Mitsubishi funktionieren. Leider ist das nicht so wie ich erwartet habe. Das Problem bei meinem kleinen Testprogramm ist, das Y0 eingeschaltet bleibt, obwohl er ja nicht gesetzt wird. Er soll halt nur eingeschaltet sein, wenn die Anweisung nicht übersprungen wird.

LD M0
AND M1
CJ P1
LD M2
OUT Y0
P1
END

Gibt es eine andere Möglichkeit einen folgenden Siemens Rumpf umzusetzen?
U M0.0
U M0.1
SPBN P1
U M0.2
= A0.0
P1: NOP 0

Ich hoffe mir kann jemand weiterhelfen.

Gruß

Hando0815
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also soweit ich das jetzt beurteilen kann, dürfte sich das Siemens Programm hier exakt identisch verhalten.
Ab dem Zeitpunkt wo entweder M0.0 oder M0.1 nicht mehr High sind, bleibt A0.0 so wie er zu dem Zeitpunkt halt war.

Mfg
Manuel
 
Guten Tag,

ich hab da wieder mal eine Frage. Ich habe einen großen Teil meines Programmes übersetzt und den Teil auch einfach mal in die CPU geladen. Dann hab ich mir mit der SPS-Diagnose Funktion die aufgetretenen Fehler angeschaut und dann entsprechend ausgebessert.
Jetzt bin ich allerdings bei einem E/A-Konfig Fehler angelangt, weil ich nicht alle Erweiterungsmodule hier habe, sondern nur die CPU und den Bus Master.
Jetzt zur Frage. Kann ich den Fehler überspringen, bzw. ignorieren, so das ich mögliche weitere Fehler jetzt schon ausbessern kann? Leider wird immer nur ein Fehler in dieser Diagnose angezeigt.
Die CPU bleibt allerdings in RUN, heißt das dann, das es keine "wichtigen" Fehler mehr gibt? Hauptsächlich hatte ich vorher KOP-Fehler, weil ich wohl zu dicht an Step7 geblieben bin.

Gruß

Hando0815
 
Zurück
Oben