Post by simotion on Codesys Softmotion Win V3 x64
CODESYS Forge
talk
(Post)
I have a project in Codesys v3.5 sp19 patch2 that contains softmotion virtual axes. I want to simulation the code (softmotion) on the simulated plc on the pc. The controller in the project is a Codesys Softmotion Win V3 x64. I have started up the Codesys Softmotion Win 64 on the pc. However it seems a 3.5 sp14 controller. When trying to download the project, I get a message that target system is different from connected system (3.5.19 vs 3.5.14). How do I set the connected system to 3.5.20 (there seems no way to set the target system to 3.5.14
Last updated: 2023-10-04
Post by appling on License status of Linux 64Bit runtime via CLI
CODESYS Forge
talk
(Post)
Hi, I have a Linux 64Bit system with a Codesys application running on it. It stops after 2hours and a few minutes, which makes me think something is wrong with the installed license. (in my last timing it stopped after 2h4min, on the codesys website it is stated that runtimes without a license stop after 2h) I installed the license via a USB license dongle that I activated on my workstation with the Codesys IDE a while ago. Now the system is shipped at not accessible physically, only remotely via SSH. So is there a way to check the status of the License of the Codesys runtime when it is running on the system? Running the codesyscontrol script with "status" just tells me that it is running, but does not provide any license information. Best regards
Last updated: 2023-12-04
Post by mubeta on Reset problem with CMZ SD/SVM drive
CODESYS Forge
talk
(Post)
In a recent project with SoftMotion 4.15.0.0, where I integrated two SD drives from CMZ (from catalogue EDS and not imported), on CANopen bus, I found that the SoftMotion MC_Reset function does not reset the drive faults. Even if the drive is in fault, either on the device or on the drive at the CoDeSys level, the function does not reset, instead reporting the error code: no error to reset. Finally, I had to connect the reset bit of the ControlWord directly to a tag in my program. Something I never had to do on other drives: Lexium, etc. all reset simply with MC_Reset.
Last updated: 2024-07-24
Post by lukebouchard on NVL generating ADwin packets instead of UDP?
CODESYS Forge
talk
(Post)
Using Codesys 3.5 SP11 32bit to program a pair of IFM CR711S controllers. They each have an NVL sender and are set up to receive each others messages. One is transmitting properly but not receiving, the other is receiving the first's messages just fine. When I look at the traffic in wireshark, I can see the one transmitting properly as UDP packets on the subnet and port I had specified. The Second is transmitting on the right subnet and port, but is sending 'ADwin Config' packets. Has anyone run into anything simmilar? From some reading on ADwin from google, nothing is enlightening. Both are set up in the same way, have their own ports and List Identifiers. I have deleted the NVL files and regenerated them, cycled power, and even deleted and remade the NVL's so many times.
Last updated: 2024-08-24
Post by yannickasselin on codesys VLAN tagging
CODESYS Forge
talk
(Post)
I ordered a cheap managed switch and tested it as soon as I received the switch. It works great! I even went a bit further. As you can see in the screenshot, I created 2 Codesys containers. Each one having 2 fieldbuses. The first one has EtherCAT and EtherNet/IP and the second one has EtherCAT and Modbus/TCP. All going through the same ethernet port from the PC to the switch. The switch splits it up into 4 different networks. The hardest part was to figure out how to configure the switch. @eschwellinger, thank you very much.
Last updated: 2024-09-17
Post by andrax on CodeSys Raspberry pi I2C driver not found
CODESYS Forge
talk
(Post)
Ok, with debug you suppress the errors, but that doesn't help you any further. You can find information about the missing drivers here https://forge.codesys.com/forge/talk/Runtime/thread/8981ce928a/ and here https://github.com/stefandreyer/I2C-Multiplex I'll have to have another look at which library you need. But you can easily find out. Create a completely empty project and insert the TCA9548. You don't need the board. Then look in the library and resolve all conflicts If you can compile the project without errors, delete the TCA9548 and insert the ADS1115. The driver should then also run. Small bonus: with the TCA9548 you can expand your network as you wish and use identical sensors multiple times
Last updated: 2024-11-08
Post by hyys12 on CODESYS 3.5 dicovery of PLC modules
CODESYS Forge
talk
(Post)
I have a WAGO PLC, to which I am establishing a connection. Here I use the autodiscover to register the connected modules. Now, I have tested the in-/outputs of the different modules, to verify they are consistent with how they are physically connected to the PLC in regards to how CODESYS has numbered them. Will CODESYS always number the modules closest to the PLC itself lowest, and the one furthest away, the highest? I am rather new to the program, so I both hope my question makes sense, as well as not being completely obvious. Thanks!
Last updated: 2024-12-06
Post by edson-bueno on IFM Controller Connection Issue
CODESYS Forge
talk
(Post)
Hi, Could you please send an print of your ethernet adapter info? Ip addr Subnet Mask Default Gateway Also, check if the gateway service is active in your windows. Win+R > services.msc > Look in the list CODESYS Control Win V3 x64 Gateway OR CODESYS Gateway V3 Hook up the M12 code D into the ETH port, supply the controller, it should apperars to you. Make sure when you try to connect with the controller, the target of your project has to match with the controller. Otherwise, click on the device in the devices tree > Communications Settings tab > Device > Options > And disable "Filter Network Scans by Target ID". Good luck.
Last updated: 2025-05-29
Post by andrax on Save Recipe on Paspberry
CODESYS Forge
talk
(Post)
Unfortunately not. The folder does not work. There are neither error messages nor any other indication that this may be due to missing rights. I have searched the entire forum and also tested the Codesys example. The simple recipe management generally does not work! The Raspi crashes with the extended recipe management from the example. I have now found another sample that works. https://forge.codesys.com/forge/talk/Engineering/thread/61c6a04b79/ Many thanks to mcodem. After some trial and error I have found out: xcreate must be called at least once at runtime. After that xload_write and xread_save work All other functions do not work. It is also possible to save to the /home/Documents folder. So it is not due to the rights. It would be nice if Codesys would check where the problem really lies.
Last updated: 2023-12-30
Post by adaffern on Runtime on Raspberry pi5 stops after 15 seconds
CODESYS Forge
talk
(Post)
Hi Guys, I'm new to CODESYS on the pi and I'm struggling to get it working. My issue is that the runtime keeps stopping after approximately 15 seconds. I have installed the runtime package 4.11.0.0 on the pi, trying on both a 64 bit and 32 bit OS. Looking at old forums it all references the 4B and the fact they used 32 bit Debian bullseye (the last version of raspberry pi os) however the pi 5 doesn't offer this version when I try select it in the imager. Has anyone managed to get running using the pi 5? Any help would be greatly appreciated. Thanks, Adam
Last updated: 2024-06-10
Post by timvh on Codesys v3.5.22.10 - Fail to create a project Archive
CODESYS Forge
talk
(Post)
There is an issue with adding the visu styles to the archive with Visu add-on 4.9.0.0 and 4.9.1.0. When you create the projectarchive disable the option to add the style(s) to the archive. CODESYS support informed me it will be fixed with visu add-on 4.10.0.0 (May 26th 2026). An alternative is to start CODESYS as Administrator. Then it will work with styles as well. You could start CODESYS as Administrator by first opening the CODESYS Installer. At the bottom you can select to start the Installer as Administrator. If you do this and then start the CODESYS version from this installer, it will work.
Last updated: 2026-04-25
Post by rossanoparis on After un upgrade of "CODESYS Control for Raspberry Pi MC SL" from v4.7 to v4.9 SysFileOpen function stopped working
CODESYS Forge
talk
(Post)
Hello at all. After un upgrade of "CODESYS Control for Raspberry Pi MC SL" from v4.7 to v4.9 SysFileOpen function stopped working. I'm not able to read or write files from the PLC application. Before this upgrade all worked fine. I've read this thread [ https://forge.codesys.com/forge/talk/Engineering/thread/3da9ded84e/ ] Despite I followed that indications I couldn't get my code working again. Perhaps I'm missing something or I didn't understand how to use placeholders at all. Is there a different syntax to use for "SysFileOpen" in order to use placeholders? Thanks in advance for your help. Information Compiler: CODESYS V3.5 SP19 Patch 2 Runtime: codesyscontrol 4.9.0 HW: KUNBUS RevPi Connect S Below the paths I want to access (The entire CODESYSControl_User.cfg file is attached) [SysFile] PlaceholderFilePath.1=/home/pi/hpca/bin, $hpcabin$ PlaceholderFilePath.2=/home/pi/hpca/cfg, $hpcacfg$ PlaceholderFilePath.3=/home/pi/hpca/logs, $hpcalogs$ PlaceholderFilePath.4=/home/pi/hpca/resources, $hpcares$
Last updated: 2023-08-22
Post by macman on Codesys 3.5 OPC UA Client to Kepware OPC UA Server
CODESYS Forge
talk
(Post)
Hi, I have problem with connecting Wago PLC WAGO 750-8212/0025-0002 configured as OPC UA client to Kepware OPC UA Server. I am using Codesys 3.5.19.70. What I did so far. To the Codesys project I added object Data Source Manager and configured connection OPC UA like below: pic 1 Then I can browse the OPC server tags in “Variables” tab after prior trust on the server side of the client certificate created in the “Communication” tab: pic 2 Additionally second certificate has been created in Codesys for runtime process in “Security screen” as well as the server certificate was approved here: pic 3 But when I compiled project, downloaded it to PLC and go to RUN I can’t read selected in “Variables” tab, OPC Server tags. I am getting such error (ID: 7001): pic 4 All two PLC certificates has been trusted in OPC server (Kepware) side: pic 5 and Kepware server configuration look like this: pic 6 I can easily connect using third party OPC UA client UaExpert to Kepware server without problem. In attachment I added also log from Kepware OPC UA server. pic # - this specifies the number of a concrete graphic from one of the collective in attachment
Last updated: 2025-04-02
Post by timl on Application has invalid license metrics
CODESYS Forge
talk
(Post)
Hallo, ich habe eine Control for Linux SL auf der ich einen TCP Modbus Master anlege, mit dem ich einen Slave auslesen möchte. Das Anlegen funktioniert soweit alles, sobald ich beim ModbusTCPSlaveE/A-Abbild in den Channel eine Variable einfüge, damit ich den Channel auslesen kann, kommt es beim übertragen auf die SPS zu einem Ausnahmefehler. Im Anhang noch eine Bilder der Fehlermeldung und der installierten Lizenzen. CODESYS Version ist V3.5 SP19 Patch 4 Meinem Verständnis nach ist die Modbus Lizenz mit in der Control Standard L inbegriffen und auch in der Lizensierten Softwaremetrik sehe ich keine überschreitung meiner Lizenzbegrenzungen. Daher verstehe ich nicht wieso ich diesen Fehler bekomme und eine auslesung via Modbus nicht möglich ist. Gruß Tim
Last updated: 2024-05-08
Post by alexschooneveld on OPC UA PubSub SL 1.3 — UADP WriterGroup with assigned PSS.SecurityGroup still publishes plaintext
CODESYS Forge
talk
(Post)
I am currently investigating an OPC UA PubSub connection over UDP. When I don't use encryption, the publish and subscribe are working correctly. But with encryption it does not. Environment OPC UA PubSub SL 1.3.0.0 (namespace UADP) OPC UA PubSub Security 1.3.0.0 (namespace PSS) OPC UA PubSub Base 1.3.0.0 (namespace PSB, incl. PSS.SecurityGroup / PSS.CONFIG) Programmatic PubSub in a CFC: UADP.Configuration → UADP.Connection → UADP.writerGroup → UADP.writer → writerDataSet, plus a CyclicCall gated by xEnable. Goal: publish secured UADP, SignAndEncrypt, policy PubSub-Aes256-CTR. What I do (one-shot, before xEnable := TRUE): fbSecurityGroup.SetInitialValue( 'http://opcfoundation.org/UA/SecurityPolicy#PubSub-Aes256-CTR', PSB.SECURITY.SIGNING_AND_ENCRYPTION); stSecurityCfg := fbSecurityGroup.GetConfig(eErrorID => eError); // eError=NO_ERROR, udiEncryptionKeySize=32 eError := fbSecurityGroup.SetSecurityKeys(udiTokenId, ADR(abyKey), SIZEOF(abyKey), 2436001000); // eError=NO_ERROR, SIZEOF=68 // writerGroup.itfSecurityGroup := fbSecurityGroup -- set in the WriterGroup block's Parameters (a per-scan code write got overwritten) What I verified eError = NO_ERROR after both GetConfig and SetSecurityKeys; udiEncryptionKeySize = 32. Key length = 68 bytes (signing 32 ‖ encrypt 32 ‖ nonce 4). itfSecurityGroup is set via the WriterGroup's Parameters (so it isn't clobbered each scan). Init runs before xEnable (the writer doesn't run with xEnable=FALSE). The UADP.writerGroup FB exposes only itfSecurityGroup for security — no SecurityMode/MessageSecurityMode property. Result: the published datagrams are still plaintext — ExtendedFlags1 = 0x01 (security bit 0x10 clear), no security header: b1 01 29 00 0f 16 00 … (PublisherId 41, WriterGroupId 22, RawData, no security) Questions With UADP.writerGroup, is assigning a configured + keyed PSS.SecurityGroup to itfSecurityGroup sufficient to enable message security, or is there an additional step/property/method to switch the WriterGroup to SignAndEncrypt? At what point in the WriterGroup lifecycle is itfSecurityGroup read? Must it be assigned/keyed before xActive, and does the group need a stop→start to pick it up? Is there a required call order, and does SetSecurityKeys need to be called once or repeatedly? Should security be configured on the Connection/Configuration level rather than (or in addition to) the WriterGroup? Is there a working example of secured (SignAndEncrypt) programmatic UADP publishing with this library, or a known limitation in 1.3? How can I read back at runtime whether security is actually active (via itfDiagnostics or similar)? Additional information I can confirm that the consumer side works — i.e. a standard subscriber decrypts the same keys fine — so the keys/profile aren't the issue. The Wireshark capture of the published message is: 0000 b1 01 29 00 0f 16 00 df 0d bb 25 01 00 0e 00 1b ..).......%..... 0010 0e 00 00 00 00 00 00 00 ........
Last updated: 2026-06-22
Post by alexschooneveld on OPC UA PubSub SL 1.3 — UADP WriterGroup with assigned PSS.SecurityGroup still publishes plaintext
CODESYS Forge
talk
(Post)
I am currently investigating an OPC UA PubSub connection over UDP. When I don't use encryption, the publish and subscribe are working correctly. But with encryption it does not. Environment OPC UA PubSub SL 1.3.0.0 (namespace UADP) OPC UA PubSub Security 1.3.0.0 (namespace PSS) OPC UA PubSub Base 1.3.0.0 (namespace PSB, incl. PSS.SecurityGroup / PSS.CONFIG) Programmatic PubSub in a CFC: UADP.Configuration → UADP.Connection → UADP.writerGroup → UADP.writer → writerDataSet, plus a CyclicCall gated by xEnable. Goal: publish secured UADP, SignAndEncrypt, policy PubSub-Aes256-CTR. What I do (one-shot, before xEnable := TRUE): fbSecurityGroup.SetInitialValue( 'http://opcfoundation.org/UA/SecurityPolicy#PubSub-Aes256-CTR', PSB.SECURITY.SIGNING_AND_ENCRYPTION); stSecurityCfg := fbSecurityGroup.GetConfig(eErrorID => eError); // eError=NO_ERROR, udiEncryptionKeySize=32 eError := fbSecurityGroup.SetSecurityKeys(udiTokenId, ADR(abyKey), SIZEOF(abyKey), 2436001000); // eError=NO_ERROR, SIZEOF=68 // writerGroup.itfSecurityGroup := fbSecurityGroup -- set in the WriterGroup block's Parameters (a per-scan code write got overwritten) What I verified eError = NO_ERROR after both GetConfig and SetSecurityKeys; udiEncryptionKeySize = 32. Key length = 68 bytes (signing 32 ‖ encrypt 32 ‖ nonce 4). itfSecurityGroup is set via the WriterGroup's Parameters (so it isn't clobbered each scan). Init runs before xEnable (the writer doesn't run with xEnable=FALSE). The UADP.writerGroup FB exposes only itfSecurityGroup for security — no SecurityMode/MessageSecurityMode property. Result: the published datagrams are still plaintext — ExtendedFlags1 = 0x01 (security bit 0x10 clear), no security header: b1 01 29 00 0f 16 00 … (PublisherId 41, WriterGroupId 22, RawData, no security) Questions With UADP.writerGroup, is assigning a configured + keyed PSS.SecurityGroup to itfSecurityGroup sufficient to enable message security, or is there an additional step/property/method to switch the WriterGroup to SignAndEncrypt? At what point in the WriterGroup lifecycle is itfSecurityGroup read? Must it be assigned/keyed before xActive, and does the group need a stop→start to pick it up? Is there a required call order, and does SetSecurityKeys need to be called once or repeatedly? Should security be configured on the Connection/Configuration level rather than (or in addition to) the WriterGroup? Is there a working example of secured (SignAndEncrypt) programmatic UADP publishing with this library, or a known limitation in 1.3? How can I read back at runtime whether security is actually active (via itfDiagnostics or similar)? Additional information I can confirm that the consumer side works — i.e. a standard subscriber decrypts the same keys fine — so the keys/profile aren't the issue. The Wireshark capture of the published message is: 0000 b1 01 29 00 0f 16 00 df 0d bb 25 01 00 0e 00 1b ..).......%..... 0010 0e 00 00 00 00 00 00 00 ........
Last updated: 2026-06-22
Post by yannickasselin on Lenze i950 Servo and WAGO PFC200
CODESYS Forge
talk
(Post)
In order to use SoftMotion Light, a servo drive needs to support CiA 402 operating modes: Profile Position (PP), Profile Velocity (PV) and Homing Mode (HM). https://content.helpme-codesys.com/en/CODESYS%20SoftMotion%20Light/_sm_light_requirements.html According to the Lenze i950 documentation you linked in your post, none of these modes are supported. Not even Homing Mode which explains why MC_Home does not work even with the full SoftMotion. The full SoftMotion uses Cyclic Synchronous Position Mode (CSP) but still uses Homing Mode (HM) when using MC_Home. You can monitor PDO 0x6060 (Mode of Operation). When using SoftMotion Light you will see it set to 1 (PP) for a MC_MoveAbsolute_SML and MC_MoveRelative_SML and to 3 (PV) for MC_MoveVelocity_SML and to 6 (HM) for MC_Home_SML. When using the SoftMotion instructions, it will pretty much always be set to 8 (CSP) except when using MC_Home, then it will be set to 6 (HM).
Last updated: 2026-02-13
How to configure CODESYSControl_User.cfg in order to use a specific network card for OPCUA Server
CODESYS Forge
talk
(Thread)
How to configure CODESYSControl_User.cfg in order to use a specific network card for OPCUA Server
Last updated: 2023-08-28
Post by martinlithlith on CODESYS Control for Raspberry Pi SL on Raspberry Pi 4b
CODESYS Forge
talk
(Post)
Hi! Thanks for your reply! I'll have a go then!
Last updated: 2023-09-06
Ethercat scan for devices not picking up EL7041 as a softmotion axis
CODESYS Forge
talk
(Thread)
Ethercat scan for devices not picking up EL7041 as a softmotion axis
Last updated: 2023-09-18
Is it possible to replace a table row header for a text in a text list?
CODESYS Forge
talk
(Thread)
Is it possible to replace a table row header for a text in a text list?
Last updated: 2021-10-21
Which kinds of data is transferred with 'Scan for devices' command?
CODESYS Forge
talk
(Thread)
Which kinds of data is transferred with 'Scan for devices' command?
Last updated: 2020-12-14
Codesys 3.5.19 Control Win x64 - network adapter for EtherCAT master not working
CODESYS Forge
talk
(Thread)
Codesys 3.5.19 Control Win x64 - network adapter for EtherCAT master not working
Last updated: 2023-11-22
Migration von "CODESYS Control for PFC200 SL" zu WAGO FW26 "CODESYS V3.5.19.2"
CODESYS Forge
talk
(Thread)
Migration von "CODESYS Control for PFC200 SL" zu WAGO FW26 "CODESYS V3.5.19.2"
Last updated: 2023-11-23
How to configure gateway for programming RPi 2B using Codesys
CODESYS Forge
talk
(Thread)
How to configure gateway for programming RPi 2B using Codesys
Last updated: 2024-07-10
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.