Post by nano on Creating, using an external Function.
CODESYS Forge
talk
(Post)
the Answer is easy, you don't reapecting the codesys-behaviour and pre-request on a dll/so like you like to create. codesys won't load it about the fact that the dll isn't registered in codesys. check this page for more informations: https://content.helpme-codesys.com/en/CODESYS%20Control/_rtsl_extension_extension_sdk.html
Last updated: 2025-05-14
Post by pafarrell on EtherCAT quick start for advanced programmers
CODESYS Forge
talk
(Post)
It would be great if there was a thread that had some quick-start links for basic how-to. But one that advanced programmers can jump into. I found this video playlist by SoftMotion-Black, which was very, very helpful: https://www.youtube.com/playlist?list=PLkc8m2OD0r9xJyfTiCBb1vuU_d2yBhjZ_ This person has some other great vids like creating your own custom library, which is awesome for OEMS.
Last updated: 2025-05-14
Post by laurits on Max lines of code, codesys CNC ?
CODESYS Forge
talk
(Post)
Testing Codesys CNC. SMC Interpolator Throws me an error if my code surpass approximately 32000 lines of code. (SMC_CNC_INTERNAL_ERROR) What is the max lines of code SMC Interpoltor can handle ? I've been thinking breaking the code up into smaller sections, but that gives me a lot problems later if i want to use "Blocksearch" etc. I need to run approximately 2000000 lines of code.
Last updated: 2025-06-01
Post by selim on LS ix7nh Servo drive with Codesys
CODESYS Forge
talk
(Post)
Hello Mr./Ms., I do not find the ES driver in codesys. The setup of the project is "Rasberry PI3B>Ls ethercat I/O aps-ec-dt32k> LS ix7nh Servo drive>apmc-fbl04amk LS servo motor". How can i slove this problem. Please provide me a proper solution.
Last updated: 2025-06-02
Post by naduley on Multiple Branches
CODESYS Forge
talk
(Post)
I am trying to create multiple branches in my project and I keep getting gaps in the ladder logic "wiring". I'm not sure if this is a graphical error or something else but every thing I've tried to do to correct it does not work. Has anyone else run into this or know how to correct it?
Last updated: 2025-06-04
Post by zoppp on Visu Frame-configuration___text will not work
CODESYS Forge
talk
(Post)
Yup, I've been having the exact same issue. A workaround that was working until Visu 4.8.0.0 was using TextList as the type in the frame configuration and then wrapping the text in quotes when configuring it. Im not sure if it will work with variables and I know it does not work if the type is text.
Last updated: 2025-06-17
Post by imdatatas on 3.5 P20 hangs - no response
CODESYS Forge
talk
(Post)
Hi, You can give a try it by adding "Codesys.exe" in the "Exclusions > Process" section of the Windows Security Center or your antivirus program. I hope it works for your situation. Antivirus programs check many things during both the installation or startup of an application, and may be slow down or block some functions. Regards Imdat
Last updated: 2025-06-25
Post by davidking on Error, visualisation property handling, VISU_USEPROPERTYINFO
CODESYS Forge
talk
(Post)
Solution: Disable VISU_USEPROPERTYINFO define Go to Project β Options (or Project β Properties, depending on your CODESYS version). Find the section called Compiler Defines. Look for the define: nginx Copy Edit VISU_USEPROPERTYINFO Delete it from the list, or uncheck it if itβs a checkbox. Save your changes and try compiling the project again. β This is the right approach if you donβt need property handling for visualization elements.
Last updated: 2025-07-09
Post by installwhat on Opc remote alarms on Linux box
CODESYS Forge
talk
(Post)
It seems that the hmi sl license only works with windows. If i'm happy using web visu, rather than target visu, is possible to use remote opc-ua remote alarms without the hmi sl? Maybe it can be included in a different license that works on Linux? thanks
Last updated: 2025-07-16
Post by timvh on Execute Codesys Tests with python
CODESYS Forge
talk
(Post)
If you want to use the Test Manager, I prefer to start all the tests through the scripts of this manager. So open from there the projects, load it and run it. If you also want to use Python scripts to access CODESYS functionality, while executing a Test Manager script, then also start them from the Test Manager commands.
Last updated: 2025-07-23
Post by timvh on IECStringUtils.FormatDateTime
CODESYS Forge
talk
(Post)
There has been a fix in SP21. I tried it in this version with the option "Use unicodestring" enabled in the Visualization Manager and it worked if the variables used for the function are declared as WSTRING variables wsFormat : WSTRING := "%t[HH:mm:ss dd.MM.yyyy]"; wsTime : WSTRING; IECStringUtils.FormatDateTime(cbpResult := ADR(wsTime), uiResultCapacity := SIZEOF(wsTime), cbpFormat := ADR(wsFormat));
Last updated: 2025-07-29
Post by ustad41 on Cam Blending
CODESYS Forge
talk
(Post)
Hi everybody, I want to execute more than once cam fb simultaneously so blending cam and thus blending velocity without stop motion. But as far I know codesys dont support directly cam blending. But I beleeive there is a some solving. I request your support. But there is important thing is I want to change cam table cam on the fly. For example FlyingSaw application change cutting lenght.
Last updated: 2025-08-01
Post by llewv123 on Codesys Control for RPi and Waveshare AD/DA hat
CODESYS Forge
talk
(Post)
Good day, I am attempting to use a Waveshare AD/DA precision HAT with RPi 4B+, using Codesys Control for Rpi. The waveshare hat uses SPI. I am successfully using the RPi GPIO (inputs and outputs) but do not know how to access the AD/DA channels. Any help would be appreciated.
Last updated: 2025-08-04
Post by rajatdas2005 on Codesys Virtual control SL
CODESYS Forge
talk
(Post)
Dear All, This is regarding Codesys Virtual control SL demo version. I am facing one issue. First I will describe the steps what I have followed till now. 1. In a PC I have Windows OS. Here Codesys IDE is installed, and also using the installer option of IDE I have also installed Codesys Virtual control SL. 2. A edge-gateway is also running in the same windows PC as local host. 3. Next I have a seperate PC with Ubuntu OS with docker installed. This machine is in the same network. 4. Now I have created a project in Windows machine using device "Codesys Virtual control SL". 5. In the Ubuntu machine I am running the Codesys Virtual control SL as docker and it is using the ubuntu machine network only. 6. Next using the localhost edge-gateway when I am searching the virtual control SL docker it is able to detect it. (screenshot attached) 7. But after creating the creadentials it is telling No Device is responding. 8. I have also checked the wireshark logs and able to see that in destination port 11740 data is coming. 9. From windows PC telnet ip 11740 is also working. 10. Ping is also working ===========================================LOGS ========================= sudo ss -tlnp | grep -E "(443|1217|4840|8080|11740)" LISTEN 0 10 10.135.114.142:4840 0.0.0.0: users:(("codesyscontrol.",pid=41864,fd=21)) LISTEN 0 10 172.18.0.1:4840 0.0.0.0: users:(("codesyscontrol.",pid=41864,fd=24)) LISTEN 0 10 172.17.0.1:4840 0.0.0.0: users:(("codesyscontrol.",pid=41864,fd=23)) LISTEN 0 10 127.0.0.1:4840 0.0.0.0: users:(("codesyscontrol.",pid=41864,fd=26)) LISTEN 0 10 192.168.122.1:4840 0.0.0.0: users:(("codesyscontrol.",pid=41864,fd=22)) LISTEN 0 5 0.0.0.0:11740 0.0.0.0: users:(("codesyscontrol.",pid=41864,fd=20)) LISTEN 0 128 0.0.0.0:8080 0.0.0.0: users:(("python3",pid=1280,fd=4)) LISTEN 0 10 172.19.0.1:4840 0.0.0.0: users:(("codesyscontrol.",pid=41864,fd=25))
Last updated: 2025-08-06
Post by ulvis on Where to find the OPC-UA Information Model Repository
CODESYS Forge
talk
(Post)
Now, for CODESYS v3.5 SP21 I can no longer find the "OPC UA Information Model Repository" entry to add as a command. In the "Tools" menu it is listed but greyed out, reporting "Plug-in is not available". So how do I add the Plug-in?
Last updated: 2025-08-14
Post by mqi2r on Newly created texlists wont appear in the selection dropdown
CODESYS Forge
talk
(Post)
For anyone with this issue, you may need to: Open the text list properties (right-click the text list once you create it). Select the Text List tab. Change the Download by option to Visualization. I was fighting this for so long. Once you do that, you should find your text list appears in the drop down when editing a visualisation.
Last updated: 2025-08-19
Post by raamkumar on exple1
CODESYS Forge
talk
(Post)
```structured text VAR bStartButton : BOOL; // Start button input bStopButton : BOOL; // Stop button input bMotorRunning : BOOL := FALSE; // Motor running status END_VAR // Motor control logic IF bStartButton AND NOT bMotorRunning THEN bMotorRunning := TRUE; // Start motor END_IF; IF bStopButton THEN bMotorRunning := FALSE; // Stop motor END_IF; // Output to motor driver (replace with your actual output) // Assume 'qMotor' is a boolean output to the motor driver. qMotor := bMotorRunning;
Last updated: 2025-08-23
Post by nilanjan on I want to show the current recipe name in the visualization screen
CODESYS Forge
talk
(Post)
I am having some trouble showing the current recipe name in visualization i am not using the RecipeManCommands i am using the inbuild visualization feature of Saving and Loading recipes. I need it so the user would have a track on which recipe is being used currently.
Last updated: 2025-08-24
Post by wagokurt on CODESYS Visualization M License Fails to activate on Linux SL
CODESYS Forge
talk
(Post)
The fix for this is when you install the control SL license, there is a checkbox for the Visu S license option. You must click this option. The Visu M is technically an upgrade to the Visu S, if this is license is not installed them the Visu M will fail as shown above. Thanks JoJo for the solution!
Last updated: 2025-08-25
Post by sandro66 on Application-based license Modbus Channels
CODESYS Forge
talk
(Post)
Hi, I imported an old project created with version 3.51.20.50 into the new version 3.51.21.20. I'm using ModbusFB.ClientTCP v4.5.0.0. Strangely, I can no longer download the project due to a licensing issue I didn't have before. The number of Modbus channels has gone from 1 to 54!, and there's no license that would work. Can anyone tell me where I'm going wrong? Thanks Sandro
Last updated: 2025-08-27
Post by antonz on CoDeSys v3.5: creating libraries for both 32-bit and 64-bit controllers
CODESYS Forge
talk
(Post)
Thanks Tim. I would think it somehow is relevant when creating a compiled library, but that may very well not be the case. If I understand you correctly, then the same compiled library created from my source code would work for both 32 bit as well as 64 bit controllers.
Last updated: 2025-09-01
Post by timvh on Get Alarm status in Codesys
CODESYS Forge
talk
(Post)
You are right, that you can use the GetState method, but it is not that simple. You first have to get a list of (filtered) alarms from the AlarmManager. You can find an example in Forge how to do this. See https://forge.codesys.com/prj/codesys-example/alarm-manager/home/Home/ Then you can go through this list to get the state of all the (filtered) alarms. See below the code which you could use. This is all based on the example from forge. Create a program: // This example shows how to access alarms via structured text. PROGRAM PLC_PRG VAR xInit : BOOL := TRUE; udiResult : UDINT; fbAlarmFilterCriteriaAll : FB_AlarmFilterCriteriaAll; fbAlarmManagerClient : FB_AlarmManagerClient; itfAlarmManagerClient : IAlarmManagerClient := fbAlarmManagerClient; xAlarm1 : BOOL; xAlarm2 : BOOL; xWarning : BOOL; iNrOfAlarmsInAlarmList : INT; iNrOfActiveAlarmsInAlarmList : INT; paitfAlarm: POINTER TO ARRAY [0..0] OF AlarmManager.IAlarm; iAlarmIndex : INT; eAlarmState: AlarmManager.AlarmState; END_VAR IF xInit THEN xInit := FALSE; fbAlarmManagerClient.itfAlarmFilterCriteria := fbAlarmFilterCriteriaAll; // register alarm client to get updated about alarm status / changes udiResult := AlarmManager.g_AlarmHandler.RegisterClient(itfAlarmManagerClient, 0, 0); END_IF // Polling the number of alarms udiResult := AlarmManager.g_AlarmHandler.GetActiveAlarms(itfAlarmManagerClient, parritfActiveAlarms => paitfAlarm, iCountActiveAlarms => iNrOfAlarmsInAlarmList); iAlarmIndex := 0; iNrOfActiveAlarmsInAlarmList := 0; WHILE iAlarmIndex < iNrOfAlarmsInAlarmList DO eAlarmState := paitfAlarm^[iAlarmIndex].GetState(); IF eAlarmState = AlarmManager.AlarmState.Active OR eAlarmState = AlarmManager.AlarmState.ActiveAcknowledged THEN iNrOfActiveAlarmsInAlarmList := iNrOfActiveAlarmsInAlarmList + 1; END_IF iAlarmIndex := iAlarmIndex + 1; END_WHILE See below some details about the function blocks: One function block should implement the IAlarmFilterCriteria interface. This can be empty except a few methods. FUNCTION_BLOCK FB_AlarmFilterCriteriaAll IMPLEMENTS AlarmManager.IAlarmFilterCriteria Method implementation (others related to interface are empty) METHOD AreAllAlarmClassesSelected : BOOL AreAllAlarmClassesSelected := TRUE; METHOD AreAllAlarmGroupsSelected : BOOL AreAllAlarmGroupsSelected := TRUE; METHOD GetPriorityFrom : USINT GetPriorityFrom := 0; METHOD GetPriorityTo : USINT GetPriorityTo := 255; The other function block should implement IAlarmManagerClient and get a reference to the FB which implements the IAlarmFilterCriteria FUNCTION_BLOCK FB_AlarmManagerClient IMPLEMENTS AlarmManager.IAlarmManagerClient VAR_INPUT itfAlarmFilterCriteria: AlarmManager.IAlarmFilterCriteria; END_VAR Method implementation (others related to the interface are empty) METHOD GetFilterCriteria : AlarmManager.IAlarmFilterCriteria // see VAR_INPUT for filter GetFilterCriteria := itfAlarmFilterCriteria; Off course you have to add the AlarmManager to your application and add some alarms to it.
Last updated: 2025-09-02
Post by timvh on CoDeSys v3.5: creating libraries for both 32-bit and 64-bit controllers
CODESYS Forge
talk
(Post)
Yes, you are right. I think the help is pretty clear: https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_library_development.html It helps you to find errors in the source code of your library if you want to create a library which is using pointers and you want to use your library on 32 and/or 64 bit platforms.
Last updated: 2025-09-02
Post by alexgooi on Execute a .py file with Codesys
CODESYS Forge
talk
(Post)
Hello yann, In the past I have experimented with the execution of Linux commands using Codesys. Maybe this article helps: https://www.linkedin.com/pulse/run-linux-commands-from-codesys-jouke-aalvanger When you are able to execute Linux commands in Codesys, you can run the Python script.
Last updated: 2025-09-03
Post by kporter on Removing <Empty> node in Device Tree
CODESYS Forge
talk
(Post)
I initially created a SoftMotion axis for my EtherCAT CoE drive. I wanted to change it to use SoftMotionLight so I deleted the SM node, which left an <empty> node. I created the SML device, but the <empty> node remains. How can I remove that from the tree? </empty></empty>
Last updated: 2025-09-06
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.