Post by steven-schalm on Frustration-Fueled Feedback on Project File Management and Git Integration
CODESYS Forge
talk
(Post)
Yes, it's very tedious, especially since Codesys 4 is a custom web development... At Rex Automatisierungstechnik GmbH, we've invested a lot of time in the Python interface to enable something like CI/CD, but also to export the code and re-import it after making clean modifications. Also, the fact that a class/function block is just a single file containing all the methods, props, etc. Yes, and right now I’m building my own VS Code extension with a clean LSP (Language Server Protocol) for ST, as well as an st-validator, st-formatter, st-linter, codesysPackage.json, and codesys_modules folder... Best regards, Steven Schalm / Sharok6130
Last updated: 2026-06-11
Post by paulg on RasPi CAA Serial example - unexpected behavior during debug
CODESYS Forge
talk
(Post)
I've trimmed down the CAA Serial Codesys example to only listen on one port but, when stepping through the Case structure in debug mode, it jumps out of the structure during a specific point in every scan (I'll point it out below after describing the setup and listing the code). I'm using a Pi 4 Model B, and I have an Arduino Nano Every plugged in via USB which is streaming the following serial message at 1 Hz: Time since opening connection: 1 s Time since opening connection: 2 s ...and so on. The Pi shows the Nano at /dev/ttyACM0 so I edited CODESYSControl_User.cfg to read: Linux.Devicefile=/dev/ttyACM The code in my PLC_PRG is (ignore some of the comments, I hadn't deleted them out from the original example): PROGRAM PLC_PRG VAR xStartTest : BOOL:= TRUE; iState : INT; xTestDone : BOOL;(* True, when the test was done succesfully *) (* Settings to communicate with the COM Port *) aCom1Params : ARRAY [1..7] OF COM.PARAMETER; como1 : COM.Open; comc1 : COM.Close; comw1 : COM.Write; comr1 : COM.Read; //sWrite : STRING := 'Test String!'; sRead : STRING(25); szRead : CAA.SIZE; xCom1OpenError : BOOL; xCom1CloseError : BOOL; xCom1WriteError : BOOL; xCom1ReadError : BOOL; END_VAR //This example shows the communication of two COM Ports with each other. //The first one writes a string of characters, which is read by the second one. //After successful execution, the two COM Ports are closed and the test is done. IF xStartTest THEN CASE iState OF 0: //The parameters are set for the COM Port aCom1Params[1].udiParameterId := COM.CAA_Parameter_Constants.udiPort; aCom1Params[1].udiValue := 1; // the correct Port should be adapted aCom1Params[2].udiParameterId := COM.CAA_Parameter_Constants.udiBaudrate; aCom1Params[2].udiValue := 115200; aCom1Params[3].udiParameterId := COM.CAA_Parameter_Constants.udiParity; aCom1Params[3].udiValue := INT_TO_UDINT(COM.PARITY.NONE); aCom1Params[4].udiParameterId := COM.CAA_Parameter_Constants.udiStopBits; aCom1Params[4].udiValue := INT_TO_UDINT(COM.STOPBIT.ONESTOPBIT); aCom1Params[5].udiParameterId := COM.CAA_Parameter_Constants.udiTimeout; aCom1Params[5].udiValue := 0; aCom1Params[6].udiParameterId := COM.CAA_Parameter_Constants.udiByteSize; aCom1Params[6].udiValue := 8; aCom1Params[7].udiParameterId := COM.CAA_Parameter_Constants.udiBinary; aCom1Params[7].udiValue := 0; //The first Port is opened with the given parameters como1(xExecute := TRUE, usiListLength:=SIZEOF(aCom1Params)/SIZEOF(COM.PARAMETER),pParameterList:= ADR(aCom1Params)); IF como1.xError THEN xCom1OpenError := TRUE; iState := 1000; END_IF //After a successful opening, the next state is reached IF como1.xDone THEN iState := 15; END_IF 15: // the reading process is started comr1(xExecute := TRUE,hCom:= como1.hCom, pBuffer:= ADR(sRead), szBuffer:= SIZEOF(sRead)); IF comr1.xError THEN xCom1ReadError := TRUE; END_IF //After completion the size of the written bytes are saved IF comr1.xDone OR comr1.xError THEN szRead := comr1.szSize; iState := 20; END_IF 20: // If everything was successful the ports are closed and the handles are released comc1(xExecute := TRUE,hCom:= como1.hCom); IF comc1.xError THEN xCom1CloseError := TRUE; END_IF IF comc1.xDone OR comc1.xError THEN iState := 25; END_IF 25: // The first port is closed and the used handle released xTestDone := TRUE; xStartTest := FALSE; iState := 0; como1(xExecute := FALSE); comw1(xExecute := FALSE); comc1(xExecute := FALSE); ELSE iState := 0; END_CASE END_IF I realize as I write this that the .udiPort should be 0 and not 1, but that shouldn't be causing the issue I'm seeing. I'm forcing xStartTest:=TRUE every scan so that I can step into each line and observe what's happening. What I see is that the port parameters are set and the port is opened with no errors, but the code jumps out of the case structure to the last line every time it reaches (and I step into) the iState:=15 line (at the end of the iState:=0 block). So every scan cycle it goes through the block for iState=0 and jumps out at the same spot. I'm a little new to PLC programming so I may be misunderstanding the flow, but shouldn't this case structure keep moving down in the same scan? If it only handles one case per scan, why doesn't the value of iState persist? Thanks! Update: I restarted the Codesys control today and I was then able to see an error for como1.eError of "WRONG_PARAMETER". I tried doing some digging and another post made me think I should add another line to CODESYSControl_User.cfg, so I now have: [SysCom] Linux.Devicefile=/dev/ttyACM portnum := COM.SysCom.SYS_COMPORT1 So now when I set .udiPort to 1, I get "NO_ERROR" but I also don't read anything from the port (i.e. szRead = 0 always). If I try setting the port to 0 (which I'm confused about, because I added a COMPORT1 line but the device shows on the Pi as ACM0), I get the "WRONG_PARAMETER" error again. Is there an easier way to troubleshoot the Pi and view what ports the Codesys runtime is actually able to see while the Pi is running?
Last updated: 2024-06-06
Post by ofey on Symbol configuration / GVL
CODESYS Forge
talk
(Post)
Hi! I have som variables that I communicate to a Modbus Master. These variables are declared in a "Global Variable List" where I have assigned them memory addresses. To organize this mapping I want to make a MODBUS list where I show all the variable names together with the memory address. Is there an easy way to export this list from CODESYS? Either through script or some export function maybe?
Last updated: 2023-10-11
Post by ofey on Symbol configuration / GVL
CODESYS Forge
talk
(Post)
Hi! I have som variables that I communicate to a Modbus Master. These variables are declared in a "Global Variable List" where I have assigned them memory addresses. To organize this mapping I want to make a MODBUS list where I show all the variable names together with the memory address. Is there an easy way to export this list from CODESYS? Either through script or some export function maybe?
Last updated: 2023-10-11
Post by kumareasu on Code Size
CODESYS Forge
talk
(Post)
Hello, How to find the following for for my application when I want to switch over to "Application Based Licence"... Code Size. IO size When I use Analog IO. IO size when I use AC inverter(Drive for AC induction motor). For example we read/write few EtherCAT registers.
Last updated: 2023-09-07
Post by selim on Need help to get RS-485 signal in Cosesys .
CODESYS Forge
talk
(Post)
Hello Mr./Ms., I invested Raspberry Pi lot of time to get the output from the raspberry PI5. But, i did not get the signal. I use a raspberry pi 5> RS485 can hat > Modbus RTU, Industrial 8-ch analog acquisition module >weight transmitter jy-s60> S-load cell. I did not able to receive the signal from Modbus RTU to Raspberry PI5 where I use the RS 485 serial connection.
Last updated: 2024-12-01
Post by ppanchal on Add a dynamic text on One Visualization from another
CODESYS Forge
talk
(Post)
I've created a TitleBar Visualization in which I have "Logo" on the Left corner, "Screen Name" in the center and Time/ date on the right corner. I've also created a 'Menu" visualization that slides out from left to right. I have TitleBar and Menu Visualizations in the MainScreen (3rd Visualization). I want to have "Screen Name" automatically updated on TitleBar Visualization based on Menu item selected from the "Menu" visualization. Can anyone advise how can I achive this? TIA
Last updated: 2025-11-18
Post by transmin01 on Correct CAN Driver for EL6751
CODESYS Forge
talk
(Post)
@eschwellinger Windows based for this one, but I will need the Linux one also. Regards Trevor.
Last updated: 2023-09-20
Post by sbrauns on downloading safety app in production process
CODESYS Forge
talk
(Post)
Hi, I am looking for the same thing. Did you ever a solution for this? thanks
Last updated: 2024-07-29
Post by latassan on RaspberryPi 5 gateway problem
CODESYS Forge
talk
(Post)
Thanks for your answer. In the device tree, I also use CODESYS Control for Raspberry Pi 64 SL, version 4.16.0.0.
Last updated: 2025-06-18
Post by stulle on How to download dependencies packages for CODESYS Control for Raspberry Pi SL ?
CODESYS Forge
talk
(Post)
Hi, I have the same problem, is there a solution?
Last updated: 2025-06-23
Post by zatalian on password policy
CODESYS Forge
talk
(Post)
Is there a way to not enforce password policy or change the rules for this policy? Device is a Codesys Control for Raspberry Pi 4.17.
Last updated: 2025-09-05
Post by eschwellinger on Codesys Control for Raspberry Pi 4.10.0.0 - Raspberry Pi OS > 2023-12-05
CODESYS Forge
talk
(Post)
you need to wait for 4.11.0.0 release or use the October version!
Last updated: 2024-01-06
Post by kevinrn on CODESYS Installer CLI - commands syntax description
CODESYS Forge
talk
(Post)
I'm also looking for some help here. Explicit for the --searchCriteria parameter.
Last updated: 2024-03-20
Post by kevinrn on CODESYS Installer CLI - commands syntax description
CODESYS Forge
talk
(Post)
I'm also looking for some help here. Explicit for the --searchCriteria parameter.
Last updated: 2024-03-20
Post by jonasz on Deploy LicenseServer for Linux SL
CODESYS Forge
talk
(Post)
Thank you for the information and support - I need to think this through again.
Last updated: 2025-11-18
Post by rmaas on Webvisu cliënt responsiveness
CODESYS Forge
talk
(Post)
hi, Does anyone know how to optimise the responisiveness of the web visualisation? When i open the webvisu on my laptop it is very responsive, no noticable lag. But when i open it on the HMI (web client) at the customer site there is a lag of +-500 when opening popups etc. The hmi used is: Phoenix Contact WP 6156-WHPS full hd Arm® Cortex®-A53, 1.6 GHz qt web browser The clients performance seems to be the problem, what can i do in my project to decrease the load for the client?
Last updated: 2024-09-28
Post by jorenbeyl on library inside library
CODESYS Forge
talk
(Post)
I am currently developing a library that contains real‑time data. To handle this real‑time data, I am using additional libraries called SysTime and SysTypes Interfaces. When I compile my library on its own, no errors occur. However, when I use this library in a project and compile the project, I get an error indicating that the SysTime data type is not recognized. This happens even though the SysTime library is visible as a dependency under my library. Does anyone know how to correctly include a library within another library so that the project recognizes the sub‑library without causing compilation errors?
Last updated: 2026-04-23
Post by dominggus on Recipe Manager - RecipeManCommands, load & write wrong values, Bug?
CODESYS Forge
talk
(Post)
I still have the same problem even when updating to CODESYS Recipes 4.3.0.0. My scenario: I'm trying to save/load an array of structs using the Visu: - Execute Command > "SaveRecipeAs" works properly - Execute Command > "LoadWriteRecipe" works not entirely: the structs of array[6] and array[7] should have been empty but were duplicates of array[4] and array[5]... the struct contains 26 variables and the array's length is 30.. Maybe there is a upper limit on recipe variable count?
Last updated: 2024-03-02
Post by mazino on How to download dependencies packages for CODESYS Control for Raspberry Pi SL ?
CODESYS Forge
talk
(Post)
Hi starmaxou, I’m facing the same issue you mentioned with the dependencies for the CODESYS Control for Linux SL installation. I was able to find the manual downloads for the CODESYS Edge Gateway and CodeMeter, but I’m still stuck on the other two dependencies: CODESYS Control SL Extension v4.0.0.0 CODESYS Control SL Deploy Tool v4.10.0.0 Since you’ve encountered the same problem, I’d really appreciate any help or insights you can share on how you were able to resolve it. Any tips or suggestions would be greatly appreciated! Thanks in advance!
Last updated: 2025-03-07
Post by pernockham on Unable to deploy "Control for Linux SL 4.18.0.0"
CODESYS Forge
talk
(Post)
And the strange thing for me is that if i connect with an older IDE version (where I only have 4.17.0.0 installed) I can see both "CODESYS Control for Linux SL" and "CODESYS Edge Gateway for linux". And that I loose (both presence and possibility to update) the first option (Control SL) if i let the updater install "Control for linux SL" vers. 4.18.0.0 or later. (Note that runtime 4.17.0.0 is installed and it is running and I can login to that system, but no apparent option available to update it to 4.19.0.0). Attached print screen where I connected the "deploy sl tool" to the same system, where the upper (IDE) one has 4.19.0.0 installed, while the lower one has 4.17.0.0 installed..
Last updated: 2026-02-17
Post by dhumphries on codesys installer deletes itself instead of updating
CODESYS Forge
talk
(Post)
I've installed multiple versions of codesys from a download, both the .exe and .zip, the installation goes okay but when I open the codesys installer with admin privelages it immediately starts downloading an update, then starts to install the update, but it doesn't complete the installation, it just deletes the installer files in c:\program files (x86)\codesys\apinstaller and never installs a new version. I've ran a repair from the downloaded installer and I can get it to work as long as I don't give admin permissions. I've done this on my workstation, I've also setup 2 different virtual machines thinking maybe there is some lingering config file, it does it no matter how sanitized the OS is. I've tried running with security software disabled and enabled, it's the same no matter what. It's been probably 4 months since I used the codesys installer, but it didn't do this back then. Is there a way to set the installer to a certain version and disable updates, or something I can do so the update does what it should?
Last updated: 2026-08-10
Post by herbasso88 on WebVisu flickering
CODESYS Forge
talk
(Post)
Good morning, I'm new on Codesys Forge, so I'm not sure if this is the right place to talk about my problem. When I open my WebVisu pages with Microsoft Edge, or Chrome, the background and also some rectangles blinking without reason!!! The application is developed with Codesys 3.5.17.10 and run on Codesys HMI, same version (3.5.17.10). After several experiments I discover that the problem happens when I made dynamic the "End of area" property of a meter object, but I can't understand why this blinking problem happens. Also, the problem is only at the WebVisu page, the "normal" VISU pages (the ones opened when Codesys HMI start) work always perfectly. Another strange thing is that the problem happens only if on the same page, where there is the meter object, there is also a trend object!?!? Codesys HMI is running on a Virtual Machine (VMware Workstation 15 player, v.15.5.6) running Windows 10 Pro N 64-bit. The blinking problem happen also if I convert the project to Codesys 3.5.20.0. This version of Codesys and Codesys HMI are installed on a Virtual Machine running Windows Server 2019 Standard 64-bit. In attachment the archive of my project. The attached project has only one page, if "Enable Counter" is not pressed the "End of area" variable of the meter is not updated in the software, and everything work well, normal VISU and WebVisu; if "Enable Counter" is pressed, the "End of area" variable of the meter is updated in the software, and the WebVisu page start blinking. I tried also to enable the "Support client animations and overlay..." property at VisualizationManager, this seems stop the blinking problem, but that property also destroy my WebPage, moving almost all the graphical object, that also seem not working anymore. I really need help to understand what I'm doing wrong, I have to develop a bigger project and I have to understand if trend objects and animated meters cannot stay in the same page. In the final project the WebVisu will be very important because the customer will use this way to access the application to monitor the process. Regards
Last updated: 2024-05-06
Post by erictur on CODESYS Control for Linux ARM SL (32 bit) on Moxa UC-3100 IPC
CODESYS Forge
talk
(Post)
UC3100 comes with Arm Cortex-A8 1 GHz and belongs to Moxa Industrial Linux 1 (Debian 9) for Arm-based Computers. I tried to install the CODESYS Control for Linux ARM SL (32 bit) on Moxa UC-3100 IPC. Unfortunately, the Third-party requirements: - libc >= 2.27 (required by CodeMeter Runtime) of the CODESYS Control for Linux ARM SL cannot be met on the Debian 9, which comes with glibc 2.24. I read the post by @johnlee (Getting Start with Codesys Control for Linux SL) (https://forge.codesys.com/forge/talk/Runtime/thread/0a515ced3f/). Where he discusses installation of CODESYS Control for Linux ARM SL on Debian 9. There was CODESYS Linux runtime v3.5.14 availble and it was successfully intalled on the Debian 9. However, the CODESYS Store has the oldest version V4.1.0.0 32 bit available. There is no way to find the CODESYS Linux runtime v3.5.14. So is there any work around for this? Or I cannot install the CODESYS Runtime on any of the Moxa IPCs based on the Moxa Industrial Linux 1 (Debian 9)?
Last updated: 2025-07-10
Post by alexgooi on Codesys KNX implementation
CODESYS Forge
talk
(Post)
Dear forum, We are currently doing some research on the Codesys KNX implementation (https://store.codesys.com/en/codesys-knx-sl.html). We almost have it working but we are missing the last part. The setup: We have a Codesys virtual control container running on docker (4.17.0.0), the I/O is running over an Ethernet IP coupler (Weidmüller), and this is running fine. As far as I’m concerned this tells me that the ethernet device is working properly (the container has access to the outside world, including multicast). Underneath this ethernet adapter the KNX module is added (see picture). In the KNX device (Codesys) 2 input variables are added (see picture), and these are exported to ETS (ETS 5). In ETS A Codesys KNX device has been imported and the Codesys export was imported, afterwards the group addresses are attached to the variables (see picture). Afterwards this configuration is downloaded to the Codesys controller (Container) via ETS. ETS asks for the pressing of the programming button, when the virtual programming button is pressed the download starts and finishes without any errors. This tells me that ETS is communicating with the Codesys controller, and that the download process is ok (so far so good). Now the part where we are struggling with, somehow we need to convert the KNX TP to KNX IP. For this we have the following interface: Zenio KIPI SC (https://www.zennio.com/product/kipi-sc/) this is a KNX TP to IP interface. We have the following setup for this device (see picture) (an IP in the same subnet is used). We tried multiple combinations of IP addresses but the TP devices are simply not communicating to the Codesys container. Does anyone has any advice on what to try next. To make the question more explicit how can we link the TP bus to the Codesys device? Kind Regards Alex
Last updated: 2026-01-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.