oscat.lib > oscat.lib fuer CoDeSys 3

Holiday Array

<< < (6/6)

peewit:
hallo

die wir keine offizielle oscat bibliothek für codesys 3.x veröffentlichen und aich diese version nicht von uns selber stammt müsst ihr mal schauen woher ihr diese habt.
somit kann ich auch nichts korrigieren solange der referenzcode wie z.b. für codesys 2.x in ordnung ist

vermutlich wurde für die codesys 3.5 portierung igendein ein alter code verwendet !

wie schon erwähnt --> vergleicht am besten die versionsnummern der bausteine

mattsches:
Hi peewit,

sorry, jetzt stehe ich auf dem Schlauch - was ist dann das hier?

http://www.oscat.de/component/jdownloads/download/2-oscat-basic/4-oscat-basic-331-codesys3.html

Gruß,
mattsches

peewit:
hallo

das gehört eigentlich rausgenommen und entspricht auch nicht der offiziellen vorgangsweise, da es keinen gibt der das pflegt

das ist die einzige version die jemals herausgegeben wurde und die ist nun natürlich alt -> version 3.31

aktuell ist v3.33 , dem entsprechend müssen hier unterschiede bzw. fehler enthalten sein

nachdem es hier eine andere quelle noch gibt empfehle ich das von dort zu nehmen !
siehe codesys store (kostenloser download der oscat für codesys 3.x)



[gelöscht durch Administrator]

Marvelous:
Vielen Dank jetzt läuft es korrekt habe DATE_ADD angepasst.

--- Zitat von: mattsches am 15. August 2018, 20:04:56 ---Logisch, das kann nicht gehen, wenn bei SET_DATE der Monat schon passt aber dann der Tag bezogen auf das Jahr noch draufaddiert wird. Offenbar ist der Code von DATE_ADD in der Lib für CODESYS V3.5 ein anderer als in der für V2.3.  Steht am Ende des Bausteins eine Versions- und Datumsangabe? Bei der Version für 2.3 ist das 1.8/22.03.2011.

Am besten änderst du mal in der Lib den DATE_ADD wie folgt:


--- Code: ---DATE_ADD := UDINT_TO_DATE(DATE_TO_UDINT(IDATE) + INT_TO_UDINT(D + W * 7) * UDINT#86400);
yr := Y + YEAR_OF_DATE(DATE_ADD);
mo := M + MONTH_OF_DATE(DATE_ADD);
dm := DAY_OF_MONTH(DATE_ADD);
WHILE mo > 12 DO
mo := mo - 12;
yr := yr + 1;
END_WHILE;
WHILE mo < 1 DO
mo := mo + 12;
yr := yr - 1;
END_WHILE;
DATE_ADD := SET_DATE(yr, mo, dm);


--- Ende Code ---

Das ist die Version, wie sie in der Lib für V2.3 enthalten ist und bei mir problemlos funktioniert. Wenn das dann tut, sollten wir peewit Bescheid geben, damit die Bibliothek korriert wird.

--- Ende Zitat ---

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln