Post by matt-purcell on Which Lib to use, connect to a socket with URL instead of IP address
CODESYS Forge
talk
(Post)
Hello, I have a new project and I need to connect to a TCP socket using the URL instead of an explicit IP address, myendpoint@mydomain.com Which library is best suited for this? This is for a new enterprise project, the endpoint is a server in a datacenter running some real time application. We have big IP, it will automatically reassign the IP address to the backup server if a crash occurs so an explicit IP won't work for me. I've done this in RS logix, working now to migrate that code over to codesys. Thanks in advance!
Last updated: 2024-06-17
Post by ppix on Establishing TLS Connection with MQTT Broker using MQTT Client SL Package
CODESYS Forge
talk
(Post)
For anyone confused with the process visit this link (the bottom section about creating a .pfx file) https://content.helpme-codesys.com/en/LibDevSummary/certificate.html#import-of-client-certificates-with-private-key. I solved this problem by creating a .pfx file and importing it into the security store under 'Own Certificates'(must have SP18 or newer to import .pfx). I used a gitbash shell to enter the openssl command that created the .pfx file. Once you import the file, in your TLS context, set your 'sUseCaseName' to be the same as the name listed in the 'Information' column of your imported certificate. This did it for me
Last updated: 2024-06-20
Post by kthomas on Cant login to Rpi4 but can see it in codesys communications settings.
CODESYS Forge
talk
(Post)
I have been struggling for over a week to program my rapspberry pi 4 with codesys. I purchased the license. I installed the runtime and the gateway, and I can see the pi in the communication settings. But cannot log in. I have checked the status of the pi with sudo systemctl status codesyscontrol and it is running. I have enabled traffic to and from the pi with iptables and checked the logs and all looks good. I just cannot connect through the codesys ide. Can anyone help me before I lose my mind?
Last updated: 2024-06-22
Post by kthomas on Cant login to Rpi4 but can see it in codesys communications settings.
CODESYS Forge
talk
(Post)
I have been struggling for over a week to program my rapspberry pi 4 with codesys. I purchased the license. I installed the runtime and the gateway, and I can see the pi in the communication settings. But cannot log in. I have checked the status of the pi with sudo systemctl status codesyscontrol and it is running. I have enabled traffic to and from the pi with iptables and checked the logs and all looks good. I just cannot connect through the codesys ide. Can anyone help me before I lose my mind?
Last updated: 2024-06-22
Post by ron-rp on Errors with VisuUserManagement library
CODESYS Forge
talk
(Post)
Hi all, I've played a bit with the VisuUserManagement library, and some other security option in my project, and I started getting this error when logging in - see attached pic. something to do with a specific screen in the library - VUM_Login. Also, Codesys started to ask me to log in to the library when logging in, asking to log in as user of the groups Maintainer or Owner, which I dont know either users (attached pic). when I close the login screen and try to log in to the PLC again, everything works again until I close and open Codesys. I do use user and password to login to the PLC, and this login screen is fine I know the user and pass I setup. anyone know what did I do wrong here and how to fix it?
Last updated: 2024-06-25
Post by tayhim on WAGO HMI Device not found
CODESYS Forge
talk
(Post)
Hello, I'm trying to connect with a Wago TP600 HMI but without success. I'm using codysis 3.5 SP19 patch 7 (SP20 block all the time) and the official wago package is installed. However, when I scan and select my device, I get a message saying that the device doesn't match the project's device object with the possibility to update the device (as shown in the attached picture). however, after choosing to update i got a message that the device is not found. I've tried with a new empty project but the same results. do you have any ideas? Thanks.
Last updated: 2024-06-25
Post by rafael on Wbm/runtime and visualization login
CODESYS Forge
talk
(Post)
Hello everyone, I’m trying to understand if it is this way or I can change it. I’m making a PLC code and visualization screens, the ideia is to operate via webvisu some controls. So i made a code, made some screens and when i try it in my web browser, first it asks me to insert te user and password of the wbm/runtime of the plc (user: admin, password: wago by default), then i can acess my screens but I have to login again with the user and password that i created in the visualization user managment. My question is: is there a way to disable this first login to the visualization screens (webvisu)? Or create another user/password for this first screen? I have a PFC200 and a Edge Controller, both are working the same way. Thanks in advance Thanks
Last updated: 2024-06-25
Post by fari on Configure J1939 I/O Mapping via Scripting
CODESYS Forge
talk
(Post)
Hi everyone, With the latest version of Codesys, it’s now possible to import DBC files directly into the J1939 Manager, which is great. However, I’m trying to achieve the same thing programmatically and can’t find any scripting functions related to import_dbc or any host_parameter that would let me configure PGNs and signal mappings automatically. So far, I’ve managed to add the J1939 Manager and an ECU, and I can pass the DBC database to it, but I’m stuck when it comes to adding the signals. Has anyone figured out if this can be done through scripting? (Attached is an illustration of what I am trying to accomplish programmatically). Thanks in advance.
Last updated: 2025-10-24
Post by wchin on Passing EtheNetIP adapter device into a Function Block to access it's IO
CODESYS Forge
talk
(Post)
We are creating helper function blocks for our VFD(EtherNetIP). How should I set it up so that I can pass the device into and out of the Function Block so that ideally I can access the IO of the device by devicename.channelname. So something like for example we have a VFD with a start bit that is in the ControlWord channel and a SetVelocity that is a channel. And we want to create a Function Block called StartVFD. So I declare something like: FUNCTION_BLOCK StartVFD VAR_IN_OUT device: ioDrvEthernetIP.RemoteAdapter; END_VAR VAR_INPUT velocity : REAL; So in the code it would look something like device.SetVelocity := velocity; device.ControlWord.6 := True; We have a pretty basic eds file for our VFD and can update it if necessary. Thanks in advance.
Last updated: 2025-10-28
Post by wchin on Passing EtheNetIP adapter device into a Function Block to access it's IO
CODESYS Forge
talk
(Post)
We are creating helper function blocks for our VFD(EtherNetIP). How should I set it up so that I can pass the device into and out of the Function Block so that ideally I can access the IO of the device by devicename.channelname. So something like for example we have a VFD with a start bit that is in the ControlWord channel and a SetVelocity that is a channel. And we want to create a Function Block called StartVFD. So I declare something like: FUNCTION_BLOCK StartVFD VAR_IN_OUT device: ioDrvEthernetIP.RemoteAdapter; END_VAR VAR_INPUT velocity : REAL; So in the code it would look something like device.SetVelocity := velocity; device.ControlWord.6 := True; We have a pretty basic eds file for our VFD and can update it if necessary. Thanks in advance.
Last updated: 2025-10-28
Post by wchin on Passing EtheNetIP adapter device into a Function Block to access it's IO
CODESYS Forge
talk
(Post)
We are creating helper function blocks for our VFD(EtherNetIP). How should I set it up so that I can pass the device into and out of the Function Block so that ideally I can access the IO of the device by devicename.channelname. So something like for example we have a VFD with a start bit that is in the ControlWord channel and a SetVelocity that is a channel. And we want to create a Function Block called StartVFD. So I declare something like: FUNCTION_BLOCK StartVFD VAR_IN_OUT device: ioDrvEthernetIP.RemoteAdapter; END_VAR VAR_INPUT velocity : REAL; So in the code it would look something like device.SetVelocity := velocity; device.ControlWord.6 := True; We have a pretty basic eds file for our VFD and can update it if necessary. Thanks in advance.
Last updated: 2025-10-28
Post by malte on OPC UA multiple Endpoints
CODESYS Forge
talk
(Post)
My CODESYS OPC UA server provides endpoints using both the hostname and the IP address. Connecting via the IP address works fine, but connecting via the hostname does not. The endpoint list shows both opc.tcp://<hostname>:4840 and opc.tcp://<ip>:4840. When using the hostname, the OPC UA client (UA Expert) fails to connect. Using the IP address connects without issues. Main goal is to conect via Python but opcua-asyncio seems to prefer the hostname. How can I configure CODESYS or my system so that the OPC UA connection via hostname also works properly or disable it completly? Running Codesys for PFC200 sl 4.18.0.0
Last updated: 2025-10-28
Post by aria13 on Has anyone fed ESP32 sensor data into CODESYS (via MQTT/Modbus)?
CODESYS Forge
talk
(Post)
Has anyone tried sending live sensor data from an ESP32 into a CODESYS runtime (for example via MQTT gateway or a Modbus bridge) to trigger PLC logic? I was reading an ESP32 → MQTT tutorial (https://www.theengineeringprojects.com/2021/11/esp32-mqtt.html) that shows how easy it is to publish sensor data from an ESP32, and I’m wondering how practical that is when tying the stream into industrial control software like CODESYS. I’ve also seen Arduino forum threads where people relay sensor streams to MQTT brokers and Raspberry Pi projects that bridge MQTT→Modbus, so I’m mainly curious about real-world issues: reliability, message latency, and simple patterns you’d recommend for safe PLC integration. Any tips, examples, or gotchas from folks who’ve done this?
Last updated: 2025-10-29
Post by daanyouknow on Using a raspberry pi and NVLs to log variables outside of Codesys
CODESYS Forge
talk
(Post)
Hi, My PLC/controller doesn't support OPC UA, so my current plan to create a ringbuffer/circular logger is to connect a raspberry pi to it, use the Network Variable List receiver and sender and raspberry pi codesys runtime to get the variables to the raspberry pi, after which I will use the pi which DOES support OPC UA to get the variables to a python program which logs the desired variables for a certain amount of time for me, would this work? I don't want to spend 50+ euros + licencing fees for a solution that might not work.
Last updated: 2025-11-14
Post by bitor-leao on *EXCEPTION* [ProsessorLoadWatchdog] codesys 3.5.11.40
CODESYS Forge
talk
(Post)
Good night. I am having a problem with CODESYS 3.5.11.40, which gives the exception EXCEPTION [ProcessorLoadWatchdog]. I followed some forum posts and tried to modify the CODESYSControl.cfg file, but it shows: [SysFile] Windows.WorkingDirectory=C:\ProgramData\CODESYS\CODESYSControlWinV3\D5050FE1 Then I go to this directory and try to modify CODESYSControl.cfg according to the forums, but it doesn’t work: [CmpSchedule] ;EnableLogger=0 ProcessorLoad.Maximum=80 ;Timeslicing.Mode=Internal ;Timeslicing.PlcSlicePercent=80 ;Timeslicing.PlcSliceUs=4000 ;Timeslicing.StartOnProcessorLoad=1 ;SchedulerPriority=5 ;SchedulerInterval=1000 I tried to change ProcessorLoad.Maximum to 0 or 100, but it doesn’t compile when I try. I really don’t know what to do,
Last updated: 2025-11-16
Post by bitor-leao on *EXCEPTION* [ProsessorLoadWatchdog] codesys 3.5.11.40
CODESYS Forge
talk
(Post)
Good night. I am having a problem with CODESYS 3.5.11.40, which gives the exception EXCEPTION [ProcessorLoadWatchdog]. I followed some forum posts and tried to modify the CODESYSControl.cfg file, but it shows: [SysFile] Windows.WorkingDirectory=C:\ProgramData\CODESYS\CODESYSControlWinV3\D5050FE1 Then I go to this directory and try to modify CODESYSControl.cfg according to the forums, but it doesn’t work: [CmpSchedule] ;EnableLogger=0 ProcessorLoad.Maximum=80 ;Timeslicing.Mode=Internal ;Timeslicing.PlcSlicePercent=80 ;Timeslicing.PlcSliceUs=4000 ;Timeslicing.StartOnProcessorLoad=1 ;SchedulerPriority=5 ;SchedulerInterval=1000 I tried to change ProcessorLoad.Maximum to 0 or 100, but it doesn’t compile when I try. I really don’t know what to do,
Last updated: 2025-11-16
Post by davidbo on RETAIN PERSISTENT only stored at gracefully shutdown?
CODESYS Forge
talk
(Post)
I have {attribute 'checksumnoinit_override' := '2629838988'} {attribute 'init_related_code' := '5c6efcf8-e0f4-4166-a9fa-17eadd8908df'} VAR_GLOBAL RETAIN PERSISTENT {attribute 'order_in_persistent_editor' := '0'} segmentValue: ARRAY[0..49] OF REAL; {attribute 'order_in_persistent_editor' := '1'} segmentTime: ARRAY[0..49] OF REAL; // Generated instance path of persistent variable PRG.test: INT; // Generated instance path of persistent variable PRG.nw_storage: SysSocket_Implementation.SysSocket_Interfaces.SOCK_ADAPTER_INFORMATION2; END_VAR When I have changed PRG.nw_storage it will not be stored at a power off, but if I do a: sudo systemctl restart codesycontrol and then a power off it will be stored. Is there a way to store persistent variables without a restart of codesyscontrol? Can anyone explain how and when CODESYS store persistent variables?
Last updated: 2025-11-17
Post by mr-ege on Error: C0138: No matching 'FB_Init' method found for instantiation of VisuClientObjectMgr
CODESYS Forge
talk
(Post)
Hi all! I'm trying to learn PLC Programing. Today I was making a simple PLC program, as you can see. When I compile the program without the visualization, there are no errors. However, when I add the visualization and then compile it, I get this error. I don’t know how to solve the problem. I have tried the following solutions: rebooting the PC and updating the software. Error Code: C0138: No matching 'FB_Init' method found for instantiation of VisuClientObjectMgr Compile complete -- 1 errors, 0 warnings Build complete -- 1 errors, 0 warnings : No download possible Version: CODESYS V3.5 SP21 Patch 3
Last updated: 2025-11-25
Post by artem1223 on Synaxis of library declarations in the ST
CODESYS Forge
talk
(Post)
Codesys 3.5 17.30, plc - crevis GN-9373. I need to use RTC of pls for write in registers (need to check difference of writen 100 and 200 registers). For this i try to use SysTimeRtc (SysTimeRtc.SysTimeRtcGet) but its not working. After it i tryed to use SysTimeGetMs and something like this but still not working. Library? Mb but check project, SysTime with SysTimeRtc already, all what i know - already is here. Its my first try to learn ST (early used fbd and ladder, yeah), pls help with it. Mb problem with a syntaxis, but im not sure.
Last updated: 2025-11-26
Post by forklift on Anfänger hat Problem
CODESYS Forge
talk
(Post)
Hallo, ich bin Anfänger mit Codesys und Programm in ST. Wir haben FTS-Fahrzeuge die mit einer Wago-Steuerung ausgerüstet sind. Dies wurde von einer Firma vor Jahren programmiert. Die Firma ist nicht mehr erreichbar und nun sollen wir als Instandhalter diese FTS´en mit betreuen. Da wir aber nur Siemens benutzen(TIA, S7 und S5) haben wir keine Ahnung von der Steuerung. Ich wollte eigentlich nur Online gehen aber Codesys übersetzt das Offline Prg. und meckert das die nicht in Ordnung ist. Das Offline-Prg. ist das Original-Prg. villeicht könnt ihr mir weiter helfen Bild s. Anhang
Last updated: 2025-12-03
Post by forklift on Anfänger hat Problem
CODESYS Forge
talk
(Post)
Hallo, ich bin Anfänger mit Codesys und Programm in ST. Wir haben FTS-Fahrzeuge die mit einer Wago-Steuerung ausgerüstet sind. Dies wurde von einer Firma vor Jahren programmiert. Die Firma ist nicht mehr erreichbar und nun sollen wir als Instandhalter diese FTS´en mit betreuen. Da wir aber nur Siemens benutzen(TIA, S7 und S5) haben wir keine Ahnung von der Steuerung. Ich wollte eigentlich nur Online gehen aber Codesys übersetzt das Offline Prg. und meckert das die nicht in Ordnung ist. Das Offline-Prg. ist das Original-Prg. villeicht könnt ihr mir weiter helfen Bild s. Anhang
Last updated: 2025-12-03
Post by tobifenny on Mailversand
CODESYS Forge
talk
(Post)
Hallo zusammen, ich habe nach einem PC-tausch Probleme mit dem Versenden von Mails. Ich Nutze dazu die die Bibliothek Mail_Service_SL 1.12.0.0. Codesys ist die Version 3.5 SP21 Patch 2. Als Mailserver benutze ich Gmail. Als SMTP habe ich smtp.gmail.com eingetragen und Port 25 oder 465 oder 587 getestet. Connection Typ ist TLS und StartTLS ist true. Wenn ich eine Mail senden will, bekomme ich ein Timeout Fehler. In der Firewall habe ich die Ports alle Freigegeben. Unter Windows 10 hat das auch noch so funktioniert. Mit Windows 11 klappt es nicht mehr. Hat jemand eine Idee, woran das liegen kann?
Last updated: 2025-12-04
Post by pernockham on Trend legend naming and access/config to/of trend/legend-variables
CODESYS Forge
talk
(Post)
Trying the web-version of trend-data. This seems to be a impressive tool, but I lack/cant find a number of what I would think are important parts. There does not seem to be a way to get away from the dot.notated variable naming in the legend.. A developer might want the dot-notation but an end-customer will surely not. For instance I want to display 12 temperatures, instead of t1, t2 etc.. they will be named. gvl_io.unit[1].trend.temps.t1_a gvl_io.unit[1].trend.temps.t1_b gvl_io.unit[1].trend.temps.t1_c gvl_io.unit[1].trend.temps.t2_a .. gvl_io.unit[1].trend.temps.t4_b.. gvl_io.unit[1].trend.temps.t4_c.. Quite a lot of unnecessary text/data taking space from the actual trend => Is there a way to access/interface the legend-data programmatically so I can change the presentation/naming?
Last updated: 2025-12-16
Post by pernockham on Trend legend naming and access/config to/of trend/legend-variables
CODESYS Forge
talk
(Post)
There seems to have been included an updated in the last release 4.9.0.0 or am I wrong (I think I tried out these settings previously without giving the result I wanted contrary to what I see today)? Now an empty check box for "display variable name" is effective, and will present the Variable with the "Description" instead. Perfect! Seems to be some minor formatting still that needs adjustment. See attached screenshot. The apostrophe "'" between "description" I suppose should not be there? Also I guess the same apostrophe (although not visibly shown) gives an extra space between the variable-description and the ":"?? Thanks!
Last updated: 2025-12-19
Post by pernockham on Unable to deploy "Control for Linux SL 4.18.0.0"
CODESYS Forge
talk
(Post)
The option to update "Control for Linux SL" is not shown in the "deploy control SL tool", I can see and update the gateway but not the control (3.5.21 SP4). Has the way to update control SL changed? In the process of fault finding I removed the control SL entirely from my target, then I had to revert to version 3.5.21.0 SP 1 to re-install "Control SL 4.17.0.0". So I thought it was just a matter of using SP1 to update also to 4.18.0.0, but after installing the files for 4.18.0.0 in the SP1-version, the behavior was identical to SP4, ie no Control for Linux SL shown in the deploy tool.. See screenshots.
Last updated: 2025-12-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.