Post by spiritcore on Server not adding PLC
CODESYS Forge
talk
(Post)
I added new Gateway and I can see it connected. When I scan the server for PLC, it finds the PLC but when I click the Add To Server button, it shows "PLC was added." in the status. But I can't find the PLC in the list. I tried removing the gateway and re-configure everything again but it didn't solve. Any ideas?
Last updated: 2025-02-17
Post by wbj0t on one variable signed to modbus tcp server device and modbus serial device
CODESYS Forge
talk
(Post)
Hi. Raspberry pi 4 runtime. Runtime version 4.16, IDE version 3.5.21. Is it possible write new value for variable via modbus tcp or serial devices when both enabled? As I see - not. What can I do? It is terrible restriction.
Last updated: 2025-07-17
Post by kio123 on SysFileOpen not working
CODESYS Forge
talk
(Post)
I have exactly the same problem and tried entering “ForceIecFilePath=0” in the file “CODESYSControl.cfg” ([SysFile]). Unfortunately, this was unsuccessful. Can anyone help in the meantime, e.g., with some sample code or with the FAQ that TimvH refers to above (link no longer works)? Many thanks and best regards
Last updated: 2025-09-15
Post by fcmtw on SDO generation
CODESYS Forge
talk
(Post)
Hi, When I'm adding a CANOpen device in my WAGO CANOpen Manager, CODESYS automaticaly generates some SDO's that I can't directly disable. From what those SDO's are generated ? I'm not finding anything about it in the EDS files. Also, is there a way to disable the automaticaly generated SDO and execute the manualy created ones ? Regards, Florian
Last updated: 2024-01-23
Post by reinier-geers on SysFileOpen does not work after update to V3.5 SP19 Patch 5
CODESYS Forge
talk
(Post)
At 19.1 the hFile_test should be RTS_IEC_HANDLE and always open-write - close in one cycle udi_handle: RTS_IEC_HANDLE; //handle-number. Is created by SysFileOpen udi_handle:=SysFileOpen(sFileName,Sysfile.AM_WRITE_PLUS, ADR(udi_ErrorCode)); udi_RetValWrite:=SysFileWrite(udi_handle, pRemBuffer, szRemBufSize, ADR(udi_ErrorCode)); //closing file IF udi_RetValWrite < szRemBufSize THEN ui_Error:=cWriteError; END_IF//error writing data udi_ErrorCode_Close:=SysFileClose(udi_handle);
Last updated: 2024-02-19
Post by s1mon on Two OneWireMaster on one Raspberry PI 5
CODESYS Forge
talk
(Post)
If I add "PlaceholderFilePath.2=/sys/devices/w1_bus_master2, $OneWire2$" to the CODESYScontrol.cfg I can use a 2nd OneWireMaster in the Codesys Runtime. But then my EtherCAT_Master is not working any more. Any Idea? Is there any instruction or documentation how a 2nd OneWire Bus Master can be used within Codesys Runtime on a raspberry pi 5?
Last updated: 2025-10-18
Post by timvh on Persistent Retain Variables Not Visible in Online View (WAGO PFC100 + CODESYS)
CODESYS Forge
talk
(Post)
It is a known issue. It only happens with CODESYS and Wago controllers and the Persistent Variables. It seems related to using 64 bit variables in the PV list (e.g. LREAL). Internally in the PLC everything works okay. It is just a monitoring issue.
Last updated: 2025-10-26
Post by spiessli on Softmotion axis to CANopen Maxon IDX drive
CODESYS Forge
talk
(Post)
Thanks for the advise, indeed, this was somewhat, what my intention was. I tried around again with EDSes and DCFs, anyway. It appears that the DCFs end up in a subfolder in the attach device dialog. Astonishingly, when attaching the DCF version I get a device in the device tree, where I can add a SoftMotion axis, whereas when I attach the device not in the subfolder, then I cannot. Further astonishingly, when looking in the CANopen parameters in supported profiles, "402" is listed in the case of the DCF variant, whereas in the EDS variant "0" is shown. Comparing EDS and DCF files I cannot guess, where the difference is coming from. I cannot tell either why I have always attached the EDS variant and apparantly never the DCF variant. As I am not in the lab right now, I cannot test if the connection actually is working. Thanks again, spiessli
Last updated: 2024-01-07
Post by faceplant on Comparison via CLI is broken
CODESYS Forge
talk
(Post)
Hello! I am trying to compare 2 projects via the --compare CLI option. In the docs for the --compare option, it describes the usage as .\CODESYS.exe --compare "project path 1" "project path 2". I store my projects in WSL2 on my windows machine. Since CODESYS is happy to open those projects via a path like \\wsl.localhost\home\project.project. So, to compare, I use the command .\CODESYS.exe --compare "\\wsl.localhost\home\prog1.project" "\\wsl.localhost\home\prog2.project". This results in CODESYS just opening the project and starting, not comparing the two projects. No errors are thrown, and I know the paths are correct since I can open both independently in CODESYS, and I can compare them manually through the CODESYS UI. I have also tried moving my projects to the Windows 11 OS and still have the same issue. CODESYS opens the project and does not actually compare them. I am using CODESYS profile v3.5 sp20 patch 1. What is the correct way to compare 2 projects using the --compare CLI option?
Last updated: 2024-12-18
Post by rabaggett on CODESYS control for Raspberry Pi 64 SL errors
CODESYS Forge
talk
(Post)
Hi, I am trying to create a project using a raspberry pi, I have added the modules for the Pi and MCP3008. I have encountered som errors that I don't know how to track down. 1. The GPIOs give preprocessor errors, but I read that this does not prevent compiling. This seems to be true. I can build the empty project with no errors. 2. After adding a SPI master and MCP3008, the preprocessor errors double, but seem similar and the project again builds with no errors. 3. I add a DUT and GVL, with a function, and I get the following errors. They remain even if I delete these things. ------ Build started: Application: Device.Application ------- Typify code... [ERROR] crr: C0032: Cannot convert type 'Unknown type: 'ADR(GVL_Io_17160064_c083_41f8_9e53_208be7537753_HPS_7.Io_17160064_c083_41f8_9e53_208be7537753_HPS_7)'' to type 'POINTER TO IoConfigParameter' [ERROR] crr: C0077: Unknown type: 'GVL_Io_17160064_c083_41f8_9e53_208be7537753_HPS_7.Io_17160064_c083_41f8_9e53_208be7537753_HPS_7' [ERROR] crr: C0046: Identifier 'GVL_Io_17160064_c083_41f8_9e53_208be7537753_HPS_7' not defined Compile complete -- 3 errors, 0 warnings I attach the project. What am I doing wrong? Thanks!
Last updated: 2024-05-02
Post by liepgp on Script for batch printing
CODESYS Forge
talk
(Post)
I'm searching a way to print several projects to PDF, in order to correct student exercises. I'm able to open the printing dialog box using system.commands["print", "print"].execute(). But I can't find the prompt names in order to complete the printing with the dialogs Do you have any way to do that?
Last updated: 2024-02-13
Post by liepgp on Batch printing
CODESYS Forge
talk
(Post)
I'm searching a way to print several projects to PDF, in order to correct student exercises. I'm able to open the printing dialog box using system.commands["print", "print"].execute(). But I can't find the prompt names in order to complete the printing with the dialogs Do you have any way to do that?
Last updated: 2024-02-13
Post by arundara on Variable Sync Issue In Soft Plc Redundancy
CODESYS Forge
talk
(Post)
Hello, I was trying to create a redundancy POC for our application where we read data from few modbus tcp devices. As there is a limitaion that modbus tcp device support only for single master device, we wanted to test how the variable sync happens in redundancy mode. For that i have used the redundancy sample code added a variable "b" under a condition. What i observed was while active controller is running, if passive controller is powerup, passive controller is able to sync all the data configured for redundacny. But after that the variable data which resided under a condition is not synching from active to passive controller. I have attached the image where i have highlighter the variable. Can some help me to understand how redundacny work in codesys soft plc and if there is a solution to sync variable which are under condition, please explain the same or suggestion to achieve the same. Hardware - Raspberry Pi (2 qty) Redundancy licence used - yes in both controllers. Codesys runtime - 4.9.0.0 Codesys software version - V3.5 SP19 if i have posted this question in wrong section, please do let me know in whcih section i have to post this question.
Last updated: 2023-12-01
Post by pruwetbe on Profinet IO-link master - IODD files
CODESYS Forge
talk
(Post)
Hello, we have the same problem here. Our configuration in the following: Codesys V3.5 SP19 running on Exor Exware700Q Profinet network connected on Eth1 IOLink Master Turck TBEN-S2-4IOL version 3.5.9.0 IOLink sensors E+H & Sick (Pressure, T°) We installed the codesys IO link package and have the codesys IO Link SL licence activated (on a dongle) Our problem is the following: we got the IODD files from E+H & Sick we add the devices in the codesys device repository with success They appear in the devices tree under IODD branch We added the TBEN IOLink master under the Profinet IO . The IO link master are ok and display online. The IO-Link SL package datasheet indicate that there would be a way to scan the IOLink device from the network but we did not find any way to trigger this scan. (we expect to get this from a right click on each IO-Link Master module but the only possibility there is "Plug device") When clicking on Plug Device, we get a browse window with profinet IO modules. The IODD devices are not there so we cannot select them. But other devices for other brands are available and can be plugged. Our question are : 1) how do we update the Profinet IO Module catalogue in order to be able to plug the E+H & Sick Sensors that we have to work with? 2) how do we activate the Scan IOLlink device that is supposed to be included in the Codesys IO-link package? 3) where can we find the manual explaining how to use this package?
Last updated: 2024-11-12
Post by xabier on No work Control Torque Codesys with Drivers M751 Control Techniques
CODESYS Forge
talk
(Post)
YEs..This drive supported Softmotion... I attaced the photos...for example with this driver can i move in absolute mode but i can´t aplicated FB set Torque and the 2 FB are down the same libre SM3_Basic
Last updated: 2024-03-14
Post by eschwellinger on EtherCAT status errors
CODESYS Forge
talk
(Post)
Setting IRQ priorities using shell commands irq-list and irq-set-prio for the network adapter which is used for Ethercat. This is here: https://content.helpme-codesys.com/en/CODESYS%20Control/_rtsl_performance_optimization_linux.html
Last updated: 2025-11-25
Post by ojz0r on Assignment Efficiency - Repetitive Assignment vs IF statement
CODESYS Forge
talk
(Post)
Its important that you know the difference between the two. Example 1: Coils[0] := Coils[0] OR (Buttons[0] AND Sensors[0] > 6); In this case the statements will be evaluated every scan and result in either true or false for Coils[0]. Example 2: IF NOT Coils[0] AND Buttons[0] AND (Sensors[0] > 6) THEN Coils[0] := TRUE; END_IF In this example Coils[0] will latch the result in a true evaluation, if you want it to behave the same way as example 1 then you need to do it like example 3 below: IF NOT Coils[0] AND Buttons[0] AND (Sensors[0] > 6) THEN Coils[0] := TRUE; ELSE Coils[0] := FALSE; END_IF However back to the real question. There is no problem using either example 1 or example 3, if im not requiring a latch i usually go with example 1 as it is more compact.
Last updated: 2025-03-07
Post by joachimk on Profinet Controller IP-Adresse ändern
CODESYS Forge
talk
(Post)
Die IP-Adresse des Profinet-Controllers soll zur Laufzeit geändert werden. Dabei handelt es sich um eine Anwendung auf einem PC mit einer Standard-Ethernetschittstelle (ControlWinV3+WinPcap). Die Datei "CODESYSControl.cfg" wurde dazu angepasst: .... Adapter.0.Name="Ethernet 4" Adapter.0.EnableSetIpAndMask=1 Die konfigurierte IP-Adresse wird zur Laufzeit an die tatsächliche IP-Adresse der Netzwerkschnittstelle mit dem folgenden Befehl angepasst (die Änderung von 192.168.2.33 auf 192.168.2.34 funktioniert auch): Ethernet.UpdateConfiguredIPSettings(IpAddress:=Ethernet.IPAddress, subnetmask:=Ethernet.Subnetmask, gateway:=Ethernet.GatewayAddress); Der Profinet-Controller geht danach auf Störung und gibt die folgende Fehlermeldung aus: "Controller-Status: currently active IP does not match the controller's configuration" Unter "Ethernet diagnostic information" kann man die geänderte IP-Adresse von 192.168.2.34. Ethernet läuft auch ohne Fehler. Unter "PROFINET IO Driver diagnostic information" -> "IPParameter" sieht man noch die alte (konfigurierte) IP-Adresse 192.168.2.33. Wie kann man die Störung beseitigen? Leider habe ich keine Methode zum Ändern der IP-Adresse auf dem Profinet-Controller gefunden? Reconfiguration des Profinet-Controllers?
Last updated: 2024-06-27
Post by mawaloc on IMAGE DISPLAY ACCORDING TO INPUT VARIABLE
CODESYS Forge
talk
(Post)
Hello thank you to all, it's work regards
Last updated: 2023-08-17
Unable to Import PLC Open XML from Easy Remote IO
CODESYS Forge
talk
(Thread)
Unable to Import PLC Open XML from Easy Remote IO
Last updated: 2023-08-24
Same program to more than one PLC
CODESYS Forge
talk
(Thread)
Same program to more than one PLC
Last updated: 2023-08-25
Problems connecting to Codesys 4.9.0.0 runtime on my Wago PFC200
CODESYS Forge
talk
(Thread)
Problems connecting to Codesys 4.9.0.0 runtime on my Wago PFC200
Last updated: 2023-08-26
Profinet connection to Siemens CP343-1 Lean (IO-Device/Slave)
CODESYS Forge
talk
(Thread)
Profinet connection to Siemens CP343-1 Lean (IO-Device/Slave)
Last updated: 2023-08-26
How to use FB_Init with nested Function Blocks?
CODESYS Forge
talk
(Thread)
How to use FB_Init with nested Function Blocks?
Last updated: 2023-08-30
Comments in arrays and assigning RST coil's to 600 outputs
CODESYS Forge
talk
(Thread)
Comments in arrays and assigning RST coil's to 600 outputs
Last updated: 2023-08-31
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.