Post by timothyzalusky on Strange Behavior on Raspberry Pi
CODESYS Forge
talk
(Post)
Hello, I am seeing some weird runtime behavior related to the EQ function on a rapsberry pi based system. I have attached a screenshot showing the strange latching I am seeing on the EQ function, and I have not seen this behavior before. I tried freshly restarting the runtime and it has this same behavior. Anyone seen this? I am on 3.5.20 with the latest runtime installed. Basically, as soon as it hits one of those EQ's in the program, it latches effectively locking the output on. Any input from the Codesys team would be appreciated as well as anyone that might know what I am seeing.
Last updated: 2024-06-18
Post by kuegerls on SysProcessExecuteCommand2 and CANopen Device
CODESYS Forge
talk
(Post)
Hello, CODESYS Control is running on my RevPi, and my system communicates over a CANbus with a master using the ConnectCan module (Slave - CANopen Device). The communication works perfectly fine so far. However, as soon as I call a Python script with "SysProcessExecuteCommand2" that creates a CSV file and executes without errors, the master does not adopt any changes to the Transmission Process Data Objects (TPDOs). I don't quite understand what one has to do with the other, and perhaps someone can help me with this. Here is my script call: SysProcess.SysProcessExecuteCommand2(pszCommand:='python /home/pi/test.py', pszStdOut:=sCMDOutput, udiStdOutLen:= SIZEOF(sCMDOutput), pResult := ADR(eResult)); Thank you in advance! Best regards, Stefan
Last updated: 2024-06-20
Post by rohan on Child Application Alarm
CODESYS Forge
talk
(Post)
Hi All, I'm trying to develop a multi-application project that allows me to switch between applications. I currently have a parent application and several child applications, as this is the only way for them to share CAN/Ethernet communication. I've noticed that I am only able to create an Alarm Configuration for the parent application. But the children application do not seem to be displaying alarms on the Alarm Table in the visualisation for when an alarm is raised. Does anyone know of a fix, solution or a way around this? I am utilising Codesys v3.5 SP16 Patch 5 64Bit
Last updated: 2024-06-21
Post by etalp on Eaton XC303 firmware update via USB
CODESYS Forge
talk
(Post)
Hi, I'm struggling with updating my xc303 to firmware 3.5.17. It is possible only via USB port. I've installed proper update files on the USB then plug it into the PLC's USB port and restarted the device. Shortly after LED's on the PLC started to blink, so updating process has started. But after 10 minutes the PLC LED turned off and after all I could't serach for this PLC in Codesys, but could ping it. Could someone eplain to me proper procedure of updating the fimrware in XC303 via USB? Is it neccesary to STOP the PLC switch after pluging the USB?
Last updated: 2025-10-15
Post by imdatatas on Unrecoverable SoftMotion state after switch to PreOp
CODESYS Forge
talk
(Post)
Dear @alimans, Additionally, As far as I know since starting from Softmotion V4.18.0.0 automatic restart behaviour for an axis has been changed for this issue. See below explanation from release notes. "With CODESYS SoftMotion 4.18.0.0, the behavior of SoftMotion axes after a loss of communication to the servo drive has changed. Now, an automatic reinitialization is performed as soon as the communication is established again. Before, an explicit call to SMC3_ReinitDrive had to be performed. An example for a loss of communication is that the cable to one of the drives is unplugged." Regards, imdatatas
Last updated: 2025-10-23
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 uluking on CodeSys2.3 Modbus 64-Bit Double Read Problem
CODESYS Forge
talk
(Post)
Hi everyone, I would appreciate your help with a problem I've been working on for a few days but haven't been able to resolve. I am reading data from a Siemens PAC3220 energy analyzer using Modbus with Wago-8202. However, the device's energy indices are given as doubles. Since a double variable is 64-bit, it is not possible to read it directly. I have been struggling for days, I have written many conversion functions but I have not been able to get results. I would appreciate your help. I read 4 word variables and processed them. I am converting them according to IEEE-754, but I can't seem to read the correct data. I would appreciate your help.
Last updated: 2025-10-27
Post by davidbo on How to stop dhcpcd and use SysSockSetIpAddressAndNetMask to set address?
CODESYS Forge
talk
(Post)
It is stated: "Dynamic ip address, provided by DHCP, BOOTP, etc. Cannot be changed by SysSockSetIpAddressAndNetMask()" Therefore I try to stop dhcpcd and flush the eth0 like this VAR CONSTANT flushIP:STRING:='sudo ip addr flush dev eth0'; stopDHCP:STRING:='sudo systemctl stop dhcpcd'; END_VAR SysProcessExecuteCommand2(pszCommand:=stopDHCP, pszStdOut:=stdout,udiStdOutLen:= SIZEOF(stdout),pResult := ADR(Result)); SysProcessExecuteCommand2(pszCommand:=flushIP, pszStdOut:=stdout,udiStdOutLen:= SIZEOF(stdout),pResult := ADR(Result)); Besides losing the connection when flush occurs the CODESYS halts, seen on the display and I cannot see why, because I have lost the connection from my IDE. Why does the flush command halt the execution of the application?
Last updated: 2025-11-04
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 msirotkin on EtherCAT status errors
CODESYS Forge
talk
(Post)
Hello, I'm trying to understand the reason for the many errors on the EtherCAT master status page. If we set the cycletime to 1ms we see a lot of rxerrors and lostframes, but the send and recive times are quite good (see attachement). And the status of the EtherCAT bus is good (no other errors, all is green, slave has no errors) But when we set 2ms cycletime the lostframe errors are gone, but periodically increses rxerror counter (see attachement). The questions is, what do these errors actually mean and what we can do to get gid of them? Linux RT, imx8, Codesys runtime for ARM 3.5.21.10, Ethercat 4.10 Thanks
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 jbcregen on Accessing parameters from a structure or function block with the web interface
CODESYS Forge
talk
(Post)
I have a project with hundreds of OPC-UA variables available on the network. A lot of these variables are used actively in various scripts that run in background in the OS (Linux). I'm experimenting with Automation Server and I have a hard time understanding how the web interface populates its parameters list for a given PLC (<plc details="" parameters="" for="" plc="" 'xyz'="">).</plc> In this page, it looks like the only variables available are the ones that are of a "base" type : bool, TIME, String, INT, etc. All the variables that are nested into function blocks or structures are not available in the web interface, even if they are available to any OPC-UA client. Is this a limitation of the Automation Server or is there something that can be done in Codesys?
Last updated: 2025-12-01
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 mait-tim on Drive communication errors
CODESYS Forge
talk
(Post)
With a machine I'm working with i get a communication error when I'm updating some softstop limits. As soon as I update the code the drives do not want to operate. Using the MC_readStatus I'm receiving errors as soon as i want to start a movement. Using MC_ReadAxisError i see that i receive error 131, no response. With a SMC3_ETC_ReadParameter_CoE i do not recieve any driver errors. Does anyone know how i can figure out what the error is and how to solve it. When i go back to the old software no errors occur. Im working with a legacy machine running a Beijer PLC with some Mitsubishi drives. running on Codesys 3.5 SP10. the runtime version is probably 3.5.3. The drives are all Ethercat Drives (CoE). All using the SM3_drive_ETC libary and the SM3_basic library.
Last updated: 2025-12-22
Post by ranadheer on Assistance for MQTT configure with external broker (Mosquitto)
CODESYS Forge
talk
(Post)
Hi everyone Am trying to make establish MQTT connection , where am using IIOT example for this as a demo mode. where i had given IP-address of of local Linux application as a 172.31.239.67 and port number as 1883 in the PLC_PRG itself, and preparing the publish message by manually as " this is from published message", and this should receive at the subscriber side. Aim: To make communicate external publisher to the CODESYS by using MQTT protocol. By any chance having reference documents about this implementation please share here. and suggest the process to make it possible. I had uploaded reference project file after updating address in th PLG_PRG, kindly assist to configure with the broker
Last updated: 2025-12-03
Post by sheberle on No Bootproject possible
CODESYS Forge
talk
(Post)
Hello Alex, the message is generated by the CODESYS code generator based on the DevDesc settings of the memory areas available for the target. The problem arises when after too many online changes the area is full. Therefore no more boot project can be generated. Short-term remedy as described in the dialog: Clean and fresh download. This way the initial memory size will be "used" again After how many online changes did this error occur? There is no set limit on the number of online changes, but making too many changes could be a risk. br Simon
Last updated: 2026-03-31
Post by gatto on Two licenses have to be installed forgot to enable one license
CODESYS Forge
talk
(Post)
Sorry, I've never used Raspy. Maybe someone else can help. From personal experience, I've had license activation issues, but it was caused by my company firewall, which was blocking traffic from the Codesys license server. So I found that the license was listed as activated on the server (and therefore used and no longer activable), but it wasn't present in the PLC. I solved the problem by using an unblocked internet connection when I needed to activate the purchased license ticket. Since then, the activation process has always worked, and I've never lost any licenses.
Last updated: 2026-02-03
Post by dvmaris on Control for Linux ARM64-User Management issue
CODESYS Forge
talk
(Post)
I'm trying to work with Codesys Control for Linux ARM64 SL 4.18.0.0 on a Toradex Verdin NXP iMX8MP. I have the runtime installed and operational as well as Codemeter lite 8.40.7141.503 (arm64). I'm running 3.5.20.60 and when "Scan Network" I see the Verdin popup. When I try to connect to it, the "mandatory use of the user management" popup shows...which makes sense. I click YES and enter user information and click OK. It immediately displays a "No device is responding to the scan request" popup. The IDE can see the Verdin in the scan...so this popup does not make sense to me. I thought maybe it was a read only issue but I've made all partitions and paths RW. Has anyone experienced this? Can anyone tell me where it is trying to write user data?
Last updated: 2026-02-11
Post by hannibal on Codesys Trend - setting Y axis minimum and maximum as variables - error
CODESYS Forge
talk
(Post)
I am experiencing an issue when trying to define the Y-axis limits in a Trend Graphic using variables. When I set the Minimum and Maximum values as variables, an error is triggered. My goal is to make the Y-axis limits dynamic so they can adjust according to the installation. Both variables are initialized as follows: gP_YMin = -100.0 gP_YMax = 100.0 However, I still get the following error: "The minimum axis value must be less than the maximum axis value" Does anyone have an idea why this is happening or how to resolve it?
Last updated: 2026-03-22
Post by hannibal on Codesys Trend - setting Y axis minimum and maximum as variables - error
CODESYS Forge
talk
(Post)
I am experiencing an issue when trying to define the Y-axis limits in a Trend Graphic using variables. When I set the Minimum and Maximum values as variables, an error is triggered. My goal is to make the Y-axis limits dynamic so they can adjust according to the installation. Both variables are initialized as follows: gP_YMin = -100.0 gP_YMax = 100.0 However, I still get the following error: "The minimum axis value must be less than the maximum axis value" Does anyone have an idea why this is happening or how to resolve it?
Last updated: 2026-03-22
Post by husarz17 on How change Unity-ID in TCP Modbus Slave
CODESYS Forge
talk
(Post)
My codesys is 3.5.21.30. I am using function ModbusServer from library ModbusTCP_Slave. The reason is that I need share 9000 Holding registers. By standard configuration it is only 4096. fbMbTcpDevice: ModbusTCP_Slave.ModbusServer; fbMbTcpDevice( wPort := 502, pInputData := ADR(awInputReg), pOutputData := ADR(awHoldingReg), uiInputDataSize := 10, uiOutputDataSize := 9000, xEnable := TRUE, tTimeout := 10000, InterfaceName := "eth0", xBusy => xBusy, xError => xError, byClientConnections => byConnections ); Ethernet port is cofigured: Network interface: eth0 IP address: 10.10.22.55 Subnet maskL 255.255.255.0 Default gateway: 0.0.0.0 And it only works when I am reading registers with ID 255 by Modbus Poll. Any other IDs don't work. The actual TCP client device try to read registers with ID 1 and I can't change it... Thanks in advance for your help!
Last updated: 2026-04-01
Post by egr99 on Modbus TCP Server connection is ESTABLISHED but all holding registers are value 0?
CODESYS Forge
talk
(Post)
You're absolutely right. Sorry for that. In the meantime I wrote a Function block to handle the reads and writes to the different attached RTU-devices. It processes the parameter like (str_Modbus:=(usiSlave:=1, uiFC:=5, uiLEN:=1, uiOFFSET:=0, uiInterval:=500)) and the corresponding output, waits for the response and processes next request in a 5-state procedure. It's working for 2 gateways (stable without errors, although error recovery is included). But nevertheless it should be possible with the Channel definitions of Codesys. Much easier to maintain :)
Last updated: 2026-04-08
Post by rik123456 on Alarmmanagement – Dynamic Alarm List
CODESYS Forge
talk
(Post)
Hi, I had a question about alarm management in the CODESYS visualization. I am currently investigating to what extent the alarm visualization can be built dynamically. In my program, I have developed a motor block that is used for multiple motors. When the emergency stop of one or more motors is activated, the corresponding motors are displayed in the alarm list (see image). This works quite well. I achieved this by linking variables to a latch, after which a piece of code displays the motors that are in emergency stop. My question is: do I need to create a separate latch for each motor or can I use a single latch to display multiple alarms of a motor underneath each other? This would then look like this: Time…: M1 Emergency Stop Active Time…: M4 Emergency Stop Active
Last updated: 5 days ago
Post by cvrettacos-dse on How to reset scroll of a table element
CODESYS Forge
talk
(Post)
Hello, I would like to use swipe/pan gestures to scroll a table visualization element (CODESYS 3.5.21.10) ona DSE M810 display. The swipe / pan gesture control works fine, however, I cannot figure out how to reset / navigate to the top of the table again with code. I have tried the Scrolling begin variable, and the visu manager is setting it to FALSE right away but the table doesn't actually scroll back to top. If I check the “Scroll elements with scrollbar” box, then the Scrolling begin variable works perfectly, but now the swipe/pan scrolling no longer works and you have to use the scrollbar. Any assitence you can provide is appreciated. Thanks.
Last updated: 4 days ago
Post by alexgooi on Network variable stops sending
CODESYS Forge
talk
(Post)
Hi Reinier, What usually works for me is settings it up in the following way: In the sender block make sure that the list identifier is unique for the whole installation (this is only relevant when you have multiple senders in 1 network). When you are linking the NVL to a file make sure that the path to this file doesn't change. In my experience the NVL stops working when you change the working directory and afterwards open the NVL in de Codesys IDE. If this doesn’t apply to you application, you could also try to change the port number, maybe there is an other process making use of port 1202. Kind regards Alex
Last updated: 4 days ago
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.