Post by yoeri on Python Scripted Save_Archive with noUI
CODESYS Forge
talk
(Post)
Is there any update on this? Running codesys 3.5.19.70 proj = projects.open(project_path, primary=True, update_flags=flags) This gives an error only when using --noUI exception System.NullReferenceException: Traceback (most recent call last): File "C:\Project\ci\build.py", line 14, in <module> SystemError: Object reference not set to an instance of an object. Exit code: 1</module>
Last updated: 2026-01-30
Post by peteryapab on Login Screen to small for 10" screens
CODESYS Forge
talk
(Post)
Hi! I hade made a visualization within Codesys V3.5 SP21 Patch 3, where i call for the user management and login. The VisuUserManagement.VMU_Login and VisuUserManagement.VMU_Login2 are to small for the screen it looks good and works fine if you are on a computer with large scrren but gets finicky on the smaller screen. any ide´s how to make the login dialog bigger?
Last updated: 2026-02-01
Post by kislov on Change modbus server parameters from program
CODESYS Forge
talk
(Post)
Use in IEC-code: Modbus_Serial_Device.UpdateComPortSettings(...) https://content.helpme-codesys.com/en/libs/IoDrvModbusSerialSlave/Current/pou-ModbusSerialDeviceDiag/UpdateComPortSettings.html Take note: "Only possible if server is disabled (see xEnable Input)" So: Modbus_Serial_Device.xEnable := FALSE; Modbus_Serial_Device.UpdateComPortSettings(...) Modbus_Serial_Device.xEnable := TRUE; Please note that after PLC reboot the values from the GUI (from your screenshot) will be applied again. So you need to save values from HMI in RETAIN and restore them after start of application.
Last updated: 2024-07-17
Post by mini-developer on Precompilation Error NBS.UDP_Peer
CODESYS Forge
talk
(Post)
Hello, I use the Library NBS from "caa net base services". After opening the Project i get 19 errors from the message window "Precompilation", most of them because it doesn't recognise a component of the FB "NBS.UD_Peer". (see photo) After compiling the Project at least 2 times, there are no errors. Is there a reason and solution for this behavior? Is there a problem with resolving the library? Thanks for any clue
Last updated: 2024-08-23
Post by jeroenaero on CodeSys Raspberry pi I2C driver not found
CODESYS Forge
talk
(Post)
Finnaly i get it working. There was a line in the file that set the ADS1015 chip in /boot/firmware/config.txt which i removed and after that the ADS1115 has a green turning circle and i got values. i created a new component so it fits our ADS1015. see screenshot. It works also with Codesys Control for Raspberry Pi 64 SL after adding the ULINT_TO_UDINT conversion in the library. i think the chip was all the time in use by the Raspberry pi itself. Thanks for your help!
Last updated: 2024-11-12
Post by arvindkumar on Wago plc not going back to RUN Mode after Power failure
CODESYS Forge
talk
(Post)
Hi im using wago pfc750-8207 plc and my programming software was codesys v2.3, im facing some issue in my plc after power failure my plc not going back to run mode sometimes, i did sourecode download, boot application created and still facing this issue, out of 10 power failure 8 times its going to run mode some time its missing to go run mode and only sys indication is in on condition Kindly please help me.
Last updated: 2023-12-15
Post by jshirazi on Restore license on Raspberry Pi
CODESYS Forge
talk
(Post)
Hi, I recently got a license for Raspberry Pi, after license activation I made a backup copy of "CMLicenseNew.WibuCmRaU" file to a safe place. Things got complicated and I tried to downgrade OS for some reason after that I tried several times/ways to restore my license with no luck. the specifications are as follows: Raspberry Pi 4 Model B Rev 1.1 codesyscontrol 4.10.0.0 SDK 3.5.19.30 Logs: **** ERROR: CodeMWriteLicenseFile: 'CMLicenseNew.WibuCmRaU' failed: Container not found or Server dose not support .... So if someone know a solution for this please kindly help me. Regards
Last updated: 2024-02-03
Post by schnepper on Minor UI bug: cannot create SFC POU after creating a Function POU
CODESYS Forge
talk
(Post)
After creating a Function POU, it is not possible to then create an SFC POU. Steps to recreate: * Create a new Function POU. SFC is not allowed for Functions, so SFC does not show in the Implementation language dropdown. * Click Add Object -> POU... Function is selected for Type. * Select Program * SFC is not present in the Implementation language dropdown
Last updated: 2024-05-23
Post by yofi on Raspberry PI change tag only responds after stopping PLC
CODESYS Forge
talk
(Post)
Using V19 Patch 7 and 4.11.0.0 for Pi 4 Model B, My problem is whenever I change a tag e.g bool from true to false it will change in software but the pin will only go high to low after pressing stop PLC in codesys and same if i want to bring it back to high, have to login start plc change it and stop plc in order to change. any insight ? thanks
Last updated: 2024-05-25
Post by mrtt on Error while using Codesys SP19 Patch 4 on Windows 11
CODESYS Forge
talk
(Post)
Hello, same issue after a fresh install with CODESYS 64 3.5.21.30, on two different PCs Win10 and Win11. But with different Plug-In errors. CODESYS 64 3.5.19.70 runs after a lot of Package deinstallation/installation handling. But every think looks not really stable. Deinstallation of MS C++ and MS Runtime stuff -> CS installation. Than deinstallation of CodemMaster for anti freezing CS.
Last updated: 2025-11-27
Post by timvh on Current Visu name without Current Visu Variable
CODESYS Forge
talk
(Post)
To get the current visu for all your individual web clients, you could iterate over them, using the same library 1) Create a new function block which implements VU.IVisualizationClientIteration 2) Create an instance of this function block + add an instance of the "iterate" function block fbIterateCallBack : FB_IterateOverClients; // this implements VU.IVisualizationClientIteration fbVuIterate : VU.FbIterateClients; // this FB iterates over all clients 3) Call the fbVuIterate and set the reference to the call back FB. Then it will automatically call the method "HandleClient" of this function block. fbVuIterate( xExecute:= NOT fbVuIterate.xDone, xDone=> , xBusy=> , xError=> , itfClientFilter:= VU.Globals.OnlyWebVisu, eError=> , itfIterationCallback:= fbIterateCallBack); In the HandleClients method you can use the property of the interface of your webclient to which page it is currently on: sCurrentVisuOfClient := itfClient.CurrentVisuName; 4) Optionally from here you could also set the visu for the webclient, but this might be obsolete, because the other function block is now available... xQueryOK : BOOL; xChangePage : BOOL; itfVisuClientRawData : VU.IVisualizationClientRaw; xQueryOK := __QUERYINTERFACE(itfClient, itfVisuClientRawData); IF xQueryOK AND xChangePage THEN VisuElems.g_VisuManager.SetMainVisu(pClientData := itfVisuClientRawData.ClientDataPointer, stVisu := 'Visu2'); xChangePage := FALSE; END_IF
Last updated: 2025-08-13
Post by farren on How to stay in a method until something is finished.
CODESYS Forge
talk
(Post)
I know I'm thinking about this wrong -- too many decades of procedural and event-driven programming and only a few months of PLC ST programming...... I've created a visualization with a button that when pushed calls a method. I want the method to take a pressure reading, wait one minute and then take another pressure reading. I'm looking for leaks. I'm using TON for the delay. It seems like what is happening is that the method gets called once and it takes the first reading and starts the TON. But then execution continues, leaves that method call, and the second reading never happens. I can force the method to keep running until the whole thing is done with a While loop, but I understand that is considered BAD in PLC programming. If it push the button again to call the method again, it picks up where it left off and if the timer is complete then it runs the remaining code. How do I keep that method running until it is complete with just one call without using a while loop that ties up the PLC for a minute? Thanks! -Farren
Last updated: 2025-10-31
Post by scoob on ModbusFB - Slow Response Time
CODESYS Forge
talk
(Post)
Hello, I have been trying to use the ModbusFB functions so I can put some code into libraries, but it seems to be very slow for me. I have a Modbus device with 100ms registers. I previously setup 10 channels in the 'traditional' Modbus Slave with channels and mappings - and set a cyclic trigger at 100ms - this worked fine. I then tried the ModbusFB example, and setup reading the same 10 blocks of modbus addresses, copying the example and putting all of the requests into an array and triggering the requests sequentially. I timed how long the requests are taking to get round to each one, and it is around 1s 450ms. How do I speed this up to match the cyclic time? IF NOT(init) THEN init := TRUE; // Set the required IP address: ipAddress[0] := 192; ipAddress[1] := 168; ipAddress[2] := 1; ipAddress[3] := 10; // Pass the required IP address to the clinet FB: client_NetworkSwitch.aIPaddr := ipAddress; client_NetworkSwitch.udiLogOptions := (ModbusFB.LoggingOptions.ClientConnectDisconnect OR ModbusFB.LoggingOptions.ClientReceivedValidReplies); // Try to connect the client client_NetworkSwitch(xConnect:=TRUE); // Configure all the channels to read connecting them to the client: portStatus_Request(rClient := client_NetworkSwitch, uiStartItem := 4096, uiQuantity := 32, pData := ADR(portStatus), udiReplyTimeout := udiReplyTimeout); portSpeed_Request(rClient := client_NetworkSwitch, uiStartItem := 4352, uiQuantity := 32, pData := ADR(portSpeed)); flowControl_Request(rClient := client_NetworkSwitch, uiStartItem := 4608, uiQuantity := 32, pData := ADR(flowControl)); linkUpCounter_Request(rClient := client_NetworkSwitch, uiStartItem := 5888, uiQuantity := 32, pData := ADR(linkUpCounter)); txPacketCounter1_Request(rClient := client_NetworkSwitch, uiStartItem := 8192, uiQuantity := 100, pData := ADR(txPacketCounter1)); txPacketCounter2_Request(rClient := client_NetworkSwitch, uiStartItem := 8292, uiQuantity := 28, pData := ADR(txPacketCounter2)); rxPacketCounter1_Request(rClient := client_NetworkSwitch, uiStartItem := 8448, uiQuantity := 100, pData := ADR(rxPacketCounter1)); rxPacketCounter2_Request(rClient := client_NetworkSwitch, uiStartItem := 8548, uiQuantity := 28, pData := ADR(rxPacketCounter2)); txErrors_Request(rClient := client_NetworkSwitch, uiStartItem := 8704, uiQuantity := 64, pData := ADR(txErrors)); rxErrors_Request(rClient := client_NetworkSwitch, uiStartItem := 8960, uiQuantity := 64, pData := ADR(rxErrors)); // Trigger all client requests initially FOR clientRequestsCnt := 0 TO (SIZEOF(clientRequests)/SIZEOF(clientRequests[0]))-1 DO pClientRequest := clientRequests[clientRequestsCnt]; pClientRequest^.xExecute := TRUE; END_FOR // Prepare sequential trigger / control of client requests. clientRequestsCnt := 0; pClientRequest := clientRequests[clientRequestsCnt]; END_IF // Call the client to do request processing: client_NetworkSwitch(); // Now we trigger client request sequentially ... IF NOT pClientRequest^.xExecute AND NOT pClientRequest^.xDone AND run AND client_NetworkSwitch.xConnected THEN pClientRequest^.xExecute := TRUE; END_IF // .. and check result/error IF pClientRequest^.xExecute AND run AND client_NetworkSwitch.xConnected THEN IF pClientRequest^.xDone THEN // Prepare next trigger of client request (a rising edge of xExecute) pClientRequest^.xExecute := FALSE; IF clientRequestsCnt < SIZEOF(clientRequests)/SIZEOF(clientRequests[0])-1 THEN // next client request clientRequestsCnt := clientRequestsCnt + 1; ELSE clientRequestsIterationCounter := clientRequestsIterationCounter + 1; clientRequestsCnt := 0; END_IF pClientRequest := clientRequests[clientRequestsCnt]; END_IF END_IF I did try a semi-coded way using the IoDrvModbusTCP library, and setting the slave com settings, then 10 commands and 10 requests, then using a TP on xDone as a pause, before triggering another request - this is time the delay is around 120ms - so the device is fine with the speed, just something I am doing wrong in the ModbusFB method I am sure.
Last updated: 2024-04-26
Post by conny-nm on onewire bus master stop working after 4.8.0.0 upgrade
CODESYS Forge
talk
(Post)
Habe ein ähniches Problem Ethercat läuft nur mit RT 4.8.0.0 nicht aber Onewire. Füge ich ForceFile läuft Onewire, nicht Ethercat. Bei IecFilePath.3 läuft Ethercat nicht aber Onewire
Last updated: 2023-09-20
Post by eschwellinger on onewire bus master stop working after 4.8.0.0 upgrade
CODESYS Forge
talk
(Post)
du musst Onewire in einer eigenen Task aufrufen, das sind blockierende Aufrufe das geht nur in eigener Task, hab hier mal im Forum ein Beispiel gepostet
Last updated: 2023-09-20
Post by augmue on onewire bus master stop working after 4.8.0.0 upgrade
CODESYS Forge
talk
(Post)
ich lese alle 4 Sekunden einen Sensor DS18B20 aus Datei im Verzeichniss /mnt/1wire mit USB-Adapter und owfs [SysFile] IecFilePath.3=/mnt/1wire
Last updated: 2023-09-20
Post by conny-nm on onewire bus master stop working after 4.8.0.0 upgrade
CODESYS Forge
talk
(Post)
Danke für die Hilfe habe ich übersehen. Habe zwischenzeitlich ein neues Betriebssystem aufgespielt und jetzt wieder meinen alten Fehler das die Runtime nur ca. 20 Sekund läuft.
Last updated: 2023-09-21
Post by aott33 on Webvisu NO load
CODESYS Forge
talk
(Post)
I am experiencing something like this as well. After reboot, the WebVisu can take up to 3 min to load. Device: CODESYS for Linux V4.9.0.0 CODESYS IDE: V3.5 SP19 Patch 1
Last updated: 2023-09-21
Post by derpaul on Official MQTT-Client: MAX_RECEIVE_BUFFER_SIZE_EXCEEDED
CODESYS Forge
talk
(Post)
I've got it running again! For testing I've extendet the g_udiMaxPacketSize from 6000 to 100000 and g_udiMaxPayloadSize from 4096 to 80000 After it does run again! Thank you very much for your help!
Last updated: 2023-09-28
Post by mybackingtracks on Codesys Control Raspberry PI 4.10.0 - missing 'Update Raspberry PI' option
CODESYS Forge
talk
(Post)
I have updated Codesys Control Raspberry PI form 4.8.0 to 4.10.0. After I did it, 'Update Raspberry PI' disappeared from the 'Tools' menu How to solve it?
Last updated: 2023-12-06
Post by voffi on CODESYS Custom Build Step
CODESYS Forge
talk
(Post)
Good morning! Is there a way to run a python script or something else automatically after CODESYS (3.5) did its build or before download? I am searching for something like the Custom Build steps in Visual Studio. Thank you! Voffi
Last updated: 2023-12-07
Post by marek71 on Ambiguous use of name - CO136
CODESYS Forge
talk
(Post)
My PLC is WAGO PFC200 Firmware Revision 26. target After updating WAGO_Devices_and_Libraries with newer Firmware 27, CODESYS wants to update all libraries to new versions. I will only add that I did not update the Firmware in the PLC. After compiling the program, I received the following errors: ------ Build started: Application: Device.Application ------- Typify code... [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): FbSerialInterface_internal: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): FbSerialInterface_internal: C0136: Ambiguous use of name 'RTS_IEC_RESULT' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): Initialize [FbSerialInterface_internal]: C0032: Cannot convert type 'Unknown type: 'RTS_INVALID_HANDLE'' to type 'POINTER TO BYTE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): Initialize [FbSerialInterface_internal]: C0136: Ambiguous use of name 'RTS_INVALID_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): Initialize [FbSerialInterface_internal]: C0046: Identifier 'RTS_INVALID_HANDLE' not defined [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): comextra_is_tx_empty: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): comextra_get_line_state: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): comextra_is_line_available: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): COMSW_SET_MODE: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' [ERROR] wagosyscom_internal_pfc, 1.0.2.5 (wago): comextra_set_line_state: C0136: Ambiguous use of name 'RTS_IEC_HANDLE' Compile complete -- 10 errors, 0 warnings Build complete -- 10 errors, 0 warnings : No download possible The problem was caused by the WagoSysPlainMem(WAGO) library in the original version 1.5.3.0 after updating to 1.5.3.1. After returning to version 1.5.3.0, the problems disappeared. Probably the version number of this library is responsible for supporting the appropriate Firmware Revision. Can anyone confirm or deny my suspicions?
Last updated: 2024-07-06
Post by drml on Array to String
CODESYS Forge
talk
(Post)
If a size is not specified, CODESYS allocates 80 characters by default for a string. After 7 seconds, does your Json_string contain all of your 20000 key/values? Or is the result truncated to 80 characters?
Last updated: 2024-07-19
Post by richard-wang on Raspberry Pi 4 B HW 1.5 Codesys control 4.10.0 stopps after a few seconds
CODESYS Forge
talk
(Post)
Hi Preimesbergert I have the same problem and same result as yours, I am wondering if you find any root cause? I would be much appreciated if you can share any finding.
Last updated: 2024-07-29
Post by ruzickajan on WAGO RS485 (753-652) on a 750-362
CODESYS Forge
talk
(Post)
Hi I will be dealing with the same issue soon. I would appreciate any advice and i will try to help after I get on the Issue.
Last updated: 2024-08-02
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.