Post by timvh on Unit testing support / libraries for EcoStruxure Machine Expert (CODESYS)
CODESYS Forge
talk
(Post)
If the Professsional Developer Edition (which includes the Test Manager) is not supported by Schneider, then an option is to use the Open Source Unit test framework. See: https://forge.codesys.com/lib/counit/home/Home/
Last updated: 2026-02-20
Post by william on Unit testing support / libraries for EcoStruxure Machine Expert (CODESYS)
CODESYS Forge
talk
(Post)
Thank you, I will try it!
Last updated: 2026-02-20
Unit testing support / libraries for EcoStruxure Machine Expert (CODESYS)
CODESYS Forge
talk
(Thread)
Unit testing support / libraries for EcoStruxure Machine Expert (CODESYS)
Last updated: 2026-02-20
Post by pernockham on Unable to deploy "Control for Linux SL 4.18.0.0"
CODESYS Forge
talk
(Post)
Ok, I think I understand. The problem is my language-setting being "swedish". I will check if I can switch to english. Update/confirmed. Change LANG to en_GB, this enabled the architechture to be correct and the control SL again to appear and to be possible to be updated. Thanks!
Last updated: 2026-02-23
Unable to deploy "Control for Linux SL 4.18.0.0"
CODESYS Forge
talk
(Thread)
Unable to deploy "Control for Linux SL 4.18.0.0"
Last updated: 2026-02-23
Current time and date
CODESYS Forge
talk
(Thread)
Current time and date
Last updated: 2026-02-23
Post by mawaloc on Current time and date
CODESYS Forge
talk
(Post)
Hello all, I'm looking to display current time and date as first, then find a way to adjust with time zone differences. I found some tuto in internet but seems I already have issues.. cf pictures Which functions I should use? thank You for the help and time. Regards
Last updated: 2026-02-23
Time and Date vizualization
CODESYS Forge
talk
(Thread)
Time and Date vizualization
Last updated: 2026-02-23
Post by mawaloc on Time and Date vizualization
CODESYS Forge
talk
(Post)
Hello all, I'm looking to display current time and date as first, then find a way to adjust with time zone differences. I've found some tuto in internet but seems I already have issues.. cf picture Which functions I should use? thank You for the help and time. Regards
Last updated: 2026-02-23
Fieldbus has lost synchronicity
CODESYS Forge
talk
(Thread)
Fieldbus has lost synchronicity
Last updated: 2026-02-24
Post by artplc on Frustration-Fueled Feedback on Project File Management and Git Integration
CODESYS Forge
talk
(Post)
Try this scripts: https://github.com/ArthurkaX/cds-text-sync
Last updated: 2026-02-25
Frustration-Fueled Feedback on Project File Management and Git Integration
CODESYS Forge
talk
(Thread)
Frustration-Fueled Feedback on Project File Management and Git Integration
Last updated: 2026-02-25
How to use MQTT in CODESYS Control Win V3
CODESYS Forge
talk
(Thread)
How to use MQTT in CODESYS Control Win V3
Last updated: 2026-02-25
Post by danp1406 on Question about Demo License limitations for Modbus TCP communication and Fieldbus Instances
CODESYS Forge
talk
(Post)
Hello everyone, I am currently working with CODESYS Virtual Control for Linux running in Docker on a Debian virtual machine. I am deploying my application using Deploy Control SL, and in my project I am using the ModbusFB library to implement Modbus TCP communication. My setup is the following: I am trying to establish a Modbus TCP connection between a virtual PLC (CODESYS acting as Modbus TCP Client/Master) and a Siemens S7-1200 PLC acting as a Modbus TCP Server. From the Debian VM, I can successfully ping the S7-1200 and verify that port 502 is open using tools like nc. Network-wise, everything appears to be correct. However, when running the application in CODESYS, I receive messages such as “Demo mode for Modbus/TCP Master started. Will expire and stop!” and socket errors like “ClientSocket.UpdateStatus socket error 111 disconnecting.” The ClientTCP block from the ModbusFB library attempts to connect, but the connection does not remain stable. My main question is whether the CODESYS demo license explicitly limits or interrupts Modbus TCP Master communication. Is it expected that in demo mode the runtime will automatically close sockets after some time or prevent stable Modbus TCP connections? I would like to confirm whether this behavior is normal when using ModbusFB in demo mode, or if I should continue troubleshooting the configuration. Additionally, I would like clarification regarding the “fieldbus instances” mentioned in CODESYS licensing options (for example, 2, 4, or 16 instances). What exactly is considered one fieldbus instance? Does one Modbus TCP Client block count as one instance? Does each active connection to a different device count separately? Do Modbus TCP Master and Server count independently toward the total number of instances? Finally, I would appreciate clarification on any other practical limitations of demo mode when using industrial communication libraries such as ModbusFB. Are there limits on the number of connections, number of requests, or communication duration? I am trying to determine whether demo mode is sufficient for testing a virtual PLC communicating with a Siemens S7-1200 over Modbus TCP, or whether a full license is required even for this kind of validation scenario. Thank you in advance for any guidance.
Last updated: 2026-02-25
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
runtime dynamic modbus devices
CODESYS Forge
talk
(Thread)
runtime dynamic modbus devices
Last updated: 2026-02-26
Post by fpawlak on How to register own component - CMAddComponent() or CMAddComponent2()
CODESYS Forge
talk
(Post)
Hi All, I wonder which way is correct or better? I would like to register my own component in order to use it in CMPLog. I can use CMAddComponent() or CMAddComponent2() to do it. The main difference is whether I provide udiCmpId myself or it will be generated by runtime. But I don't know which way is correct. Please look at those two examples below. I don't know if CMAddComponent2() is newer and then should be used? CMAddComponent() + providing my own udiCmpId //16#FFFF0000 for unknown myVendorId := 16#FFFF0000; myLibId := 1; myComponentId := myVendorId OR CMPID_IecCode OR myLibId; componentHandle := CMAddComponent(pszComponent:= 'myComponent', udiCmpId:= myComponentId, udiVersion:= 1, pResult:= ADR(result)); IF componentHandle <> RTS_INVALID_HANDLE AND result = CmpErrors.Errors.ERR_OK THEN LogAdd2( hLogger:= STD_LOGGER, udiCmpID:= myComponentId, udiClassID:= CmpLog.LogClass.LOG_ERROR, udiErrorID:= 0, udiInfoID:= 0, pszInfo:= 'myComponent regidtered succsefull.' ); ELSE LogAdd2( hLogger:= STD_LOGGER, udiCmpID:= CMPID_CmpMgr, udiClassID:= CmpLog.LogClass.LOG_ERROR, udiErrorID:= 0, udiInfoID:= 0, pszInfo:= 'Error while regidtering myComponent.'); END_IF CMAddComponent2() + udiCmpId generated by runtime componentHandle := CMAddComponent2(pszComponent:= 'myComponent2', udiVersion:= 1, udiCmpId:= ADR(myComponentId), pResult:= ADR(result)); IF componentHandle <> RTS_INVALID_HANDLE AND result = CmpErrors.Errors.ERR_OK THEN LogAdd2( hLogger:= STD_LOGGER, udiCmpID:= myComponentId, udiClassID:= CmpLog.LogClass.LOG_ERROR, udiErrorID:= 0, udiInfoID:= 0, pszInfo:= 'myComponent2 regidtered succsefull.' ); ELSE LogAdd2( hLogger:= STD_LOGGER, udiCmpID:= CMPID_CmpMgr, udiClassID:= CmpLog.LogClass.LOG_ERROR, udiErrorID:= 0, udiInfoID:= 0, pszInfo:= 'Error while regidtering myComponent2.'); END_IF
Last updated: 2026-02-27
Codesys ControlWinV3x64 with EtherCat Slave
CODESYS Forge
talk
(Thread)
Codesys ControlWinV3x64 with EtherCat Slave
Last updated: 2026-02-27
Post by yannickasselin on Question about Demo License limitations for Modbus TCP communication and Fieldbus Instances
CODESYS Forge
talk
(Post)
As far as I know, there is no other limitations than the 2 hours limit. The demo mode should be plenty enough for testing purposes. Regarding instances. In the device tree, 1 master = 1 instance, no matter how many slaves the master is communicating with. But it is also possible that your Codesys runtime act as a slave. In this case, each slave in the device tree is one instance. You can also use the license metric tool in the IDE. This will tell you exactly how many instances you have in your project. https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_edt_device_licensed_software_metrics.html
Last updated: 2026-02-28
Question about Demo License limitations for Modbus TCP communication and Fieldbus Instances
CODESYS Forge
talk
(Thread)
Question about Demo License limitations for Modbus TCP communication and Fieldbus Instances
Last updated: 2026-02-28
Post by heman on CODESYS and Github Copilot
CODESYS Forge
talk
(Post)
you might want to have a look at www.plc-assist.com. its an agentic chatbot that connects to you codesys projects.
Last updated: 2026-02-28
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
HMI über Webbrowser
CODESYS Forge
talk
(Thread)
HMI über Webbrowser
Last updated: 2026-03-04
Beobachtungszeitpunkt
CODESYS Forge
talk
(Thread)
Beobachtungszeitpunkt
Last updated: 2026-03-04
Post by stefan-gimpl on Beobachtungszeitpunkt
CODESYS Forge
talk
(Post)
Guten Tag, irgendwas ist hier im Argen, die Status werden nicht richtig angezeigt. Im Bild im Anhang wird die Variable in Zeile 16 CollectiveAlarm auf false gesetzt, es wird aber true angezeigt. In Zeile 17 frage ich testweise den Status nochmals ab, der ist auch false, obwohl die Variable CollectiveAlarm noch immer true anzeigt. Was kann hier die Ursache sein? Gibt es einen Beobachtungszeitpunkt, wann die Werte abgefragt werden?
Last updated: 2026-03-04
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.