Post by ulvis on CFC Pages Cut&Paste is not working at its best
CODESYS Forge
talk
(Post)
In the CFC page oriendted editor, if I copy some elements consisting of an input connector, some connected logic and an output connector and then paste this on a another page then the pasted elements get inserted with an offset to the right so that the rightmost connector falls outside of the page, in the grey hatched area. So far so good. Then I mark all the elements and try to drag them into the correct placement, collectively. THIS IS NOT POSSIBLE! I only get the "forbidden" icon tooltip. One has to drag & drop the INDIVIDUAL elements to move the elements around. What am I doing wrong?
Last updated: 2025-05-15
Post by ulvis on CFC Pages Cut&Paste is not working at its best
CODESYS Forge
talk
(Post)
In the CFC page oriendted editor, if I copy some elements consisting of an input connector, some connected logic and an output connector and then paste this on a another page then the pasted elements get inserted with an offset to the right so that the rightmost connector falls outside of the page, in the grey hatched area. So far so good. Then I mark all the elements and try to drag them into the correct placement, collectively. THIS IS NOT POSSIBLE! I only get the "forbidden" icon tooltip. One has to drag & drop the INDIVIDUAL elements to move the elements around. What am I doing wrong?
Last updated: 2025-05-15
Post by ulvis on CFC Cut & Paste not working at its best.
CODESYS Forge
talk
(Post)
In the CFC page oriendted editor, if I copy some elements consisting of an input connector, some connected logic and an output connector and then paste this on a another page then the pasted elements get inserted with an offset to the right so that the rightmost connector falls outside of the page, in the grey hatched area. So far so good. Then I mark all the elements and try to drag them into the correct placement, collectively. THIS IS NOT POSSIBLE! I only get the "forbidden" icon tooltip. One has to drag & drop the INDIVIDUAL elements to move the elements around. What am I doing wrong?
Last updated: 2025-05-15
Post by kut69 on Retain / Persistent Variables in Codesys for Raspberry Pi
CODESYS Forge
talk
(Post)
Hi, I am interested in details about the .ret file in the filesystem. I have already a project where the file is used (write on demand, read by start) and I want to share it as 'default input' for test devices using the identical application. Opening the .ret file content in a hex editor (I only use a single string retain var) I asked myself what the meaning of the first 24 bytes is. It neither contains a handle to the application nor a reference to the variable. Is this maybe a timestamp? Or a CRC/checksum? Regards, Thomas
Last updated: 2025-05-19
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 rockallsue on Frustration-Fueled Feedback on Project File Management and Git Integration
CODESYS Forge
talk
(Post)
Some developers export ST code manually and edit it in VSCode, then copy it back. However, a more practical approach might be using automation scripts (PowerShell, Python) to extract and inject code into the CODESYS project. You could also check if CODESYS Automation Server or CODESYS API allows better ST access for external tools. https://www.codesys.com/the-system/releases-updates-lifecycle/release-plan-roadmap.html Network drive issues are particularly painful. As a mitigation, you could try using local project storage with periodic cloud sync instead of directly saving to a network drive. Using Rsync or Syncthing for automatic but safe synchronization might reduce risks of file corruption.
Last updated: 2025-06-03
Post by durallymax on Dynamical scaling of bar graph without the bar itself
CODESYS Forge
talk
(Post)
I'm a fan of the analog indicators from ISA101. To recreate these, I use a number of rectangles that are dynamically sized and colored based on the input configuration. To keep it standard and easy, everything is built around 100px height. Then when instantiated in a frame, it can be resized as needed with the math remaining the same. The math logic is in a METHOD called by the rear most rectangle. These indicators do not use a "filling" bar graph, rather a fixed bar graph with a carrot to track the current value.
Last updated: 2025-06-06
Post by kareem-pt on Velocity is too low even though correct value is reported
CODESYS Forge
talk
(Post)
Hello, I'm playing around with a single axis. I've setup scaling and set the drive to move 360 degrees in the commissioning tab. The axis does move 360 degrees, but it moves much slower than the 360 degrees per second that I set for the velocity. It seems to be about 3 times slower (taking about 3 seconds instead of 1). This is despite the set and actual velocity both being displayed as 360. The acceleration, deceleration and jerk are all set to very high values. I'm just running this on my PC, using demo mode (no license purchased yet). I've attached a video showing the problem. Does anyone know what the problem could be? Thanks
Last updated: 2025-06-06
Post by george32 on Learning ST in an object-oriented way.
CODESYS Forge
talk
(Post)
Dear all, I am currently creating a program in the ST language. Because the program is starting to grow nicely I would like to switch to a more object-oriented way of programming. (Like for example in Python). By surfing the internet I found out that Function Blocks is the best method for this. Now I would like to delve further into this, with all the possibilities that Function Blocks have only I cannot find a clear course, explanation of what everything is around the function block thing and how to approach everything. I find the standard documentation around Function Blocks rather abstract and the examples are minimal. Therefore I am looking for a page/course/document explaining object oriented programming in Codesys (or other PLC programming environment). Do you have any recommendations on this?
Last updated: 2025-06-10
Post by viksym on How to get the motor scaling value from code
CODESYS Forge
talk
(Post)
Is there a way to see what value is set as the "Work travel distance per motor rotation" that is set in the Scaling menu of the axis ? I am working on my own homing function block for sensorless (hardstop) homing and I want to make it be universal between different axes with different motor's scaling for distance per rev so I need to know this value from the axis itself. I know I could do it by just creating an input variable for the function block but I'm leaving that option as a last resort.
Last updated: 2025-06-12
Post by pauloricardoss on Codesys Control Raspberry PI 4.10.0 - missing 'Update Raspberry PI' option
CODESYS Forge
talk
(Post)
I am having the same problem. 'Update Raspberry PI' disappeared from the 'Tools' menu. Using RaspberryPI 3B+, Codesys V3.5 Sp21 + RaspberryPI Package 4.16. I installed the package as Administrator, executed Codesys as Administrator I also tried to connect using the deploy (even with ssh and everything enabled on the RaspberryPi I received password denied). I used in the past the same equipment with Codesys V3.5 Sp18 and RaspberryPI Package 4.08, it was really easy. (I also did a brand new RaspbianOs installation to make sure that nothing affect the connection). Anyone, knows how to fix it? Thanks,
Last updated: 2025-06-13
Post by timvh on Dynamically enabling/disabling Modbus slave devices in runtime (performance issue with timeouts)
CODESYS Forge
talk
(Post)
As far as I remember, the Reconfigure functionality doesn't work for Modbus devices. But... Each Modbus device in your device tree has a name. You can set the property "Enable" of this device to FALSE to stop communicating with it. So if one of your Modbus Slave devices name is "MbSlave1" in the device tree, then in your code you can set the Enable to FALSE to let it stop communicating: MbSlave1.Enable := FALSE; Please let us know if this worked on your controller with your application and your CODESYS version. Alternatively you could use the ModbusFB library. See: https://forge.codesys.com/prj/codesys-example/modbus/home/Home/
Last updated: 2025-08-13
Post by rer-code on Codesys 3.5.18.60 – Application Loss and Persistent Data Corruption
CODESYS Forge
talk
(Post)
Hi, I’m currently managing over 50 PLCs running Codesys version 3.5.18.60. At seemingly random intervals, some of these devices experience a failure where: All persistent variables are lost. Attempting to log in results in the message: “The application does not exist on device. Do you want to create it and proceed with download?” The log shows: “Loading retain-data/bootproject failed.” From what I’ve gathered, this may be due to a corrupted persistent data file, but I’m not entirely sure how to confirm or resolve this issue. If anyone has encountered something similar or has suggestions for troubleshooting or preventing this, I would greatly appreciate your input. Best regards
Last updated: 2025-08-19
Post by jzhvymetal77 on VarAccGetAddress does not return the correct address for TYPE_ARRAY or TYPE_USERDEF.
CODESYS Forge
talk
(Post)
VarAccGetAddress does not return the correct address for TYPE_ARRAY or TYPE_USERDEF. When you use VarAccGetNode, it returns a proper IBaseTreeNode if you provide the full path of an array element or structure element, and it even provides the correct data type. The problem is that with TYPE_ARRAY, it returns the start address of the array rather than the indexed element. With TYPE_USERDEF, it only returns the offset of the element instead of the actual address. This causes many issues with nested structures or arrays of structures, since it requires manually calculating the address based on the parent IBaseTreeNode. See attached image and example.
Last updated: 2025-08-28
Post by em1681 on Modbus RTU over 750-652
CODESYS Forge
talk
(Post)
Hi, It's my first time operating in Codesys 2.3, but I have done a good amount of Codesys programming, so I'm a little familiar. I haven't done a lot of RTU, but a lot of Modbus TCP. I don't have the PLC in my reach at the moment, but I'm trying to be a little ahead. We're adding the 750-652 module to read energy from a flowmeter over RTU. There will only be 1 slave. I attached pictures of my current hardware, PLC code, the register datasheet from the slave and the only modbus serial library I seem to have available. I'm uncertain if this will work. Any help or clarification on how things work will be greatly appreciated. Thanks in advance.
Last updated: 2025-09-01
Post by pernockham on Control for linux SL, 4.14.0.0 -> 4.15.0.0 breaks web page access. URL requires authentication
CODESYS Forge
talk
(Post)
I have a problem which I have identified with a device-update from 4.14.0.0 to (4.15.0.0-4.17.0.0) where the newer versions will stop any local access to the internal web page with the browser responding "The requested URL requires authentication". Setting the device back to 4.14.0.0. the web page will respond. Access to web page through Automation server is possible also for the newer version, but not "local" access. Runtime (Codesys control for linux SL) is on 4.17.0.0. I have tried to manipulate settings for 'Access-Control-Allow-Origin' '*' always; through nginx (normally a proxy_pass to localhost:8080). Also tested bypassing nginx by accessing 8080 directly with the same result.
Last updated: 2025-09-08
Post by gseidel on Using an Axis of an Axis Group in Torque Conctrol
CODESYS Forge
talk
(Post)
Hi manuknecht, the axis group currently always writes the axis set torque values. If no dynamic model has been configured for the axis group, then the set torques are written to 0. The solution for your use case is to call SMC_GroupUpdate [0] before you call SMC_SetTorque on the axes. This way, the axis group will write 0 to the set torques in the call to SMC_GroupUpdate(), and SMC_SetTorque then will write the desired set torque. Best regards, Georg [0] https://content.helpme-codesys.com/en/libs/SM3_Robotics/Current/SM3_Robotics/POUs/AdministrativeConfiguration/Computation/SMC_GroupUpdate.html
Last updated: 2025-09-09
Post by durallymax on Persistent Vars
CODESYS Forge
talk
(Post)
Looking for a better way to manage Persistent Variables. We tend to have local vars in our FBs that need persistence through downloads as the systems are updated/altered on a regular basis. Retain would suffice if we had an easy mechanism to backup and restore like we can with Persistent variables and recipes. Although not having to remember that step with Persistent variables is preferred. We're running into issues with persistent storage capacity (WAGO PFC200) using the Persistent variable list (and adding all instances). It appears there are many ways to handle this, some with recipes, some with files, others with application manager. Is there a solution that exists that is as simple as declaring as Persistent and managing elsewhere? Or do we need to move onto periodically writing CSVs?
Last updated: 2025-09-22
Post by alexgooi on Licensing info not available.
CODESYS Forge
talk
(Post)
Dear Forum I have the following config: Codesys_IDE 3.5.20 Codesys_Virtual_Control 4.13 Codesys_License_Server 4.13 I know these are not the newest versions, but in my mind these should work. I have the same problem here. I have the license server installed on the host, and in the docker container(Codesys virtual control) I'm able to ping the license server. In the /conf/codesyscontrol/CODESYSControl_User.cfg I have added the following config: [CmpCodeMeter] EnableNetLicenses=1 LicenseServer.1="ip address of the host" I have tried it via the wbm web-page. I can create new license containers over there, but still no luck. I also have tried to run the docker container with the -s "server_IP" command. I have searched for some tutorial's but I couldn't find it. If anyone has some clue or can give me a push in the right direction it would be very very welcome!
Last updated: 2025-09-29
Post by alexgooi on Licensing info not available.
CODESYS Forge
talk
(Post)
Thank you for the response, The empty softcontainer does not become visible unfortunately, but I think I can get that back to working. I think I'm misunderstanding something. You are pointing to the Softcontainer number and the ticket code, I thought that I needed to fill in the virtual control containers serial code is this a misunderstanding? And if this is indeed the case, how is the link between the server (softcontainer) and the Codesys control docker container made? If I have multiple Codesys docker containers running on the same docker server, how is the correct license distributed to the correct Codesys runtime container?
Last updated: 2025-10-02
Post by ranadheer on Implementation of IEC-104
CODESYS Forge
talk
(Post)
Hi Everyone, As we didn't have client for IEC - 104 - only server server is available , so because of that we are trying to make establish the communication between the external simulator as a Client and codesys itself as a server. We are looking for the variable behavior from CODESYS has to change according to the message triggered by the CLIENT (we are using simulator Application like Redisant). We are able to see the log data as the status of triggering the SCS from Client received to the Log data of the codesys device(attached screen shot of it) and in simulator panel we had set the details to trigger the data from Redisant to Codesys. Current Status: The project builds and runs successfully, but I need guidance on how to connect this to an external IEC-104 simulator for testing and visualization by using demo mode.
Last updated: 2025-10-14
Post by ranadheer on Implementation IEC-104
CODESYS Forge
talk
(Post)
Hi Everyone, As we didn't have client for IEC - 104 - only server server is available , so because of that we are trying to make establish the communication between the external simulator as a Client and codesys itself as a server. We are looking for the variable behavior from CODESYS has to change according to the message triggered by the CLIENT (we are using simulator Application like Redisant). We are able to see the log data as the status of triggering the SCS from Client received to the Log data of the codesys device(attached screen shot of it) and in simulator panel we had set the details to trigger the data from Redisant to Codesys. Current Status: The project builds and runs successfully, but I need guidance on how to connect this to an external IEC-104 simulator for testing and visualization by using demo mode.
Last updated: 2025-10-14
Post by jmohre on External file with relative path
CODESYS Forge
talk
(Post)
I try to add a simple text file to my PLC application, so that is download everytime the application is downloaded to the target. What I did is to add an external file to the application and this works perfect as long as the external file location does not change. It looks like the external file path is stored absolute in project. But if different users work on the project they may have different locations where for their working directory. Is there an option to store the external file path relative e.g. to the project file? Or does s.o. know a different solution to add a text file to application in order to download automatically with the application? Thanks
Last updated: 2024-01-04
Post by matt-s on HMI Pushbutton/Move Instruction
CODESYS Forge
talk
(Post)
I am having an issue where the manual start/stop push buttons on the HMI are supposed to take the pumps/blowers out of auto. The logic I have attached works for the pumps, but not the blower. From what I can tell it is the exact same logic, but it is not writing a 0 to the Auto PB variable. Attached is the logic, cross reference list to show nothing else is writing to it, and the HMI screen. Any help? Am I missing something? I am using a Groov Epic PR1, my software version is 3.5 SP19 Patch 5 32 Bit.
Last updated: 2024-01-25
Post by ewi04 on How to upload application file to remote controller (offline) ?
CODESYS Forge
talk
(Post)
Hi, I am looking for a good way to update a decice remotely. The devices are distributed worldwide and have normally no connection to the internet. The CODESYS Automation Server can't help here. So I want to update the decices via USB stick. I have written my own code* to update the files that are created with ‘Create boot application’. But sometimes strange things happen: visu elements are present, but are not found the application is no longer registered and therefore no longer starts I have not yet found out why these errors occur. Has anyone had similar problems or found a better way? Is there perhaps a CODESYS library or something else? Many thanks! *the code deletes the directories on the device and copies the new directories from the USB stick while the system is running (goes without saying)
Last updated: 2024-02-05
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.