Post by mibkid17 on Ethernet Adapter message: Adapter configured. Open all connections
CODESYS Forge
talk
(Post)
Trying to control 525 with codsys the info from C-4 section. i should input the value in user defined parameters? in the generic device
Last updated: 2024-04-09
Post by tim-roelant on Problem mit control runtime V3 und profinet
CODESYS Forge
talk
(Post)
Wann ich ein scan mache bekomme ich keine teilnehmer, mit ein ipscan sind alle da. Die version von Ethernet & Profinet master ist 4.3.1 (oder muss ich besser codesys actualisieren nach letzten stand?
Last updated: 2024-04-11
Post by eschwellinger on Cannot install Codesys control Multicore in raspberry pi 4
CODESYS Forge
talk
(Post)
just add in /etc/CODESYSControl_Usr.cfg [CmpRasPi] Architecture=armv7l for the 32Bit MC version... this is what this dialog does (or at least should do)
Last updated: 2024-04-22
Post by eschwellinger on CODESYS Control Raspberry Pi mit Servotreiber T6 von StepperOnline
CODESYS Forge
talk
(Post)
Ist das RS232 oder RS485? Bei RS485 muss der Adaper also dein USB/Serial die Senderichtung in Hardware machen und das unterstützen. Abschlusswiederstände?
Last updated: 2024-06-01
Post by hjohnson123 on PLC Memory consumption?
CODESYS Forge
talk
(Post)
Hi, How can you access the <root> of the Linux system? I'm struggling with this as the code above results in an invalid handle, as it cannot access '/'.</root> I am using Control for Raspberry Pi for context. Thanks.
Last updated: 2024-06-05
Post by kalmeyer on Stepper motor control with (SM_Drive_RaspStepper_direct)
CODESYS Forge
talk
(Post)
I have installed: SM_Drive_PosControl 4.18.0.0 and SM_Drive_RaspiStepper_Direct 0.0.0.7 and SM_Drive_RaspiStepper_PulsDir 0.0.0.7 And when I "Generate Code" I immediately get 6 errors (see attached file) What can I do?????
Last updated: 2025-11-09
Post by kalmeyer on Stepper motor control with (SM_Drive_RaspStepper_direct)
CODESYS Forge
talk
(Post)
Is there perhaps a place where I can see examples of programming with different instructions? This would be a great help. Maybe there are some places where ready-made programs are posted that can be downloaded and tested? /Klaus
Last updated: 2025-11-10
Post by eschwellinger on Stepper motor control with (SM_Drive_RaspStepper_direct)
CODESYS Forge
talk
(Post)
.. try to use this projectarchive for the Stepper. In case you search for SoftMotion Examples: "c:\Program Files\CODESYS 3.5.21.X\CODESYS\CODESYS SoftMotion\Examples\Tutorial\"
Last updated: 2025-11-11
Post by gseidel on CODESYS SoftMotion Generic DSP402 on WAGO PFC200 + Festo CMMT-AS: MC_Power stays Busy, Controlword remains 0
CODESYS Forge
talk
(Post)
Hi gilad, I cannot tell for sure. But I think it should work on any PLC that is capable of doing motion control. Best regards, Georg
Last updated: 3 days ago
Post by cdutz on Problems connecting to Codesys 4.9.0.0 runtime on my Wago PFC200
CODESYS Forge
talk
(Post)
Hi all. I am currently struggling to get my Wago PFC200 running the Codesys Runtime in version 4.9.0.0 working. I am using Codesys V3.5SP19. I updated the PFC200 to the firmware version 04.01.10(23) after having tried the latest version (04.03.03(25) from Wago and not being able to start the runtime. After reading version 23 was needed, I changed to that and at least was able to have it start the codesys runtime. I also installed the "Codesys Control for PFC200 SL 4.9.0.0" plugin for Codesys to install the Codesys runtime in version 4.9.0.0 as well as update the Gateway on the device. While I seem to be able to connect to the gateway on the PLC (the dot is green) and when doing a scan, I do now find my PFC200, which is a huge improvement to before, where with firmware version 25 it just failed to start the runtime and I never found any device when doing a scan. Unfortunately I don't seem to be able to connect to the PLC in codesys. I logged in via SSH and changed the password and I can see that this password is correct as the stuff in the Codesys PFC200 tools tab only works if I use my changed password. And I used those credentials to update the installed Runtime version, which the log claimed to have worked fine. Now whenever I try to connect to the device found in the scan, I get a authentication pop-up with empy device name, device address: 000A. As User I use "root" and as password the password that I changed it to. As a response I just get "Ungültige Benutzerauthentifizierung auf dem Gerät" (Eng. probably something like "Invalid user authentication on the device". What could I be doing wrong? Admittedly I'm a bit lost here :-/ Chris
Last updated: 2023-08-26
Post by jeffg on ERROR: GetNetLinkSockAndInfoByMac(): could not open netlink socket: Too many open files
CODESYS Forge
talk
(Post)
I just installed codesys runtime on a raspberry pi Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz (Compute Module 4) I am running on Codesys control for raspberry pi 64 SL ver 4.13.0 and I keep getting a crash after about five to ten minutes. This program was running fine on a 32bit system with runtime 4.8 previously but they upgraded the panel PC cause it got smashed. Looking at the logs I see this error "ERROR: GetNetLinkSockAndInfoByMac(): could not open netlink socket: Too many open files" at the time of crash. I do have a UDP socket open for a serial to ethernet adapter and im wondering if maybe its opening a bunch of sockets and while receiving messages, Im not sending anything to the device only receiving. Below is the code used for the UDP VAR // Scale Comm fbPeerServer : NBS.UDP_Peer; ipAddress : NBS.IPv4Address; fbReceive : NBS.UDP_Receive; xPeerActiv : BOOL := TRUE; abyReceive : ARRAY [0..255] OF BYTE; sLastValidReceive : STRING(255); udiIndex : UDINT; END_VAR IF xPeerActiv AND NOT fbPeerServer.xBusy THEN ipAddress.SetInitialValue(ipAddress := gvlSettings.sIPAddres); fbPeerServer(xEnable := TRUE, itfIPAddress := ipAddress, uiPort := gvlSettings.uiPort); END_IF fbPeerServer(); fbReceive(xEnable := fbPeerServer.xBusy, itfPeer := fbPeerServer, pData := ADR(abyReceive), udiSize := SIZEOF(abyReceive)); IF fbReceive.udiCount > 0 THEN IF fbReceive.udiCount < SIZEOF(sLastValidReceive) THEN SysMem.SysMemCpy(pDest := ADR(sLastValidReceive), pSrc := ADR(abyReceive), udiCount := fbReceive.udiCount); // Set End of String sLastValidReceive[fbReceive.udiCount] := 0; END_IF END_IF If anyone as seen this I could really use some help figuring it out. I included the Log report
Last updated: 2024-09-19
Post by toffeebonbon on Die richtige CODESYS-Runtime auf dem Raspberry Pi ausrollen (3.5 SP18)
CODESYS Forge
talk
(Post)
Guten Morgen, wie der Titel verrät soll es hier um das Ausrollen der CODESYS Runtime auf einem Raspberry Pi gehen. Ob ein klassischer Raspberry Pi aus dem Consumer-Bereich oder ein Compute-Modul spielt in dem Fall keine Rolle. Ich möchte nur anderen Nutzern Hilfestellung geben, die vielleicht ein vergleichbares Problem haben wie ich: Auf Raspberry Pi lief bei mir eine Anwendung, die mit Lizenzen auf einem CODESYS-Dongle lizenziert waren (Multicore-Support und Softmotion). Nach einem Hardware-Defekt habe ich meinen Rasperry Pi gegen eine robustere Lösung getauscht. Ich wollte auf der neuen Hardware die Runtime ausrollen und habe ständig den Fehler gezeigt bekommen, dass die Target- oder Zielsystem-ID nicht stimmt. Für den Raspberry Pi gibt es ja drei verschiedene Optionen der Runtime: 32bit Singlecore (armv6l) 32bit Multicore (armv7l) 64bit Multicore (aarch64) Entscheidend dafür, ob die 32 oder 64 Bit Runtime benötigt wird ist das auf der dem Raspberry Pi installierte Betriebssystem. In meinem Fall hatte ich durch die neue Hardware auch ein aktuellen Betriebsystem-Image aufgespielt, weshalb sich da der Umstieg von 32 auf 64Bit eingeschlichen hatte. In der Entwicklungsumgebung kann über Tools -> Control SL ausrollen das Fenster geöffnet werden, um die richtige Laufzeitumgebung auf dem Steuerungsrechner zu installieren. Bei kleinen Bildschirmen (bei mir ein 15" Laptop) kann der rechte Bereich "abgeschnitten" und das Dropdown-Menü als solches nicht auf den ersten Blick erkennbar sein. Mein Fehler war, dass ich den Scrollbalken nicht gesehen habe! (Bild im Anhang mit freundlicher Genehmigung von Herrn Heberle vom CoDeSys-Support) Nach dem auswählen der jeweils passenden Version kann die Runtime installiert und das Programm wieder geladen werden. Die Lizenzen sind bei mir wieder korrekt erkannt worden und alles läuft wie vorher (nur mit neuer Hardware). Vielen Dank an der Stelle noch mal an die schnelle Hilfe vom Support. Das hat wirklich top funktioniert.
Last updated: 2025-02-27
Post by kevinl on Weidmüller und u-OS bugs
CODESYS Forge
talk
(Post)
Hallo zusammen Wir setzen mehrere Weidmüller UC20-WL2000 mit CODESYS Runtime und System-Bus ein und kämpfen seit einiger Zeit mit Problemen, für die wir bisher keine Ursache finden konnten. Aktuell beobachten wir zwei Phänomene: System-Bus Probleme Bei einer Anlage verlieren die I/O-Module sporadisch die Verbindung. Im Log erscheinen Meldungen wie: SLIO:CheckModule missing NotReachable Module Unplugged Nach diversen Updates (u-OS 2.7, aktuelle Runtime, aktuelles CODESYS) wurde das Verhalten eher schlechter statt besser. Anfangs traten die Fehler sporadisch auf, inzwischen funktioniert der System-Bus teilweise gar nicht mehr. Auch ein Downgrade auf eine ältere u-OS Version half nicht wirklich, aber ev ist es mit der aktuellen Runtime nicht kompatibel. Probleme nach Spannungsunterbruch / Neustart Mehrfach hatten wir bereits den Fall, dass eine Steuerung nach einem Spannungsunterbruch oder Neustart nicht mehr vollständig hochkommt. Teilweise startet die CODESYS Runtime nicht mehr (vermutlich aufgrund von Problemen mit Persistent-Daten), in einem aktuellen Fall ist zusätzlich das u-OS Backend nicht mehr erreichbar. Die Welcome-Seite erscheint noch, beim Login läuft der Request jedoch in einen 504 Gateway Timeout. Hardware: UC20-WL2000 u-OS 2.x System-Bus mit mehreren UR20 Modulen CODESYS Control SL Runtime Mich würde interessieren: Hat jemand ähnliche Erfahrungen mit UC20-WL2000 oder u-OS gemacht? Gibt es bekannte Probleme mit dem System-Bus? Gibt es Workarounds bezüglich Persistent-Daten oder Recovery nach Spannungsunterbruch? Hat jemand ähnliche 504-Fehler im u-OS Backend gesehen? Vielen Dank für jeden Hinweis.
Last updated: 2026-06-05
Post by brouwyka on JSONByteArrayWriter string result incorrect order
CODESYS Forge
talk
(Post)
Hello everybody! We are currently working on implementing a call to an API that tracks data sent to it through a JSON body. Versions: CODESYS V3.5 SP19 Patch 7 using IIOT Libraries SL license, specifically JSON Utilities SL version 1.13.0.0. For simplicity, let's say we want to construct the following JSON body for our request (simplified to just 1 key-value pair in each of the array objects to keep things shorter, but we'd have multiple fields in each in reality): { "id": "machine_1", "readings": [ { "temp_mid": 153.8 }, { "temp_mid": 98.3 } ], "status": "RUNNING" } However, our "readings" data is added over time, not in creation, so calls to the builder would be somewhat out of order. In a simplified manner, our calls would look like this: jsonBuilder(pJsonData := JsonData, diRootObj => rootJsonIndex); // rootJsonIndex = 0. // Set "id" at root JSON object. wsValue := "machine_1"; jsonBuilder.SetKeyWithValue("id", wsValue, diParentIndex := rootJsonIndex); // JSONData KEY: diParentIndex = 0 & diIndex = 1, VALUE: diParentIndex = 1 & diIndex = 2. // ... Time passes, we get our first reading to add ... // The "readings" array does not exist yet, so we make it first at root JSON object before adding our first reading. readingsJsonArrayIndex := jsonBuilder.SetKeyWithArray("readings", diParentIndex := rootJsonIndex); // JSONData KEY: diParentIndex = 0 & diIndex = 3, VALUE: diParentIndex = 3 & diIndex = 4. // Then add the first reading, for which we first have to make an object. readingsJsonArrayObjectIndex := jsonBuilder.SetObject(diParentIndex := readingsJsonArrayIndex); // JSONData OBJECT: diParentIndex = 4 & diIndex = 5. // And then we add the field(s) in the object for the first reading. // NOTE the use of `readingsJsonArrayObjectIndex` so we set the field(s) in the first object in the array. rValue := 153.8; jsonBuilder.SetKeyWithValue("temp_mid", wsValue, diParentIndex := readingsJsonArrayObjectIndex); // JSONData KEY: diParentIndex = 5 & diIndex = 6, VALUE: diParentIndex = 6 & diIndex = 7. // ... Time passes, we want to add another root-JSON-level field ... // Set "status" at root JSON object. wsValue := "RUNNING"; jsonBuilder.SetKeyWithValue("status", wsValue, diParentIndex := rootJsonIndex); // JSONData KEY: diParentIndex = 0 & diIndex = 8, VALUE: diParentIndex = 8 & diIndex = 9. // ... Time passes, we want to add a second reading ... // "readings" array exists, so add the second reading, but first we have to make another object. // NOTE the re-use of the earlier stored `readingsJsonArrayIndex`, so we add the new object to that previously created array. readingsJsonArrayObjectIndex := jsonBuilder.SetObject(diParentIndex := readingsJsonArrayIndex); // JSONData OBJECT: diParentIndex = 4 & diIndex = 10. // And then we add the field(s) in the object for the first reading. // NOTE the use of `readingsJsonArrayObjectIndex` so we set the field(s) in the SECOND(, new) object in the array. rValue := 98.3; jsonBuilder.SetKeyWithValue("temp_mid", wsValue, diParentIndex := rootJsonIndex); // JSONData KEY: diParentIndex = 10 & diIndex = 11, VALUE: diParentIndex = 11 & diIndex = 12. // ... Finally, we want to send to the API, so we must convert the builder to data the client accepts as a body ... xTestWriteToJsonArray := TRUE; jsonArrayWriter( xExecute := xTestWriteToJsonArray, pwData := ADR(jsonDataString), udiSize := SIZEOF(jsonDataString), jsonData := JsonData^ ); IF jsonArrayWriter.xDone THEN // The writer was successful, the `jsonDataString` VAR should now contain a WString copy of the JSON object from the builder. xTestWriteToJsonArray := FALSE; END_IF We see that the JsonData STRUCT is correctly organised (in terms of the diParentIndex & diIndex set by it for each JsonElement) as we expect, as outlined in my comments in the simplified code above. However, as soon as we pass it to the jsonArrayWriter (which is a JSON.JSONByteArrayWriter), the resulting jsonDataString does not match our expectations, instead coming out like this: { "id": "machine_1", "readings": [ { "temp_mid": 153.8 } ] } { "temp_mid": 98.3 } "status": "RUNNING" The behaviour of the JSONByteArrayWriter thus seems to be the problem here. It does not seem to correctly process the children of JsonElements that are ARRAYs when additions to them are done broken up by additions to the lower level JSON OBJECT they are a part of. We have confirmed this by changing the order of the calls in our example to add both readings before adding the "status", in which case we get our expected outcome. However, in reality this is not possible for us - additions to any of the JSON's objects, arrays or array objects may happen at any time after other fields elsewhere in the JSON have been added. Does anyone know a way around this, a fix, or knows a solution we simply have not found? This same phenomenon was also noted on this forum by user @ryusoup at the end of 2023 (https://forge.codesys.com/forge/talk/Engineering/thread/c45929e2f1/#e27f) and user @mtho in early 2024 (https://forge.codesys.com/forge/talk/Engineering/thread/cd1bb450db/#1292) but both topics received no activity beyond both users' opening posts. Looking through the release notes of all the versions of the JSON Utilities SL library, I also did not see any remarks on resolutions of bugs in this vain. Thanks in advance for the assistance!
Last updated: 2026-06-10
Post by pietrobalint on Retain / Persistent Variables in Codesys for Raspberry Pi
CODESYS Forge
talk
(Post)
Hi micik, I am not sure I am using well the code, because I checked the directory and there is no retains.ret file. Now I deleted the code from my project and the values are still works as persistant variables after ssh reboot it seems to me they retain as their previous value. So I am a bit confused, maybe 4.12.0.0 Raspberry Pi SL solved the persitent variable problem...
Last updated: 2024-08-20
Post by anuj9326 on OPC-UA Client connection, Linux SL /Raspberry Pi
CODESYS Forge
talk
(Post)
hello edwin i have did the same and i could connect the opc-ua server but i dont see anything in the resources tree, in the application i linked my variables to the symbol configuration but i dont see that in the uaexpert. if i use the same application with a non linux system i can get those variables values and see the complete tree structure. What could be the problem ?
Last updated: 2024-08-21
Post by anuj9326 on OPC-UA Client connection, Linux SL /Raspberry Pi
CODESYS Forge
talk
(Post)
hello edwin i have did the same and i could connect the opc-ua server but i dont see anything in the resources tree, in the application i linked my variables to the symbol configuration but i dont see that in the uaexpert. if i use the same application with a non linux system i can get those variables values and see the complete tree structure. What could be the problem ?
Last updated: 2024-08-21
Post by derpaul on Lizenz ausversehen für WORKSTATION statt für GERÄT installiert - wie kann ich diese verschieben?
CODESYS Forge
talk
(Post)
Hallo, ich hatte heute gestern Probleme mit mit Aktivierung der Lizenz (der Softcontainer auf dem Raspberry hatte sich nicht geöffnet) und dann habe ich hin und her probiert und dann irgendwann ging es, bis ich festgestellt hatte, dass die Lizenz auf der Workstation liegt (es geht um eine IIoT Library SL Lizenz). Ich habe versucht, die Lizenz irgendwie zu verschieben, habe es aber nicht hinbekommen - kann mir da jemand helfen?
Last updated: 2024-10-18
Post by dkugler on csv datei einlesen und verarbeiten
CODESYS Forge
talk
(Post)
in der https://store.codesys.com/de/codesys-iiot-libraries-sl.html ist u.a. die CSV Utility SL Bibliothek incl. Beispiel enthalten. Die kostet etwas. Generell Codesys Beispiele findest Du hier: https://content.helpme-codesys.com/de/CODESYS%20Examples/_ex_start_page.html Alternativ file read verwenden und Zeit investieren um von Hand zu Fuß den Dateiinhalt zu durchforsten: https://content.helpme-codesys.com/de/CODESYS%20Examples/_ex_cds_file_utilities.html In der OSCAT Library gab es mal noch etwas, da könnte google weiterhelfen
Last updated: 2024-10-28
Post by pernockham on Persistence Manager: Config File not found?
CODESYS Forge
talk
(Post)
Trying to utilize the persistence manager, but system do not write to file and do not create the config file. System is a Linux SL, version 4.13.0.0 Problems with persistence/config started when I had other problems to go online, I deleted the config file and the persistent files, but the system will not re-create them. I have tried to remove/re-install the "PersistenceManager"-module, create the folder-structure myself. And also reinstall the linux-runtime but its clearly not working. Any help appreciated.
Last updated: 2024-10-31
Post by teichhei on The selected container ... does not fit your ticket
CODESYS Forge
talk
(Post)
Update, installed 3.5.19.70 with the same result. The error message is as useful as a chocolate fire guard. The container SN is in the 130-xxx range which should work. The Version, Chip, Rev number don't mean anything to me. There is no SD Card installed. I've also reinstalled a fresh Wago FW22 image, Deployed PFC200 SL and Edge for Linux, still the same result.
Last updated: 2025-01-09
Post by twofacexx on codesyscontrol.log exzessive Größe
CODESYS Forge
talk
(Post)
Moin, kann es sein, dass dies auch schon wieder veraltet ist? Ich habe aktuell die 3.5 SP20 Patch 4 mit einem Paspberry 5 64bit SL am laufen und es wird leider nix geloggt. Muss man da etwas am Filter einstellen damit etwas geloggt wird? WÄre echt cool, wenn Codesys anfangen würde, Info´s in Form von Text einzupflegen....dann könnte man es auch nutzen. Brauche das Log bzgl. eines anderen Problems mit der "SysProcess.SysProcessExecuteCommand2", leider auch nicht gut kommentiert.
Last updated: 2025-03-18
Post by jvfred on Reading a negative number
CODESYS Forge
talk
(Post)
I have a Codesys-based Eurotherm E+PLC400 connected to Codesys HMI SL for visualization. I am also bringing in several Pressure Indicators via the Ethernet. Everything works; however, the Pressure indicators sometimes read a negative value. When they do, the displayed value on the screen reads "65532." While I know what it represents, the customer freaks out and wants it to read "0" or a negative number. The value comes in as an integer, just in case that matters. Does anyone have any ideas?
Last updated: 2025-05-22
Post by user0815 on Web Socket Client SL -Bibliothek Fehler
CODESYS Forge
talk
(Post)
Hallo zusammen, ich hoffe ihr könnt mir weiterhelfen. Meine Codesys Version ist die V3.5 SP19 Patch 4 und die Zielsystemversion ist die 4.10.0.0 . Ich verwende Codesys ohne Lizenz. Ich probiere eine Verbindung über Web Sockets zwischen Node-RED und Codesys aufzubauen. Dabei kommt folgende Fehlermeldung und folgender Logeintrag. Ansonsten stehen keine Fehlermeldungen im Log. Ich weiß nicht wieso sich die demo mode Zeit nicht zurücksetzt beim neu starten der RUN-Time. Schöne grüße
Last updated: 2023-12-19
Post by androidzz on Json Builder problem?
CODESYS Forge
talk
(Post)
Dear reader, I am using the codesys JSON utilities SL, 1.9.0.0 library. And then specifically the FB JSONBuilder. I need to create a main object with at least 2 objects in it. The first object is no problem, but I cannot insert the second object into the main object. See attached my code and the result I get. I am assuming that I am doing something wrong with the parent index but have tried a lot and can't get it done. Kind regards, Rob
Last updated: 2024-03-11
To search for an exact phrase, put it in quotes. Example: "getting started docs"
To exclude a word or phrase, put a dash in front of it. Example: docs -help
To search on specific fields, use these field names instead of a general text search. You can group with AND or OR.