Post by eschwellinger on Unable to deploy "Control for Linux SL 4.18.0.0"
CODESYS Forge
talk
(Post)
Hi could you check if this really exists in 4.19.0.0 deploy tool? In your case architecture is missing- see my configuration
Last updated: 2026-02-17
Post by kunal-pinetics on USB Communication for IP Configuration & Application Update – STM32H Series PLC
CODESYS Forge
talk
(Post)
Hello everyone, I am currently working on a PLC device based on the STM32H series MCU, running CODESYS. At the moment, I can: Change the Ethernet IP address Update/download the PLC application via Ethernet without any issues. However, I would like to implement the same functionality over USB (or Serial via USB) instead of Ethernet. My goals are: Change the device’s Ethernet IP address via USB Download/update the PLC application via USB communication Possibly use USB as a service/programming interface The hardware platform is based on STM32H series, and I am looking for guidance on: Whether CODESYS supports USB device communication for runtime download If a custom USB CDC (Virtual COM Port) implementation is required Whether a specific CODESYS runtime configuration is needed If a bootloader approach is recommended for application updates via USB If anyone has experience implementing USB communication for runtime download or device configuration on an STM32-based PLC, I would really appreciate your guidance. Thank you in advance for your help.
Last updated: 2026-02-26
Post by akneer on HMI über Webbrowser
CODESYS Forge
talk
(Post)
Beispiel: IF bShutdownPC THEN bShutdownPC := FALSE; // LINUX SysProcess_Implementation.SysProcessExecuteCommand( pszComand:='shutdown -h 0', pResult := ADR(udiError)); // WINDOWS SysProcess_Implementation.SysProcessExecuteCommand( pszComand:='shutdown.exe -s -t 05', pResult := ADR(udiError)); END_IF
Last updated: 2026-03-04
Post by fpawlak on How to register own component - CMAddComponent() or CMAddComponent2()
CODESYS Forge
talk
(Post)
Hi, so really oneone has no idea which way is correct one? Or maybe both are okey if they work for me?
Last updated: 2026-03-13
Post by pernockham on Gateway in China - "Gateway not connected"
CODESYS Forge
talk
(Post)
Finally sorted (unit in China). The problem was related to dns-setting of the gateway/host. Connection (also inside china) tested/works.
Last updated: 2026-03-18
Post by thomasrek31 on Textfield display problem
CODESYS Forge
talk
(Post)
Hello, have you found a solution? It seems I have the same problem as you. I can't remove the overlay, otherwise certain functions stop working.
Last updated: 2026-03-23
Post by thomasrek31 on Textfield display problem
CODESYS Forge
talk
(Post)
Hello, have you found a solution? It seems I have the same problem as you. I can't remove the overlay, otherwise certain functions stop working
Last updated: 2026-03-23
Post by ulvis on CAA 3.5.16 TLS configuration - certificate
CODESYS Forge
talk
(Post)
Hi, did yo have any luck with this? I am facing the same challenge. Using a WinCTRLx64 but I get AccessViolation error in my CmpTlsCreateContext() call.
Last updated: 2026-03-23
Post by lukasz on Unresolved reference when trying to upload to Codesys Runtime V3
CODESYS Forge
talk
(Post)
Hello! I'm working with Codesys SP21 Patch 4. The project builds without any errors. When trying to upload my project to Codesys Runtime V3 x64 I get a lot of Unresolved Reference errors, all with FU- at the start and then -CLOSELAYER2, -GETBUSINFO, -GETFRAME etc. I also get a error pop-up that I should 'update device' in the project but it's not specified to which version or anything useful really.There's also not much to choose from. When I check Runtime version in the systray I get 3.5.21.40 and it's the same as I have set up in the project as the device. All information I get is that it should be clear from the errors but no useful information is provided in the errors. Do I need to install some library? I checked other posts and for different reference error and this was the answer. Thanks in advance!
Last updated: 2026-03-25
Post by nulltrace on How change Unity-ID in TCP Modbus Slave
CODESYS Forge
talk
(Post)
Hey Husarz, thanks for your Message, now i understand your Problem, also able to reproduce that. Pls. give me a Short Time to Check some stuff on this, i'll come back to this Topic with news ASAP. Greetings
Last updated: 2026-04-03
Post by struland on Sysfile Konfiguration
CODESYS Forge
talk
(Post)
Bei mir half: [SysFile] IecFilePath=/mnt/sdcard Allerdings ist es kein Raspi. Den Ordner, der gelesen werden soll mal auf korrekte Zugriffsrechte prüfen. Im Falle das SELinux aktiv ist mit ls -lZ, ansonsten ls -al
Last updated: 2026-04-13
Post by struland on Sysfile Konfiguration
CODESYS Forge
talk
(Post)
Bei mir half: [SysFile] IecFilePath=/mnt/sdcard Allerdings ist es kein Raspi. Den Ordner, der gelesen werden soll mal auf korrekte Zugriffsrechte prüfen. Im Falle das SELinux aktiv ist mit ls -lZ, ansonsten ls -al
Last updated: 2026-04-13
Post by nulltrace on How change Unity-ID in TCP Modbus Slave
CODESYS Forge
talk
(Post)
Hey, I also waiting for feedback from Mr. Schwellinger @eschwellinger, please send me an answer, i would appreciate it. The clue is, i know the solution, but have to check if it's allowed to share.
Last updated: 2026-04-14
Post by reinier-geers on Resize and position Numpad/Keypad
CODESYS Forge
talk
(Post)
HI, I download the scale dialog. But cant find were i can Set the size of the dialogs. only the position. I want the diolog bigger
Last updated: 2026-04-15
Post by husarz17 on How change Unity-ID in TCP Modbus Slave
CODESYS Forge
talk
(Post)
Good to know there's a solution to this problem. I hope you'll be able to share it with me. I can't wait to hear about it.
Last updated: 2026-04-20
Post by malie on Issue with library updates
CODESYS Forge
talk
(Post)
Hello, i got the same problem, but on my site it started with version 3.5.21, with version 3.5.19.7 it worked like a charm. How get the old behavior back? Or how to reload the librarys in an open project/library manually?
Last updated: 2026-04-24
Post by reinier-geers on Network variable stops sending
CODESYS Forge
talk
(Post)
What version. 20.5 ? ive got also problems wiyth that version. Online change, it hangs itself after one hour. Then one project can problems. Ive change display with 21.0 . At home i turned on the 20.5 display. After 1 hour i goes to stop.
Last updated: 2026-05-06
Post by alex-n on Problem with keeping up the distance between two axes
CODESYS Forge
talk
(Post)
We use Inovance AC802 as PLC, IS810N Drive, library 4.10, connection via Ethercat and no any suprise at work.
Last updated: 2026-06-02
Whether You’re New to Nursing or a Seasoned Pro, Grasping the Basics of NURS FPX 4055 Assessment 1 Offers Many Benefits
CODESYS Forge
talk
(Thread)
Whether You’re New to Nursing or a Seasoned Pro, Grasping the Basics of NURS FPX 4055 Assessment 1 Offers Many Benefits
Last updated: 2026-06-13
Post by sahin6033 on DSE M840-001-02: DSEServiceTool transfers CodesysApp.pkg successfully, but device shows “No application loaded
CODESYS Forge
talk
(Post)
Hi, I am trying to load a test application into a DSE M840-001-02 display, but after reboot the device still shows: “No application loaded” I would like to understand whether the problem is in my project, the package creation process, or firmware/runtime compatibility. Hardware Device: DSE M840-001-02 Firmware used: M840 MKII Firmware File v4.1.2 Software CODESYS V3.5 SP12 (32-bit) DSE CODESYS Package v1.5.44 DSEServiceTool What I did Created a new empty Standard Project Selected target/template: M840-02 V4.1 Used a minimal ST program only: PROGRAM PLC_PRG VAR xAlive : BOOL := TRUE; END_VAR Confirmed: project builds PLC_PRG is assigned to MainTask created Boot Application Generated CodesysApp.pkg Put the M840 into bootloader mode Sent the package using DSEServiceTool DSEServiceTool result Transfer completes successfully and I get: connection accepted 100% download package ACK <status>OK</status> ** Example log:** Searching for controllers.... sendPackageToController: waiting for incoming data connection... sendPackageToController: connection accepted... <status>Downloading</status> <percent>20</percent> <percent>40</percent> <percent>90</percent> <percent>100</percent> sendPackageToController: sent 112cb8 bytes OK Package ...\CodesysApp.pkg transferred to controller c0a80101 OK sendPackageToController: package ACK <status>OK</status> Actual result After reboot, the display still shows: “No application loaded” Additional issue I also saw earlier At one stage I also had these fatal errors in CODESYS: [FATAL ERROR] Unresolved reference: 'IOMGRLOCKENTER' [FATAL ERROR] Unresolved reference: 'IOMGRLOCKLEAVE' I checked library versions and adjusted them to: IoDrvBase = 3.5.5.0 IoStandard = 3.5.10.0 Also, I am using CODESYS SP12, which I understand is the correct version for DSE M840. My questions If DSEServiceTool shows Status OK and package ACK, but the device still says “No application loaded”, does that mean: the .pkg was transferred but not accepted as a valid application? the package was built incorrectly? the boot application / runtime / firmware versions are still mismatched? What is the correct procedure to generate CodesysApp.pkg for M840-02 V4.1? Is there any known compatibility issue between: DSE CODESYS Package 1.5.44 M840 MKII Firmware 4.1.2 CODESYS 3.5 SP12 Has anyone successfully loaded even a minimal empty test project into M840-001-02, and if so, what exact versions/process did you use? Any help would be appreciated.
Last updated: 2026-03-17
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 fmon on Modbus : dis- / re-connect cable: modbus does not re-start
CODESYS Forge
talk
(Post)
Hello, I am using codesys Modbus TCP client (4.4.0.0) to communicate with a python modbus server (package pyModbusTCP). I first start my python server on the distant machine. After a fresh codesys compilation, a plc connection/transfer and a PLC run, the modbus connection is OK. Every time in this context the connection is created correctly. When I shut down the server, the modbus connection falls, that is normal. When I restart the python server, impossible to recreate the modbus connexion. With the client autoreconnection, I see on my server that the client tries to connect but unsuccesfully. I have the following message : DEBUG:pyModbusTCP.server:accept new connection from ClientInfo(address='192.168.1.20', port=33476) DEBUG:pyModbusTCP.server:Exception during request handling: NetworkError('recv return null') I tried to stop the codesys client and to restart it with these commands : Modbus_TCP_Client.xStop := True; // Or False Modbus_TCP_Client.Enable := True; // Or False Modbus_TCP_Server.Enable := True; // Or False I tried to confirm the error manually to force reconnection with: Modbus_TCP_Server_Motors.xConfirmError := TRUE; I tried also this command to STOP/RESET/START client and server (codesys side) but nothing happens : status_client := Modbus_TCP_Client.SetCommunicationState(eRequestedState := DED.DEVICE_TRANSITION_STATE.STOP); // .RESET & .START The answer of this function when executed is "status_client = NOT_SUPPORTED" It seems that is a socket problem, but I do not understand if it is on the client or server side. I tried a modbus simulator called "ananas.exe" and the result is the same. Impossible to get a modbus reconnection. What is different at the first connection and at a reconnection attempt ? Thanks for your help
Last updated: 2025-03-14
Post by gilad on CODESYS SoftMotion Generic DSP402 on WAGO PFC200 + Festo CMMT-AS: MC_Power stays Busy, Controlword remains 0
CODESYS Forge
talk
(Post)
Hello, I am trying to connect a Festo CMMT-AS-C4-3A-MP-S1 servo drive to a WAGO PFC200 (750-8210) using EtherCAT and CODESYS SoftMotion. Hardware PLC: WAGO PFC200 750-8210 Drive: Festo CMMT-AS-C4-3A-MP-S1 Communication: EtherCAT CODESYS version: Device description version 6.3.1.1 Drive firmware: 36.10.3 Current Status EtherCAT communication is working correctly: EtherCAT master = Running Drive detected and operational PDO input and output mapping is active Statusword, position and velocity are updating correctly Current PDO mapping: Outputs: 6040 Controlword -> %QW0 6060 Modes of operation -> %QB2 607A Target position -> %QD1 60FF Target velocity -> %QD3 Inputs: 6041 Statusword -> %IW2 6061 Modes of operation display -> %IB6 6064 Position actual value -> %ID2 606C Velocity actual value -> %ID3 SoftMotion Axis I added a SoftMotion CiA402 axis under the EtherCAT slave: Axis type: SM_Drive_GenericDSP402 Axis communication state: operational (100) No SoftMotion mapping errors anymore Problem MC_Power is executed with: Enable = TRUE bRegulatorOn = TRUE bDriveStart = TRUE but: Status = FALSE Busy = TRUE Error = FALSE ErrorID = SMC_NO_ERROR The axis remains in: SMC_AXIS_STATE.power_off DSP402 state = SWITCH_ON_DISABLED The most important observation: Statusword = 32784 (0x8010) Controlword (%QW0) remains 0 all the time SoftMotion never writes 6, 7, or 15 to the Controlword. Additional Information The axis status page reports: "The license is missing or invalid. The PLC runs in demo mode." I am not sure whether: The missing SoftMotion license prevents Controlword generation completely. The axis is still not correctly connected to the EtherCAT slave despite operational communication. There is an additional CiA402 configuration step required for the Festo CMMT-AS drive. Has anyone successfully used a Festo CMMT-AS MP drive with CODESYS SoftMotion Generic DSP402 on a WAGO PFC200? Any suggestions on what should be checked next would be greatly appreciated.
Last updated: 2 days ago
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 dantheman on Connecting to SoftPLC Only Works By Turning Off Modbus Ethernet Port
CODESYS Forge
talk
(Post)
I have an IPC with 2 ethernet ports and 1 Wi-Fi. I'm using ModbusTCP with the ethernet port named "enp2s0" connected to my remote I/O. This works fine when testing with Python and also works with CODESYS, but CODESYS is only able to scan for the Linux SoftPLC when I turn off the "enp2s0" interface. In other words, I can't get online with the IDE if I want my ModbusTCP comms to run with CODESYS. I'm using a Linux SoftPLC that has the following entry in CODESYSControl.cfg, hoping that this will allow me to connect with "enp1s0" or "wlp3s0", and leave "enp2s0" for field comms, but this seems to only make the source IP of the ModbusTCP comms to be bound to "enp2s0". That last point is the case only if I don't restart the service, but if I do restart the service after changing the config file, the source IP for the ModbusTCP comms then becomes the one for "enp1s0", which is very confusing to me: [SysSocket] Adapter.0.Name="enp2s0" Adapter.0.EnableSetIpAndMask=1 On the device list, I only have "enp2s0" given as the ethernet device that has the ModbusTCP master & slave beneath it, shown in Screenshot 1. On the IPC, I can ping the ModbusTCP client (remote I/O) from "enp2s0", and I've attached a Wireshark capture of running ModbusTCP from the CODESYS runtime as Screenshot 2, 3 & 4 (again, I can't get online when this is running, I have to turn off "enp2s0" to connect even when it's idle and I don't have an active TCP session with my Python tests). Like I explained above, the source IP is "enp1s0", even though the ethernet device on the project is "enp2s0". I was lucky to catch the red message that showed the source IP that makes sense to me (the one for "enp2s0"), but for some reason that connection was reset and I never saw that packet again. I've also tried this with Auto-reconnect both enabled & disabled, for the ModbusTCP Master device. I also have to turn off "enp1s0" and then turn it on, just so that I can have the ModbusTCP comms running from "enp2s0" (which is not intuitive in any way to me, I'd love some help understanding that phenomenon as well) in the weird manner that I've described above. I would be very appreciative if someone can help me figure out this pickle. I'd love to just connect to CODESYS through my Wi-Fi interface and leave my ethernet ports for field comms.
Last updated: 2024-08-01
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.