Post by janber0206 on Adding PLC to the List view resolves in Unknown Error
CODESYS Forge
talk
(Post)
Problem Solved The Problem was within the Usermanagment. There should be 6 files for the Usermanagment in /var/opt/codesys/ .UserMgmtDB.csv .UserMgmRightstDB.csv .GroupDatabase.csv .UserDatabase.csv_ .GroupDatabase.csv_ .UserDatabase.csv The file .UserMgmtDB.csv was missing. I moved the other files in a savefolder. Full Step by step instructions stop the runtime with sudo /etc/init.d/codesyscontrol stop rename the following files on the PI: (or save them and then delete them) in this directory: /var/opt/codesys/ .UserMgmtDB.csv .UserMgmRightstDB.csv .GroupDatabase.csv .UserDatabase.csv_ .GroupDatabase.csv_ .UserDatabase.csv then restart the Runtime: sudo /etc/init.d/codesyscontrol start now reconnect the PLC via the Automation Server - here you will be asked to create a new CODESYS user password, The user management files deleted above are then created again (in /var/opt/codesys/ on the PI).
Last updated: 2025-02-24
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 tk096 on High Cycle Times for SoftMotion_PlanningTask when using AxisGroup
CODESYS Forge
talk
(Post)
Hi, under this circumstances the performance of a Raspberry Pi 4 should be sufficient to run a Softmotion robotics application. A closer look at the project would be required. Maybe you could contact the codesys support? Usually it is recommended to run the planning task cyclically every 2ms with task priority of 0 on a dedicated core. In the task configuration you can have a look at the average and maximum execution time of the planning task. You could use the function block SMC_TuneCPKernel (https://content.helpme-codesys.com/en/libs/SM3_Robotics/Current/SM3_Robotics/POUs/AdministrativeConfiguration/Computation/SMC_TuneCPKernel.html) to define suitable values for the parameters 'fSyncBufferDuration' and 'fPlanningInterval'. However, as previously mentioned, the performance of a Raspberry Pi 4 with realtime patch should be sufficient. The 'fPlanningInterval' parameter specifies the maximum planning step width in seconds. The cycle time of the planning task should not permanently exceed this value. A higher value reduces the computational effort, but can lead to a violation or no full utilization of the set limit values for velocity, acceleration and jerk. From a starting value of 0.016 seconds, the value should be increased gradually until the performance is acceptable. The parameter 'fSyncBufferDuration' specifies the size (in seconds) of the buffer between the planning and fieldbus task. The cycle time of the planning task must not exceed this value at peak times (this will lead to the error SMC_CP_QUEUE_UNDERRUN). A higher value can compensate for peaks in the cycle time of the planning task. At the same time, however, this also increases the latency for executing interrupts and aborting movements.
Last updated: 2024-03-22
Post by kuegerls on OpC UA server on Raspberry Pi MC SL - Certificate Issue
CODESYS Forge
talk
(Post)
Hello, I have set up an OPC UA server following several guides, including this one: https://revolutionpi.com/documentation/tutorials/opc-ua-codesys-nodered/. The license for the runtime is installed on the device. However, I am unable to create a certificate for the OPC UA server in the security screen. I always get the error message: "The certificate has not been created by the device." Does anyone have an idea what might be causing this issue? Any help would be greatly appreciated! Thanks in advance! Best regards, Stefan
Last updated: 2025-04-02
Post by timl on BacNet Server
CODESYS Forge
talk
(Post)
Hallo, für einen BacNet2 Server lassen sich mit zwei Ethernet Schnittstellen auch zwei Bacnet 2 IP Datalinks anlegen. Einen Datalink nutze ich für den UDP Port 47808 und einen für den UDP Port 47809. Dadurch ist der Server aus beiden Netzwerken erreichbar, was so gewollt ist. Allerdings verbindet er die beiden Netze auch miteinander, was zu Kommunikationsproblemen führt, da in beiden Netzwerken bereits gleiche Device ID's vergeben sind und diese sich dann doppeln. Lässt sich diese Verbindung der beiden Netze abschalten? Gruß Tim
Last updated: 2024-02-20
Post by miodusy on File transfer via visu and codesys automation server
CODESYS Forge
talk
(Post)
I have a problem with the file transfer library. Namely, it does not work via the codesys server. (error 5; overtime, and visualization resets). They operate mostly in local chains. I tested different browsers and VPN from the router. It works everywhere, except through access from the codesys automation server. The client, having many machines under one account, prefers to keep it that way rather than use an individual VPN just to download a backup. Does anyone have an idea what the problem is? Sylwester M.
Last updated: 2024-03-07
Post by manuknecht on Maximum dynamic limits of MC_MoveLinearAbsolute and MC_MoveLinearRelative
CODESYS Forge
talk
(Post)
Hello all I use an axis group with two linear axes in a kinematic system. Using MC_MoveLinearAbsolute and MC_MoveLinearRelative, I am trying to realise dynamic movements (set velocity: 1 m/s, set acceleration: 30 m/s^2) with the highest possible jerk, as I want to compare this with a movement with a trapezoidal velocity profile. However, my measurements show that the axes accelerate with a maximum jerk of approx. 800 m/s^3, even if the value in the function block was set to 10,000 m/s^3. I have already increased the dynamic limits of the two axes accordingly (Velocity: 5000 u/s, Acc-/Deceleration: 250'000 u/s^2, Jerk: 100'000'000 u/s^3, where 1 u = 1 mm), but this had no effect. I have checked the input parameters of the function blocks and the VelFactor, AccFactor and JerkFactor factors are all set to the maximum (value 1). Reducing the cycle time has resulted in a higher jerk, but as we are already working with a cycle time of 1 ms, there is nothing more that can be done here. The axes themselves are still a long way from drawing the maximum current, which is why I assume that this should not be a problem either. Are there other factors or parameters that influence the dynamic limits and therefore allow faster movements? The PLC I am using is a Raspberry Pi 4 and Codesys V3.5 SP20 with all libraries up to date. Thanks in advance Manuel
Last updated: 2024-05-08
Post by etienneneu on loading delay with the option "check client animations and overlay of native elements"
CODESYS Forge
talk
(Post)
Hey NicolaG_89, thanks for the tip. But I have seen in the developer tools of the Webclient that a multiple fetching of the image and script data occurs when changing frames (HTTP code 304 NOT Modified), although these are already in the clients cache, which leads to unnecessary loading of resources from the web server. This behavior can also be found if the option “Support client animations and overlay of native elements” is deactivated, but this does not lead to such long delays. I had already tested loading all Visu elements so that everything was fetched once before they could be used. But that didn't help either. To prevent this behavior (permanent fetching), I have used a different way of switching the Visu elements in the VisuDemo Project, which also uses HTML5 control elements. I implemented this with the visibility of entire Visu elements. As a result, it only has to be fetched once and does not have to be fetched again when reloading. But I am still unsure about this implementation if the scope of the visualization becomes larger, as the Codesys visualization documentation advises against using many invisible elements. Best regards Etienne
Last updated: 2024-11-19
Post by paulorb on STRUCT AT %MW1000
CODESYS Forge
talk
(Post)
Hi I am trying to use STRUCT to parse commands from Modbus/TCP, Modbus client will fill the bytes related to a specific command (type, parameters), then PLC (Codesys) will access the command parameters. A STRUCT will simplify a lot the process of parsing the data, so I don't need to parse byte per byte, address will be mapped to a struct and I can use it for parsing the data. From what I understood, the compiler does not allow me to specify the location of the struct for a %MW register. VAR_COMMAND AT %MW1002: structGenericModbusCommand; This will throw: Bad declaration, use '%ML' for 'structGenericModbusCommand' variable But If I change it to %ML, when you go online you see that it is actually allocating the struct in another memory address. When we go online, on GVL we can see: VAR_COMMAND. structGenericModbusCommand %ML1002 commandType COMMANDTYPE %MB8016 ... %MB8020 I am not specifying a pointer or a reference it is a struct type, why is it mapping to a %MW location (random one). How can I control where it is mapping to? I need a consistent way to map STRUCT to specific modbus address. Is it possible? Thanks, Paulo Note I am using a Codesys OEM: Schneider Machine Expert Logic Builder (M241)
Last updated: 2024-08-13
Post by tjacks on Opc UA Data Source Client Browse Error in Codesys HMI
CODESYS Forge
talk
(Post)
Codesys V3.5 SP21 Patch 3 Codesys HMI 3.5.21.30 I'm trying to connect to an OPC UA server on a Kuka robot controller using Codesys HMI's data source manager. I get through the login phase and the client browses most of the data structure on the server but errors out toward the end with a generic: Error while browsing the client, Failed with service result: BadUnexpectedError. If I complete the data source setup and try to update variables, I get the attached stack trace for the error. I've tried several different endpoint and security options. Most get me through the login but all error out while browsing. UA Expert happily connects and browses with the same configuration. I've connected this same version of Codesys to TwinCAT OPC UA servers and Siemens PLC OPC UA servers. Any ideas on what may be causing the generic BadUnexpectedError during OPC UA server browse?
Last updated: 2025-11-17
Post by matthew on New Ladder Editor Issues
CODESYS Forge
talk
(Post)
Hi There, When using the new ladder editor there is no option for function blocks to Remove uncalled FB call parameters. I also see no update function block. When you double click the function block it no longer opens the function block. I also now get warnings if I insert FB call without a contact in front. Warning is: (Impl)): C0373: Expression or part of it has no effect I take it the new editor must work differently? The only reason for using new ladder editor is the ST execute/block editing is far better, If you have alot of text in the old ST execute the editor window is very small and when online it's even worse. The new ST block seems a lot better Thanks!
Last updated: 2023-10-10
Post by abrarsk on SysCom Library Usage
CODESYS Forge
talk
(Post)
Hello all, I am facing issues with using SysCom library. With SysCom23 library things were simple but since we are migrating to 64bit systems, I am writing a Porting program. With SysCom23, opening the comport was as simple as providing the ComPort no. which returns the Handle as a DWORD. dwHandle:=SysComOpen(Port); But the new library is a bit different. It is asking for 2 input parameters to open the Com Port - Port Number and POINTER to RTS_IEC_RESULT IF hCom = 0 THEN hCom := SysComOpen(ComSettings.sPort, ADR(pResult)); How should I use the RTS_IEC_Result? I can find RTS_IEC-REUSLT under SysType2Interfaces of SysCom library. Also, can someone give me a general understanding of this RTS_IEC_REULT and RTS_IEC_HANDLE, etc.?
Last updated: 2024-08-05
Post by spice on WebVisu Recipe Save/Load
CODESYS Forge
talk
(Post)
I'm currently reworking the controls on a cnc press brake and wanted to load various recipes as programs to run. I'm using a 2d array of REALs to store the X and Y coordinates as well as some other program parameters in a recipe. I'd like to store all of the recipes on a computer used as the HMI that way the text files can be edited and uploaded offline. I'm using Automation Directs P2CDS-622 Can this be done through webvisu? If not would a license for Codesys HMI SL on the computer allow me to accomplish this? I've attached the Project File Thanks, Spice
Last updated: 2024-05-31
Post by rossanoparis on How to configure CODESYSControl_User.cfg in order to use a specific network card for OPCUA Server
CODESYS Forge
talk
(Post)
Hello at all I'd like to know how to configure CODESYSControl_User.cfg in order to use a specific network card for OPCUA Server. In the past, I tried to ask in "Forge" about this topic, but I could find neither help nor document informations about it. Reading the file "codesyscontrol.log" I see these logs OPC UA Server Started: Hostname: NTLRPICTRL01, Port: 4840 URL: opc.tcp://NTLRPICTRL01:4840 Loopbackadapter activated. **All available networkadapters are used.** Multithreading activated. 3 workers used. My controller, which is a Linux PC, has got two network cards eth0 and eth1 I whant to use the card with name "eth0" as a server for OPCUA and keep the "eth1" free for other stuffs. Is it possible ? Best regards Rossano
Last updated: 2023-08-25
Post by dhumphries on install codesys runtime on linux
CODESYS Forge
talk
(Post)
Adding the command worked. I was able to deploy the runtime on an ubuntu server installation. Thanks!
Last updated: 2023-11-04
Post by imdatatas on Detecting if a client is connected to webvisu server
CODESYS Forge
talk
(Post)
Thank you @dgirard Your idea and above description helped me what i was looking for.
Last updated: 2023-11-08
Post by climblinne on OPC UA Server custom NodeID
CODESYS Forge
talk
(Post)
I think, I have the same issue. Do you find a solution for it?
Last updated: 2024-06-27
Post by eschwellinger on Licensing info not available.
CODESYS Forge
talk
(Post)
you need a license server on the host or on any system in your environment.
Last updated: 2024-09-23
Post by eschwellinger on Automation server - trends stop recording - need to manually reconnect
CODESYS Forge
talk
(Post)
Could you please check which EdgeGateway Version is up and running?
Last updated: 2024-10-23
Post by eschwellinger on Automation server - trends stop recording - need to manually reconnect
CODESYS Forge
talk
(Post)
Hi Trent, yes should work without, let me check. Regards Edwin
Last updated: 2024-10-23
Post by smartcoco on Opaque NodeId in the OPC UA server
CODESYS Forge
talk
(Post)
I have the same problem, it seems like there is no solution.
Last updated: 2025-01-09
Post by sigurdrb on How to change OPC NodeId IdentifierType
CODESYS Forge
talk
(Post)
Did you find a solution for this? Experiencing the same when I'm setting up the server using "Communicartion manager"
Last updated: 2025-01-20
Post by pilouuu on problem OPC UA array
CODESYS Forge
talk
(Post)
Hello, why can't I read the arrays on my PLC's UA OPC server with codesys, even though they are accessible from UA Expert?
Last updated: 2025-02-26
Post by pilouuu on problem OPC UA array
CODESYS Forge
talk
(Post)
Hello, why can't I read the arrays on my PLC's UA OPC server with codesys, even though they are accessible from UA Expert?
Last updated: 2025-02-26
Post by trebbia92 on Exception when OPCUA datasource disconnects from Server
CODESYS Forge
talk
(Post)
I have the same issue, after disconnecting->reconnecting ethernet for 5/10 times it goes in exception.
Last updated: 2025-03-20
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.