Syntaxfehler

Fischi

Level-1
Beiträge
11
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

ich muss momentan ein S5 in ein S7 Programm umwandeln, somit habe ich eine AWL Quelle erstellt diese muss jedoch noch abgeändert werden.
Wenn ich das Programm "Übersetzen" möchte dann kommen mehrere Syntaxfehler, kann mir jemand helfen diese zu lösen.

Fehlertext:
"Syntaxfehler bei L"
"Syntaxfehler bei MD"
"Syntaxfehler bei MB"


Programmabschnitt:
L DBD 152 //Lade in Akku 1
L MD 200
+D // Addiere Akku 1 und Akku 2; speichere Wert in Akku 1
T MB 240 // Trans. Akku 1 in MB 240


Danke
 
Prüfe bitte ob vor den hier gezeigten Zeilen ein "AUF DBxy" steht. Wenn nicht, dann kannst Du das entweder nachtragen oder gleich absolut adressieren:

L DBxy.DBD152
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

ich muss momentan ein S5 in ein S7 Programm umwandeln, somit habe ich eine AWL Quelle erstellt diese muss jedoch noch abgeändert werden.
Wenn ich das Programm "Übersetzen" möchte dann kommen mehrere Syntaxfehler, kann mir jemand helfen diese zu lösen.

Fehlertext:
"Syntaxfehler bei L"
"Syntaxfehler bei MD"
"Syntaxfehler bei MB"


Programmabschnitt:
L DBD 152 //Lade in Akku 1
L MD 200
+D // Addiere Akku 1 und Akku 2; speichere Wert in Akku 1
T MB 240 // Trans. Akku 1 in MB 240


Danke

Ganz schön Scheiße, wenn der Konverter nicht alles selbst macht.

Da stimmt vermutlich der Datentyp in der Symbolik nicht.
Versuche es im Editor ohne Typrüfung zu speichern.
Wenn das Klappt, dann den DB und die Symbolik nacharbeiten.


bike
 
Danke für die schnellen Antworten.
Aber der Fehler war ganz simpel, ich habe nur die die Stichpunkte in den jeweiligen Zeilen vergessen, welche in der AWL Quelle benötigt werden.

fischi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@bike
hast wohl ein richtig beschissenes WE gehabt ;-)

eigentlich nicht.
Wie kommst du denn darauf?
Nur weil ich geschrieben habe, dass der Konverter dem Kollegen ein Ei gelegt hat?

Außerdem gab es auch noch Hinweise wie man den Mist zu funktionieren bekommt :smile:


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Naja,
wobei schon interessant wäre wieso man ein MD in ein MB lädt. Ist diese "Datentypwandlung" gewollt? Wenn nicht, so ist das hochgradigst unsauberer Code, hast Du schonmal probiert ob der Kram wenigstens ansatzweise läuft?
Wenn ich das sehe wie hier programmiert wird, ich bräuchte bei meinen Projekten ne ganze Menge Glück das da überhaupt was geht..... Ist nicht böse gemeint, eher so als Hinweis für künftige Verbesserungen.....

Gruß
Mario
 
Naja,
wobei schon interessant wäre wieso man ein MD in ein MB lädt. Ist diese "Datentypwandlung" gewollt? Wenn nicht, so ist das hochgradigst unsauberer Code, hast Du schonmal probiert ob der Kram wenigstens ansatzweise läuft?
Wenn ich das sehe wie hier programmiert wird, ich bräuchte bei meinen Projekten ne ganze Menge Glück das da überhaupt was geht..... Ist nicht böse gemeint, eher so als Hinweis für künftige Verbesserungen.....

Gruß
Mario

Mario, das ist aus dem S5 -> S7 Konverter so ausgeworfen worden.
Da geht es nicht darum was gut oder richtig ist, sondern nur daum, dass man nicht denken muss und einen Programmcode vor die Füsse bekommt.

Daher ist es völlig sinnlos, den Kollgen darauf hinzuweisen, dass es nicht gut ist, was er macht.


bike
 
@bike

Hm, Warum ist es sinnlos, jemanden zu zeigen das man etwas vielleicht besser machen kann? Bzw. auf mögliche Fehler hinzuweisen?
Also ich finde sowas nicht sinnlos!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also der Transfer eines Doppelwortes in ein Byte ohne vorherige Prüfung, ob der Wert hinein paßt, ist erst einmal anrüchig und zu prüfen, das denke ich auch.
Möglich, dass vorher im Code Prüfungen vorhanden sind, die an sich schon sicherstellen, das kein zu großer Wert "errechnet" werden kann.
Aber der Hinweis auf die Gefahr ist m.E. nach wichtig. Denkbar, dass der Fehler schon im S5-Projekt vorhanden ist und der Converter damit nichts zu tun hat.
 
@bike

Hm, Warum ist es sinnlos, jemanden zu zeigen das man etwas vielleicht besser machen kann? Bzw. auf mögliche Fehler hinzuweisen?
Also ich finde sowas nicht sinnlos!

Da hst du mich völlig falsch verstanden.
Doch wenn jemand sich so seine Software bauen lässt ohne selbst zu prüfen, ob das Ergebnis sinnvoll ist oder nicht, da ist es sinnlos auf fehler hinzuweisen.
Wenn ich so ein Stück Programm sehe bekomme ich Augenkrebs.

Ralle hat absoult recht, dass solch ein Code in keiner PLC etwas zu suchen hat.


bike
 
@bike

Ich bin im Forum, um Leuten bei Problemen zu helfen und so manches Mal wurde mir auch schon geholfen. Klar nervt es manchmal, wenn jemand unklar formuliert oder seine Fragen schlecht stellt, aber dann sollte man sich einfach zurückhalten, man muß ja nicht antworten. Oder eine kleiner Hinweis und fertig. Wenn man aber antwortet, dann empfinde zumindest ich es als positiv, auch konkrete und sinnvolle Hilfestellung zu geben und nicht nur Allgemeinplätze, denn das hilft auch nicht. Wir sind auch nicht die Codepolizei der deutschen Automatisierungstechnik, ein Hinweis das konvertierter Code komplett geprüft werden sollte reicht, ich denke der TE weiß das auch.

PS. Viele der Programmierer, die hier Fragen sind ja gewillt Rat anzunehmen, sonst wären sie nicht hier, aber der Ton (auch des Antwortenden) macht die Musik und jemanden zu verunsichern statt zu helfen, ist auch nicht gerade produktiv.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
@bike
das ist aus dem S5 -> S7 Konverter so ausgeworfen worden.
Da geht es nicht darum was gut oder richtig ist, sondern nur daum, dass man nicht denken muss und einen Programmcode vor die Füsse bekommt.
Vorweg: Ich habe noch kein S5 Programm selbst konvertieren müssen.
Aber je nach Zeitfenster und Möglichkeiten würde ich auch als erstes den Weg wählen einen Konverter zu nutzen.
Das dieser einem die Arbeit nicht komplett abnimmt ist bekannt, es muss geprüft werden...

Aber wenn ich das richtig verstanden habe, dann ist der TE doch gerade erst dabei die Konvertierung abzuschließen.

Jetzt fängt SEINE Arbeit erst an...
Würdest du jedes S5 Projekt vom Grund her sofort händisch übersetzen, sprich selbst programmieren?
Die Herausforderung würde ich persöhnlich immer gerne antreten, aber keiner würde mir die Zeit dafür geben...

Gruß, Torsten
 
@ TE,

Aber der Fehler war ganz simpel, ich habe nur die die Stichpunkte in den jeweiligen Zeilen vergessen, welche in der AWL Quelle benötigt werden.
Wie ich schon geschrieben habe, ich habe das selber noch nie machen müssen.
Kannst du daher bitte deine Lösung für mich noch mal etwas genauer erläutern??
Danke, Gruß Torsten
 
Ich hab 2 x die Ehre gehabt S5 nach S7 zu konvertieren.

Waren beides Programme mit 95% logik und ein paar Zeiten, relativ umfangreich, aber keine große Sache.

Mit dem Konverter bin ich verzweifelt.

Ich bin dann den Weg gegangen, WINS5 auf AWL, mit STRG_C in S7 AWL.
Hatte dann nur die nicht passenden AWL Ausdrücke händisch zu bearbeiten.

Das was mir der Konverter geliefert hat, war eigentlich nicht brauchbar.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aber der Fehler war ganz simpel, ich habe nur die die Stichpunkte in den jeweiligen Zeilen vergessen, welche in der AWL Quelle benötigt werden.
Kannst du daher bitte deine Lösung für mich noch mal etwas genauer erläutern??
Fischi hat den Code aus Post #1 in einer AWL-Quelle stehen und dort muß jede Befehlszeile im Gegensatz zu AWL mit einem Semikolon abgeschlossen werden.
 
Das was mir der Konverter geliefert hat, war eigentlich nicht brauchbar.

Wenn das Ergebnis nicht brauchbar ist, dann war das S5-Programm vorher auch schon nicht brauchbar ;-)

Ich habe die glorreiche Aufgabe eine Anlage mit was um die 20 S5 Steuerungen auf S7 umzuprogrammieren, wohl auch von 20 verschiedenen Firmen und Programmierern erstellt.
Dabei ist alles dabei von 95U, 115U bis zur 135U.
Für die Funktionsaufnahme der alten Programme habe ich erstmal alles durch den Konvertierer nach S7 übersetzt, da Step7 für die Nachforschung der Funktionen wesentlich bessere Möglichkeiten bietet als bei Step5.
Der Konvertierungsvorgang hat wirklich mehr oder weniger reibungslos geklappt.

Bis auf eine Steuerung in der viel gerechnet wird, die aber Gleitkommaberechnungen nur durch die speziellen Funktionsbausteine konnte. Diese Bausteine musste ich dann händisch einfügen. Und der Konvertierer hatte falsche Bezeichnungen der Funktionsparameter dieses Systembausteine, diese musste ich korrigieren.
Bei manchen Programmen muss man vor dem Konvertieren die Bausteinnummern neu vergeben. Weil aus PB, FB und FX S5-Bausteinen immer S7-Funktionen werden, kann es dort zu Überschneidungen kommen.
 
Wenn das Ergebnis nicht brauchbar ist, dann war das S5-Programm vorher auch schon nicht brauchbar ;-)
[...]
Der Konvertierungsvorgang hat wirklich mehr oder weniger reibungslos geklappt.
Das sind auch meine Erfahrungen. Der Konvertierer nimmt einem einen großen Teil stumpfsinniger Arbeit ab. Ohne den Programmcode zu verschlechtern oder zu verbessern, er arbeitet halt 1:1. Bis auf die Spezialitäten, welche nicht 1:1 übersetzt werden können.

Harald
 
Zurück
Oben