Post by bruno-roth on Parker Compax3 controlled by Schneider LMC 201
CODESYS Forge
talk
(Post)
Hello, you could use any CODESYS PLC which has an EtherCAT master and the possibility to run the CODESYS Softmotion.
Last updated: 2026-01-13
Post by osande on Trend/trace data
CODESYS Forge
talk
(Post)
Anyone have problems with trend in lastest release - SP21 Patch5? Does not record data, stores only zeros to the sqlite database and flatliners at zero in trend/trace views. Worked in P4.
Last updated: 2026-03-12
Post by away on Visualization stops responding
CODESYS Forge
talk
(Post)
Hi @spiritcore, Did you find a resolution to this? I'm running into a similar issue using TargetVisu when a user uses the login. It only happens sometimes, and when it does the login/logout buttons still work but the other buttons on the screen don't work.
Last updated: 2026-04-22
Post by timvh on Alarmmanagement – Dynamic Alarm List
CODESYS Forge
talk
(Post)
Probably best to create an alarm template for your motor function block. Then automatically the alarm manager can be filled with all the alarms for all instances of the motor function blocks (based on the created alarm template). See: https://content.helpme-codesys.com/en/CODESYS%20Visualization/_cds_obj_alarm_group_template.html
Last updated: 7 days ago
Post by ph0010421 on Network variable stops sending
CODESYS Forge
talk
(Post)
I'm having right now trouble if the NVL is 'big' and I've needed to reduce the size. It sends for (about) 1 hour then stops.
Last updated: 2 days ago
Post by dim54 on Disabling automatic logout from the owner user
CODESYS Forge
talk
(Post)
Hello! Please tell me how I can disable the automatic logout as the Owner user (CODESYS 3.5 SP15 Path 2). I have to reconnect multiple times during the workday. Thanks!
Last updated: 2026-01-16
Post by arpat on Error, visualisation property handling, VISU_USEPROPERTYINFO
CODESYS Forge
talk
(Post)
For me going to Project -> Project Settings -> Visualisation -> check "Visible" and then check both "Activate property handling ..." and "Activate implicit checks ..." solved the problem.
Last updated: 2026-02-03
Post by mrkm-dic on CODESYS: Combining Master Redundancy with EtherCAT Ring Topology – Is it Supported?
CODESYS Forge
talk
(Post)
Hello, I would like to ask whether it is technically supported (and practically achievable) to combine CODESYS Master Redundancy with EtherCAT ring (loop) redundancy in the same system. System setup CODESYS version: CODESYS 3.5.21.40 CODESYS Control SL for Weidmuller u-OS-4.12.2.0 Controllers (Masters): Weidmuller UC20-M4000 ×2, configured as Active / Standby using CODESYS redundancy EtherCAT Slaves: Weidmuller UR20-FBC-EC ×3, supporting EtherCAT ring / line break detection Topology: EtherCAT ring (loop) Main question Is it officially supported to use: ・CODESYS PLC/Master redundancy (Active/Standby) and ・EtherCAT ring topology (for cable redundancy) at the same time? Expected behavior Our expectation is: ・When the Active PLC fails, the Standby PLC becomes Active ・The Standby PLC then takes over the role of EtherCAT Master ・EtherCAT communication is re-established ・I/O control continues after reinitialization (a short interruption is acceptable; no strict bumpless requirement) We do not expect completely seamless / zero-cycle switchover, but we want to understand: ・Whether this combination is supported by design ・Or whether there are known limitations or restrictions when EtherCAT ring mode is used together with Master redundancy Clarification At this stage, the question is mainly about feasibility and support, not about a specific error message yet. Any official guidance, limitations, or real-world experience would be greatly appreciated. Thank you in advance.
Last updated: 2026-02-05
Post by jslarbaletier on Unable to compare projects containing alarm manager 4.5.0.0
CODESYS Forge
talk
(Post)
Hi! I had the same issue and finally found a solution. Alarm Configuration was located in a “Visualisations” folder. I moved Alarm Configuration directly under “Application”, and the issue was resolved.
Last updated: 2026-02-05
Post by konstantin on Lenze i950 Servo and WAGO PFC200
CODESYS Forge
talk
(Post)
Hello, In our workshop we have a Lenze i950 servo drive that has an EtherCAT bus and CiA402 compatibility. The WAGO is PFC200 750-8212 and as per documentation it has built-in license for SoftMotion Light functionality. It is not capable of supporting the full SoftMotion functionality like gearing and synchronizing. I added the EtherCAT esi files from Lenze and the EtherCAT master does see the drive, then I added a SoftMotion Light Axis object. The problem is that I can only energize the axis, I cannot execute any other commands. I set the positive and negative torque limits from the PDOs to 200% and when I try to move the axis by force it does not move back to its original position. I use the SML function blocks from the PLCOpen library and the error from the function blocks is that the op mode cannot be changed. Then I tried using a standard SoftMotion axis object and everything works fine, except the MC_Home function block. The axis moves back to its position when forced out of it. I follow this guide from Lenze - Lenze i950 CODESYS V3 What could cause this issue with the SoftMotion Light axis object? Best Regards Konstantin Kolev
Last updated: 2026-02-11
Post by risele on AI + Programming
CODESYS Forge
talk
(Post)
It's already fine to use, with help of exporting/importing as PLC_Open, at least CODEX is good in editing directly at XML and/or providing changes description separately.
Last updated: 2026-02-13
Post by risele on CODESYS and Github Copilot
CODESYS Forge
talk
(Post)
You actually can use copilot by PLCOpen XML file exporting/importing. It's fine to work with it directly (at least, the Codex do it quite well).
Last updated: 2026-02-13
Post by fajean on Issue with library updates
CODESYS Forge
talk
(Post)
We make heavy use of internally developed libraries, which are often nested on multiple levels. I routinely work simultaneously on several libraries along with a project that use them. I make changes to a library and immediately perform a download (online or otherwise) in the project. For the longest time, we had zero issue with this. But starting a good while back, with 3.5 SP19 I think, CODESYS started not noticing library updates in other instances most of the time. When the update is missed, the project sees no need to update the code, and any download ignores the new code. A "Clean all" does not solve the issue. But if I close and then re-open the project, then the new version is noticed and the download works. The other solution is saving the library to the registry multiple times (say, 20-30 times, less if lucky), and then at some point the project notices the changed library. I am now on SP21, and it is still not fixed. This is driving me mad, any tasks probably takes me double the time or more due to this problem. My colleague has the same problem on a separate computer. Is this a known issue? Is there a setting somewhere that changes how updates are checked? Thanks for any help!
Last updated: 2026-02-13
Post by pernockham on Unable to deploy "Control for Linux SL 4.18.0.0"
CODESYS Forge
talk
(Post)
Downloaded and installed edge gateway 4.19.0.0. Unfortunately same behavior: "Control for Linux SL" NOT shown in drop lists on either "Deployment" Tab of tool "Deploy Control SL", or as "installed packages" on "Operation" tab (only "CODESYS Edge Gateway for linux" is shown).
Last updated: 2026-02-16
Post by pernockham on Unable to deploy "Control for Linux SL 4.18.0.0"
CODESYS Forge
talk
(Post)
Am I alone in this? Is this a known fault? Should I look for the reason of the lacking update option for "Control for linux SL" in my system or is it a potential fault in the codesys system?
Last updated: 2026-02-17
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 eschwellinger on Unable to deploy "Control for Linux SL 4.18.0.0"
CODESYS Forge
talk
(Post)
can you please check this: https://content.helpme-codesys.com/en/CODESYS%20Control/_rtsl_toubleshooting_deploytool2.html#UUID-b83dc01e-8cff-c574-7efe-8615b95a51ed_section-idm234790234401598
Last updated: 2026-02-19
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 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
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 gordonkeller360 on RS232 Communication in CODESYS Control RTE V3
CODESYS Forge
talk
(Post)
Hi -- Did you have any luck porting this over to RTE? I have a similar situation, where I am using CAA SerialCom and it works fine with Control Win, but I can't open the port when using in RTE. Any advice helps. Thanks!
Last updated: 2026-03-14
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 reinier-geers on CODESYS crashes when adding standard OPC UA Information Model to Communication Manager
CODESYS Forge
talk
(Post)
I only experiance a lot of problems with Version 20 and 21. Version 20 crashes at a online change Version 21 - 5 identical programms in one project. The frist runs. The thirt Crashes. NOt even a screen
Last updated: 2026-03-19
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 timvh on USB Game Controller with Raspberry Pi
CODESYS Forge
talk
(Post)
I'm not sure it will work, but you could try it with the CmpCharDevice library. You could create a function block that looks something like this: As input for the filename, you have to use your Linux device, e.g.: '/dev/input/event0' '/dev/input/by-path/platform-button@23-event' Off course you must also pass the pointer to the memory where the data can be written to and the size (count in number of bytes) of the buffer. FUNCTION_BLOCK FB_CharDevice VAR_INPUT szFilename: STRING; pbyBuffer : POINTER TO BYTE; udCount : UDINT; END_VAR VAR_OUTPUT iState : INT := 0; nrBytesRead : DINT; END_VAR VAR xInit : BOOL := TRUE; dFlags: DINT := CmpCharDevice.ACCESS_MODE.O_RDONLY + DINT#4000; // see details for flags: http://linux.die.net/man/2/open, + DINT#4000 is for non-blocking hDevice: CmpCharDevice.CmpCharDevice_Implementation.RTS_IEC_HANDLE := -1; Result : CmpCharDevice.CmpCharDevice_Implementation.RTS_IEC_RESULT; END_VAR IF xInit THEN hDevice := CmpCharDevice.CDOpen(szFilename, dFlags ,Result); // if it would not succeed, the result is -1 (Invalid handle) IF hDevice <> 16#FFFFFFFF AND Result = 0 THEN iState := 5; END_IF xInit := FALSE; END_IF IF iState = 5 THEN nrBytesRead := CmpCharDevice.CDRead(hDevice, pbyBuffer, udCount, Result); ELSE nrBytesRead := 0; END_IF Make sure you close the connection properly, maybe by overwriting the default FB_Exit method of the FB: // Clean up device IF hDevice <> 16#FFFFFFFF THEN __TRY CmpCharDevice.CDClose(hDevice,Result); __CATCH ; __ENDTRY iState := 0; END_IF
Last updated: 23 hours ago
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.