Neueste Beiträge

#51
oscat.lib fuer CoDeSys 3 / Re: Oscat_Basic.UTC_TO_LTIME m...
Letzter Beitrag von peewit - 27. März 2024, 20:50:03
Hallo TimoH

UTC ist die Basis 0 (Weltweit) und es gibt Zeitoffsets von maximal -12h bis +12h
So wie du richtig erkannt hast ist der verwendete Integer nicht ausreichend um alle Zeitoffsets zu übergeben

ja, das sieht nach einen Fehler aus

Damit der Baustein nach außen unverändert bleibt (Kompatibilität) musste man intern die tmp var auf DINT umstellen und auch alle typebezogenen Aufrufe von int auf dint anpassen

Wenn du lust hast kannst du ja gerne eine Adaptierung durchführen und den Baustein hier als fehlerbereinigte Variante online stellen.

Vielen Dank fürs mitdenken !!

LG Peewit
#52
Modulentwicklung / Re: Neuer Wetter-Baustein für ...
Letzter Beitrag von pezi179 - 24. März 2024, 21:28:25
Der Beitrag ist zwar schon etwas älter, aber vielleicht ist ja noch jemand auf der Suche nach einer Lösung.

Ich hatte auch genau das gleiche Problem. Einer der verwendeten /aufgerufenen Bausteine zeigte mir den Fehler 1797. Dadurch bin ich dann auf diesen Beitrag gestoßen. Der dort angeführte Workaround hat bei mir funktioniert und ich habe endlich meine Wetterdaten.

http://www.oscat.de/community/index.php?topic=5805.0
#53
oscat.lib fuer CoDeSys 3 / Oscat_Basic.UTC_TO_LTIME mit O...
Letzter Beitrag von TimoH - 20. März 2024, 14:39:57
Hallo,
Besagter Baustein bietet eine Umrechnung meiner UTC Zeit zu meiner Lokalzeit sowie einen Sommer/Wintermodus.

tmp := TIME_ZONE_OFFSET * 60 + BOOL_TO_INT(DST_ENABLE AND DST(UTC)) * 3600;
IF tmp < 0 THEN
   tmp := ABS(tmp);
   UTC_TO_LTIME := DWORD_TO_DT(DT_TO_DWORD(UTC) -  INT_TO_DWORD(tmp));
ELSE
   UTC_TO_LTIME := DWORD_TO_DT(DT_TO_DWORD(UTC) +  INT_TO_DWORD(tmp));
END_IF;

So wie ich den Baustein verstehe kann ich einen Offset in Minuten dazurechnen sowie die Sommer/Winterzeit ein und ausschalten.
Das klappt auch soweit, aber ich habe das Problem, dass der Baustein den Offseteingang in Minuten hat und durch die Multiplikation mit 60 daraus die Sekunden bildet. Wenn ich aber eine Minutenzahl über 546 eingebe, dann sprengt die Rechnung den Maximalwert der internen INT Variable.
Nahe Neuseeland komme ich aber auf einen OFFSET von +/-13 Stunden zur UTC, also bis zu 780 Minuten.

Ich kann natürlich den Offset selber schreiben, aber vielleicht kann mir ja wer kurz erklären, wo mein Denkfehler ist, dass dieser Baustein tmp und den Offset als INT verwendet. Ich konnte nichts finden, dass dieser Bug irgendwo gemeldet ist.

#54
Codesys 2 / Codesys 2.3 MySQL
Letzter Beitrag von Aksels - 21. Februar 2024, 17:14:04
Liebe Mitleser,

ich habe einen Auftrag, bei dem ich auf unerwartete Probleme gestoßen bin.
Es handelt sich um ein vorhandenes Programm, das bereits mehrfach eingesetzt wird. Dieses Programm loggt Daten auf einen über das Internet erreichbaren MySQL-Server.
Als Programmiertool wurde Wago Codesys 2.3 verwendet. Die SPSen sind 750-891.
Benutzt wurde die WagoLibMySQL_03.lib.
Bei den vorhandenen Installationen hört die SPS irgendwann auf die Daten in die SQL-Datenbank zu schreiben.
Deswegen habe ich den Auftrag bekommen, das Programm zu verbessern.
Das erste Problem das ich gefunden habe:
Die WagoMySQL Bibliothek ist wohl nicht kostenlos. Im Internet steht sie hört nach einer gewissen Zeit auf zu funktionieren.
Umstieg auf Codesys 3.5 ist keine Option, dafür müssten ja auch die SPSen ausgetauscht werden und davon sind ca. 60 Stück im Einsatz. Das ist für zukünftige Aufträge eine Option. Ich hoffe dass ich den jetzt entwickelten Baustein dann unter Codesys 3.5 weiter verwenden kann.

1. Hat jemand mit dem alten Ding Erfahrungen? Der Kunde behauptet das hat immer funktioniert. Erst in den letzten zwei Jahren sei es schlechter geworden?
2. Wie wird die Lizenz geprüft? Ich habe nirgendwo eine Lizenzdatei oder eine Eingabemaske für die Lizenz gefunden?
3. Gibt es für das alte Codesys 2.3 eine Alternative? Ich lese hier immer wieder was von Network 1.3 mit MySQL aber finde unter Download nichts dazu?
4. Wie programmiert man die Oscat Libraries? Ich hab selber Programmiererfahrung und würde meine Ergebnisse dann teilen.
5. Der Kunde will schnell Lösungen. Gibt es hier jemanden (Selbständigen) der mir das Programm debuggen/verbessern kann und eine Rechnung stellen kann?


Gruß,
Axel
#55
oscat.lib fuer Step 7 / HELP: Char to Int mindest ...
Letzter Beitrag von Zimbl - 06. Februar 2024, 10:36:56
Hallo Zusammen,

ich möchte gerne meine Char´s ca. 30 Zeichen am besten komplett in INT umwandeln..

Aber ich habe so überhaupt keine Idee wie ich da vorgehe,

könnt ihr mich da etwas unterstützen ? Was muss ich machen ? Wie könnte es am schnellsten
realisiert werden ?

oder geht es sogar noch einfacher mit dem Hausinhalt vom Simatic Manager

Vielen Dank für eure Unterstützung

zi
#56
Modulentwicklung / Re: Umstieg von Codesys 2.3 au...
Letzter Beitrag von martin.k - 16. Dezember 2023, 18:13:10
Hallo,

auf den Webseiten von Codesys konnte ich eine Oscat_Network.lib finden welche für Codesys 3.5 erstellt ist (Datei *.package! !).
Damit konnte ich mein Programm wieder zum laufen bekommen.

Danke an alle die sich hierzu Gedanken gemacht haben.

Gruß
Martin
#57
Modulentwicklung / Umstieg von Codesys 2.3 auf 3....
Letzter Beitrag von martin.k - 14. Dezember 2023, 22:04:55
Hallo liebe Freunde der Nullen und Einer.

Ich muss notgedrungen von Codesys 2.3 auf 3.5 umsteigen.
Da es keine Network-Lib für die 3.5er Version gibt, stehe ich jetzt vor vielen Zeilen Code von dem ich nichts verstehe und nicht portieren kann.

Gibts vielleicht eine kleine Anleitung? Oder kann jemand ein paar Zeilen zu dem Thema UMSTIEG schreiben?
z.B. Ersetzen von IP_C durch Codesys 3.5 bla bla bla?

Danke sagt
Martin
#58
oscat.lib fuer CoDeSys 3 / Fehlende POU OscatBasic
Letzter Beitrag von Benjamin.Schank - 20. Oktober 2023, 23:58:14
Hallo zusammen,

ich habe mir Codesys 3.5 installiert und danach über den Installer die OSCATBasic LIB *Version 3.35* (von der Codesys Seite ) eingebunden.

Gleiches Problem hatte B0bbyS 2018 schonmal.
Zitat:
"Dies hat, zumindest im Ansatz, auch geklappt und ich kann viele der Bausteine unkompliziert nutzen. Jedoch sind nicht alle POUs in meinem Bibliotheksverwalter verfügbar. Als konkretes Beispiel fehlen mir unter BASIC>POUs>Engineering>control alle Funktionen und Funktionsbausteine welche im Inhaltsverzeichnis der Dokumentation nach dem FB INTEGRATE aufgeführt sind.

Hat vielleicht jemand einem Tip wo mein Fehler liegt, bzw. welche Änderungen vorzunehmen sind um den vollen Umfang der Bibliotheken zu nutzen."


Leider hat damals niemand darauf geantwortet.

Fehlt mir etwas?
Kann mir jemand helfen? ^^


Vielen Dank im Voraus
Benni Schank
#59
oscat.lib fuer CoDeSys 3 / e!cokpit "Die Funktion konnte ...
Letzter Beitrag von Phoenix - 16. Oktober 2023, 14:43:08
Guten Tag zusammen,

ich wollte für mein Projekt die OSCAT Building Bibliothek nutzen.
Ich habe die bib über den Codesys Store herunter geladen.
Einige Bausteine lassen sich auch ohne Probleme aufrufen.
Möchte ich allerdings den Baustein "Blind_input" aufrufen, kommt nach dem Einfügen bei der Benennung des Bausteins folgende Fehlermeldung:
"Die Funktion konnte nicht ausgeführt werden. Die letzten Änderungen im Projekt konnten nicht gespeichert werden"

Unter Details steht dann noch folgendes:
"System.ArgumentException: Ein Element mit dem gleichen Schlüssel wurde bereits hinzugefügt.
   bei System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   bei System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   bei _3S.CoDeSys.AutoDeclare.InitValueModel.GetSubElements(IType type)
   bei _3S.CoDeSys.AutoDeclare.InitValueNode.FillChildNodes()
   bei _3S.CoDeSys.AutoDeclare.InitValueNode.get_HasChildren()
   bei _3S.CoDeSys.AutoDeclare.InitValueNode.FillChildNodes()
   bei _3S.CoDeSys.AutoDeclare.InitValueModel..ctor(IInitValueViewListener initValueViewListener, EEditorPosition eForWhichTable, String stVariable, String stType, String stInitValue, Guid gdApplication, Guid gdSignature)
   bei _3S.CoDeSys.AutoDeclare.InitValueController.Initialize(String stVariable, String stType, String stAlreadyExistingInitValue, IEnumerable`1 alreadyExistingAdditionalFBInitParameters, Guid gdApplication, Guid gdCallingPou, Boolean bConsiderAdditionalFBInitParametersIfNecessary)
   bei _3S.CoDeSys.AutoDeclare.AutoDeclareDialog.DisplayAdditionalFBInitParametersHint()
   bei _3S.CoDeSys.AutoDeclare.AutoDeclareDialog._typeComboBox_TextChanged(Object sender, EventArgs e)
   bei System.Windows.Forms.Control.OnTextChanged(EventArgs e)
   bei System.Windows.Forms.ComboBox.OnTextChanged(EventArgs e)
   bei _3S.CoDeSys.Controls.Controls.AutoCompleteComboBox.OnTextChanged(EventArgs e)
   bei System.Windows.Forms.Control.set_Text(String value)
   bei System.Windows.Forms.ComboBox.set_Text(String value)
   bei _3S.CoDeSys.AutoDeclare.AutoDeclareDialog.UpdateControls(Control sender, Boolean bUpdateObjectList)
   bei _3S.CoDeSys.AutoDeclare.AutoDeclareDialog.OnLoad(EventArgs e)
   bei System.Windows.Forms.Form.OnCreateControl()
   bei System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   bei System.Windows.Forms.Control.CreateControl()
   bei System.Windows.Forms.Control.WmShowWindow(Message& m)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   bei System.Windows.Forms.Form.WmShowWindow(Message& m)
   bei System.Windows.Forms.Form.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)"

Anschließend wird das Programm geschlossen.
Kennt jemand das Problem? Welche Lösungsmöglichkeiten gibt es hier?

Viele Grüße
Phoenix
#60
Modulentwicklung / Re: Neuer Wetter-Baustein für ...
Letzter Beitrag von stadlaa - 07. September 2023, 16:16:47
Hallo habe exakt gleiches Verahlten wie Vicky, irgenjemand Ideen?
Gruß
Stadler