Post by alexgooi on Modbus TCP interface get stuck
CODESYS Forge
talk
(Post)
Dear Forum, I'm currently experimenting with Modbus interfaces in combination with a virtual controller. I have the following setup (Modbus_Setup.png): I have an IPC with Debian installed on it (Debian 13). On this Debian machine I have installed a docker server and on this docker server a Codesys runtime container is deployed (Codesys_image.png). The Modbus scanner makes connection with and IO coupler and this works well. But when I physically disconnect the ethernet connection between the IPC and the IO coupler the Modbus interface gets stuck in a state where it gets stuck in the busy state (Modbus_Stuck.png). When I plug the cable back in, the IO coupler isn't communicating until the xBusy variable is manually set to False, after this action is performed the communication goes back to normal. I have tried to set the container network to host and bridge (Network.png), but both version gives the same result (stuck scanner). I would expect that the Modbus interface is generating a timeout after 1 sec, because this is how it is setup (Modbus_settings.png), but this is not what happens. I have thought to write a piece of code that writes xBusy to false when it is stuck but because it is an output I'm not able to write to it. I have tried this with another PC (different CPU/motherboard) but this gives the same outcome. I tried updating to the latest version of Virtual control (4.20) but this gives the same result. I also tried to do the same thing with an ethernet IP scanner, and this gives an error after the timeout is expired (so this works well). I have tried to connect to the IO coupler using the Modbus_FB lib (Modbus_FB.png) the FB's are giving the correct errors and behaving as expected. At last I have tried to use a Scanner on a Codesys controller (no IPC) and here the scanner behaves as expected (an alarm is triggered after the timeout has been expired). The version of the Codesys components are listed in the picture Versions.png Is there anyone that can give me a push in the right direction? Kind regards Alex
Last updated: 2026-04-14
Post by reinier-geers on draw 1000 nails the easy way
CODESYS Forge
talk
(Post)
Because codesys dont has a draw command like Circle in Qbasic ( 20 years ago ) i want to draw 1000 nails, and then move them in the screen when they needed. I dont know if codesys can handle this. But is ther an easy way to draw 1000 nails with every single one has a pointer for movement, color and invisable. Of is there a linux command to draw a circle so i can do it with a process command
Last updated: 2026-05-06
Post by timvh on HTML5 visualization controls disabled on CODESYS Control for Linux SL - overlay not supported?
CODESYS Forge
talk
(Post)
I would suggest to install the latest visualization and visualization add-ons. Go to Tools - CODESYS installer to updates these add-ons (or just start the CODESYS installer through the Windows start menu). After installation, restart CODESYS SP22 and update the project to use this new visualization profile (you can update this through the menu Project - Project Environment - Visualization Profile).
Last updated: 2026-08-05
Post by dmb-fan on Attemp Convert old V2.3 projects : Error HRESULT: 0x80010105 (RPC_E_SERVERFAULT))
CODESYS Forge
talk
(Post)
I had runnig this already. Then I updated to SP22 patch3. After that I got always this error: ===== Project importieren: XXXXnameYYYYYY ===== *[FATALER FEHLER] Fehler beim Import des Projekts: Ausnahmefehler des Servers. * [FATAL ERROR] Error importing the project: Server exception. (Exception to HRESULT: 0x80010105 (RPC_E_SERVERFAULT)) I delete the version and installed again. Same. I uninstalled all CoDeSys on the PC and installed the old SP22 patch2 new. Same error by opening old projects. Immediatly, not by converting. Convert V3.5.17 was always installed. What is happening or what can I do?
Last updated: 2026-08-11
Post by hwillems on Ranges, Lambdas, on Fixed arrays of structs
CODESYS Forge
talk
(Post)
I do datastructures and algorithms in Codesys. For example a Struct of Person with thing's like IdNumber, Name, Age etc. as example. Now i do all kind of calculations, filters. So i have this pretty big Fixed Array with Structs. On this struct i want to do simple stuff you can do easily in C++/Python/Rust etc. For example i want to do this: AvererageAge := Average(Peoples.Age); Then it will return the average of all members ages. Or Sort struct on age etc. Or sort on alphabetical Name. Or use Lambda functions to filter/mutate out things like, filter out everybody above 18 years old. Or remove people who it's name start with "A". Currently i have to write my own custom function for example sorting on Age. And make a super specific function based on that particulare datastructure. Here an Example: (*Before calling this FIlter method, set the mNodeFilterSwitch to the desired filter.*) CASE mNodeFilterSelect OF (********************************[ Status Filters ]***********************************) NodeID: FOR x := ACS_OUT_BEGIN TO ACS_OUT_END BY 1 DO FOR y := ACS_IN_BEGIN TO ACS_IN_END BY 1 DO IF marrNode[y].Status.oiNodeID > marrNode[y + 1].Status.oiNodeID THEN mNodeTemp := marrNode[y + 1]; marrNode[y + 1] := marrNode[y]; marrNode[y] := mNodeTemp; END_IF; END_FOR; END_FOR; Started: FOR x := DES_OUT_BEGIN TO DES_OUT_END BY -1 DO FOR y := DES_IN_BEGIN TO DES_IN_END BY -1 DO IF marrNode[y].Status.oxStarted > marrNode[y - 1].Status.oxStarted THEN mNodeTemp := marrNode[y - 1]; marrNode[y - 1] := marrNode[y]; marrNode[y] := mNodeTemp; END_IF; END_FOR; END_FOR; Starting: FOR x := DES_OUT_BEGIN TO DES_OUT_END BY -1 DO FOR y := DES_IN_BEGIN TO DES_IN_END BY -1 DO IF marrNode[y].Status.oxStarting > marrNode[y - 1].Status.oxStarting THEN mNodeTemp := marrNode[y - 1]; marrNode[y - 1] := marrNode[y]; marrNode[y] := mNodeTemp; END_IF; END_FOR; END_FOR; END_CASE; I have like 30+ of these in the enum. Not really DRY code right? These are custom made bubble sort filters in a function. You pass in the Datastructure, and say what function you want. (This is an enum collection of sorting functions) And then the Array with Nodes of Structs gets ordered. Why can't we have Iterators and Lambda's and build in standard functions like regular languages? Also i use bubble sort because it's the easiest to implement because i can't get this to code DRY. Problem with ST (Even the new one with classes) that it's very limited for programming datastructures and algorithms. Yes you still not want dynamic memory and you need to choose the correct algorithm so you know the most extreme edge cases regarding the time it takes to execute the algorithms.(Real-time execution) How are other people dealing with this? Here for example saw some software using an adjusted ST language and having FOR EACH possibility: https://www.fernhillsoftware.com/help/iec-61131/structured-text/st-for-each.html You can then build your own custom Iterator functions. I wish the IEC 61131-3 standard would be more expressive and having more standard modern features, but still keep close to the fact of no dynamics memory and real-time systems.
Last updated: 2023-08-31
Post by drbuzz on Communication Error (#0) for IFM controller
CODESYS Forge
talk
(Post)
Hi Folks, Every time I use an IFM controller I always seem to run into a problem connecting to it. I get the Communications Error (#0). So I thought I would share some tips and tricks. Once the CANfox Cable (EC2112) cable driver is installed, you can use the yellow app in the sys tray to blink the lights on the cable. Confirm the cable works in the IFM maintenance software by connecting to the controller and reading the information on it. Make sure to download an OS into the controller (the light will go from a fast blink to solid green). In Codesys V2.3, the communication settings for the CR0401 is 250kBaud by default and Node ID 127. What got me, was I needed to reboot the computer after the cable driver install. Also if your application has canbus settings in it which are changed from default, after the controller is power cycled, the new Node ID and Baud will be in effect. I made a handy guide because too much time has been wasted on this. Programming IFM CR0401 Serial/Can Programming Cable • Connect IFM EC2112 CanFox programming cable with connector adapter. • Make sure cable is linked to VM (if using VM). • Install drivers for cable if not installed. o Download from IFM EC2112 site. https://www.ifm.com/ca/en/product/EC2112 • Once Installed, reboot computer. • In system tray, there should be a yellow icon that you can open and check on programming cable. Select the cable in the list and flash the lights to confirm it is working. Maintenance Software • Install IFM Maintenance Tool Software. o Download from IFM Site. https://www.ifm.com/ca/en/download/eco100_MaintenanceTool • Open IFM Maintenance software • Select Basic System • Select CAN cable • It will tell you if you don’t have a cable connected. • Use Wizard if needed. • Read Channel Parameter on the Settings page, or get Identity in the System Information > Identity. • Default Node is 127 on a new unit. Baud is 250kBaud (bits/sec) • Controller information should populate. • Controller green light should be blinking at 5hz (meaning OK but no OS, just bootloader). • Click Software > Load. • Open the OS file. Should match Codesys version selection (for CR0401 this is version 3). o Download OS file from IFM Website. https://www.ifm.com/ca/en/product/CR0401 o It is located at the top of the download under “software for CR0401”. o Select the file and load it… this will take a minute. • Once completed the unit should now have a solid green light o Solid green means the controller has an OS but no application is running. Codesys V2.3 Application • Codesys needs to be downloaded and installed from the IFM website as it has the IFM libraries and license to use the software. o Download from the IFM CR0401 page. o https://www.ifm.com/ca/en/product/CR0401 • Create new application with the correct IFM controller or Open Codesys application. • Keep in mind that the PLC Configuration on the Resources tab can be changed for the CAN communication interface… so changes to node and baud will take effect after the first download and reboot of the controller. • Go to “Online” in the top menu and change “Communication Parameters” o The Local dropdown shows the last configuration used. All other interfaces will show below it and need to be updated when changed or used. o Confirm Node ID is 127 for the first download. The NodeID will change to whatever the program has after (in my case 125). Node Send Offset should be default at 1536 Node Recv Offset should be default at 1408 Can bus Baudrate should be 250 kbaud. Yes to Motorola Byte Order Block Transfer should be false and note used (60 is default setting). Can Card Driver should match the systray item which is Sie_USB. • If the system populated the other one, just update and relay the communication parameters. The software will usually bring up the available cable and driver. • Go to “Online” and Login to download. o Press Yes to Download Application. I hope this helps!
Last updated: 2025-03-21
Post by kunz on Profinet Device keeps abort connection with AR alarm.ind(err)
CODESYS Forge
talk
(Post)
Can somebody explain what the error Connection aborted: AR alarm.ind(err) exactly mean? I have the same Problem and dont know how to solve the issue
Last updated: 2023-08-21
Post by rohitk on CoDeSys libraries for BECKHOFF EL7332/EL7342
CODESYS Forge
talk
(Post)
Hi, step 1 : go to beckhoff website, go to required IO card, go to download option in that, go to XML donlowad and download the file Step2 : Go to codesys software, go to tools - deviceRepository - install that downloaded file.
Last updated: 2023-08-24
Post by bagusd on gateway problem
CODESYS Forge
talk
(Post)
hello, I have a problem with the gateway not being able to connect to the plc, does anyone know why the gateway is difficult to connect to the plc? even though the lan cable has been connected to the plc and codesys gateway V3 has been restarted, thank you
Last updated: 2023-08-25
Post by roundex on CSVReaderInit returns error : INVALID_HANDLE
CODESYS Forge
talk
(Post)
I got same issue but managed to get it to work again by downgrading the Runtime. Here's my specs: CODESYS V3.5.19.0 Runtime Linux SL 4.7.0.0. CSV Utility SL 1.1.0.0 (Licensed IIoT libraries SL) I tried Runtime 4.8.0.0. and 4.9.0.0 but both result in INVALID_HANDLE error.
Last updated: 2023-08-30
Post by eschwellinger on CSVReaderInit returns error : INVALID_HANDLE
CODESYS Forge
talk
(Post)
this is a security issue not to read/write in the plc allowed path I would recommend to update and change the path in the application were the files are😏
Last updated: 2023-08-30
Post by laazik2 on v3.5 SP19 - Modbus TCP Devices - Channel Limit?
CODESYS Forge
talk
(Post)
I am actually wondering as well if there are plans to fix it or not? As adding two modbus devices creates it's own problems with connection limits and other issues, which some slave devices have.
Last updated: 2023-09-05
Post by richard-wang on When Keyboard Key is in Hold, then Webvisu is extreme slow and latent
CODESYS Forge
talk
(Post)
Hi Tyro Did you resove your problem? I have the same issue. BR Richard
Last updated: 2023-09-05
Post by ulvis on How to do horizontal scroll in CFC editor?
CODESYS Forge
talk
(Post)
CFC (page oriented) editor does vertical scroll by mousewheel and zoom by ctrl + mousewheel, allright. How do I do the horizontal scroll (pan) using the mousewheel? (I do not want to drag the scrollbar, I am sure you have guessed by now.)
Last updated: 2023-09-06
Post by nyee on Project compiling error in Simulation mode
CODESYS Forge
talk
(Post)
Hi, I have a similar issue - we have been using codesys V3.5.16.20 Do you have any suggestions or confirmation that this will work with a different version of codesys and Pi extension
Last updated: 2023-09-07
Post by eschwellinger on Device User Logon and No device is responding.. Pi4b codesys 3.5 SP19 2 + (64-bit)
CODESYS Forge
talk
(Post)
CODESYS runtime version 4.9.0.0 for your Pi. ssh user should be pi. This is for RasperrPi Os 32 bit. If you are on RasperryPi OS 64Bit use Arm 64bit SL product as Runtime.
Last updated: 2023-09-11
Post by wehling-h on Troubles with using CAN API
CODESYS Forge
talk
(Post)
Hi together, I'm using a 11bit driver system which seems to work well so far. May someone here knows if i have to configure a singleID for each message i like to receive and evaluate?
Last updated: 2023-09-11
Post by transmin01 on CANbus issue
CODESYS Forge
talk
(Post)
Hi, I have been trying to get a CANbus device working with Codesys 3.5SP19 patch1 via a Beckhoff EL6751 gateway without success. I have the CANOpen_Manager and CANopen device configured but this will not run. Is there any code required to kickstart the CANbus comms into action? Regards Trevor
Last updated: 2023-09-13
Post by eschwellinger on RPI Zero w - Edge gateway cant install
CODESYS Forge
talk
(Post)
ok now it is clear - this is a single core Pi Zero W. For this device there is no edge device available. But just for working with CODESYS it is not really needed and yes plc runs only for 2h unlicensed.
Last updated: 2023-09-13
Post by chris12345 on Calling OPC UA Methods from UaExpert
CODESYS Forge
talk
(Post)
Hi, Is it possible to generate an .xml file with FBs and methods from Codesys? Or do I need a separate program to generate the .xml file? Or is there a otherway to use methods via opc ua from the own project?
Last updated: 2023-09-20
Post by rschwager on description about the build compiler definition
CODESYS Forge
talk
(Post)
Hi CODESYS moderators and user! Is there any description about the compiler definition in property of application? e.g.: CANOPEN_NO_HEARTBEATPRODUCING Is there more definition? Best regards Robert
Last updated: 2023-09-26
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.