Post by nano on How to access to variable value through symbolic string name
CODESYS Forge
talk
(Post)
i know, this is the reason for us either. PLC-Handler is to big, and only available with additional Contracts/Costs. OPC-UA is to slow for us. As described, there is a solution available, but im not allowed to post them here. i would prefer you send a message at codesys store by "have a question" or similar called. Not sure. Or, if an Codesys-Official Member allows to share that informations, i can give you the right hints.
Last updated: 2024-06-15
Post by codegunner on how to convert library from CodeSys 2.3 to CodeSys 3.x ?
CODESYS Forge
talk
(Post)
hello, ive tried everything and keep getting error like i have opened a file in read only so cannot save no idea what is causing it, file is not read only i cannot even open a new file i make with one variable in 2.3, get same error for read only. do you have a 2.3 file you can send me tomtry and open for a test? thanks
Last updated: 2026-04-29
Post by eschwellinger on cannot connect ot linux runtime: device does not answer the scanrequest
CODESYS Forge
talk
(Post)
for me looks like you do not use latest CODESYS IDE version, there is a known bug if you use a newer runtime your are forced to use a more complex password as user for the login. The old IDE version does not show this problem on login. so either update CODESYS or use a pw which meet the complexity requirements.
Last updated: 2026-06-11
Post by jonasz on Device diagnosis ( EtherCAT IO card )
CODESYS Forge
talk
(Post)
Hi, I'll link to the topic not wanting to start a new one. In the application I am building, I wanted to use the diagnostics described in the CAA Device Diagnosis library. In principle, everything is ok, except for the elements related to ModbusTCP. Despite the fact that ModbusTCP is taken into account in the documentation, it is not recognised via the interfaces. FUNCTION_BLOCK NET_HW_DIAG VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR (* Referencja do struktury z danymi dla HMI ASTRAADA.*) Visu: REFERENCE TO VISU; (* Wskaźnik na mastera EtherCAT.*) pEtherCATMaster : POINTER TO IoDrvEtherCAT; (* Wskaźnik na slave EtherCAT.*) pEtherCATSlave : POINTER TO EtcSlave; (* Interfejs dla węzła w drzewie urządzeń.*) _itfNode: DED.INode; (* Ogólny interfejs magistrali. Zapewnia podstawowe informacje o magistrali polowej.*) _itfBus: DED.IBus; (* Interfejs urządzenia. Zapewnia rozszerzone informacje o urządzeniu (magistralowym).*) _itfDevice2: DED.IDevice2; (* Ogólny interfejs magistrali. Zapewnia podstawowe informacje o magistrali polowej.*) _itfStack: DED.IStack; (* Numer węzła w drzewie urządzeń.*) uiNodes: UINT; (* Operator jest rozszerzeniem normy IEC 61131-3. W czasie wykonywania operator wykonuje konwersję typu odwołania do interfejsu na inny typ. Operator zwraca wynik BOOL. Wartość TRUE oznacza, że CODESYS pomyślnie wykonał konwersję. *) xQueryResultBus: BOOL; xQueryResultDevice2: BOOL; xQueryResultStack: BOOL; (* Struktura danych dotyczących węzłów w drzewie urządzeń.*) NetHwDiag: NW_HW_STAT; ModbusTcpClientDeviceInfo: IoDrvModbusTCP.DED.DEVICE_INFO; ModbusTcpClientDeviceState: IoDrvModbusTCP.DED.DEVICE_STATE; ModbusTcpDeviceInfo: IoDrvModbusTCP.DED.DEVICE_INFO; ModbusTcpDeviceState: IoDrvModbusTCP.DED.DEVICE_STATE; END_VAR (* Pobranie wskaźników dla pierwszego mastera i pierwszego slave w sieci EtherCAT.*) pEtherCATMaster := g_pFirstMaster; pEtherCATSlave := pEtherCATMaster^.FirstSlave; (* Diagnostyka sieci EtherCAT.*) pEtherCATMaster := g_pFirstMaster; pEtherCATSlave := pEtherCATMaster^.FirstSlave; NetHwDiag.xConfigFinished := pEtherCATMaster^.xConfigFinished; NetHwDiag.xDistributedClockInSync := pEtherCATMaster^.xDistributedClockInSync; NetHwDiag.xError := pEtherCATMaster^.xError; NetHwDiag.xSyncInWindow := pEtherCATMaster^.xSyncInWindow; NetHwDiag.sLastMessage := pEtherCATMaster^.LastMessage; NetHwDiag.LastError := pEtherCATMaster^.LastError; (* Diagnostyka drzewa urządzeń.*) uiNodes := 0; _itfNode := DED.GetRoot(); REPEAT NetHwDiag.asDeviceName[uiNodes] := DED.GetDeviceNameString(itfNode := _itfNode); xQueryResultBus := __QUERYINTERFACE(_itfNode,_itfBus); IF xQueryResultBus THEN _itfBus.GetBusInfo(buiInfo := NetHwDiag.aBusInfo[uiNodes]); NetHwDiag.aBusState[uiNodes] := _itfBus.GetBusState(); END_IF xQueryResultDevice2 := __QUERYINTERFACE(_itfNode,_itfDevice2); IF xQueryResultDevice2 THEN _itfDevice2.GetDeviceInfo(deiInfo := NetHwDiag.aDeviceInfo[uiNodes]); NetHwDiag.aDeviceState[uiNodes] := _itfDevice2.GetDeviceState(); IF pEtherCATSlave <>0 THEN pEtherCATSlave^(); IF pEtherCATSlave^.SlaveAddr = NetHwDiag.aDeviceInfo[uiNodes].idSystem THEN NetHwDiag.aAlStatus[uiNodes] := pEtherCATSlave^.ALStatus; pEtherCATSlave := pEtherCATSlave^.NextInstance; END_IF END_IF ELSE xQueryResultStack := __QUERYINTERFACE(_itfNode,_itfStack); IF xQueryResultStack THEN _itfStack.GetDeviceInfo(deiInfo := NetHwDiag.aDeviceInfo[uiNodes]); NetHwDiag.aDeviceState[uiNodes] := _itfStack.GetDeviceState(); END_IF END_IF uiNodes := uiNodes + 1; _itfNode := DED.GetNextNode(_itfNode); UNTIL _itfNode = 0 END_REPEAT (* Diagnostyka Modbus.*) Modbus_TCP_Client.GetDeviceInfo(deiInfo := ModbusTcpClientDeviceInfo); ModbusTcpClientDeviceState := Modbus_TCP_Client.GetDeviceState(); PAC_3200T.GetDeviceInfo(deiInfo := ModbusTcpDeviceInfo); ModbusTcpDeviceState := PAC_3200T.GetDeviceState(); Of course, you can take the easy way out and refer directly to the devices, but I wanted a reusable component. Any constructive help is very welcome Best regards Jonasz
Last updated: 2025-07-15
Post by micik on Python scripting - print whole project tree
CODESYS Forge
talk
(Post)
Hello, I have found a script for printing device tree in Codesys project. This script is available as code snippet as an exmaple for using Python in Codesys. However I feel main documentation is lacking. For example, where can I find that object has "is_device" attribute? Code examples are given here: https://content.helpme-codesys.com/en/CODESYS%20Scripting/_cds_access_cds_func_in_python_scripts.html However, I have a question how to print the whole Project tree and not just devices? Of course I need to remove check: if treeobj.is_device: But simply removing this test condition will not produce what I want. I need to print PLC Logic, Application, ad other nodes in the Project tree. Where to find this documentation?
Last updated: 2024-08-12
Post by timvh on Modbus TCP & RTU with Control for Linux SL
CODESYS Forge
talk
(Post)
It seems you have 2 network interfaces. Did you try eth1? Did you already configure the IP address for this interface in Linux? If yes, then maybe undo this. - or only set eth0 in the Nic configuration without anything else (so no IP address, because this is already set in Linux). For more information about the Nic settings, see (probably already read it?): https://content.helpme-codesys.com/en/CODESYS%20Control/_rtsl_obj_deploy_control_sl_configuration.html PS, if you only want to run CODESYS Control SL, you don't necessarily need the Virtual PLC variant. You could also install and run the CODESYS Control SL Runtime in the Host operating system. This way you should also be able to access the serial port and directly access all ethernet ports. Maybe this is easier?
Last updated: 2024-10-23
Post by imdatatas on C0138: No matching 'FB_Init' method found for instantiation of VisuClientObjectMgr
CODESYS Forge
talk
(Post)
Hello everyone, I downloaded the "Example: PLC Chat Net Base Services" example from the Codesys help site to review and try it out. https://content.helpme-codesys.com/en/CODESYS%20Examples/_ex_cds_plc_chat_net_base_services.html However, when I open and compile the example program with SP21 Patch2, I get the strange error message below regarding Visualisation component, and it fails to compile. " [ERROR] visuelems, 4.8.0.0 (system): VisuFbTabControl: C0138: No matching 'FB_Init' method found for instantiation of VisuClientObjectMgr " Are others experiencing the error "C0138: No matching 'FB_Init' method found for instantiation..." when trying to compile example projects created with older versions of Codesys with a later version of the IDE? How did you overcome this problem? Could you share your solutions? Regards, Imdat
Last updated: 2025-08-26
Post by kunal-pinetics on USB Communication for IP Configuration & Application Update – STM32H Series PLC
CODESYS Forge
talk
(Post)
Hello everyone, I am currently working on a PLC device based on the STM32H series MCU, running CODESYS. At the moment, I can: Change the Ethernet IP address Update/download the PLC application via Ethernet without any issues. However, I would like to implement the same functionality over USB (or Serial via USB) instead of Ethernet. My goals are: Change the device’s Ethernet IP address via USB Download/update the PLC application via USB communication Possibly use USB as a service/programming interface The hardware platform is based on STM32H series, and I am looking for guidance on: Whether CODESYS supports USB device communication for runtime download If a custom USB CDC (Virtual COM Port) implementation is required Whether a specific CODESYS runtime configuration is needed If a bootloader approach is recommended for application updates via USB If anyone has experience implementing USB communication for runtime download or device configuration on an STM32-based PLC, I would really appreciate your guidance. Thank you in advance for your help.
Last updated: 2026-02-26
Post by damian177 on Problem with downloading OPC UA tags by Data Source Manager
CODESYS Forge
talk
(Post)
Hi, In Codesys V3.5 SP20, using Data Source Manager I am trying to connect to the OPC UA server and receive tags from it. The connection is ok, but the Codesys have a problem with downloading Tags group. The window (downloadingTags.jpg in attachement) never stop. After waiting for a while, I disconnect the connection and only the Server group remains downloaded, with OPC UA server diagnostic data (and this is read in Codesys). Of course, I tried connected via another OPC UA client : UaExpert , and everything works as it should, all tags are downloaded (Uaexpert.jpg screen). Has anyone on the forum encountered the OPC UA client configuration in Codesys? Is it possible to manually request the appropriate tags from the OPC server for reading in Codesys?
Last updated: 2024-09-03
Post by tqvist on Gateway Start
CODESYS Forge
talk
(Post)
Hello, I am trying to connect to my PLC (IFM CR711S) via VPN(EWON COSY). I have been told to use Gateway SP14 or higher. I installed CODESYS 3.5 SP20 Patch4. In the Codesys Installer Software I can sleect "Set Gateway Service" and I do so for CODESYS 3.5 SP20 Patch4. I can start the Gateyay and select About and it shows: "CoDeSys Gateway V3 - x64 Version 3.5.20.40" (see attached) For compatibility reasons I have to run my PLC code in 3.5 SP11 and when I start I can first connect but then somehow the system restarts an older version of the Gateway only displaying: "CoDeSys Gateway V3" (see attached) I guess my question is how to run an old Cocesys Software with a new Gateway?
Last updated: 2024-11-26
Post by tariq on Using Hilscher CIFX Cards as EtherCAT Masters in CODESYS
CODESYS Forge
talk
(Post)
Dear Codesys Support Team, I hope this message finds you well. I am currently working on a project that involves using a Hilscher CIFX card to act as an EtherCAT master within the CODESYS environment. Despite following the available documentation and setup guides, I have encountered some challenges and require assistance to ensure proper configuration and operation. Questions: 1- Could you please confirm if the Hilscher CIFX card is supported as an EtherCAT master in CODESYS? If so, are there specific drivers or configuration files that need to be installed? 2- Are there detailed setup guides or example projects available that demonstrate the integration of Hilscher CIFX cards with CODESYS for EtherCAT communication? 3- Is there any additional software or plugins required for ensuring seamless communication between the CIFX card and the EtherCAT slaves within CODESYS? Your support and guidance on these matters would be greatly appreciated, as it is crucial for the success of our project. Thank you for your time and assistance. I look forward to your prompt response. Best regards, TB
Last updated: 2024-07-02
Post by aliazzz on Unable to deploy Virtual Control SL on ARM64 (Raspberry Pi5)
CODESYS Forge
talk
(Post)
Hi, I have successfully deployed "Virtual Control SL" on a few x86/64 machines now. However, I'd now like to deploy this to a Raspberry Pi (ARM64). To do this I prepared the Raspberry Pi5 with the following prereq's; * Minimal PREEMPT Debian * Latest Bootfirmware * full SSH access via non-root account * Podman * RedHat Cockpit with CODESYS LicensServer plugin up and running However, I can't seem to resolve copying the correct (deploy) Images as they wont show up in the CODESYS IDE I have added CODESYS Virtual Control for Linux SL and the CODESYS LicenseServer for Linux SL via the CODESYS installer on my DevBox. I open CODESYS > Tools > Deploy Control SL Next I enter the SSH targets IP and Credentials and for my RPi5 and it shows "Connected". In the next tab, Deployment, the dropdown box only shows one (1) image, which also is the incorrect CPU architecture. Only Virtual Control AMDx64 shows up (!?) while I expect to see the ARM64 based images for both Edge and Control. Has someone encountered this too? I'd like to hear other people experiences with Virtual Control deployment on ARM based architecture. attachment 1: AMD64 based deployment pulldown menu (correct images) attachment 2: ARM64 based deployment pulldown menu (incorrect images) regards,
Last updated: 2024-07-28
Post by anhkdv on Data storage and Export in Codesys
CODESYS Forge
talk
(Post)
I am doing a SCADA project on temperature and humidity monitoring system. The customer requested that we store the database through codesys without the need for intermediary software such as MySQL, MSSQL,... and be able to export reports at selected times, reports exported to csv files. , xslm,... Can anyone help me?
Last updated: 2023-10-29
Post by pietrobalint on Retain / Persistent Variables in Codesys for Raspberry Pi
CODESYS Forge
talk
(Post)
I made hardware reboot and it still not working. I also tried Persistence Manager which need Application Composer Single License but Codesys support said that my runtime do not compatibile with it and it will avaiable in 2025 only. So I hope I will figured out how to use this code.
Last updated: 2024-08-31
Post by damian177 on Problem with downloading OPC UA tags by Data Source Manager
CODESYS Forge
talk
(Post)
Unfortunately , Data Source Manager from Codesys has any problem with OPC UA Server delivered with ifix SCADA. Someone can help me add manually any tag from UaExpert to codesys ? How should be was a structure for an example of one tag ? I try like in attachement, but question is , if it a good idea ?
Last updated: 2024-09-08
Post by gabor-n on PNIO Connect Parameter Error
CODESYS Forge
talk
(Post)
It's a bit confusing, the two RPI is the same (board, OS, runtime, programing with Codesys V3.5 SP20 P2) but the one has a codesyscontrol.cfg file and the other has a codesyscontrol_user.cfg file. Shouldn't be the same? And because I over Codesys 3.5 SP 12 this would be the '_user.cfg' for both. Attached...
Last updated: 2024-10-11
Post by tyronnosaurus on SysLibMem.lib Where To Download?
CODESYS Forge
talk
(Post)
It should come by default on a normal install of Codesys 2.3, but it's a bit hidden: Like for any other library, go to Resources > library Manager > Right click on list of libraries > Additional library. On the browser that opens, instead of looking in the default folder, use the dropdown menu at the bottom to change the folder (SysLibMem should be on the 3rd folder).
Last updated: 2024-11-11
Post by sigurdrb on Codesys SP20 and professional developer edition
CODESYS Forge
talk
(Post)
Hi, I updated codesys IDE to the newest version, but I lost the "professional developer edition" in the process. It still works fine on the older version I have been using previously. Do you know what the easiest process for getting the same integration in the newer version? It is only the GIT integration that I really miss.
Last updated: 2024-11-11
Post by pernockham on Preferred way of managing Ip-adress/es for linux (debian) host?
CODESYS Forge
talk
(Post)
I have a debian linux host running Control SL. I tried to manage IP-addresses through codesys/Control SL but that was not successful. What works though is manually editing the network-interfaces config file. /etc/network/interfaces. Is there a way to set this up so that IP-addresses can be managed from within codesys instead? Thanks! / Per
Last updated: 2025-01-22
Post by yannickasselin on Engineering IDE from linux?
CODESYS Forge
talk
(Post)
I have been running Codesys IDE in VirtualBox on a Linux Mint host for many many years without issues. I use it every day and it works great. I wouldn't mess around with wine. Would probably just be a waste of time. Codesys Go might be the future of PLC programming on Linux! Can't wait to test it.
Last updated: 2025-03-17
Post by eschwellinger on Codesys Network driver install for Codesys Control RTE x64
CODESYS Forge
talk
(Post)
Yes, either adding in the CODESYSContro_User.cfg because the driver will no longer appear in the list or type the name from the documentation in the configuration and when the gray check mark appears, the driver is also installed. It is just not selectable anymore.
Last updated: 2025-03-21
Post by timvh on update data/tim
CODESYS Forge
talk
(Post)
Change the actual time of your PLC. How to do this sometimes depends on the PLC you use. Please contact the vendor of the PLC to get this information. Or see the following example for using CODESYS date and time functions: https://forge.codesys.com/prj/codesys-example/date-and-time/home/Home/
Last updated: 2025-08-26
Post by timvh on CoDeSys v3.5: creating libraries for both 32-bit and 64-bit controllers
CODESYS Forge
talk
(Post)
Yes, you are right. I think the help is pretty clear: https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_library_development.html It helps you to find errors in the source code of your library if you want to create a library which is using pointers and you want to use your library on 32 and/or 64 bit platforms.
Last updated: 2025-09-02
Post by snhatton on Testing of Codesys program
CODESYS Forge
talk
(Post)
There is a tool called test manager that is part of the Professional Developer's Edition of CODESYS. I would take a look at this tool for your testing purposes. There is a free 30-day trial so you can evaluate if the tool will meet your needs before investing in the license.
Last updated: 2023-12-08
Post by preimesbergert on Codesys Control for Raspberry Pi 4.10.0.0 - Raspberry Pi OS > 2023-12-05
CODESYS Forge
talk
(Post)
Same issue here: Raspberry Pi 4 Model B HW 1.5 Regardless of the image (tried 32bit / 64bit version from Raspberry Pi Imager- all the "standard version") and with all tested Codesys Control versions (4.2.0, 4.8.0, 4.10.0) and regardless if single core / multicore / 64 bit variant.
Last updated: 2023-12-21
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.