Post by ofey on Codesys Soft PLC OPC UA server
CODESYS Forge
talk
(Post)
Hi! I'm sorry if this has been asked before. I have tried looking up previous topics regaring this, but even though I'm following tutorials and other posts I cant seem to get this to work consistently. I actually got the connection established on a test project after some trial and error. I only got it to work with the "Anonymous login". But after i deleted the test project and tried to get the same thing to work on another project I cant get it to work anymore. What I'm trying to do: Set up and OPC UA Server using CODESYS with the free soft PLC. I then try to connect to the OPC UA Server with the program "UaExpert". What happens: I get the error Error "'BadUserAccessDenied' was returned during ActivateSession". What I have done in CODESYS: - Added the object "Symbol configuration" and checked some test variables - Checked "Support OPC UA features - In "Communication settings -> device -> Change runtime security policy" I have checked "Allow anonymous login" What I have done in UAExpert: - Found the OPC UA server under "local". (It is showing two servers though, I do not know why. It showed the same when it worked yesterday). Se attachment - Checked "Anonymous" under "Authentication settings in the OPC UA server. I'm new to CODESYS, so it could be something elementary wrong in my settings. Maybe something in the user settings in CODESYS regarding user rights or something?
Last updated: 2023-09-14
Post by kleeswi on Visualization scaling problem with B&R T30 panel
CODESYS Forge
talk
(Post)
The probelm arises for the B&R T30 panel after updating Codesys from 3.5.17 to 3.5.19 patch 5. We have to use 3.5.19 for other reasons so we cannot downgrade the version. The scaling problem only exists for the B&R 6PPT30.0702.20F025 panel, the B&R T50 panel and a esa lumia panel work. When we choose a fixed resolution it looks also good, however we also want to support the esa lumia panel with a different resolution. The images show the anisotropic and isotropic option. In the anisotropic option it scales the hight correctly but not the width and in the isotropic option is scales both hight and width false, it also does not start in the top left corner. Does someone have any suggestion why it does not work anymore with the new codesys version and are there workarounds? I added all versions with visualization packages as an image, visuElems is 4.4.0.0.
Last updated: 2024-07-29
Post by programmierer on Implementing UDP Communication
CODESYS Forge
talk
(Post)
Hello everyone, I hope you can help me with my problem. I am new to programming and am currently working with a WAGO controller in our lab, which controls a heat pump. My goal is to send the electrical power of the heat pump (Pel_WP) via a UDP connection to a specific IP address. I am using Codesys version 2.3 and following the guide I found here: https://forge.codesys.com/forum/de/396/genmed-Konfiguration%20der%20UDP%20Kommunikation%20Cosesys%20S7.pdf. I have adapted the guide to suit my needs. The data sending works since I can force the reception value Pel_WP and the data is sent accordingly. However, I am having trouble with the receiving part. The reception value is not being correctly received, and the diSocket variable shows -1. The connection between the heat pump and the WAGO controller seems to be set up correctly, as the heat pump is listed under the communication parameters with the correct IP address. I have also attached images to provide a better view of the setup. I would greatly appreciate any support or suggestions for a solution. Thank you in advance!
Last updated: 2024-08-02
Post by mubeta on parker servo and position
CODESYS Forge
talk
(Post)
In general, drives have parameter sets to adjust behaviour in such cases: position recovery, adaptation with resistant torque, out-of-position window failure, etc. (Much depends on the type of configuration set for the axis: positioner, speed controller, torque controller, etc.). I have used that type of drive very little, in only two cases and a long time ago. To tell you what is normal is impossible. I know by reputation they are very simple objects, without too many pretensions and adjustments possible. Try running traces by monitoring actual position, motor current, torque and following error. These are the most sensible curves to understand what is going on. Maybe by fine tuning the motor tuning, the current controller or the speed controller you will get something closer to what you want. For example, from DS, the motor has a standstill torque of 3 Nm. Observe with traces whether this is effective: motor current trend. And afterwards, when you have your own accurate picture of the situation, you can also hear from the product's local support to see if you can steal a few more things from it performance-wise.
Last updated: 2024-08-05
Post by struccc on The future and proper use of CAA.BOLT, CAA.SEMA,..
CODESYS Forge
talk
(Post)
Dear All, Dear CODESYS, I'm curiously following CODESYS transitioning away from the CAA libraries, and I'm mostly in favor of these major changes. Naturally, I'd like to align my current (not end-user) developments accordingly. I'm tracking , reading release notes, ... And want to figure out the future :) Is it possible to hear / read more about the reasons, objectives and scope of these changes? One important element is CAA Types - CAA Types Extern. What is the plan with that? What's the future of CAA.SEMA, CAA.BOLT ? I have never used them (always relied on SysLib*), but they are tempting... Would be useful to have a platform independent "Macro" for this functionality... Is there something in existing or planned ? Are they suitable to be used in low level libraries... For Example IO-Drivers, Components, "to-become system libraries"? CAA.TaskLock, CAA.TaskUnlock ? Well, they don't claim platform independency, so I can't rely on those.... Any up-to-date advise, standard, pattern to follow in new libraries for task and resource locking? Practical set of conditional defines to be used? If this information is not publicly available, can you please send a private message about the proper way to achieve this? I have support agreement, just couldn't get trough with these questions... P.
Last updated: 2025-03-14
Post by cihangur on C0138: No matching 'FB_Init' method found for instantiation of VisuClientObjectMgr
CODESYS Forge
talk
(Post)
This "FB_Init" error has become very annoying lately. It's usually related to webvisu and is resolved by deleting all objects and related libraries. Of course, you need to re-add the deleted objects. Lately, we've generally been managing by not upgrading, but this problem persists in every version since SP20 and should be resolved. I updated a project from SP 19 to SP 21 and found 116 similar errors. [ERROR] alarmmanager, 4.7.0.0 (intern): ReplaceAlarmPlaceholdersConverted: C0138: No matching 'FB_Init' method found for instantiation of CharBufferString [ERROR] visuelemsalarm, 4.7.0.0 (system): protDrawRowHeader [VisuFbElemAlarmTable]: C0138: No matching 'FB_Init' method found for instantiation of CharBufferString [ERROR] alarmmanager, 4.7.0.0 (intern): AnalyzePlaceholders2 [Alarm]: C0138: No matching 'FB_Init' method found for instantiation of CharBufferString If you have an ERROR related VisuClientObjectMgr you can try to disable "Visualization Manager - Settings - Support client animations and overlay of native elements " selection "C0138: No matching 'FB_Init' method found for instantiation of VisuClientObjectMgr" etc
Last updated: 2025-10-10
Post by abinvest579 on TCP Client
CODESYS Forge
talk
(Post)
Hi All, I am using codesys based plc to read and control magna power DC supply over LXI protocol using SCPI command. To connect device required socket programming for that i am using Net base service library function block TCP_Client to establish connection over TCP/IP , TCP_Write to write SCPI commands and TCP_Read to read data from Magna power DC supply. I have attached screenshot for logic developed. I am able to connect and write commands to device but i not receiving any information from device. For writing Commands i also tried various end of line character like \n,<nl>, A, D, 10, 13, 0x0A, 0x0D but not received any status from device. For testing purpose i am using simple command '*IDN?' to read data. Also if tried to check on hercules software what data actually plc read, first it read correct data after that is read wrong data as see in screen shot. 'Hello World' was correct read and after that Codesys in replaced with 'Codesysorld' that is not correct way. Same issue also appeared for send data. Any one have face same issue how i can read data directly from device correctly and send data please suggest solution on this.</nl>
Last updated: 2024-07-01
Post by francescoc on Logger in ms
CODESYS Forge
talk
(Post)
Hi, I cannot find any documentation regarding the codesys configuration file. I modified this part to have log files saved to disk: [CmpLog] Logger.0.Name=LOGS/PlcLog Logger.0.Filter=0xFFFFFFFF Logger.0.Enable=1 Logger.0.MaxEntries=20000 Logger.0.MaxFileSize=5000 Logger.0.MaxFiles=10 Logger.0.Backend.0.ClassId=0x0000010B ;sends logger messages to SysOut Logger.0.Backend.1.ClassId=0x00000104 ;writes logger messages in a file Logger.0.Backend.2.ClassId=0x00000135 ;sends logger messages as UDP syslog Logger.0.Type=0x314;Set the timestamp to RTC ;Logger.1.Name=/tmp/CommLog ;Logger.1.Enable=1 I need to have milliseconds in the timestamp as well. What value should I use instead of 0x314? Is there any documentation regarding this file? Thank you
Last updated: 2024-03-16
Post by xiaolo on Raspberry Pi 5
CODESYS Forge
talk
(Post)
Does Ver. 4.12 support Raspberry Pi 5? I have three issues. The first issue is that Codesys cannot detect the RPI 5 when I want to download the runtime. When assigning the IP Address manually then I can download the runtime. The second issue is that I cannot connect to the RPI to download a program. Sometimes the window pops up and it ask for the user credentials, but it is still not connecting. The third issue is that I cannot connect to an ESP32 configured as a Modbus Slave with a Raspberry Pi 4B. I can connect to the ESP32 via a Radzio! Modbus Master Simulator. I am also missing the function Write Holding Registers in the setup of the slave. Are this known issues and when it will be solved?
Last updated: 2024-07-12
Post by hfelek on TargetVisu for Linux Package on runtime 4.12.0.0 install error due to Qt dependencies.
CODESYS Forge
talk
(Post)
Hi, I am trying to make my runtime support TargetViso on 4.12.0.0 runtime. First when I tried to install package I got error due to missing libraries that are generated through qt-base. After compiling and installing related qt lib when I tried to install the package, I didnt get lib dependencies error but I got another error: [ERROR] The installed QT Version does not meet the minimum required version 6.4.2. Please install version 6.4.2 or higher and try again. When I check Qt version I get the following response QMake version 3.1 Using Qt version 6.5.0 in /usr/local/qt6/lib. I tried with Qt version 6.9.0 but that didn't help. Any idea on what coudl be the reason. When I looked for codesys related processes the related libraries were included within environment.
Last updated: 2024-08-27
Post by struccc on Multiple applications on one device sharing variables.
CODESYS Forge
talk
(Post)
I don't exactly recall where (I think some release notes), but I read the information that this multiple application / sub application feature is to be discontinued. Please, correct me, if I'm not right about this I am a bit sad about that - I was using that feature with more or less success. However I understand the reason behind the change: it introduces huge complexity, especially when dealing with multicore and safety support... AS I understand, it's to be replaced with the new virtual plc architecture, and standard ways for synchronizing / sharing data... So, for now the "Add application" context menu item was removed, but behind the scene it is still supported... Hint: if you still want to experiment with it, might try copy-paste things within the PLCLogic tree...
Last updated: 2025-02-28
Post by gallusrrr on usb2can in Codeysy 3.5 Can Gateway
CODESYS Forge
talk
(Post)
Hallo Forum das ist mein erster Post bei euch also bitte seit nachsichtig :) ich habe mir den: USB zu CAN Konverter Kable for Raspberry Pi4/Pi3B+/Pi3/Pi Zero(W)/Jetson Nano/Tinker Board and Any Single Board Computer Support Windows Linux and Mac OS (USB2CAN-C) Gekauft da er in Linux arbeiten soll dachte ich man kann den so in codesys einbinden da es auf einen Rasperry Pi lauft. Erkannt wird der Adapter als Bus 001 Device 004: ID 1d50:606f OpenMoko, Inc. Geschwister Schneider CAN adapter Wie bekomme ich den in Codesys mit einen Rasperry pi eingebunden. (Im Internet habe ich nichts gefunden.) ich bedanke mich. euer Martin
Last updated: 2024-01-16
Post by esave on Stepper Drive with Ethercat
CODESYS Forge
talk
(Post)
Hello everybody I am new into Codesys. I have a stepper driver (EM3E-556E) from Leadshine. I want to controll the stepper driver via EtherCat to a ST programm but I dont have any function block or anything that i can use. I only have the XML-File wich I loaded. With it I implemented the drive as a Ethercat slave and now I see these variables. (See picture) I dont know how to controll the stepper drive. And the manufacturer doesnt provide support for me. Can anybody help me or atleast tell me how they would do it?
Last updated: 2024-03-14
Post by tecnocons on Trouble Writing Files to External Paths in CODESYS
CODESYS Forge
talk
(Post)
Hello everyone, I'm encountering an issue in CODESYS regarding writing files to external paths. Despite correctly configuring the placeholder in the CODESYSControl_User.cfg file to allow access to an external folder, CODESYS doesn't seem to write any files, and no errors are reported. The issue on the older versions was absent with no placeholders. I've checked the operating system permissions, and they seem to be in order, but the issue remains. Has anyone faced a similar situation or has any suggestions on how I might resolve this problem? Any help would be greatly appreciated. Thank you in advance for your support. I'm using raspberry PI as a logger. RPI3 Buster Codesys 32bit SL V4.11 Codesys Win64 3.5.20 [SysFile] PlaceholderFilePath.1=/home/pi/scan, $SCAN$
Last updated: 2024-04-09
Post by winki on Error in licence activation
CODESYS Forge
talk
(Post)
Hello, I think I understand: On my debian gateway I have done: sudo cmu --list cmu - CodeMeter Universal Support Tool. Version 8.30a of 2025-May-06 (Build 6885) for Linux/ARMHF 64-Bit Copyright (C) 2007-2025 by WIBU-SYSTEMS AG. All rights reserved. List all locally connected CmContainers: - CmContainer with Serial Number 130-XXXXXXXX and version 3.00 (empty) - CmContainer with Serial Number 130-XXXXXXXX and version 3.00 (locked) Result: 2 CmContainer(s) listed. The licence has been activated with a computer Name, but the guy who did it make a mistake in the name, so he changed it after to have activate the licence. I think this has created a second container. The licence is actived on the other container.
Last updated: 2026-02-06
Post by timvh on Codesys v3.5.22.10 - Fail to create a project Archive
CODESYS Forge
talk
(Post)
There is an issue with adding the visu styles to the archive with Visu add-on 4.9.0.0 and 4.9.1.0. When you create the projectarchive disable the option to add the style(s) to the archive. CODESYS support informed me it will be fixed with visu add-on 4.10.0.0 (May 26th 2026). An alternative is to start CODESYS as Administrator. Then it will work with styles as well. You could start CODESYS as Administrator by first opening the CODESYS Installer. At the bottom you can select to start the Installer as Administrator. If you do this and then start the CODESYS version from this installer, it will work.
Last updated: 2026-04-25
Post by timvh on HTML5 visualization controls disabled on CODESYS Control for Linux SL - overlay not supported?
CODESYS Forge
talk
(Post)
I was able to reproduce this by doing something wrong. I guess what you did is first create an application for the Control Win, or some other device and then switched this to the Linux SL. But then the Visualization Manager still has the "TargetVisu" component, besides the WebVisu component. The Linux SL doesn't support this TargetVisu as part of the runtime. You should run a separate process for this. So remove the TargetVisu from the Visualization Manager and then you will be able to load the application.
Last updated: 2026-08-06
Post by nano on How to access to variable value through symbolic string name
CODESYS Forge
talk
(Post)
this is not easily. From Point of SL-Licenses Codesys didnt provide the informations how to do. We created an own CDS-Component for that Behaviour. This Informations are available for OEM, if you are an OEM you can find the Informations in the RTS-Documentation.
Last updated: 2024-06-14
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 janderson on OPC UA Server limitations, large array crashes runtime
CODESYS Forge
talk
(Post)
What are the limitations of the OPC UA Server? I am trying to get data off my PLC that is acquired at high rates (~50k samples/s) so I am storing them in arrays and trying to get the arrays off the PLC. When I attempt to read a ~200k element array through OPC UA the server and runtime crashes (requiring tools -> update linux arm64 -> start runtime). Is there a better way to get highspeed data off? The ACDatalog library seems a bit irritating to use so I would prefer to go through OPC UA.
Last updated: 2023-08-23
Post by expertplas on No connection to opc server from codesys opc client
CODESYS Forge
talk
(Post)
Hello, we have aproblen to connect our CODESYS OPC Client to the OPC Server. We installed the client according the CODESYS manual. We can browse the server and variables can be linked to the PLC. I created a self signed certificate for the CmpOPCUAClent as described. The server has a cerificate also. I copied the certificates to the trusted zone of server and client. But when it comes to data exchange we get an error message. "Communication error in data source OPC UA Library. Error ID : 7001 German : "Kommunikatinsfehler inder Datenquelle OPC UA -Bibiothek. Es wurde kein genauer Fehler angegeben. Fehler ID : 7001" It semms that there is no cerificate exchange. We are working with CODESYS 3.5 SP19 Patch 5. Can anyone here say something about this error or has an idea for a solution? Thanks.
Last updated: 2024-08-19
Post by micik on Reverse bytes in an array
CODESYS Forge
talk
(Post)
Hello, I'm getting the data in Codesys that is an array of 8 bytes. From this array, I need to foram LREAL number, however, because of different endiannes I need to reverse bytes in this array and then copy to a LREAL variable. For this I'm using a loop and it works OK. I wonder if there is a built in function to do this. I have found CAA Memory library but it has functions like reverse bytes in DWORD. But it seems it doesn't have what I need. https://content.helpme-codesys.com/en/libs/CAA%20Memory/Current/CAA_Memory/Reverse-Bit-Swap-ByteWord-order/ReverseBYTEsInDWORD.html What I need is a function to reverse bytes in an 8 byte array, or something similar.
Last updated: 2024-08-22
Post by micik on Reverse bytes in an array
CODESYS Forge
talk
(Post)
Hello, I'm getting the data in Codesys that is an array of 8 bytes. From this array, I need to foram LREAL number, however, because of different endiannes I need to reverse bytes in this array and then copy to a LREAL variable. For this I'm using a loop and it works OK. I wonder if there is a built in function to do this. I have found CAA Memory library but it has functions like reverse bytes in DWORD. But it seems it doesn't have what I need. https://content.helpme-codesys.com/en/libs/CAA%20Memory/Current/CAA_Memory/Reverse-Bit-Swap-ByteWord-order/ReverseBYTEsInDWORD.html What I need is a function to reverse bytes in an 8 byte array, or something similar.
Last updated: 2024-08-22
Post by jonathan1321351 on IO-Link write parameters Ethernet/IP
CODESYS Forge
talk
(Post)
I want to read and write parameters of an IO-Link device using acyclic messages. I have a Cube67+ in Ethernet/IP, connected to an IO-Link master. In the datasheet, I can find the parameters required for the message (Service, Class, Instance, etc.). I see the function block "Set_attribute_single" in the "EthernetIP Services" library, but I'm not sure how to correctly send the index and sub-index for the IO-Link device. The class in the datasheet is 0x80 for the IO-Link Parameter Object, but it’s not present in the CPIClass enum. Is there another function block more suitable for configuring IO-Link devices? (similar to "iol_call" in PROFINET or what’s used in EtherCAT).
Last updated: 2024-09-02
Post by jonathan1321351 on IO-Link read/write parameters Ethernet/IP
CODESYS Forge
talk
(Post)
I want to read and write parameters of an IO-Link device using acyclic messages. I have a Cube67+ in Ethernet/IP, connected to an IO-Link master. In the datasheet, I can find the parameters required for the message (Service, Class, Instance, etc.). I see the function block "Set_attribute_single" in the "EthernetIP Services" library, but I'm not sure how to correctly send the index and sub-index for the IO-Link device. The class in the datasheet is 0x80 for the IO-Link Parameter Object, but it’s not present in the CPIClass enum. Is there another function block more suitable for configuring IO-Link devices? (similar to "iol_call" in PROFINET or what’s used in EtherCAT).
Last updated: 2024-09-04
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.