Post by tib0r on c2iec - translating C to ST
CODESYS Forge
talk
(Post)
I was looking for a transpiler from some more widely used general programming language into ST. It was not easy but I found this :) https://forge.codesys.com/tol/c2iec/home/Home/ Does anybody use it for a programm/library of a couple of hundred lines or more? How does one go about using the output? Is there a “converter” into the Codesys IDE? PLCOpenXML? Would there be interest in this? tib0r
Last updated: 2024-04-20
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 hoatran on Use third party actuator with IO-Link Master (IFM)
CODESYS Forge
talk
(Post)
The generic sensor FB is for controlling the sensor via its cyclic input (PDI) and output (PDO). In this case, ifm raw cyclic input and output data are WORDs (16 bits total) The PDO data from the Buerkert unit are SINT (8 bits) In this case, I would use the unpackword fb from the CAA memory library to unpack the valve feed back value into the appropriate location.
Last updated: 2024-04-23
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 timvh on Codesys SVN
CODESYS Forge
talk
(Post)
If you use 3.5 SP10, then Git is not supported. SVN will work fine, but with this version you do need a USB key, because software licenses are not supported with this version. Off course you can work without SVN (or Git), but especially if you work with multiple developers on one project, it will save you a lot of time and you can keep track of all changes and improvements much easier. So how much is this worth to you?
Last updated: 2024-04-30
Post by gseidel on Discontinuity of A/B/C axis movement.
CODESYS Forge
talk
(Post)
Hi jonasz, you already solved it, I'm answering here for the sake of others with a similar question. You can provide the slope of the A/B/C axis with the U/V/W word. See example 3 here: https://content.helpme-codesys.com/en/CODESYS%20SoftMotion/_sm_cnc_din66025_additional_axis.html If you don't want to change the G-Code, the function block SMC_RecomputeABCSlopes can compute the slopes automatically. https://content.helpme-codesys.com/en/libs/SM3_CNC/Current/SM_CNC_POUs/SoftMotion-CNC/SoftMotion-Function-Blocks/SMC_RecomputeABCSlopes.html Best regards, Georg
Last updated: 2024-04-30
Post by fless on FB having single input but initialized with Array
CODESYS Forge
talk
(Post)
Why will it retain the sum value from the last call? This is how PLC work. Usually variables only get initialized after a download or a reset (i.e. power loss). RETAIN variables are saved in a special kind of RAM and keep their value after a power loss. To initialize variables on every call of your FB use the VAR TEMP block. VAR_TEMP sum : INT; END_VAR
Last updated: 2024-05-07
Post by totorovic on Softmotion not working with simulation mode
CODESYS Forge
talk
(Post)
Good morning, I think that the mode Simulation does not support the Softmotion functionnality because it runs the CODESYS process with normal priority wich is not a good thing for real-time behavior. If you want to test your PLC project, please use a Codesys Control Softmotion (and your computer must have the Ethercat driver installed) or much easier, download your code into the C6 Smart. BR
Last updated: 2024-05-13
Post by tomas111 on OPC UA Client API
CODESYS Forge
talk
(Post)
I ran into a problem. Uploaded an example (https://content.helpme-codesys.com/en/CODESYS%20Examples/_ex_uacapi_example.html) After launch. on the emulator. I see that I am having problems: - UaExpert does not connect. There are many servers but no connection. - I can’t transfer the certificate from quarantine to trusted ones. There is some problem with creating the certificate. CS 19.2. If anyone has had similar problems, please give me advice. Thank you.
Last updated: 2024-05-20
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 arcadium on TargetVisu element stacking on top of each other
CODESYS Forge
talk
(Post)
Hello, I'm new here so if I do something wrong please bare with me. I am using raspberry pi touchscreen made by comfile (CPi-C070WR4C). I also have a window 11 pc where I would like to have a second visualisation, but when I run a TargetVisu with it, all elements of the visualisation end up in the top left corner stacked on top of each other. I have same results running targetVisu on my laptop. Maybe someone had same issues and know the solution? Simas
Last updated: 2024-06-17
Post by s1mon on Two OneWireMaster on one Raspberry PI 5
CODESYS Forge
talk
(Post)
All Sensors from the OneWire Master are assigned already to a seperate task with low prio (26) that runs with 1s cycle time. My EtherCat Task is running with Prio 1. It all works fine, until I adjust the CODESYScontrol.cfg or the CODESYScontrol_Usr.cfg files so that it supports a 2nd OneWire Master in the Codeys Runtime. If I change something in this config file and reboot my EtherCat Master stops working.
Last updated: 2025-10-19
Post by mizi on SM_Drive_Virtual
CODESYS Forge
talk
(Post)
Hi I recently started learning Codesys SoftMotion. At first, I mainly used YouTube videos. I stopped at two videos where the same problem keeps recurring. fbReadPos( Axis := X_Axis, Enable := TRUE, Position => gAxes.lrActualPos); <- axis cannot move I checked the entire code line by line. Zero errors. GPT spits out nonsense, throwing up increasingly worse errors. And when I copy its code, it says the code is wrong and gets stuck in a loop of its own stupidity. Can anyone explain why it doesn't work? Link to the video below: https://www.youtube.com/watch?v=CYa2HvYZgbM&list=PLsEhEcYjG7na0OveU7cqFXBx7ATyGGn0A&index=3
Last updated: 2025-10-21
Post by shaunvdm on OSCAT Scale_r function not working in LD 4.60 works in LAD2 on 3.5.21sp3
CODESYS Forge
talk
(Post)
Hi We have picked up an issue OSCAT_BASIC.Scale_r function call not working in the old lad and FBD version 4.60. Gives no output on the function call. When we convert this to LAD2 it works. As can be see by the two screenshot in normal LD not working in LAD2 it works. Please confirm if this is an issue with Oscat or with LAD in 3.5.21sp3, is there an workaround. Regards Shaun
Last updated: 2025-10-23
Post by shaunvdm on OSCAT Scale_r function not working in LD 4.60 works in LAD2 on 3.5.21sp3
CODESYS Forge
talk
(Post)
Hi We have picked up an issue OSCAT_BASIC.Scale_r function call not working in the old lad and FBD version 4.60. Gives no output on the function call. When we convert this to LAD2 it works. As can be see by the two screenshot in normal LD not working in LAD2 it works. Please confirm if this is an issue with Oscat or with LAD in 3.5.21sp3, is there an workaround. Regards Shaun
Last updated: 2025-10-23
Post by nxbp on About Compatibility
CODESYS Forge
talk
(Post)
Let's say I have a CODESYS controller (PLC) with a runtime version around 3.5.19. If I use development software version 3.5.21.40 or a later version that will be released in the future for programming, could there be any problems or malfunctions in the controller's program execution or in the execution of the new, updated function blocks from the newer software? I mostly work with servo-based motion applications, so please keep that in mind when answering, and provide a detailed answer so I don't have to email you again about this topic.
Last updated: 2025-12-11
Post by timvh on History of Alarms
CODESYS Forge
talk
(Post)
It is most likely related to the existing alarm log files in the Control Win. Depending on how you start up the Control Win, you can find the files in: C:\Users\<user name="">\AppData\Roaming\CODESYS\CODESYSControlWinV3x64\<unique id="">\PlcLogic\alarms\ Or C:\Windows\System32\config\systemprofile\AppData\Roaming\CODESYS\CODESYSControlWinV3x64\<unique id="">\PlcLogic\alarms\</unique></unique></user> Delete the files in this folder, download your project again and start the application. PS, if you have an older version of CODESYS, the files are in: C:\ProgramData\CODESYS\CODESYSControlWinV3x64\<unique id="">\PlcLogic\alarms</unique>
Last updated: 2026-01-07
Post by peder on Parker Compax3 controlled by Schneider LMC 201
CODESYS Forge
talk
(Post)
I have replaced a Parker PAC320 with a Schneider LMC 201 The system has some Parker Compax3 servodrive communicating over EtherCAT. PAC320 is programmed with Codesys 3.5.15. The program is opened in Machine Expert 3.2. But I can not get the commumication running to the Compax3. When I scan for hardware the it seems like the Compax3 is registated, but not the motors. Anyone that have succeded this replacement?
Last updated: 2026-01-13
Post by bertus on Can't get SMC_SmoothPath to work
CODESYS Forge
talk
(Post)
Hello all, I am trying to run a XY trajectory from a static G-Code file. Everything works except the smoothing/blending of the corners. My setup: Codesys v3.5sp18 Raspberry Pi 4 CODESYS Control for Raspberry Pi SL, using demo license. Zero axes (only using the interpolator). The order of processing for my decoding is: SMC_NCDecoder (ok) SMC_SmoothMerge (ok) SMC_SmoothPath (not ok) SMC_LimitDynamics SMC_CheckVelocities I created following instances and buffers: fbNCDecoder: SMC_NCDecoder; fbSmoothMerge: SMC_SmoothMerge; fbSmoothPath: SMC_SmoothPath; fbLimitDynamics: SMC_LimitDynamics; fbCheckVelocities: SMC_CheckVelocities; aNCDecoderBuffer: ARRAY[0..49] OF SMC_GeoInfo; // buffer stage 1 (fbNCDecoder) aSmoothMergeBuffer: ARRAY[0..19] OF SMC_GeoInfo; // buffer stage 2 (fbSmoothMerge) aSmoothPathBuffer: ARRAY[0..99] OF SMC_GeoInfo; // buffer stage 3 (fbSmoothPath) aLimitDynamicsBuffer: ARRAY[0..39] OF SMC_GeoInfo; // buffer stage 4 (fbLimitDynamics) My original G-Code file has a lot of short G1 elements but this example, I reduced it to a simple square: N000 G51 D10 N010 G38 O1 N020 G00 X0 Y0 F50 E1000 E-1000 N030 G01 X0 Y-37.5 N040 G01 X-75 Y-37.5 N050 G01 X-75 Y37.5 N060 G01 X0 Y37.5 N070 G01 X0 Y0 N080 G50 N090 G39 O1 In the Codesys CNC settings, I have these instances activated: SMC_SmoothMerge SMC_SmoothPath SMC_LimitDynamics SMC_CheckVelocities And with those settings (and the path-preprocessing button actived), the G-Code viewer shows the square with nicely blended corners (see attached picture). However, when running it on the PLC, it doesn't blend the corners at all. Below the relevant part of my code. The process is started with bDecode. // stage 1: decoding G-code fbNCDecoder( ncprog := square, bExecute:= bDecode, bAbort:= NOT bDecode, nSizeOutQueue := SIZEOF(aNCDecoderBuffer), pbyBufferOutQueue := ADR(aNCDecoderBuffer) ); // stage 2: merge short linear segments fbSmoothMerge( bExecute := bDecode, poqDataIn := fbNCDecoder.poqDataOut, nSizeOutQueue := SIZEOF(aSmoothMergeBuffer), pbyBufferOutQueue := ADR(aSmoothMergeBuffer), piMaxDifference := PI_MAX_DIFFERENCE, usiMaxDegree := 5, wFeatureFlag := 1, wAdditionalParamNumber := 0, dMinimumCurvatureRadius := D_MIN_CURVATURE_RADIUS ); // stage 3: smooth corners fbSmoothPath( bExecute := bDecode, bAbort := NOT bDecode, poqDataIn := fbSmoothMerge.poqDataOut, eMode := SMC_SMOOTHPATHMODE.SP_SPLINE5_MIN_CURVATURE, eAddAxMode := SMC_SMOOTHPATHADDAXMODE.SPAA_NONE, nSizeOutQueue := SIZEOF(aSmoothPathBuffer), pbyBufferOutQueue := ADR(aSmoothPathBuffer), dAngleTol := D_ANGLE_TOL, bSymmetricalDistances := TRUE, bImprovedSymmetricCuts := TRUE ); // stage 4: keep acc/dec and velocity within limits fbLimitDynamics( bExecute := bDecode, bAbort := NOT bDecode, poqDataIn := fbSmoothPath.poqDataOut, wAxis := 16#07, nSizeOutQueue := SIZEOF(aLimitDynamicsBuffer), pbyBufferOutQueue := ADR(aLimitDynamicsBuffer), bIncludePathSettings := TRUE, dMaxVel := 2500, dMaxAccDec := 10000 ); // stage 5: check the path speed fbCheckVelocities( bExecute := bDecode, bAbort := NOT bDecode, poqDataIn := fbLimitDynamics.poqDataOut, dAngleTol := D_ANGLE_TOL); pathQueue := fbCheckVelocities.poqDataOut; // repeat until MaxDuration ... Any idea what I'm doing wrong? Is smooth path supposed to work at all when using a demo license? Thanks.
Last updated: 2025-12-17
Post by gseidel on Scara3 kinematic robot error
CODESYS Forge
talk
(Post)
Hi aniket-b, the maximum cycle time of the EtherCAT_Task is very high, ca. 35 ms. Could you please check if this is just the first cycle after starting the application or if it happens during motion? (You can reset the times in the task configuration by right-clicking in the "monitoring" tab.) Another thing to try: put the SoftMotion_Planning task on a different core. Best regards, Georg
Last updated: 2026-01-07
Post by suyash on Device User Logon
CODESYS Forge
talk
(Post)
Thanks for your reply @eschwellinger. Update : the is problem is resolved. It was done by renaming the User database file (/var/opt/codesys/.UserDatabase.csv) as deleting it was risky. After restart the IDE asked me to create new user. On doing that the problem got resolved. Reference for members facing similar problem/s : sudo systemctl stop codesyscontrol sudo mv /var/opt/codesys/.UserDatabase.csv_ /var/opt/codesys/.UserDatabase.csv_.old sudo systemctl start codesyscontrol
Last updated: 2026-05-14
Post by ph0010421 on ModbusTCP_FunctionCode06
CODESYS Forge
talk
(Post)
Hi You can add a channel to the standard Modbus TCP library with FC06. From the device tree, add Ethernet device, ModbusTCP master then finally a ModbusTCP slave (your power meter). You can add read/write channels (for any FC) in here. As you add these devices, the necessary libraries will be inserted for you. Alternatively, I have a ModbusTCP client/server library if your RT doesn't have Modbus (I think they all do these days?)
Last updated: 5 days ago
Post by winki on Error in licence activation
CODESYS Forge
talk
(Post)
Hello, Despite receiving an activation message after entering the license number, I don’t have any license installed on my gateway. I went to check in /var/opt/codesys/ and there is no License file. I searched the entire gateway for a .lic file and found no license. I’m really stuck—how can I fix this, please? When I am using the licence tools I got this picture: But nothing that have been activated. Loic,
Last updated: 2026-02-03
Post by winki on Error in licence activation
CODESYS Forge
talk
(Post)
Hello, Despite receiving an activation message after entering the license number, I don’t have any license installed on my gateway. I went to check in /var/opt/codesys/ and there is no License file. I searched the entire gateway for a .lic file and found no license. I’m really stuck—how can I fix this, please? When I am using the licence tools I got this picture: But nothing that have been activated. Loic,
Last updated: 2026-02-03
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.