Neueste Beiträge

#1
oscat.lib fuer CoDeSys 3 / Eine Bibliothek darf kein Pers...
Letzter Beitrag von Andy - 12. November 2025, 14:09:56
Hallo,

die Warnung aus dem Betreff kommt beim Kompilieren von Projekten mit Oscat Building aus dem Codesys Store. Bisher nur bei Building und ich hab es einfach ignoriert.
Jetzt hab ich die Basic von 3.3.4 auf 3.3.5 upgegradet. Und nun ist auch dort eine leere PV eingebunden. Ist nur ein Schönheitsfehler aber ich habe gern alle Warnungen weg.
Wurde das einfach übersehen oder hat es einen Hintergrund? Ist eine Korrektur geplant?

Gruß
Andy
#3
oscat.lib fuer Step 7 / Aw: OSCAT BUFFER_TO_STRING
Letzter Beitrag von mactoolz - 07. November 2025, 06:43:11
Morgen,

ich bin da auch an diesem Baustein dran. Hoffentlich kann jemand ein Feedback dazu geben.

Ich bin mir total unsicher wie man den Pointer aufbaut und dann an den FB übergibt.

Vielleicht kann sich jemand nochmal dem Thema annehmen. Das wäre super ...

Gruß
#4
Modulentwicklung / Aw: Umstieg von Codesys 2.3 au...
Letzter Beitrag von AntonZan - 27. Oktober 2025, 08:53:10
Zitat von: AntonZan in 11. September 2025, 12:49:22As of now there is no port to 64-bit controllers for the Oscat libraries that I know of. Most of the OSCAT_BASIC library will work on both 32-bit as well as 64-bit controllers. Only the _BUFFER_CLEAR() and _BUFFER_INIT() functions are very specifically optimised for 32-bit alignment of bytes and will not work correctly on 64-bit.

Going back over this I think I was wrong here. I lack time for extensive testing but I think the original code for _BUFFER_CLEAR() and _BUFFER_INIT() will work on 64-bit. It is just not as efficient as it can be. I have adapted versions using the __XWORD datatype and compiler pragma's so the same code is optimized for both 32-bit and 64-bit. No code changes required. One library can still be used on both 32b and 64b controllers. If someone wants to test these or just review what I did, I can post the code.
#5
Modulentwicklung / Module Development / Aw: Rezepturverwaltung -> 2025
Letzter Beitrag von Mel_Aut_Rob - 24. Oktober 2025, 09:17:59
Ich wollte nachfragen, in wieweit sich die Thematik mit der Rezeptursteuerung in der Zwischenzeit konkretisiert hat? - Gibt es ev. Tipps und Tricks (oder auch links) zur Umsetzung von Rezepturaufbauten nach ISA 88 unter OSCAT/ Codesys/ TwinCAT? - Besten Dank für die Rückinfo.
#6
Modulentwicklung / Aw: Umstieg von Codesys 2.3 au...
Letzter Beitrag von mg - 29. September 2025, 13:36:48
I have the same time-problem. I will write you a private Message with my email. If you like maybe we can do something but I think it is NOT easy. ... maybe next year when the economy works like the last 12 months ...
Hint: I have done a lot of work for the SIEMENS oscat already (in the beginning we had a good forum, now it is not interested to report a fault) ... only for around 30-oscat functions of the SIEMENS / BASIC OSCAT I needed years to make it really 100% working.

* AND here we discuss about the OSCAT NETWORK (much more complcated)

Mg
#7
oscat.lib fuer CoDeSys 3 / Aw: Oscat and 64-bit controlle...
Letzter Beitrag von AntonZan - 19. September 2025, 12:01:47
Not sure if we should keep discussing this here, or move to a Codesys specific place, like Codesys Forge. The latter has the advantage that we can share code there. Switching to english can be cumbersome for some. On the other hand it has a larger active user base.

Thoughts are welcome.
#8
oscat.lib fuer CoDeSys 3 / Aw: Oscat and 64-bit controlle...
Letzter Beitrag von AntonZan - 19. September 2025, 12:00:35
In the mean time I have adapted the POUs _BUFFER_CLEAR() and _BUFFER_INIT() from OSCAT BASIC to compile on both 32bit as well as 64bit while retaining the original optimizations, which are quite smart indeed. Independent review and tests would be welcome (unit testing, for instance through co♻e ?).
#9
oscat.lib fuer CoDeSys 3 / Aw: Oscat and 64-bit controlle...
Letzter Beitrag von AntonZan - 19. September 2025, 12:00:00
Thanks for getting back to me. Another forum member has contacted me through PM.
I do read German. Writing would be difficult and time consuming.

I am not asking Peewit, Hugo or other Oscat staff to do all the work for us. I would happily contribute and work together on this with other people. Like you I work in a small company and don't have time to do all the work myself either. Ideally I'd like to see a small group of people each doing some work, working together on reviewing and testing the results.

Also, last but not least, it would be invaluable to have peers to discuss options. For instance, I have done some work on the NETWORK library, more specifically the parts for logging to file as that is what I currently use a lot. The original code uses SysFile23. File open modes and error handling is done through bespoke STRING(2) and BYTE codes. As in, these codes are specific to the OSCAT libraries.

When converting to the current SysFile library rather than SysFile23, my initial approach has been to replace all bespoke OSCAT codes with types from SysFile. The file handle becomes a variable of type SysFile.RTS_IEC_HANDLE rather than a DWORD from original OSCAT code. The open_mode, originaly STRING(2), is now of type SysFile.ACCES_MODE. For error handling, the error_code was a BYTE with bespoke values typical to OSCAT. I changed that into SysFile.RTS_IEC_RESULT.

All of that works fine. However, it requires changes in the type FILE_SERVER_DATA. Which in turn requires code changes in all functions/function blocks that use FILE_SERVER_DATA. The original intention of the OSCAT programmers has been to have all the platform specific code inside FILE_SERVER so all other code can remain identical for all platforms. I now realise that my approach breaks this independency. It would make the CoDeSys branch incompatible with the other branches of the NETWORK library. It would be invaluable to have some other people think with me on issues like this.
#10
oscat.lib fuer CoDeSys 3 / Aw: Oscat and 64-bit controlle...
Letzter Beitrag von mg - 19. September 2025, 07:24:10
... about technical issues ...

You are right. The old libs with *23 on the end are the biggest problem. I use the BASIC in SIEMENS S7 too and I adapted it in the same way like you plan to do (dirty, but my parts I use work perfect for me).
For codesys I use the official one. There the big problem is for sure the NETWORK lib. 
I am working in a super small company too and I have no time to make real good engineered corrections on the lib. I can just report some bugs when I find one.

Regards

Mg