Hallo
hab mal ne Frage:
Ich soll jetzt ein Projekt in 2.3 schreiben, dass in ca 1 Jahr auf 3.4 konvertiert werden soll.
Was muß ich beim programmieren alles beachten, damit es möglichst problemlos gewandelt werden kann??
vg sweetheart
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Einige Tipps (aus einer etwas älteren Präsentation innerhalb der CoDeSys Users' Conference):
Projekte in V2.3
Das Projekt muss in der Version 2.3 fehlerfrei übersetzbar sein. Beim Übersetzen eines fehlerfreien Projekts aus V2.3 werden viele Warnungen erzeugt. Es handelt sich dabei um implizite Konvertierungen, bei denen Information verloren gehen können. (z.B. Vorzeichenwechsel)
Steuerungskonfiguration
Die Konfiguration der Steuerung ist NICHT importierbar! Die Gerätekonfiguration muss neu erstellt werden. Die Variablen in der Steuerungskonfiguration müssen neu deklariert werden
Netzwerkvariablen
In der CoDeSys V3 werden GVL-Objekte erzeugt und die Variablendeklarationen importiert. Die Netzwerkeigenschaften werden nicht importiert.
Bibliotheken
Alle Variablen und Konstanten, die in einer Bibliothek verwendet werden, müssen auch in dieser Bibliothek deklariert sein. Die Bibliothek muss in sich übersetzbar sein.
Compiler
Die Initialisierung von Variablen mit Konstanten wird in der V3 restriktiver geprüft:
byte_var : BYTE := word_constant;In CoDeSys V2.3 kein FehlerBeim Import in V3: Fehlermeldung!
In der CoDeSys V3 werden Case-Fälle gegen die Switch-Variablen geprüft:
CASE USINT OF INTwird in der 2.3 nicht geprüftBeim Import in V3: Fehlermeldung!
KOP / LD
Funktionsbausteine dürfen nur in Parallelverzweigungen verwendet werden, die direkt mit der Power-Rail verbunden sind.
Bausteine, die mit EN/ENO versehen sind, dürfen keinen weiteren Baustein an den Eingängen haben. Erlaubt ist z.B. eine Variable.
AS / SFC
Explizit vom Anwender deklarierte Schrittvariablen müssen lokal im SFC deklariert werden. Sie dürfen nicht als VAR_INPUT, VAR_OUTPUT oder VAR_INOUT deklariert werden, da die Aufrufe nicht automatisch angepasst werden können. Erklärung: Schritte verwenden zur Verwaltung der internen Zustände in V3 keine booleschen Variablen mehr, sondern auch Strukturen vom Typ SFCStepType
Identifier
Nicht mit einem Unterstrich beginnen dürfen IEC-Aktionen im Baum, boolesche Variablen, die in einer IEC-Assoziationsliste aufgerufen werden, die Namen von ausprogrammierten Transitionen.
Erklärung: In V3 erhalten die impliziten Variablen, welche für Aktionen angelegt werden, einen Unterstrich als Präfix. Es würde ein ungültiger Identifier mit doppeltem Unterstrich entstehen.
CFC
Beim Import eines mehrzeiligen Kommentars wird nur die erste Zeile angezeigt. Makros können noch nicht importiert werden (kann aber sein, dass das schon behoben ist - am Besten vorher ausprobieren)
Wie gesagt:
Diese Angaben sind möglicherweise nicht ganz aktuell. Möglicherweise ist die eine oder andere Einschränkung nicht mehr nötig. Aber es bestimmt kein Fehler, darauf zu achten.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo
hab mal ne Frage:
Ich soll jetzt ein Projekt in 2.3 schreiben, dass in ca 1 Jahr auf 3.4 konvertiert werden soll.
Was muß ich beim programmieren alles beachten, damit es möglichst problemlos gewandelt werden kann??
vg sweetheart
Kann mir den wirklich keiner einen Tipp geben
Einige Tipps (aus einer etwas älteren Präsentation innerhalb der CoDeSys Users' Conference):
Projekte in V2.3
Das Projekt muss in der Version 2.3 fehlerfrei übersetzbar sein. Beim Übersetzen eines fehlerfreien Projekts aus V2.3 werden viele Warnungen erzeugt. Es handelt sich dabei um implizite Konvertierungen, bei denen Information verloren gehen können. (z.B. Vorzeichenwechsel)
Steuerungskonfiguration
Die Konfiguration der Steuerung ist NICHT importierbar! Die Gerätekonfiguration muss neu erstellt werden. Die Variablen in der Steuerungskonfiguration müssen neu deklariert werden
Netzwerkvariablen
In der CoDeSys V3 werden GVL-Objekte erzeugt und die Variablendeklarationen importiert. Die Netzwerkeigenschaften werden nicht importiert.
Bibliotheken
Alle Variablen und Konstanten, die in einer Bibliothek verwendet werden, müssen auch in dieser Bibliothek deklariert sein. Die Bibliothek muss in sich übersetzbar sein.
Compiler
Die Initialisierung von Variablen mit Konstanten wird in der V3 restriktiver geprüft:
byte_var : BYTE := word_constant;In CoDeSys V2.3 kein FehlerBeim Import in V3: Fehlermeldung!
In der CoDeSys V3 werden Case-Fälle gegen die Switch-Variablen geprüft:
CASE USINT OF INTwird in der 2.3 nicht geprüftBeim Import in V3: Fehlermeldung!
KOP / LD
Funktionsbausteine dürfen nur in Parallelverzweigungen verwendet werden, die direkt mit der Power-Rail verbunden sind.
Bausteine, die mit EN/ENO versehen sind, dürfen keinen weiteren Baustein an den Eingängen haben. Erlaubt ist z.B. eine Variable.
AS / SFC
Explizit vom Anwender deklarierte Schrittvariablen müssen lokal im SFC deklariert werden. Sie dürfen nicht als VAR_INPUT, VAR_OUTPUT oder VAR_INOUT deklariert werden, da die Aufrufe nicht automatisch angepasst werden können. Erklärung: Schritte verwenden zur Verwaltung der internen Zustände in V3 keine booleschen Variablen mehr, sondern auch Strukturen vom Typ SFCStepType
Identifier
Nicht mit einem Unterstrich beginnen dürfen IEC-Aktionen im Baum, boolesche Variablen, die in einer IEC-Assoziationsliste aufgerufen werden, die Namen von ausprogrammierten Transitionen.
Erklärung: In V3 erhalten die impliziten Variablen, welche für Aktionen angelegt werden, einen Unterstrich als Präfix. Es würde ein ungültiger Identifier mit doppeltem Unterstrich entstehen.
CFC
Beim Import eines mehrzeiligen Kommentars wird nur die erste Zeile angezeigt. Makros können noch nicht importiert werden (kann aber sein, dass das schon behoben ist - am Besten vorher ausprobieren)
Wie gesagt:
Diese Angaben sind möglicherweise nicht ganz aktuell. Möglicherweise ist die eine oder andere Einschränkung nicht mehr nötig. Aber es bestimmt kein Fehler, darauf zu achten.
DANKESCHÖN