Post by mariacugnier on Bug Device login
CODESYS Forge
talk
(Post)
I'm having the same issue.I think it may be something related to the device adress that changes depending on the network i'm using, but now i don't have access to the one i used while setting my user. Did you find any solution for this?
Last updated: 2024-06-20
Post by mariacugnier on Bug Device login
CODESYS Forge
talk
(Post)
I'm having the same issue.I think it may be something related to the device adress that changes depending on the network i'm using, but now i don't have access to the one i used while setting my user. Did you find any solution for this?
Last updated: 2024-06-20
Post by eschwellinger on Two OneWireMaster on one Raspberry PI 5
CODESYS Forge
talk
(Post)
you need to have an own task for the one wire and io update these slaves in an own low prio task!
Last updated: 2025-10-18
Post by davidbo on What is the prerequisites for a Raspberry Pi to work with SysSockSetIpAddressAndNetMask()
CODESYS Forge
talk
(Post)
I have done: systemctl stop dhcpcd sudo ip addr flush dev eth0 sudo ip link set eth0 up but a call to SysSockSetIpAddressAndNetMask does not give the eth0 an IP address Why?
Last updated: 2025-11-04
Post by nano on What is the prerequisites for a Raspberry Pi to work with SysSockSetIpAddressAndNetMask()
CODESYS Forge
talk
(Post)
have u turned on the Ip-Setter in codesyscontrol.cfg? [SysSocket] Adapter.0.Name="eth0" Adapter.0.EnableSetIpAndMask=1
Last updated: 2025-11-11
Post by davidbo on What is the prerequisites for a Raspberry Pi to work with SysSockSetIpAddressAndNetMask()
CODESYS Forge
talk
(Post)
I have now and it works. I had the idea that it had something to do with codesyscontrol.cfg, but where can I find a description of all the things you can set in codesyscontrol.cfg and its syntax?
Last updated: 2025-11-12
Post by gseidel on SMC_ERROR.SMC_AXIS_NOT_READY_FOR_MOTION when using Drive Virtual
CODESYS Forge
talk
(Post)
Hi ducng, you need to make sure that MC_Power.Status is TRUE before you give a rising edge to MC_MoveRelative.Execute. (This is the same for virtual and real axes). Best regards, Georg
Last updated: 2025-11-27
Post by cnicht on Visu File Transfer with multiple files
CODESYS Forge
talk
(Post)
I have a question for the Visu File Transfer Example. Is it possible to transfer more than one file from the plc to the webvisu with only one button click? How can i realize it?
Last updated: 2025-12-03
Post by cnicht on Visu File Transfer with multiple files
CODESYS Forge
talk
(Post)
I have a question for the Visu File Transfer Example. Is it possible to transfer more than one file from the plc to the webvisu with only one button click? How can i realize it?
Last updated: 2025-12-03
Post by kenth1973 on MC_Phasing state explenation
CODESYS Forge
talk
(Post)
Hi George. Thx for the info and recommendation - the robot is running production at customer. But - would you have any information about the states numbers and their different explenations?
Last updated: 2025-12-11
Post by kledo5 on What is the CFC editor (page oriented) "Add page" keyboard shortcut?
CODESYS Forge
talk
(Post)
Thanks for sharing this helpful tip with the tech community; I've learned so much new stuff. Let's take a break and play drift hunters, everyone! This top-notch racing game helps relieve stress after a tiring workday.
Last updated: 2026-01-06
Post by peder on Parker Compax3 controlled by Schneider LMC 201
CODESYS Forge
talk
(Post)
Hi Bruno Thank you for your answer. So this is not possible. Do you know some thing else that could replace the PAC320?
Last updated: 2026-01-13
Post by mr-ege on Error: C0138: No matching 'FB_Init' method found for instantiation of VisuClientObjectMgr
CODESYS Forge
talk
(Post)
I have tried these steps, but it still does not work. What should I do? I'm stuck on this error. I cannot design the HMI, I need help.
Last updated: 2025-11-27
Post by eld-t on Change Git local repository folder name
CODESYS Forge
talk
(Post)
Hi, how do you change the Git local repository folder name? It is called "project" by default, so we would like to rename it to something more descriptive especially for the remote repo's sake. Thanks!
Last updated: 2025-12-10
Post by ph0010421 on Network variable stops sending
CODESYS Forge
talk
(Post)
I'm having right now trouble if the NVL is 'big' and I've needed to reduce the size. It sends for (about) 1 hour then stops.
Last updated: 3 days ago
Post by arpat on Error, visualisation property handling, VISU_USEPROPERTYINFO
CODESYS Forge
talk
(Post)
For me going to Project -> Project Settings -> Visualisation -> check "Visible" and then check both "Activate property handling ..." and "Activate implicit checks ..." solved the problem.
Last updated: 2026-02-03
Post by altin on No source code available for this object
CODESYS Forge
talk
(Post)
Hello, I get same error message but pointing at different library. The error appears when im trying to scroll an AlarmTable on a thouch screen (ifm CR1204). Anyone knows what causing this and how to procceed? Many thanks in advance,
Last updated: 2026-02-16
Post by eschwellinger on Unable to deploy "Control for Linux SL 4.18.0.0"
CODESYS Forge
talk
(Post)
Hi could you check if this really exists in 4.19.0.0 deploy tool? In your case architecture is missing- see my configuration
Last updated: 2026-02-17
Post by fpawlak on How to register own component - CMAddComponent() or CMAddComponent2()
CODESYS Forge
talk
(Post)
Hi, so really oneone has no idea which way is correct one? Or maybe both are okey if they work for me?
Last updated: 2026-03-13
Post by alexgooi on Modbus TCP interface get stuck
CODESYS Forge
talk
(Post)
Dear Forum, I'm currently experimenting with Modbus interfaces in combination with a virtual controller. I have the following setup (Modbus_Setup.png): I have an IPC with Debian installed on it (Debian 13). On this Debian machine I have installed a docker server and on this docker server a Codesys runtime container is deployed (Codesys_image.png). The Modbus scanner makes connection with and IO coupler and this works well. But when I physically disconnect the ethernet connection between the IPC and the IO coupler the Modbus interface gets stuck in a state where it gets stuck in the busy state (Modbus_Stuck.png). When I plug the cable back in, the IO coupler isn't communicating until the xBusy variable is manually set to False, after this action is performed the communication goes back to normal. I have tried to set the container network to host and bridge (Network.png), but both version gives the same result (stuck scanner). I would expect that the Modbus interface is generating a timeout after 1 sec, because this is how it is setup (Modbus_settings.png), but this is not what happens. I have thought to write a piece of code that writes xBusy to false when it is stuck but because it is an output I'm not able to write to it. I have tried this with another PC (different CPU/motherboard) but this gives the same outcome. I tried updating to the latest version of Virtual control (4.20) but this gives the same result. I also tried to do the same thing with an ethernet IP scanner, and this gives an error after the timeout is expired (so this works well). I have tried to connect to the IO coupler using the Modbus_FB lib (Modbus_FB.png) the FB's are giving the correct errors and behaving as expected. At last I have tried to use a Scanner on a Codesys controller (no IPC) and here the scanner behaves as expected (an alarm is triggered after the timeout has been expired). The version of the Codesys components are listed in the picture Versions.png Is there anyone that can give me a push in the right direction? Kind regards Alex
Last updated: 2026-04-14
Post by mondinmr on COL.IMap2 and HashTableFactory cause frequent Access Violation
CODESYS Forge
talk
(Post)
Good morning, I’ve been using the Collection library for a long time, mostly with Stack, LinkedList, and List. From your examples I was able to manage the different factories, even for custom elements. Now I need a hashtable, but with this object I’m running into a lot of random access violations. If I append something inside FB_Init after constructing the hashtable, it crashes, even though the list was already created. If I only create the hashtable in FB_Init and append afterwards, it usually works. I don’t understand the meaning of the dispose call in this code: pSlave := ADR(slave); uSlave := TO_ULINT(pSlave); iKey := fKey.Create(uSlave); IF hash.CountKeys() = 0 THEN Service.logger.appendLog('Filling hashtable', 'HashManager', AdvLogType.AdvDebugMsg); ok := FALSE; ELSE eError := hash.ContainsKey(iKey, xResult => ok); END_IF IF NOT ok THEN pI := __NEW(UINT); iVal := fKey.Create(TO_ULINT(pI)); Service.logger.appendLog(CONCAT('New slave', TO_STRING(uSlave)), 'HashManager', AdvLogType.AdvDebugMsg); hash.AddKeyValuePair(iKey, iVal); appendNewSlave := pI; ELSE eError := hash.GetElementByKey(iKey, itfValue => iElem); xResult := __QUERYINTERFACE(iKey, itfIInstance); IF xResult THEN itfIInstance.Dispose(); END_IF IF eError <> COL.COLLECTION_ERROR.NO_ERROR THEN Service.logger.appendLog(CONCAT('ERROR ', TO_STRING(eError)), 'HashManager', AdvLogType.AdvCriticalMsg); appendNewSlave := nullptr; RETURN; END_IF __QUERYINTERFACE(iElem, iVal); {warning disable C0033} pI := TO___UXINT(iVal.UlintValue); {warning restore C0033} appendNewSlave := pI; END_IF Without the dispose call, every second cold reset crashes immediately when I try to access iVal, even if eError doesn’t report any error. With the dispose call, the cold reset issue disappears, but I get other problems: a) If I start the runtime using systemctl start codesyscontrol, it crashes at IF hash.CountKeys() = 0 THEN b) If I delete the files in PlcLogic and download again, it works and survives multiple cold resets. But as soon as I run systemctl restart codesyscontrol, everything gets corrupted again and it starts crashing at that point. FUNCTION_BLOCK SlaveMapCounter VAR hash : COL.IMap2; eError : COL.COLLECTION_ERROR; END_VAR In its FB_Init I create it: METHOD FB_Init: BOOL VAR_INPUT bInitRetains: BOOL; // TRUE: retain variables are initialized (reset warm / reset cold) bInCopyCode: BOOL; // TRUE: the instance will be copied to the copy code afterward (online change) END_VAR VAR hF : COL.HashTableFactory; END_VAR hash := hF.Create(256); In another FB I instantiate it statically: FUNCTION_BLOCK ABSTRACT AbstractServoEthercatController EXTENDS AbstractServoController VAR_STAT hashSlaves : SlaveMapCounter; END_VAR VAR field : REFERENCE TO ADVAbstractFieldUnitEthercatCia402; initCnt : REFERENCE TO UINT; END_VAR The append method is the one shown above, and I call it after the runtime has started. The accesses are performed by a single task, and in any case I’m working on an isolated single core. I’ve tried everything, moving the create, the instances, and all the rest several times, but nothing seems to work. I’d like to point out that these FBs are part of our own library, which is used in many applications.
Last updated: 2025-09-11
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 gmau on RS232 Communication in CODESYS Control RTE V3
CODESYS Forge
talk
(Post)
Hello, I would like to implement RS232 communication into CODESYS Control RTE V3. I was writing the program testing it on CODESYS Control Win V3, where it worked fine. When I changed it to RTE, the communication was on, but I cannot send the data between PLC and scale - there is no or little response from scale - mostly one time receive and that is it. On Win V3 it was working fine. I read that I am supposed to configure CODESYSControl file for a proper communication using RTE, but even after that I can not get a stable and working communication. I am attaching my CODESYSControl and CODESYSControlUser data below, as well as I am sending the code from communication function. The communication should be through COM1 port of PC. CODESYS Version: CODESYS V3.5 SP21 + (64-bit) Runtime + Version: CODESYS Control RTE V3 Version 3.5.21.0 / CODESYS Gateway V3 - x64 Version 2.5.21.0 I would be much gratefull for any help. Sincerely,
Last updated: 2025-07-16
Post by imdatatas on MC_MoveAbsolute: C0138: No matching 'FB_Init' method found for instantiation of SMC_MoveAbsRelPerformerImpl [ERROR]
CODESYS Forge
talk
(Post)
Dear @gseidel, Thank you for your reply. The exact version of Codesys and its compiler was 3.5.21.20. The compiler version was fixed and could not be changed in project settings. Since I couldn't continue due to this compilation error, I temporarily overcame this issue as follows. -- I completely uninstalled Codesys 3.5.21.20 and completely deleted the Codesys folder in the C:\ProgramData folder. -- I restarted my computer and installed Codesys 3.5.19.70. -- I updated the Codesys Installer and all its add-ons to the latest versions. -- The project that was giving me the compilation error I mentioned before is now open with Codesys 3.5.19.70, compiled it, and successfully downloaded it on the device. -- I haven't encountered the same problem anymore. I think this issue is related to SP21 and its compiler. Frankly, I'd expect a project created with an older version to compile without errors after opening it with the latest Codesys version and updating all libraries. Regards, imdatatas
Last updated: 2025-09-26
Post by baott569 on CODESYS OPC UA Security: HMI Client Not Receiving Server Certificate
CODESYS Forge
talk
(Post)
Hello everyone, I am currently using OPC UA in CODESYS with the security mode BASIC256SHA256 – Signed and Encrypted. The OPC UA Server is running on an RTE CX device, and the HMI is running on another computer. I have reviewed many CODESYS documents and successfully established communication when the security mode is set to None with Anonymous login. However, when security is enabled, the server does not provide its certificate for the CODESYS HMI client to trust. Interestingly, the client can send its certificate to the server, and UAExpert works normally, but the CODESYS HMI client does not receive the server certificate. Can anyone help clarify what I might be missing? I have been stuck on this issue for three days. If I missed or misconfigured any step, please let me know. I believe I am stuck at step 15 in the following CODESYS guide: Encrypting the Communication of a Data Source OPC UA Client https://content.helpme-codesys.com/en/CODESYS%20Communication/_cds_encrypt_communication_data_sources_opc_ua_client.html Thank you very much.
Last updated: 2026-01-06
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.