Post by timvh on Problem Reading Registers via Modbus from non Codesys device
CODESYS Forge
talk
(Post)
According to the documentation: https://wiki.teltonika-networks.com/view/RUT956_Modbus You need to create a Channel to read 2 registers from address 143 to get the lattitude. It doesn't specify if you need to read it as a Holding Register or as an Input Register. You could try both. So in the Teltonika router, you need to enable it as being a Modbus Server. Then in CODESYS add an Ethernet Adapter, then a Modbus Client (Master) and to the Client (Master) add the Modbus Server (Slave). Set the IP address and add the Channel. The please consider that CODESYS doesn't update any variables when they are not used in the application. In the I/O mapping tab of your I/O configuration, you can set the "Always update" to enabled.
Last updated: 2025-03-08
Post by elsmart on Sequential read and triggering of Modbs RTU channels in application
CODESYS Forge
talk
(Post)
Hello I need some help understanding how to use Modbus RTU (COM port) in Codesys enviroment. I defined a Modbus Server device (slave) in device tree and added some channels to read from (function 3). Also I set trigering mode to Application. I have a POU in which I want to trigger each channel one after the other something like this (C code for better visualisation): for (int i = 0; i < channelsCount; i++) { triggerChannel(channelsArray[i]); // Start transmission while(channel.xBusy); // Wait for transmission to complete } I have found ModbusChannel function block documentation but examples are scarce. I don't understand how rising edge triggering works. What would be the best solution for achieving sequntial channel triggering? What is the common way to read multiple Modbus channels once every time a specified POU is executed?
Last updated: 2025-05-16
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 blitz on Arcs intersection
CODESYS Forge
talk
(Post)
Does anyone have an idea how to run such a spiral on CNC smoothly without stops? SMC_SmoothPath and SMC_RoundPath don’t help. In general according to the documentation they should work on arcs but in the example only straight lines are shown and I get the impression these functions only work for straight lines. N005 G51 D15 N010 G01 X120.00 Y120.72 F100 N020 G03 X110.00 Y130.72 I-10.00 J0.00 F100 N030 G03 X100.00 Y120.72 I0.00 J-10.00 F100 N040 G03 X140.00 Y120.72 I20.00 J0.00 F100 N050 G01 X140.00 Y120.72 F100 N060 G03 X80.00 Y120.72 I-30.00 J1.67 F100 N070 G01 X80.00 Y120.72 F100 N080 G03 X160.00 Y120.72 I40.00 J-1.25 F100 N090 G01 X160.00 Y120.72 F100 N100 G03 X50.00 Y120.72 I-55.00 J-5.00 F100 N110 G01 X50.00 Y120.72 F100 N120 G03 X190.00 Y120.72 I70.00 J-0.71 F100 N125 G50 N130 M30
Last updated: 2025-09-23
Post by alimans on Unrecoverable SoftMotion state after switch to PreOp
CODESYS Forge
talk
(Post)
For anyone still experiencing this issue, here’s how I managed to solve it: Symptoms: 1. Sometimes, on the first start of CODESYS Runtime, the modules fail to run. 2. After disconnecting and reconnecting the communication cable, the drive does not start again. 3. MC_Reset cannot clear the fault. Solution (what worked for me): 1. Check the axis communication using the SMC_CheckAxisCommunication function block (FB). 2. If CheckAxisCommunication.eComState of the axis is equal to or higher than SMC_CommunicationState.SMC_COMSTATE_BASE_COM_INITIALIZATION, then 3. Use the SMC3_ReinitDrive function block to reset the drive — and it works. For more information, refer to the official CODESYS documentation: 👉 https://content.helpme-codesys.com/en/libs/SM3_Basic/Current/SM3_Basic/DriveInterface/AXIS_REF/SMC3_ReinitDrive.html
Last updated: 2025-10-23
Post by shooxplc on How to call the same program from library and get the vars updated.
CODESYS Forge
talk
(Post)
Hi, I am writing to you today because I would like to create a library that would contain a program with its various subprograms, in my example "PLC_PRG" with "a", "aa", "aaa". But once the library is created as shown below: I would like to be able to drag and drop my folder as many times as I want (let's say I manage the same system multiple times). Once the drag and drop is done, we can see the second folder with the variables renamed successfully. As shown below: But my variables in CAD_1 remain the same as for CAD, so it's PLC_PRG instead of PLC_PRG_1, for example. Is there a solution to automate this? I wouldn't want to have to rename all my variables manually, considering that in the program where I want to do this, the number of variables is substantial. Lucas.
Last updated: 2023-08-23
Post by faceplant on CmpDynamicText unresolved references
CODESYS Forge
talk
(Post)
Hello! I am new to codesys so I am sorry if this is not the right place to ask this question. I am using codesys V3.5 SP20 Patch 1 + (64-bit) and a Groov EPIC PLC (GRV-EPIC-PR2). I am trying to build and deploy my application to the PLC, but when I log in I get 6 errors (codesys_error.png). It seems that the errors have to do with the CmpDynamicText system library which I have as version 3.5.20.0. I have tried to add CmpDynamicText to the ComponentManager section in the PLC's CODESYSControl.cfg file as described in this forum post and still hit the same error. I noticed that the library is grayed out in the library manager, which I think might be the issue. However I don't remember if it was grayed out before I encountered this issue. Please let me know if I can provide anymore info. Thank you!!!
Last updated: 2024-07-19
When using the Element Collections library, is there a proper way to remove a dynamically created collection from memory?
CODESYS Forge
talk
(Thread)
When using the Element Collections library, is there a proper way to remove a dynamically created collection from memory?
Last updated: 2022-09-08
Post by i-campbell on Official MQTT-Client: MAX_RECEIVE_BUFFER_SIZE_EXCEEDED
CODESYS Forge
talk
(Post)
256MB for the protocol yes, but the default value for this library parameter limits the library to 6kB per task scan.
Last updated: 2023-09-27
When using the Element Collections library, is there a proper way to remove a dynamically created collection from memory?
CODESYS Forge
talk
(Thread)
When using the Element Collections library, is there a proper way to remove a dynamically created collection from memory?
Last updated: 2023-10-31
Post by tk096 on Sm3_math
CODESYS Forge
talk
(Post)
Hi, SM3_Math is actually an internal library of SoftMotion. You can use it. The only restriction is that there is no compatibility guarantee - meaning that POUs in the library may change their interface, get moved/renamed/removed... in future versions of SoftMotion.
Last updated: 2025-03-19
Post by vincerex on SFTP access
CODESYS Forge
talk
(Post)
hello everyone, is there a library or a way to access to SFTP server using Codesys? SysSocket library is only suitable for FTP it seems. I didn't find any other suggestion on the web Thanks for your help VinceReX
Last updated: 2025-04-01
Post by altus22 on Type SM3_Drive is not equal to type SM3_Drive
CODESYS Forge
talk
(Post)
Another way to resolve this is to set Codesys to use a specific version of the offending library under Placeholders in the Library Manager.
Last updated: 2025-04-17
Post by abuckie on Edit library in project
CODESYS Forge
talk
(Post)
I am looking for the same thing, I am trying to edit a library I downloaded but I found that the functions are read only. The link above is broken, should I be looking somewhere like here? https://content.helpme-codesys.com/en/LibDevSummary/index.html
Last updated: 2025-05-22
Post by r19h72 on Io-link library vor ethernet/ip
CODESYS Forge
talk
(Post)
gibt es Pläne für eine Erweiterung der io Link sl library auf ethernet/ip? derzeit sind nur profinet und ethercat verfügbar wann kann man damit rechnen?
Last updated: 2025-05-24
Post by caliberbishop on Having trouble using the Web Client SL library
CODESYS Forge
talk
(Post)
Edited: Thank you, after further inspection the library is unavailable in the example project for some reason, but using the correct Namespace in my project solved the problem.
Last updated: 2025-10-07
Post by matteodigani on Add library .dll to project codesys.
CODESYS Forge
talk
(Post)
Is there a way to import an external library made with c++/CLI or python? then call the function that i have made inside the program POU ?
Last updated: 2025-10-15
Size of the abyPoolMemory input when creating an fb for the purpose of fb creation (fb extends Factorybase from the fbFactory Library)
CODESYS Forge
talk
(Thread)
Size of the abyPoolMemory input when creating an fb for the purpose of fb creation (fb extends Factorybase from the fbFactory Library)
Last updated: 2023-01-15
Post by shubh on unable to access .py library
CODESYS Forge
talk
(Post)
i am trying to import .py libraries of Utest in codesys environment, i have tried sys.path.append() still i am unable to access that library.
Last updated: 2024-01-05
Post by mattr on IFM CR711S Version Mismatch
CODESYS Forge
talk
(Post)
New to working with Codesys, it appears my device library has a newer version then the hardware i'm working with... I cant seem to find a way to update the hardware, or downgrade my library to match them up. I get this error Anythoughts?
Last updated: 2024-03-03
Post by eschwellinger on No work Control Torque Codesys with Drivers M751 Control Techniques
CODESYS Forge
talk
(Post)
you need to check this in the Cotrol tech specifc SoftMotion lirary in CODESYS library manager. There is embedded a pdf inside this library.
Last updated: 2024-03-14
Post by durallymax on How to use MQTT in CODESYS Control Win V3
CODESYS Forge
talk
(Post)
With the IIoT library/license or the one provided by the hardware OEM. Several examples online of how to use the MQTT Client SL library.
Last updated: 2025-12-12
Post by mondinmr on Frustration-Fueled Feedback on Project File Management and Git Integration
CODESYS Forge
talk
(Post)
In reality, other vendors are already moving towards integration with VS Code. B&R, for example, is likely the only one that could truly challenge Codesys in the market: they’ve overhauled their once-archaic environment (previously lacking ST OOP) and are now catching up significantly with Automation Studio Code, offering modern programming capabilities and native support for tools like Git and GitHub Copilot. The other big names in the market, frankly, are still light years behind. For smaller projects, typically handled by “wire strippers” (with all due respect!), a classic environment might be just fine. But once you’re dealing with thousands or even millions of lines of code—possibly organized in an OOP paradigm, spanning large teams, integrating third-party libraries, requiring version control, and performing comprehensive tests—a lightweight, responsive editor supercharged with AI-based features becomes essential. The real strength of something like VS Code lies in its vast ecosystem of extensions and integrations: from advanced Git support to automated build/test pipelines, and even AI-assisted autocompletion that already makes software development much more agile and productive. I understand that a PLC project involves more than just ST code (task setup, fieldbus configuration, libraries, etc.). However, there’s no technical reason not to at least provide ST files in a pure text format, making version control and collaboration far easier. B&R has clearly adopted this approach; I hope Codesys will accelerate its own efforts to offer a native, text-based integration and modern development tooling. Once you go beyond a certain level of complexity—dozens of configurations, OOP hierarchies, and distributed teams—you really do need “engineer-level” software tools, not just solutions targeting “wire strippers.” For large-scale automation projects, a more open and flexible approach is the only way to avoid chronic frustration. Let me emphasize that I truly love Codesys and consider the work done so far to be brilliant—I’d be sorry to see it overshadowed by others moving faster in this direction.
Last updated: 2025-02-18
Post by fontrap on cmDongle Raspberry Pi issue
CODESYS Forge
talk
(Post)
Hello mates, I'm working with CODESYS V3.5 SP20 on a Raspberry Pi and I use "Raspberry Pi MC SL" as device on the project. I've installed the Control Standard L (multicore) license on a Wibu System usb-Dongle (cmStick/4.50) that already had another license from another vendor. I follow the online activation procedure from CODESYS documentation. Raspberry Pi has already CodeMeter installed for the other license. When I plugin the dongle on Raspberry and start the Runtime from Raspberry Pi Update in CODESYS I receive the message that I'm on Demo mode because the license is missing. I double checked that the license is activated in the dongle, through the WebAdmin of CodeMeter and the second license runs properly without any issue. I have already try to change the dongle from HID to MSD device and backward but the the Runtime cannot recognize the Dongle. I have also try to stop and start the Runtime through CODESYS without success. Is there anything else I can do to fix this issue?
Last updated: 2024-04-22
Post by dkugler on Step motor ECT60 Ethercat in codesys 3.5
CODESYS Forge
talk
(Post)
double click the master and the ECT60 and have a look what's shown in the tap online, state and log?
Last updated: 2024-08-14
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.