Post by charleskirkland on Connect to Azure IoT Hub
CODESYS Forge
talk
(Post)
It sounds like your TLS setup is basically correct, since the handshake works via OpenSSL, so the issue is likely on the CODESYS side rather than the certificates themselves. From what I’ve seen with the Azure IoT Hub Client SL library, you should double-check that the SAS token is actually being generated and passed correctly to the function blocks (especially wsDeviceSaS) and that the MQTT/HTTPS FB is really triggered cyclically-otherwise the controller won’t initiate the connection at all. Also, make sure DNS, time (NTP), and full certificate chain trust are properly configured on the controller, since IoT Hub authentication depends on them even when using SAS tokens. Another thing worth checking is the library/runtime version-there are reports that certain versions changed behavior and caused connection issues. I’d recommend starting with the official demo project (AzureMQTTDemo) and comparing it step by step with your setup to see what’s missing or not triggered. Speed Stars
Last updated: 2026-04-27
Post by egau on Hard shutdown: no code on device after power on
CODESYS Forge
talk
(Post)
This explanation aligns with the issues we’re experiencing with our machines. The scenario I described is happening with one of them (let’s call it Machine A). This machine is identical to another one (Machine B), except for some custom code that facilitates communication with an external Beckhoff PLC for MES integration in the production line. Machine B has been powered on and off daily for at least three months and has never had this problem. Given that, I highly doubt the MES custom code is the cause of the code corruption. This being said, your explanation does seem plausible. However, if faulty EtherCAT cables were the issue, why wouldn't the error occur during normal operation? Why would bad cables only cause problems during a hard shutdown? One last question: When you encountered this behavior, did you see a similar error in your logs? i.e, an "AccessViolation" exception in the EtherCAT Task?
Last updated: 2024-10-03
Post by imdatatas on Read "Homed" status from EtherCAT drive
CODESYS Forge
talk
(Post)
Hello, I have experienced such situations with some servo drive devices in the past. The home completion information is reported to the upper controller by the slave drive with the states of the relevant bits in the StatusWord (for example; 6041h Bit10, Bit12 in Home mode). If the states of these bits are correct in terms of number and state but the motor does not actually perform the action; You can contact the slave drive manufacturer. There may be a problem with the device firmware. Another area you can play around with is looking at the settings in the "Advanced configuration" for Softmotion axis on the page the link to below, and trying it out and using the one that works for you. https://content.helpme-codesys.com/en/CODESYS%20SoftMotion/_sm_cmd_add_softmotion_cia402_axis.html A method I recommended worked for a user as in below message. https://forge.codesys.com/forge/talk/Engineering/thread/40bc82454d/ I hope your problem will be solved as soon as possible and by sharing the result here, you will help others to know and overcome it. Good luck. Best regards, Imdat
Last updated: 2025-01-08
Post by abuckie on i2c master not running
CODESYS Forge
talk
(Post)
Hello, I am trying to create an Ethernet/IP device that can read analog signals, do some basic logic on it and then hand communicate the results to an Ethernet/IP master. I am using the Raspberry Pi to experiment with this as I would ultimately like to drive a display as well. I have loaded up the runtime on the Pi and got the digital I/O working. I have an ADS1115 ADC to I2C board and I can't get it to work, I get a message telling me the i2c master is not running and I am not sure where to start with this. Is there a manual for running CODESYS on the Pi or something like that I am missing? I found this post and opening the project in CODESYS V3.5 SP21 it seems like tons of this wouldn't convert properly https://forge.codesys.com/forge/talk/Runtime/thread/f1400b71b6/ I have added in the library and device manually and copied the structured text program but lost at what to do if the core functionality of the master is not running. I appreciate any help, thanks.
Last updated: 2025-05-19
Post by gvdb on Raspberry Pi 4 mod B icm codesys linking USB serial device (arduino) to com port
CODESYS Forge
talk
(Post)
Raspberry Pi 4 Codesys 3.5.20 sp3 Codesyscontrol 4.15.0.0 based on sdk 3.5.21.0 Hi all, I have found a lot of topics but none of them get me on the right path, therfore i started a new post. Usually i work with plc based systems and codesys but now im trying to create an project where i read out a serial data stream from an arduino connected by an USB port. in the future this need to be more arduino's but first trying to make it work with one I had my program working but i needed to update my raspberry pu to the letest version to get the mimo screen working. Now i tried several rules in the CODESYSControl.cfg and/or CODESYSControl_User.cfg files but i never get the com port opened. At this moment i have an file CODESYSControl_User.cfg with entry: [SysCom] Linux.Devicefile.1=/dev/ttyUSB0 I tested the connection with minicom and the data runs fluently. Can somebody help me with what could be wrong? the com port states ERROR_UNKNOWN 5004 when i tried to open.
Last updated: 2025-07-17
Post by fredsta on Unable to load dynamic modules (Download failed: Application=Application)
CODESYS Forge
talk
(Post)
Hey there, I am currently trying to find a good solution for the communication between CODESYS Control on Raspberry Pi and "the rest of the world", i. e. the things apart from CODESYS on my linux. My first approach was to use the c-integration. So I created a lib, defined extern fbs, compiled the code on my Pi using the SDK and put the .so into my lib project. When I try to log into the Pi and load the program, I get the error message which you can see in the attached picture. "Die dynamischen Module der C-Integration konnten nicht auf das Laufzeitsystem geladen werden" is german and means roughly "the modules from the c-integration could not be loaded onto the runtime system." Is this normal? Am I doing something wrong? I will have a look at the unix domain socket thing next, as I am still in the process of finding the best solution for the communication.
Last updated: 2024-02-15
Post by pernockham on Gateway in China - "Gateway not connected"
CODESYS Forge
talk
(Post)
Some new test. Now I cannot connect from Automation server to my gateway in any way also from my office setup with my unit directly connected to my router by dhcp. I can use the IDE and the tool "Connect Edge Gateway" and successfully connect to my server/link to my Automation server account. However no PLC will respond from Automation server "Network scan". I guess the traffic should be initiated by the gateway towards automation server? Any tips on how I can diagnose my problem? Ports to be opened etc? Thing is that this has been working previously but not now (base system has been updated from debian 12 to debian 13, but I dont know at which point it has stopped working). Setup as before. A "Codesys Control for Linux SL" running on a debian 13 installation. Any help/tips appreciated! Per Update. Found the error. Had a wrong gateway-setting. Which meant the PLC could not reach internet. Checked by "ping google.com" from the PLC.
Last updated: 2026-02-12
Post by gerdkoch on Dynamic I/Os Mapping
CODESYS Forge
talk
(Post)
Hi, I assume that you have a Pfc200 G2 or something and work with the original WAGO runtime. Then I would recommend the WagoSysDynamicIoMapping. Here in the example projects there is a PDF file for the library: https://downloadcenter.wago.com/learning-material/details/ll0w3pmdunzvem83g1 There is a global functional component in a GVL of the library. I think it's called DynKbusIoManager or something. The active terminals are registered there. Then there are filter Fb's for e.g. the first clamp with a specific article number. Everything is in the PDF.
Last updated: 2023-08-18
Post by davidbo on How to allow a user to handle certificates without access to sourcecode?
CODESYS Forge
talk
(Post)
With CODESYS V3.5 it is possible for a user to do the following things among many others. 1) Handling certificates especially move a certificate to the trusted folder. 2) Change password and create new users for OPC UA access However it requires access to the whole projects and its source code. Something you might not want to hand over to an end user for a stand alone product. Is there a way out of this problem?
Last updated: 2023-11-06
Post by song on How to convert a standard robot program into an excutive list when a robot runs?
CODESYS Forge
talk
(Post)
Dear Sir, I'd like to learn and try to make robot based on Codesys, is there a FB block or other ways to convert a standard robot program into an excutive list? how codesys explain the robot command instructions on HMI, just like the SMC_NCDecoder used to convert CNC program into a list of SMC_GEOINFO object. Thanks very much! Peter Yan
Last updated: 2023-11-25
Post by timvh on Management of a PLC network from a remote station
CODESYS Forge
talk
(Post)
Maybe the CODESYS HMI is a good solution. https://store.codesys.com/en/codesys-hmi-sl-bundle.html Run this on the remote main control station. In the HMI application you can add the data source manager and to this manager you can add Data sources. A data source has a reference to the PLC you want to connect to and can get access to the variables of the PLC application. You can then use these variables in the visualization of the HMI application.
Last updated: 2023-12-04
Post by warrumungi on Opening a Dialog on a specific Client from ST
CODESYS Forge
talk
(Post)
Hi Thanks, Manuel, for providing this solution and insight. I too had exactly the same problem as you did. While I did implement a custom filter, I'd also like to point out what jinlee mentioned above...I see no reference to VU.PublicVariables.Clients.Current anywhere?? In my case I only needed to show a dialog on a "master" client, not all the clients, so I filtered by IP address to do this.
Last updated: 2024-11-05
Post by dsa28 on EL6910 as a PROFIsafe F-Host in Codesys
CODESYS Forge
talk
(Post)
Hello All, Does anyone have experience configuring a PROFIsafe communication between EL6910 (F-Host) and and a F-Device in Codesys? I would expect that the PROFIsafe configuration process would be pretty similar as the FSoE configuration. Although, when an F-Device is included under PN-Controller, Codesys doesn't allocate a PROFIsafe logical device automatically under EL6910, as it happens when a FSoE slave is added under EtherCAT master. I thank anyone in advance who can help me on this.
Last updated: 2024-12-05
Post by griinde on display values with frames
CODESYS Forge
talk
(Post)
i want to make a frame for use multiple places for showing pressure and temperature. ive tried to decleare a variable in the frame config, if i put a fixed value in the value text field it show correct until i simulate. and if i point to a variable i gvl it show the name of the variable, and when i simulate it shows rValue. is there a way to do what i want?
Last updated: 2025-08-16
Post by nathant on Some visualization objects disappear when user is logged in?
CODESYS Forge
talk
(Post)
I am deploying a webvisu on Codesys 3.5 SP 19.2 with legacy user management. I noticed that when a user logs in, some text and a rectangle I have (for aesthetics) both disappear. I made sure that none of the objects in question are linked to a state variable. Anyone know the cause/solution to this? Nothing crucial to the machine's function is lost, but it is a little annoying.
Last updated: 2023-12-15
Post by noahpiskor on Configuration dialog screen with a Frame
CODESYS Forge
talk
(Post)
Hello, I'm trying to configurate a frame. My goal is to have a frame with the symbol of a component. When I press the symbol a dialog screen of my choosing comes up. What variable should be used in the frame configuration, that I can put in the input configuration of my symbol. so that I can chose which dialog screen comes up on my multiply instances of this frame. Kind regards. Noah Piskor CODESYS V3.5 SP19 Patch 6
Last updated: 2024-04-02
Post by syjoo on Recipe Manager in PRG (3.05.13.XX)
CODESYS Forge
talk
(Post)
I'm using version 3.5.13. Is it possible to handle Recipe Manager in PRG in this environment? Can you give me a simple example? Although it has been confirmed that the functions work on Recipe Manager, they do not work properly when implemented through FB within a simple PRG. I would like to save the current value as a recipe or load the recipe's value as the current value. And I want to save the recipe as a file or load the recipe saved as a file. somebody help me. (TT)
Last updated: 2024-04-15
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 lsislsis on SIGABRT Error
CODESYS Forge
talk
(Post)
Please help us. Why we take this errors. We try different versions like 4.12.0 and 4.13.0 with same results. ;*********;<loggername>codesyscontrol.log</loggername>;<logoptions>; <enable>1</enable>; <type>normal</type>; <timestamp>rtc high resolution</timestamp>; <deactivatable>0</deactivatable>; <dump>always</dump>; <filter>0x0000000f<filter>; <maxentries>100000</maxentries>; <maxfiles>1</maxfiles>; <maxfilesize>1000000</maxfilesize>;</filter></filter></logoptions>;<entries>;Timestamp, CmpId, ClassId, ErrorId, InfoId, InfoText;ClassId: LOG_INFO =1;ClassId: LOG_WARNING =2;ClassId: LOG_ERROR =4;ClassId: LOG_EXCEPTION =8;ClassId: LOG_DEBUG =16;ClassId: LOG_PRINTF =32;ClassId: LOG_COM =64;</entries>;*********2024-11-05T08:23:59.728Z, 0x0000100c, 1, 0, 0, VisuFctCheckForUnusedClients: Removing Client with IEC-ID: 1 Time delta: T#33s1ms Locks: Paintbuffer: TRUE 2024-11-05T08:23:59.728Z, 0x0000100c, 1, 0, 0, VisuFctCheckForUnusedClients: Successfully Removed Client at Address: 547195449944, IEC-ID was: 1, EXT-ID: 431000373 2024-11-05T08:28:57.913Z, 0x0000100c, 1, 0, 0, Visu_PRG: Creating Client for Extern-ID: 347055752 2024-11-05T08:28:57.926Z, 0x0000100c, 1, 0, 0, Visu_PRG: Creating Client successful for Extern-ID: 347055752 Returned IEC-ID: 1 2024-11-05T08:30:51.103Z, 0x0000100c, 1, 0, 0, Visu_PRG: Successfully Removed Client with IEC-ID: 1, Extern-ID: 347055752 2024-11-05T08:37:36.517Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state* We recommend a reboot of the controller now! 2024-11-05T08:37:36.517Z, 0x00000111, 8, 260, 3, #### Exception: HANDLED EXCPT <excpt>NonContinuable</excpt> in CH_COMM_CYCLE 2024-11-05T08:47:42.117Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state We recommend a reboot of the controller now! 2024-11-05T08:47:42.117Z, 0x00000111, 8, 260, 3, #### Exception: HANDLED EXCPT <excpt>NonContinuable</excpt> in CH_COMM_CYCLE 2024-11-05T09:14:41.316Z, 0x00000071, 1, 0, 13, Webserver stopped 2024-11-05T09:14:44.485Z, 0x0000013d, 1, 0, 4, Number of licensed cores for IEC-tasks: 1 from 4 2024-11-05T09:14:44.487Z, 0x0000013d, 1, 0, 4, Number of licensed cores for IEC-tasks: 4 from 4 2024-11-05T09:14:44.540Z, 0x00000002, 1, 0, 2, Application [<app>Application</app>] loaded via [Download] 2024-11-05T09:14:55.894Z, 0x00001012, 1, 0, 0, Opened alarm storage file, version: 6 2024-11-05T09:14:55.951Z, 0x0000100c, 1, 0, 0, Visuinitialization starting. 2024-11-05T09:14:55.983Z, 0x0000100c, 1, 0, 0, Visuinitialization done. 2024-11-05T09:14:55.995Z, 0x00000071, 1, 0, 12, Webserver started 2024-11-05T09:15:01.753Z, 0x0000100c, 1, 0, 0, Visu_PRG: Creating Client for Extern-ID: 2279884529 2024-11-05T09:15:01.753Z, 0x0000100c, 1, 0, 0, Visu_PRG: Creating Client successful for Extern-ID: 2279884529 Returned IEC-ID: 0 2024-11-05T09:34:44.667Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state We recommend a reboot of the controller now! 2024-11-05T09:34:44.667Z, 0x00000111, 8, 260, 3, #### Exception: More than 2 exceptions in CH_COMM_CYCLE: Stop logging 2024-11-05T10:13:26.867Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state We recommend a reboot of the controller now! 2024-11-05T10:15:21.966Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state We recommend a reboot of the controller now! 2024-11-05T10:19:12.167Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state We recommend a reboot of the controller now! 2024-11-05T10:26:02.566Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state We recommend a reboot of the controller now! 2024-11-05T10:31:42.866Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state We recommend a reboot of the controller now! 2024-11-05T11:01:54.468Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state We recommend a reboot of the controller now! 2024-11-05T11:09:29.868Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state We recommend a reboot of the controller now! 2024-11-05T11:14:44.540Z, 0x0000100d, 1, 0, 0, Demo mode expired. 2024-11-05T11:27:20.868Z, 0x00000103, 65544, 1, 0, runtime received SIGABRT - system may be in an inconsistent state We recommend a reboot of the controller now! * Regards
Last updated: 2024-11-05
Post by rossanoparis on After un upgrade of "CODESYS Control for Raspberry Pi MC SL" from v4.7 to v4.9 SysFileOpen function stopped working
CODESYS Forge
talk
(Post)
Hello at all. After un upgrade of "CODESYS Control for Raspberry Pi MC SL" from v4.7 to v4.9 SysFileOpen function stopped working. I'm not able to read or write files from the PLC application. Before this upgrade all worked fine. I've read this thread [ https://forge.codesys.com/forge/talk/Engineering/thread/3da9ded84e/ ] Despite I followed that indications I couldn't get my code working again. Perhaps I'm missing something or I didn't understand how to use placeholders at all. Is there a different syntax to use for "SysFileOpen" in order to use placeholders? Thanks in advance for your help. Information Compiler: CODESYS V3.5 SP19 Patch 2 Runtime: codesyscontrol 4.9.0 HW: KUNBUS RevPi Connect S Below the paths I want to access (The entire CODESYSControl_User.cfg file is attached) [SysFile] PlaceholderFilePath.1=/home/pi/hpca/bin, $hpcabin$ PlaceholderFilePath.2=/home/pi/hpca/cfg, $hpcacfg$ PlaceholderFilePath.3=/home/pi/hpca/logs, $hpcalogs$ PlaceholderFilePath.4=/home/pi/hpca/resources, $hpcares$
Last updated: 2023-08-22
Post by jickisticki on Witch library?
CODESYS Forge
talk
(Post)
Crafting my Fellowship Personal Statement was like weaving the threads of my aspirations into a tapestry of words. Each sentence became a brushstroke, painting a vivid portrait of my journey and ambitions. Beyond being just a document, it became a mirror reflecting the depth of my experiences. Like a conductor guiding an orchestra, my personal statement was composed to resonate with my unique voice. In the realm of specialized opportunities, this statement serves as a compass, guiding me toward the next chapter of my professional growth. With each word, I felt the guidance of mentors shaping my story into an eloquent narrative.
Last updated: 2023-08-17
Post by hyys12 on How to use/create SOTU in LD program
CODESYS Forge
talk
(Post)
I am trying to make a LD program for an existing installation with a motor. Here an inductive sensor is used to give an input, as a check to verify the conveyor is actually running. Here the plan was to use a TOF timer which gets constantly reset when the sensor input gets detected. The problem is, that if the conveyor is stuck, and the sensor sends a continous signal, the timer will never do what it is supposed to do. Therefor I need some help on how I can convert the input to a pulse, with the help of something like a SOTU. I just cannot find this in codesys anywhere.
Last updated: 2024-07-11
Post by opineiro on Stack overflow with really simple function
CODESYS Forge
talk
(Post)
Hi, I have an issue with a function which sends a message through API Rest. I'm using a function from httpCLient library. I have tested this function inside a program and it works fine. But when I want to use it inside a function (so I can call it simultaneously from 2 different points on the main program) it gives a stack overflow error. In detail it says: "C0297 Stack Overflow on Main Task. Stack sizes... Call hierarchy:" I have simplified as much as I can the function, but I'm hitting a wall with this. Anybody has an idea of what's wrong? Thanks!
Last updated: 2024-09-16
Post by ofey on OPC server crash
CODESYS Forge
talk
(Post)
Hi! I repeatly encounter a crash of the OPC server, which forces a reboot of the controller with frequent connect/disconnect to the server. Have any of you encountered this before? And is it a workaround? ie. deny that particular client connection by timeout or similar instead of crashing the PLC? This is during a development phase of the user interface. Up to 3 others connect/disconnect frequently to test their code. It is a bit troublesome of the PLC crashes several times a day because of this :( I greatly appreciate all comments. I hope it exists a fix for this, or something that hinders the crash. I attached the logfile for the crash
Last updated: 2024-11-26
Post by kut69 on Retain / Persistent Variables in Codesys for Raspberry Pi
CODESYS Forge
talk
(Post)
Hi, I am interested in details about the .ret file in the filesystem. I have already a project where the file is used (write on demand, read by start) and I want to share it as 'default input' for test devices using the identical application. Opening the .ret file content in a hex editor (I only use a single string retain var) I asked myself what the meaning of the first 24 bytes is. It neither contains a handle to the application nor a reference to the variable. Is this maybe a timestamp? Or a CRC/checksum? Regards, Thomas
Last updated: 2025-05-19
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.