Post by eschwellinger on Changed Device of Rapberry Pi to MC SL instead of standard SL and cannot connect anymore
CODESYS Forge
talk
(Post)
1) https://store.codesys.com/en/codesys-control-for-raspberry-pi-sl.html -> SL: Restrictions The combination of Raspberry Pi and a CODESYS Runtime is for private use, test and teaching purposes. Commercial use is not permitted. 2) you could switch between them by /etc/codesyscontrol/CODESYSControl_User.cfg [CmpRasPi] Architecture=armv7l for MC: armv7l for SC: armv6l for 64Bit: aarch64 or in the Deploytool:
Last updated: 2025-08-06
Post by alexgooi on Licensing info not available.
CODESYS Forge
talk
(Post)
Dear Eschwellinger, Thank you for the response. Does that mean that the license-manager inside the Codesys-IDE does not work with this setup anymore? Because when I use this I get the notification that there is no dongle attached to the device (see picture). And If I insert the license by the deploy tool, can I then redeploy the Codesys virtual control container, or does this erase the license completely?
Last updated: 2025-09-30
Post by valenting on Problem with Licenced Software Metrics
CODESYS Forge
talk
(Post)
Hi, When I try to install my codesys program with the new application-based licensing, I have an error "it exceeds the scope of the license agreement. See Device > Licensed Software Metrics" In the Licensed Software Metrics section, I see a code size < 3MB and less than 2700 variables in visualiaztions. I'm using a license "Control Basic L" with "Codesys Visualization L" option, so it should be enough with these metrics. What can I do ?
Last updated: 2024-04-22
Post by valenting on Problem with Licenced Software Metrics
CODESYS Forge
talk
(Post)
Hi, I tried with another project, using codesys SP20 with the latest visualization installed, I can install the application on my device but it doesn't work I get an exception "invalid license metrics" and the app won't run See attached the metrics in project and allowed by license, and the logs What am I supposed to do ? Everything is in the newest version and the values are lower than allowed and nothing works...
Last updated: 2024-04-26
Post by yofi on Raspberry Pi 4 POU not running
CODESYS Forge
talk
(Post)
I have this error where the pou doesn't run even for simple programs like contact and a coil if i remove the pou from the task and put another one it works for one run then it stops working again in the photo we can see a contact is on but the coil connected to it is still not on and the device is in run mode I had this issue again and again any help
Last updated: 2024-06-02
Post by yofi on Raspberry Pi 4 POU not running
CODESYS Forge
talk
(Post)
I have this error where the pou doesn't run even for simple programs like contact and a coil if i remove the pou from the task and put another one it works for one run then it stops working again in the photo we can see a contact is on but the coil connected to it is still not on and the device is in run mode I had this issue again and again any help
Last updated: 2024-06-02
Post by turndapage on Can't Add Symbol Configuration
CODESYS Forge
talk
(Post)
I've got a Weintek HMI with CodeSYS built-in. I've got it connecting to CodeSYS and downloaded. The connection guide says I need to add a symbol configuration by right-clicking on the application and adding it, but it does not show up in the available objects. Is there something else I have to do to create a symbol configuration object?
Last updated: 2023-10-04
Post by mmpl on Array to String
CODESYS Forge
talk
(Post)
I would like to create one large JSON string from an array of objects, where each object contains a value. My current approach involves using a for loop and string concatenation, but with 20,000 elements in the array, this method takes almost 7 seconds and negatively affects the PLC scan time. Is there a more efficient way to accomplish this?
Last updated: 2024-07-18
Post by mmpl on Array to String
CODESYS Forge
talk
(Post)
I would like to create one large JSON string from an array of objects, where each object contains a value. My current approach involves using a for loop and string concatenation, but with 20,000 elements in the array, this method takes almost 7 seconds and negatively affects the PLC scan time. Is there a more efficient way to accomplish this?
Last updated: 2024-07-18
Post by trusty-squire on CNC - How to manipulate SMC_GeoInfo objects
CODESYS Forge
talk
(Post)
Sometimes you just need to pose a question on a forum and re-read it to get clarity. pGeoInfo := SMC_GetObj(poq:=ADR(fbCncInterpreter.poqDataOut), n:=1); This won't work, I'm providing a pointer to a pointer, as poqDataOut is already a pointer! I just need to remove the ADR() and it works. pGeoInfo := SMC_GetObj(poq:=fbCncInterpreter.poqDataOut, n:=1);
Last updated: 2024-07-26
Post by rafaelbrito on The element of type 'VisuFbElemImage' could not be updated. Reason: Index was outside the bounds of the array.
CODESYS Forge
talk
(Post)
When trying to use the Visualization ToolBox, no objects appear and the following error appears. Could you tell me what this error could be? The element of type 'VisuFbElemImage' could not be updated. Reason: Index was outside the bounds of the array. Can anyone tell me what this error is?
Last updated: 2024-12-03
Post by timvh on PLCOpenXML Export/Import with Visualisation
CODESYS Forge
talk
(Post)
A Task is a standard IEC 61131-3 object, so logically that you can export the VISU_TASK. A visualization is no standard IEC 61131-3 object, so not compatible with other IEC tools. Just use the standard export / import functionality. These files are not IEC compatible and can only be used in CODESYS. But these do support visu objects.
Last updated: 2025-01-09
Post by e13740e on Сalling the context menu from the keyboard
CODESYS Forge
talk
(Post)
Hello. I have a question for you, perhaps you have an answer to it. Regarding calling the Context menu from the keyboard in Devices, specifically calling the context menu window from the keyboard via an assigned combination. Goal: to have the ability to navigationally add internal Objects (Methods, Properties) to Function Blocks from the keyboard without using the mouse. The Codesys environment interface does not allow Windows access to this via Shift+F10. Externally (outside the Codesys environment), the hotkey call for the context menu (Shift+F10) from the keyboard works in various environments, but at the same time, in Codesys it does not (it doesn't work). I have already tried various options on my own to achieve this (but unsuccessfully): Tools\Customize\Keyboard\Objects (the set combination does not give the desired result) Tools\Customize\Keyboard\Objects... (the set combination is extremely useful as it provides access to adding objects directly to Devices but does not provide the ability to add an internal object (Method/Property) to a Function Block). Thank you in advance for your help!!! P.S. I have already started trying to implement a script-based solution to call the context menu via AutoHotkey - by relocating the mouse cursor to the area of the navigational selection with a subsequent call of the context menu on it and relocating the mouse cursor back to its initial position. And in order not to "reinvent the wheel," I am writing this request to you!!!
Last updated: 2025-10-05
Post by e13740e on Сalling the context menu from the keyboard
CODESYS Forge
talk
(Post)
Hello. I have a question for you, perhaps you have an answer to it. Regarding calling the Context menu from the keyboard in Devices, specifically calling the context menu window from the keyboard via an assigned combination. Goal: to have the ability to navigationally add internal Objects (Methods, Properties) to Function Blocks from the keyboard without using the mouse. The Codesys environment interface does not allow Windows access to this via Shift+F10. Externally (outside the Codesys environment), the hotkey call for the context menu (Shift+F10) from the keyboard works in various environments, but at the same time, in Codesys it does not (it doesn't work). I have already tried various options on my own to achieve this (but unsuccessfully): Tools\Customize\Keyboard\Objects (the set combination does not give the desired result) Tools\Customize\Keyboard\Objects... (the set combination is extremely useful as it provides access to adding objects directly to Devices but does not provide the ability to add an internal object (Method/Property) to a Function Block). Thank you in advance for your help!!! P.S. I have already started trying to implement a script-based solution to call the context menu via AutoHotkey - by relocating the mouse cursor to the area of the navigational selection with a subsequent call of the context menu on it and relocating the mouse cursor back to its initial position. And in order not to "reinvent the wheel," I am writing this request to you!!!
Last updated: 2025-10-05
Post by paulpotat on cm4 runtime problem
CODESYS Forge
talk
(Post)
It looks like it works with 4.13.0.0 indeed. However when installing the runtime, it's not possible to select the multicore option (see attachment). But once the 4.13.0.0 runtime is installed, the logs seems to indicate that the runtime is running in multicore mode. Looking at "htop" output, it seems like it actually is running on multiple CPU. This is very misleading, is it normal or is this a bug ? Thank you for your answer @eschwellinger, BR
Last updated: 2024-09-02
Post by zatalian on Codesys Control for Raspberry Pi 4.10.0.0 - Raspberry Pi OS > 2023-12-05
CODESYS Forge
talk
(Post)
There seem to be problems with the latest version of raspberry pi os 64bit (I used the lite version). The codesys control runtime crashes after a few seconds. The same runtime works on the raspberry pi image from 2023-10-10 When starting the runtime from the commandline, i get the following error: ooops... this runtime was build for RASPBERRYPI. Hardware version or firmware version not supported! (and yes, I'm running this on a raspberry pi :-)
Last updated: 2023-12-11
Post by bbmussatto on Connetion with Topcon Opus B3 ECO Full display
CODESYS Forge
talk
(Post)
I have a Topcon Opus B3 ECO Full display and i wanna program it with codesys, but i cant connect it to the display. After creating a new project, i choose the device "Opus B3-B4-B6-3.5.19.50" that is already available in my version of codesys, but i think the problem is that my version of codesys or something else is not the same as the codesys runtime version running on my display. Can anyone tell me how i can see the codesys runtime version on my display? i tried looking in the settings (Daemon > CDS) on the display, but all i see is "N/A" for "Customer Number", "Customer Part Number" and "Customer Serial Number". Can anyone help me make this connection?
Last updated: 2025-10-07
Post by fpawlak on KNX SL on stock PFC200 firmware
CODESYS Forge
talk
(Post)
Hi All. Is it possible to use CODESYS KNX SL on stock Wago firmware (Codesys version, not e!Cockpit). I have Wago 750-8212 with firmware 0.4.04.03(26). When I tried to run 'KNX SL' or even 'Device Reader', I have got [FATAL ERROR] Unresolved reference: 'CODEMGETCONTENTBYFIRMCODE3' [FATAL ERROR] Unresolved reference: 'CODEMGETCONTENTBYFIRMCODE2' [FATAL ERROR] Unresolved reference: 'CODEMGETCONTENTBYFIRMCODE2' What probbalby means that there is no running CodeMeter component on PLC. I have checked /etc/codesys3.d/CODESYSControl.cfg [CmpWebServer] WebServerPortNr=58080 [CmpSecureChannel] CertificateHash=86ccf31839a098ee32067179e26600f1bd6b36f8 [CmpUserMgr] AsymmetricAuthKey=a9d38381e75bbf1bbfc8749e97f536f68238a2ce So the question is if I can somehow add Codemeter to stock firmware? Or should I switched to CODDESYS Control for PFC200 SL or application-base runtime licence?
Last updated: 2024-05-23
Post by jroddball79 on PM556-TP-ETH — How to change IP address without overwriting the PLC program?
CODESYS Forge
talk
(Post)
Still looking for a solution. I have gathered more information that might help: Device: ABB AC500 PM556-TP-ETH Firmware version: 2.4.2.14993 (dated 2014) Open ports confirmed: 502 (Modbus TCP), 1200 and 1201 (CODESYS runtime). SSH (22) and HTTP (80) are not reachable. No SD card in the PLC. I can connect via Automation Builder using the current IP and Online Login works, but I have no original source project available. Automation Builder requires a full PLC download to apply IP changes, which we want to avoid as it would overwrite the running program. Any guidance on how to change the IP without a full download would be greatly appreciated. I am also open to solutions using third party tools, DCP protocol, or scripts. Thank you
Last updated: 2026-05-22
Post by dvmaris on Control for Linux ARM64-User Management issue
CODESYS Forge
talk
(Post)
I'm trying to work with Codesys Control for Linux ARM64 SL 4.18.0.0 on a Toradex Verdin NXP iMX8MP. I have the runtime installed and operational as well as Codemeter lite 8.40.7141.503 (arm64). I'm running 3.5.20.60 and when "Scan Network" I see the Verdin popup. When I try to connect to it, the "mandatory use of the user management" popup shows...which makes sense. I click YES and enter user information and click OK. It immediately displays a "No device is responding to the scan request" popup. The IDE can see the Verdin in the scan...so this popup does not make sense to me. I thought maybe it was a read only issue but I've made all partitions and paths RW. Has anyone experienced this? Can anyone tell me where it is trying to write user data?
Last updated: 2026-02-11
Post by thierry-b on Blocking UDP ports 1740–1743 and 22350 to disable CODESYS network scan (startup + device discovery)
CODESYS Forge
talk
(Post)
Hello, I am currently investigating the network behavior of CODESYS 3.5 (IDE + Gateway) in environments where the engineering workstation is connected to a very large /16 network. In such networks, the automatic device scan performed at IDE startup (and the manual “Scan Network” device discovery) can cause significant delays or freezes, due to the broadcast‑based discovery mechanism. After analyzing the traffic with Wireshark, I identified that the IDE uses the following UDP ports: 1740 – broadcast discovery 1741 – handshake / responses 1742 – fallback discovery 1743 – fallback handshake 22350 – additional runtime / gateway communication (WAGO, debug, extended discovery) To prevent the IDE from scanning the large /16 network, I tested blocking these ports in both directions (IN/OUT) on the network interface connected to the /16 segment (while keeping them open on the OT /24 network interface). Result: When UDP 1740, 1741, 1742 and 1743 are blocked on the IT interface, the IDE no longer sends any discovery traffic on that interface. The IDE still works normally on the OT interface (device discovery, online mode, download, etc.). Blocking port 22350 does not seem required to stop the scan, but I included it for completeness. My question: => Can you confirm that blocking UDP ports 1740, 1741, 1742, 1743 (and optionally 22350) on a specific network interface is a valid and supported way to completely disable the CODESYS IDE network scan on that interface (both at startup and during manual device discovery)? I am not trying to block communication with controllers on the OT network — only to prevent the IDE from scanning the large /16 IT network. Any confirmation or additional technical details about the discovery mechanism would be greatly appreciated. Thank you.
Last updated: 2026-03-31
Post by ranadheer on PHOENIX CONTACT Axioline PLCnext project in CodeSys SodftPLC
CODESYS Forge
talk
(Post)
Hello Everyone, I'm working on a CODESYS Standard Project using CODESYS Control Win V3 x64 with Structured Text. The goal is to integrate a Phoenix Contact device coupler (Part ID: BK PN TPS 2403869) via PROFINET. Here am using the CODESYS V3.5 SP21 PATCH2 ,VERSION 3.5.21.20 , and Downloaded extension package 4.16.0.0 (old versions are not available in the extension CodeSys installer) Devices used here are: BUS COUPLER : 2403869 BK PN TPS Module carrier slot 1 : 1088127 AXL SE DI16/1 Module carrier slot 2 : 1088062 AXL SE AI4 | 4-20 Module carrier slot 3 : 1088129 AXL SE DO16/1 Module carrier slot 4 : 1088123 AXL SE AO4 | 4-20 -->Start a New Project Type: Standard Project Device: CODESYS Control Win V3 x64 Language: Structured Text -->Install GSDML File Navigate to: Tools > Device Repository > Install Select the GSDML file path (downloaded from Phoenix Contact for device coupler Part ID: BK PN TPS 2403869) Click Renew Device Repository Close the dialog -->Add Device to Project -->Right-click on Devices > Add Device Issue: Devices from the repository are not available to select or call into the project! I’d really appreciate any guidance or suggestions you can offer. Best Regards Ranadheer Reddy
Last updated: 2025-09-09
Post by akrawczyk on Dynamically enabling/disabling Modbus slave devices in runtime (performance issue with timeouts)
CODESYS Forge
talk
(Post)
Hi everyone, I'm working on a CODESYS-based project running on a Weintek cMT2078X HMI with a built-in CODESYS runtime. The system communicates with multiple Modbus RTU slave devices, arranged in a cascade. The number of connected units can vary between 2 and 8, depending on the installation. Each slave has 17 Modbus channels, which are polled cyclically every 5 seconds. The issue is that when fewer devices are physically connected (e.g. only 3 out of 8), the Modbus master still attempts to communicate with all configured slaves. This leads to massive delays due to timeouts (currently 200ms per channel). For one disconnected device, that’s: 17 × 200ms = 3.4 seconds of delay per polling cycle, and this quickly multiplies with each additional missing slave. This behavior significantly degrades the system's performance and responsiveness. We attempted a workaround where we tried to trigger polling based on a variable in the PLC program, but this caused instability and even led to hardware hangs/freezes on the cMT2078X – likely due to clashes in how the Modbus polling engine and program logic interact at runtime. My main questions are: Is there a way in CODESYS to dynamically enable/disable Modbus slave devices at runtime, using a BOOL or INT variable (e.g. indicating number of active slaves)? Can devices or channels be conditionally polled or temporarily disabled without removing them from the device tree? Are there any best practices or examples for handling variable numbers of Modbus slaves in scalable systems like this? Would splitting communication across tasks or interfaces help reduce the impact of timeouts? Any advice, documentation references, or architectural suggestions would be extremely helpful. I'm looking for a robust way to dynamically scale slave polling without degrading system stability or performance. Thanks in advance!
Last updated: 2025-08-11
Post by nizrahel on OpC UA server on Raspberry Pi 64 SL runtime
CODESYS Forge
talk
(Post)
Hi all! I'm working on an home project using a Raspberry Pi 3 device with Codesys for Raspberry Pi 64 SL runtime. I would like to create the HMI interface with Siemens WinCC Unified (or Advanced) configuring the Raspberry as OPC UA server. I tryed everything, but I didn't find the way to let the OPC UA connection works using UaExpert. I tryed to use anonymous connection, authenticated connection and the ip address instead of the server name in the path connection. There is no way to connect to the OPC UA server and I was asking myself if this feature is really supported for the runtime version used. Another strange thing I noted, is that is not possible to quickly create an OPC UA certificate in the Security Screen, as show in any tutorials. I have correctly created the Symbol Configuration enabling the OPC UA feature. I attach to this topic some printscreen of the actual configuration (sorry for the italian language interface, but I didn't find the way to switch to english). Thank you very much in advance for your support and advices!
Last updated: 2023-12-03
Post by docker on Canopen connection. Unknown node id.
CODESYS Forge
talk
(Post)
hi, i am currently trying to adapt an i/o device for a project. the node id is unknown and there is no eds file available. no data is being emitted from the device as a giveaway, the baudrate is known but useless without the node id. is there an sdo request available to determine the id? i cannot get the device to leave pre op status even with a global nmt request. please help. no hair left.
Last updated: 2023-09-25
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.