Post by dogulas on OPC UA C# client connecting to OPC UA CODESYS server
CODESYS Forge
talk
(Post)
Ok, I have a simple test environment. From C#, using OPC UA, I can read DINTs, write DINTs, read Structs, but when I try to write a struct I get BadNotWritable. I am using Communication Manager, OPC UA Server, and IEC Symbol Publishing. I have a struct defined with one single DINT in it. The instance of the struct is in GVL. The struct is marked read/write in IEC Symbol Publishing. Any ideas? Pointers are welcome. public static async Task WriteStructA(byte[] structAData) { if (_session == null) throw new Exception("session is null"); // create a RequestHeader RequestHeader requestHeader = new RequestHeader { Timestamp = DateTime.UtcNow, TimeoutHint = 30000 // timeout in milliseconds }; // create an ExtensionObject to wrap the value to be written ExtensionObject extensionObject = new ExtensionObject( new ExpandedNodeId("GVL_StructA", 5), structAData ); // create a WriteValue object to hold the value to be written WriteValue writeValue = new WriteValue { NodeId = _structANodeId, AttributeId = Attributes.Value, Value = new DataValue(extensionObject) }; // put the WriteValue object into a WriteValueCollection object WriteValueCollection writeValueCollection = new WriteValueCollection() { writeValue }; // perform the write operation asynchronously WriteResponse writeResponse = await _session.WriteAsync( requestHeader, writeValueCollection, CancellationToken.None ); // check the result of the write operation if (writeResponse.Results[0] != StatusCodes.Good) throw new Exception("Write failed: " + writeResponse.Results[0]); }
Last updated: 2024-12-17
Post by jmorit on CAM Table - Quadratic velocity ramp with jerk limitation
CODESYS Forge
talk
(Post)
Hello, I'm working on setup a CAM table by using the Codesys CAM Editor. My purpouse is to obtain a quadratic velocity ramp with jerk limitation motion profile, for which i define the accel/decel phases with Poly5 segment type, but the problem is that due to the fact i can "only" adjust until the acceleration, and the jerk is always setup to 0, and i cannot change the jerk values, i cannot achieve the desired results, as i need to generate jerk steps. Is there any way it can be achieved with the editor, or maybe by using PLC runtime code? Thank you in advance for your help BR, Jordi Morito
Last updated: 2023-12-02
Post by rcanfield on Code Coverage and Test Manager
CODESYS Forge
talk
(Post)
I am exploring the possibility of measuring test coverage using the Test Manager and Profiler tools. It appears there are some significant limitations. Has anyone been successful trying to use these tools? Here are my observed limitations. Am I misunderstanding anything? * Profiler only works for one "run cycle". Even warm resets will clear the coverage calculations. Thus, all tests would have to manually reset values when complete to prevent contamination to other tests. * It is not possible to see which statements were/weren't executed. One would have to use the flow control tool which cannot be used in conjunction with the Profiler, and must be viewed in realtime. * The profiler control cannot be automated and therefore must be executed through a manual procedure. Thank you!
Last updated: 2024-07-11
Post by rcanfield on Code Coverage and Test Manager
CODESYS Forge
talk
(Post)
I am exploring the possibility of measuring test coverage using the Test Manager and Profiler tools. It appears there are some significant limitations. Has anyone been successful trying to use these tools? Here are my observed limitations. Am I misunderstanding anything? * Profiler only works for one "run cycle". Even warm resets will clear the coverage calculations. Thus, all tests would have to manually reset values when complete to prevent contamination to other tests. * It is not possible to see which statements were/weren't executed. One would have to use the flow control tool which cannot be used in conjunction with the Profiler, and must be viewed in realtime. * The profiler control cannot be automated and therefore must be executed through a manual procedure. Thank you!
Last updated: 2024-07-11
Post by saugat10 on Cannot install Codesys control Multicore in raspberry pi 4
CODESYS Forge
talk
(Post)
I have raspberry pi 4 with Raspbian 12 (bookworm). I want to install the latest version of codesys control 4.11.0.0 multicore for 32 bit. I cannot install multicore and it only gives me the option to install Standard. Here are some outputs from the pi pi@saugat:/usr $ uname -a Linux saugat 6.6.20+rpt-rpi-v7l #1 SMP Raspbian 1:6.6.20-1+rpt1 (2024-03-07) armv7l GNU/Linux pi@saugat:~ $ cat /etc/os-release PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)" NAME="Raspbian GNU/Linux" VERSION_ID="12" VERSION="12 (bookworm)" VERSION_CODENAME=bookworm ID=raspbian ID_LIKE=debian HOME_URL="http://www.raspbian.org/" SUPPORT_URL="http://www.raspbian.org/RaspbianForums" BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs" A
Last updated: 2024-04-22
Post by kthomas on Cant login to Rpi4 but can see it in codesys communications settings.
CODESYS Forge
talk
(Post)
I have been struggling for over a week to program my rapspberry pi 4 with codesys. I purchased the license. I installed the runtime and the gateway, and I can see the pi in the communication settings. But cannot log in. I have checked the status of the pi with sudo systemctl status codesyscontrol and it is running. I have enabled traffic to and from the pi with iptables and checked the logs and all looks good. I just cannot connect through the codesys ide. Can anyone help me before I lose my mind?
Last updated: 2024-06-22
Post by kthomas on Cant login to Rpi4 but can see it in codesys communications settings.
CODESYS Forge
talk
(Post)
I have been struggling for over a week to program my rapspberry pi 4 with codesys. I purchased the license. I installed the runtime and the gateway, and I can see the pi in the communication settings. But cannot log in. I have checked the status of the pi with sudo systemctl status codesyscontrol and it is running. I have enabled traffic to and from the pi with iptables and checked the logs and all looks good. I just cannot connect through the codesys ide. Can anyone help me before I lose my mind?
Last updated: 2024-06-22
Post by jasperclauwaert on Persistent Retain Variables Not Visible in Online View (WAGO PFC100 + CODESYS)
CODESYS Forge
talk
(Post)
Hi everyone, I’m working on a WAGO PFC100 with CODESYS. During development everything worked fine, but in the final stage I set several variables to PERSISTENT RETAIN. When I go online, most of these persistent variables cannot be monitored. Instead, I see: <Value of the expression cannot be retrieved> Interestingly, a few variables do show their values correctly, but the majority do not. The variables are not used as pointers or in any unusual way. The application compiles and runs without errors. Has anyone experienced this before? Is this a known issue with PFC100 or CODESYS? Any ideas on what could cause this behavior? Thanks in advance! Jasper
Last updated: 2025-10-23
Post by jasperclauwaert on Persistent Retain Variables Not Visible in Online View (WAGO PFC100 + CODESYS)
CODESYS Forge
talk
(Post)
Hi everyone, I’m working on a WAGO PFC100 with CODESYS. During development everything worked fine, but in the final stage I set several variables to PERSISTENT RETAIN. When I go online, most of these persistent variables cannot be monitored. Instead, I see: <Value of the expression cannot be retrieved> Interestingly, a few variables do show their values correctly, but the majority do not. The variables are not used as pointers or in any unusual way. The application compiles and runs without errors. Has anyone experienced this before? Is this a known issue with PFC100 or CODESYS? Any ideas on what could cause this behavior? Thanks in advance! Jasper
Last updated: 2025-10-23
Post by davidbo on How to stop dhcpcd and use SysSockSetIpAddressAndNetMask to set address?
CODESYS Forge
talk
(Post)
It is stated: "Dynamic ip address, provided by DHCP, BOOTP, etc. Cannot be changed by SysSockSetIpAddressAndNetMask()" Therefore I try to stop dhcpcd and flush the eth0 like this VAR CONSTANT flushIP:STRING:='sudo ip addr flush dev eth0'; stopDHCP:STRING:='sudo systemctl stop dhcpcd'; END_VAR SysProcessExecuteCommand2(pszCommand:=stopDHCP, pszStdOut:=stdout,udiStdOutLen:= SIZEOF(stdout),pResult := ADR(Result)); SysProcessExecuteCommand2(pszCommand:=flushIP, pszStdOut:=stdout,udiStdOutLen:= SIZEOF(stdout),pResult := ADR(Result)); Besides losing the connection when flush occurs the CODESYS halts, seen on the display and I cannot see why, because I have lost the connection from my IDE. Why does the flush command halt the execution of the application?
Last updated: 2025-11-04
Post by konstantin on Lenze i950 Servo and WAGO PFC200
CODESYS Forge
talk
(Post)
Hello, basically the i950 drive support CiA402 Basic and CiA402 Advanced modes. I attached pictures of both mode supported functions. It also support CSP, VL, CSV and CST modes. It seems the homing mode is in CiA402 Advanced mode but how can you not have the homing mode in both modes? It is a vital part of any servo system. If I use the SoftMotion standard demo mode, I can move the servo absolute and relative but cannot home it. But in SoftMotion Light mode, I cannot execute any motion function. Here is the official manual for i950 servo drive - i950 Documentation Best Regards Konstantin Kolev
Last updated: 2026-02-13
Post by transmin01 on EtherCat Master cannot open network adaptor on Win10x64 target
CODESYS Forge
talk
(Post)
Hi, If I utilise an EtherCat master with a Beckhoff EK1100 coupler on a Win10x64 target I get a "Network Adaptor could not be opened" error. I have tried this on both a VM and a physical PC. Has anyone experienced this issue? Regards Trevor
Last updated: 2023-09-14
Post by charleskentyfz on (no subject)
CODESYS Forge
talk
(Post)
I have created an EtherCAT slave code and fixed two slaves (IDs written in the 0xF050 object dictionary). The module IDs are 0x1 and 0x101, respectively. It can be scanned normally in TwinCAT, but when scanning in CODESYS, it reports an error. Why is this happening?text in the second pic means 'device cannot be found in repository'
Last updated: 2024-07-07
Post by rh-pk on v3.5 SP19 - Modbus TCP Devices - Channel Limit?
CODESYS Forge
talk
(Post)
Hello jacobwago, I believe that the limit is fixed in the editor, but not in the driver package. There seems to be no link between the driver setting and the editor. Otherwise, I don't know why the input (>10) is blocked, but the function is available. Unfortunately, I cannot offer you any other solution apart from the one mentioned above. Kind regards
Last updated: 2024-09-30
Post by bolopg on MODBUS TCP REGISTERS CODESYS V3.5
CODESYS Forge
talk
(Post)
Hi. I have a problem with MODBUS TCP MASTER. I treid to read HR in range 3027-3037 but I cannot read them. I have modbus slave chanel with offset 0x3037. I checked what I read and it looks like I am reading HR in range 1-10. What I am doing wrong.
Last updated: 2024-10-11
Post by mrbartpawlowski on Codesys Crash
CODESYS Forge
talk
(Post)
Hi all, I’m new to codesys and working on some project. Codesy 3.5 V20 patch 3 Every time I try to use refactor codesys hang and not respond. I was trying to use repair function in installer but this is not helping at all. Wonder if anyone experience this behaviour? Sometimes I have Popup saying : Cannot insert ‘CreateTextFile’ bellow ‘<root>’</root>
Last updated: 2024-10-14
Post by timvh on Leitungsverzweigung mit einem existierenden Block (z.B. AND-Glied) zu verbinden
CODESYS Forge
talk
(Post)
If you are really happy with PLCnext engineer, then just use that. There is probably also something in CODESYS that cannot be done in PLCnext engineer. But if you are forced to make something like this in CODESYS, then maybe just use CFC instead of FBD.
Last updated: 2024-11-11
Post by bjarne-pagaard on Newly created texlists wont appear in the selection dropdown
CODESYS Forge
talk
(Post)
I just had the same problem in 3.5 SP19 Patch 6. Trying to use a textlist for Combobox Integer element. The textlist cannot be selected in the IDE, and is not found when manually entering the name. The textlist is copied to the device, but is not used. Can confirm, that copying an existing textlist and renaming it does work.
Last updated: 2024-12-16
Post by tvm on VisuFbFrameBase.SetInputPositionData: The element id for the input position cannot be determined
CODESYS Forge
talk
(Post)
This came up again today, so I'll post the fix for future reference. Happens with Schneider Machine Expert 2.2 and M262 controllers. Add this bit of code to a program called from the visu task //disable "VisuFbFrameBase.SetInputPositionData" log messages, which fill up the logs IF VisuElems.Private_Visu_Globals.g_ValueChangedListenerManager.GetListenerCount() > 0 THEN VisuElems.Private_Visu_Globals.g_ValueChangedListenerManager.RemoveValueChangedListener(VisuElems.Private_Visu_Globals.g_ValueChangedListenerManager.listenerForOnValueChanged); END_IF
Last updated: 2025-03-06
Post by totorovic on Project loses 'Download time' information
CODESYS Forge
talk
(Post)
Hello, Today I have the problem again. The code in my IDE is the same as the code in the runtime but I cannot Log in to the PLC without download. Juste because the Download information is 'None'. And I don"t know how is managed this information bu Codesys. I'M WAITING SINCE 17 MONTHS, CAN I PLEASE HAVE A ANSWER FROM CODESYS?
Last updated: 2025-09-18
Post by gseidel on can not new a cam table in codesys V3.5 SP20
CODESYS Forge
talk
(Post)
Hi liai, I tried it with a fresh CODESYS SP21 Patch 2 installation and SoftMotion 4.18, but cannot reproduce the compile errors. Could you please upload a project archive that has the errors? Then I can have a deeper look. https://dl.codesys.com/s/q4KcbKCcZndg6oR Best regards, Georg
Last updated: 2025-09-24
Post by tvm on Cannot pass array of constant size to a function as a reference
CODESYS Forge
talk
(Post)
maybe this would be a better approach, then you don't have to pass the constant at all. FUNCTION fun : INT VAR_IN_OUT arr: ARRAY[*] OF INT; END_VAR VAR lower: DINT; upper: DINT; END_VAR lower:= LOWER_BOUND(arr, 1); upper:= UPPER_BOUND(arr, 1); see here as well https://help.codesys.com/api-content/2/codesys/3.5.12.0/en/_cds_datatype_array/
Last updated: 2024-01-08
Post by tvm on Cannot pass array of constant size to a function as a reference
CODESYS Forge
talk
(Post)
It will be a reference, because it's a VAR_IN_OUT. it's a little weird debugging the array online. It just shows as a POINTER TO INT, and you can't actually see the array from the function side. But you can still work with it as a normal array, not a pointer.
Last updated: 2024-01-09
Post by kees-b on PLCnext Phoenix Contact
CODESYS Forge
talk
(Post)
Hello We started with the new design of Codesys, through a "CODESYS Control Standard S" license. However, after installing the license, connecting, etc. (without any problems), we cannot get the program into the PLC with entries that we have not seen before. Is there anyone who has also experienced this? Better yet, does anyone have the solution?
Last updated: 2024-01-24
Post by camilloo on Control for Linux SL on Ubuntu Core
CODESYS Forge
talk
(Post)
Hello, Has anyone tried running CODESYS Linux on Ubuntu Core? I'm having problems installing the runtime. The connection to UC cannot be established. I used the instruction: https://content.helpme-codesys.com/en/CODESYS%20Control/_rtsl_linux_public_key_authentification.html I can connect to UC using SSH (putty, shell). Codesys can't. Do any of you have an idea?
Last updated: 2024-02-24
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.