Post by jegerjon on Testing of Codesys program
CODESYS Forge
talk
(Post)
I have a simulation function that toggle xSimActive. I map all IO variables to "IO GVLs" when xSimActive=0. I map IO corresponding SimIO GVL to "IO GVLs" when xSimActive=1. Then I write code for the simulation program that runs when xSimActive=1. Typically increase flow corresponding to pump speed, simulate tankfilling corresponding to flow and so on. I made a FC that require a correct code to activate simulation to avoid unintended activation by service dept. When comissioned remove any possibility to activate simulation. Super when officetesting and supporting service dept. + cheap as it requires no additional equipment, and it is easier to support customer later on in the life cycle as you can test proposed changes without setting up a testlab.
Last updated: 2023-12-07
Post by rcanfield on Code Coverage and Test Manager
CODESYS Forge
talk
(Post)
I am exploring the possibility of measuring test coverage using the Test Manager and Profiler tools. It appears there are some significant limitations. Has anyone been successful trying to use these tools? Here are my observed limitations. Am I misunderstanding anything? * Profiler only works for one "run cycle". Even warm resets will clear the coverage calculations. Thus, all tests would have to manually reset values when complete to prevent contamination to other tests. * It is not possible to see which statements were/weren't executed. One would have to use the flow control tool which cannot be used in conjunction with the Profiler, and must be viewed in realtime. * The profiler control cannot be automated and therefore must be executed through a manual procedure. Thank you!
Last updated: 2024-07-11
Post by rcanfield on Code Coverage and Test Manager
CODESYS Forge
talk
(Post)
I am exploring the possibility of measuring test coverage using the Test Manager and Profiler tools. It appears there are some significant limitations. Has anyone been successful trying to use these tools? Here are my observed limitations. Am I misunderstanding anything? * Profiler only works for one "run cycle". Even warm resets will clear the coverage calculations. Thus, all tests would have to manually reset values when complete to prevent contamination to other tests. * It is not possible to see which statements were/weren't executed. One would have to use the flow control tool which cannot be used in conjunction with the Profiler, and must be viewed in realtime. * The profiler control cannot be automated and therefore must be executed through a manual procedure. Thank you!
Last updated: 2024-07-11
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 xiaolo on Raspberry Pi 5
CODESYS Forge
talk
(Post)
Does Ver. 4.12 support Raspberry Pi 5? I have three issues. The first issue is that Codesys cannot detect the RPI 5 when I want to download the runtime. When assigning the IP Address manually then I can download the runtime. The second issue is that I cannot connect to the RPI to download a program. Sometimes the window pops up and it ask for the user credentials, but it is still not connecting. The third issue is that I cannot connect to an ESP32 configured as a Modbus Slave with a Raspberry Pi 4B. I can connect to the ESP32 via a Radzio! Modbus Master Simulator. I am also missing the function Write Holding Registers in the setup of the slave. Are this known issues and when it will be solved?
Last updated: 2024-07-12
Post by amy123 on Alarm Manager Example Alarm Client doesn't Populate
CODESYS Forge
talk
(Post)
Hello, I tried to run the example project from https://forge.codesys.com/prj/codesys-example/alarm-manager/home/Home/ However, I can not get the interface for Alarm History 12 Alarm Manager client to populate with any alarms. 'udiResult := AlarmManager.g_AlarmHandler.RegisterClient(itfAlarmManagerClient12, ADR(arritfAlarmsFromHistory12), iMaxCountAlarmsFromHistory12);' when I look at itfAlarmManagerClient12 its always empty. What is confusing is that when I simulate 2 alarms, iCountActiveAlarms 12 has a vlaue of 2, associated with itfAlarmManagerClient12 - so that appears to work. And yet, its useless as the ProcessAlarms Function can't extract anything from the empty array. I dont understand how these arrays are supposed to be populated and why its not working. Any help would be greatly appreciated!
Last updated: 2024-07-15
Post by peterned on Array to String
CODESYS Forge
talk
(Post)
max. string length in Codesys is 255 chars. It's not possible to cram 20,000 things in a string. If you need to send the data to another device, send the whole data[] array (as byte array, without doing anything to it) and extract the information on the other end. As each struct member has a fixed size (81 bytes, as per you declaration), this will be easy. To save some resources, consider declaring string lengths - e.g. if the max possible length for key is 10 chars, declare it key: STRING(10); and it will occupy 11 bytes instead of 81
Last updated: 2024-07-20
Post by c3po on SNMP Communication with WAGO 750-8212 PFC
CODESYS Forge
talk
(Post)
Hello folks, my problem is a bit bigger for just one question. So let's start with the easiest. But first, my system setup: It's a WAGO 750-8212 PFC with some I/O-modules. I try to communicate with the controlsystem over SNMP using the IIoT library from codesys. https://content.helpme-codesys.com/de/CODESYS%20Examples/_ex_iot_snmp_service.html Is there some expirience with this kind of communication? It's just about transfering some data from PFC to network and setting some analogsettings from network to the PFC. So my easiest question: Do I ever need the SNMP_Agent or can I use the SET / GET function as standalone, without the agent? (maybe some more questions will follow, if someone will answer to my request) thanks so far
Last updated: 2024-08-21
Post by micik on False Notification Application Error with raspberry pi 4
CODESYS Forge
talk
(Post)
Hello, I have just went through all steps shown on Codesys YT channel https://www.youtube.com/watch?v=RPoPscbo3Kc And it works, I have installed PI OS 32 bit and choose Single Core. However, immediattely when I create standard project with Raspberrz pi device, "Application" is underlined, like there is an error, but in reality there are no errors, and I cannot see what are these 3 messages like shown in attachment. Aside for this red underline, everything seems to work fine. How to correct this? Thank you! Update: I have found what errors are, but not sure how to correct them: Identifier 'IoDrvGPIO' not defined Function block 'IoDrvGPIO' must be instantiated to be accessed 'IoDrvGPIO' is no component of 'IoDrvGPIO'
Last updated: 2024-09-03
Post by trusty-squire on How to revert to previous version library
CODESYS Forge
talk
(Post)
Hi, I'm experiencing a bug with the latest version of SoftMotion CNC library (4.17), where the 3DPath object in Visu is missing all the important properties. I've verified that a previous app I was working on with library version 4.16 did not have this issue and the issue is duplicated in that project when I update it to 4.17. I've already submitted a bug report, but for the time being I need to revert the project I'm currently working on back a revision. I've tried right clicking on the library but the option to select the version is greyed out. Can anyone help me?
Last updated: 2024-09-05
Post by andrax on CodeSys Raspberry pi I2C driver not found
CODESYS Forge
talk
(Post)
Ok, here are the libraries I use. First of all, try to get the ADS1115 to run completely on its own. Without MUX or other sensors. As muxboard I use this one: https://www.digikey.de/de/products/detail/sparkfun-electronics/BOB-16784/12714950?utm_adgroup=&utm_source=google&utm_medium=cpc&utm_campaign=PMax:%20Smart%20Shopping_Product_Zombie%20SKUs&utm_term=&productid=12714950&utm_content=&utm_id=go_cmp-18521752285_adg-_ad-__dev-c_ext-_prd-12714950_sig-Cj0KCQiA88a5BhDPARIsAFj595gkPXWPT8aa-EixL97BDWjO988WDhcx-iHOVbqb_H8CLpHBcwLuJW0aAu1JEALw_wcB&gad_source=1&gclid=Cj0KCQiA88a5BhDPARIsAFj595gkPXWPT8aa-EixL97BDWjO988WDhcx-iHOVbqb_H8CLpHBcwLuJW0aAu1JEALw_wcB All other boards don't work for me either. The terminating resistor is missing Important: Before you install the drivers, remove all other device drivers. My drivers are all located in ‘Raspberry I2C MUX_11_2023’
Last updated: 2024-11-11
Post by garrian on How to write multiple coils (Modbus FC15)
CODESYS Forge
talk
(Post)
Hi there! I'm testing out modbus TCP/IP for my home brewery, using Wago PFC200 as both slave and master. I'm using Wago library WagoAppPlcModbus. Holding registers, input registers' and discrete inputs works fine, but when trying to write multiple coils, it doesn't work. Any idea what I'm doing wrong here? Attached is a screenshot of my code. I tried both using bit mapping and without. If I change to FC05, and write only 1 coil at the time, it works fine. But I want to write all at the same time.. Any help is very appreciated :)
Last updated: 2024-11-16
Post by dsa28 on OPC UA subscriber not operational
CODESYS Forge
talk
(Post)
Hi, Thanks for the reply. Please note that the information and links provided are related to OPC UA Client/Server. My problem was related to OPC UA Pub/Sub. In the end I have managed to establish OPC UA Pub/Sub communication between Codesys and TwinCAT systems. Keep in mind that OPC UA Pub/Sub example is not provided in the latest library version 1.1.0.0. The user needs to download the previous version to get the example. During the configuration I ended up with some doubts regarding the usage of IEC_ARRAY type in the dataset definition (see attachment). Can you please give more information on how to use this type? Many thanks.
Last updated: 2024-11-29
Post by gseidel on Beckhoff AS1060 and EL7041 configuration
CODESYS Forge
talk
(Post)
Hi pmanuele, while I don't have firsthand experience with the EL7041 and the step motor AS1060, there are two things you can check: If you use an external encoder, please make sure you use the alternative device description calles "EL7041 1Ch. Stepper motor output stage (50V, 5A) Rev24 with external Encoder". The SoftMotion driver will set the feedback type automatically, and use the correct object for the actual position (16#6010:21 instead of 16#6010:20) If you have problems with changing the controller mode, I assume to velocity, please make sure you change the PDO mapping so that the actual velocity (16#6020:33) and set velocity (16#7010:33) are mapped by PDO. Hope this helps, Georg
Last updated: 2024-12-23
Post by trusty-squire on Read "Homed" status from EtherCAT drive
CODESYS Forge
talk
(Post)
@imdatatas, thanks for the info, I increased DSP402.uiHomingMinCycles to 10 and have a good feeling that will solve the issue of "false" homings. It's an intermittent issue so I'll report back once it's confirmed. @bruno-roth, also good info. According to my documentation, bit 14 is used to indicate the homed status. I did a test and the bit always stays true after it's been homed once (eg. even if I initiate a new homing procedure then hit the the e-stop mid homing), so I need to take that into consideration, but I can work with that. Thanks!
Last updated: 2025-01-09
Post by janber0206 on Adding PLC to the List view resolves in Unknown Error
CODESYS Forge
talk
(Post)
Hello, I try to add one of my PLC from the Gateways to the List view. The Gateway is shown me as online, also i have other remote tools to verify the Internet connection is working. I do the Network Scan and the Gateway shows up, i select it and click on "Add to Server". Then I type in Username and password and click on confirm. There it shows me the "Unkown Error", see screenshot. If I use the wrong credentials it gives me the error message for this. Other Devices work fine it's just this one. Greetings Jannis
Last updated: 2025-02-21
Post by tyleretn on Codesys 3.5 SP18 P4 Freezing on Library Update
CODESYS Forge
talk
(Post)
I have created a library with both code and visualizations to be used in multiple other projects. After I update the library version into the library repository, I have much difficulty updating the version into the main project. I can always update the library version in the Library Manager just fine. My issue, is sometimes Codesys will freeze when opening the visualization that uses the library visualizations. Sometimes it opens, but freezes when I try to access the library visualizations from the Visualization Toolbox. I try letting Codesys run for upwards of 4+ hours and it is stuck in this state. On very rare cases I have no issues and can continue with my work. I haven't found a consistent reason or work around. Has anyone else had this happen?
Last updated: 2025-02-27
Post by otbeka on CAA File Handling: "Read only" error
CODESYS Forge
talk
(Post)
Hi, sorry for the late reply. After some investigation, the read-only error was being triggered by a FAT-fs filesystem panic on the kernel end, probably caused by unfinished write/reads causing corruption. I found this thread https://forge.codesys.com/forge/talk/Engineering/thread/e637d252b7/ which seems to give a solution of using SysProcess to send the 'sync' command to the console immediately following a write to prevent issues if power is lost or, in my case, if the unit is harshly power cycled. Indeed this seems to resolve the issue bar the worst possible edge cases.
Last updated: 2025-05-02
Post by buczekj on About CPU Loading
CODESYS Forge
talk
(Post)
This is a phenomenon that I have seen myself and with others. Texas instruments wrote an application note with this same issue. They noted with Codesys 3.5.19.10, that selecting CPU 1 as the EtherCAT task showed CPU spiking improvements over the performance of cores 0, 2, and 3. It appears to be linked to EtherCAT, are you configuring for use with distributed clocks? If so, I recommend choosing the 'Based on Input Reference' option. I have found it to reduce the CPU usage spike maximum slightly (see attached). See link to TI (also attached in case link breaks) https://www.ti.com/lit/an/spradh0/spradh0.pdf?ts=1723546111357
Last updated: 2025-07-01
Post by rer-code on Codesys 3.5.18.60 – Application Loss and Persistent Data Corruption
CODESYS Forge
talk
(Post)
Hi, I’m currently managing over 50 PLCs running Codesys version 3.5.18.60. At seemingly random intervals, some of these devices experience a failure where: All persistent variables are lost. Attempting to log in results in the message: “The application does not exist on device. Do you want to create it and proceed with download?” The log shows: “Loading retain-data/bootproject failed.” From what I’ve gathered, this may be due to a corrupted persistent data file, but I’m not entirely sure how to confirm or resolve this issue. If anyone has encountered something similar or has suggestions for troubleshooting or preventing this, I would greatly appreciate your input. Best regards
Last updated: 2025-08-19
Post by reinholdgaylord on CAA File Handling: "Read only" error
CODESYS Forge
talk
(Post)
Hi, sorry for the late reply. After some investigation, the read-only error was being triggered by a FAT-fs filesystem panic on the kernel end, probably caused by unfinished write/reads causing corruption. I found this thread https://forge.codesys.com/forge/talk/Engineering/thread/e637d252b7/geometry dash lite which seems to give a solution of using SysProcess to send the 'sync' command to the console immediately following a write to prevent issues if power is lost or, in my case, if the unit is harshly power cycled. Indeed this seems to resolve the issue bar the worst possible edge cases. Thank you so much!
Last updated: 2025-09-25
Post by pernockham on *Exception* Async service: ServiceGroup=17, IP=0x5fa45617, Component=CmpSrv
CODESYS Forge
talk
(Post)
*** The system may be in an inconsistent state, please reboot *** *Exception* Async service: ServiceGroup=17, IP=0x5fa45617, Component=CmpSrv Every time at the instant that I Login to the system a message that the "system may be in an inconsistent state, please reboot" is written in the log. If I logout and repeat login a new entry is set. My system is a "Control for linux SL" running on a debian linux host. Im running it on my desk without any IO attached so message might be caused from that, but I doubt i have seen it before. Rebooting makes no difference. Anyone that have a clue of how I should interpret this error message?
Last updated: 2025-09-26
Post by alexgooi on Licensing info not available.
CODESYS Forge
talk
(Post)
Dear Forum I have the following config: Codesys_IDE 3.5.20 Codesys_Virtual_Control 4.13 Codesys_License_Server 4.13 I know these are not the newest versions, but in my mind these should work. I have the same problem here. I have the license server installed on the host, and in the docker container(Codesys virtual control) I'm able to ping the license server. In the /conf/codesyscontrol/CODESYSControl_User.cfg I have added the following config: [CmpCodeMeter] EnableNetLicenses=1 LicenseServer.1="ip address of the host" I have tried it via the wbm web-page. I can create new license containers over there, but still no luck. I also have tried to run the docker container with the -s "server_IP" command. I have searched for some tutorial's but I couldn't find it. If anyone has some clue or can give me a push in the right direction it would be very very welcome!
Last updated: 2025-09-29
Post by reinier-geers on Web client
CODESYS Forge
talk
(Post)
Hi, ive got the webclient example. So now i want to use it. Ive got an example. but thats some JSON type. As far i know is JSONe som kind of structure. But thats new for me. I think its posible with get. Can someone help me? This is the link witch explains what to do https://reversed.notion.site/Marktprijzen-API-89ce600a88ac4abe8c2ad89d3167a83e i tried this : sURL : STRING(1024) := 'https://graphql.frankenergie.nl/get/ {"query":"query MarketPrices {\n marketPrices(date:\"2022-01-01\") {\n electricityPrices {\n from\n till\n marketPrice\n marketPriceTax\n sourcingMarkupPrice\n energyTaxPrice\n perUnit\n }\n gasPrices {\n from\n till\n marketPrice\n marketPriceTax\n sourcingMarkupPrice\n energyTaxPrice\n perUnit\n }\n }\n}\n"}'; // URL But thats a bad request
Last updated: 2025-10-08
Post by sumit on Remote Ethernet/ip Adapter communication with scanner running on codesys
CODESYS Forge
talk
(Post)
Hello there, I have my ethernet/ip adapter (from Texas Instrument) running on Texas Instrument Board and I have configured the scanner on codesys. I have mapped the I/Os and I can see (on wireshark) the frames coming from adapter but I don't see my input variables in scanner get updated, they just stay at 0. I wanted to see the real data that has been sent from adapter to scanner on codesys. I am not sure if the problem is in I/O mapping or there is a step/s that I have missed. I have attached the screenshot of my project for your ref. Thank you, Sumit
Last updated: 2023-12-15
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.