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 wistaro on How to use PLC_Open FBs with PROFINET servodrive (PROFIdrive layer)
CODESYS Forge
talk
(Post)
Hello, I would like to know if there is a PROFIdrive layer in CODESYS. I am already familliar with Codesys's SoftMotion on CANOpen/EtherCAT (to control PLC Open FBs), and I need the same kind of stuff for PROFINET-IO devices; In my configuration, I have a CIFX board from Hischer to enable IRT, the SoftPLC "Codesys Control RTE V3 x64", and a servo-drive from INFRANOR that implements PROFINET / PROFIdrive (with IRT) protocol. This drive works well with the Object Technology of Tia Portal, but some customers use Codesys. Do you have an idea how to do that? Thanks in advance. Regards, William ROMIGUIERES INFRANOR France
Last updated: 2024-10-29
Post by simone on Collapse all
CODESYS Forge
talk
(Post)
Hi, I'm wondering if it exist a button or a keyboard shortcut (much much better) for "collapse all" the open folder on a codesys project. It would really be nice to have. Also: Are there some options or configuration for set a default zoom for the different editor (or even one global), for example I would like to have 100% on ST, LD editor and have 80% on Visualization Editor; and also have a button to set all the zooms to default, now it seems that every file mantain the one previously set. I'm working with the 3.5.20.10 right now Thanks!
Last updated: 2024-11-21
Post by dsa28 on OPC UA subscriber not operational
CODESYS Forge
talk
(Post)
Hi, Thanks for the reply. Please note that the information and links provided are related to OPC UA Client/Server. My problem was related to OPC UA Pub/Sub. In the end I have managed to establish OPC UA Pub/Sub communication between Codesys and TwinCAT systems. Keep in mind that OPC UA Pub/Sub example is not provided in the latest library version 1.1.0.0. The user needs to download the previous version to get the example. During the configuration I ended up with some doubts regarding the usage of IEC_ARRAY type in the dataset definition (see attachment). Can you please give more information on how to use this type? Many thanks.
Last updated: 2024-11-29
Post by akfarslan on The application does not exist on "device"
CODESYS Forge
talk
(Post)
Dear All, I am using CODESYS 3.5.19 SP4 with a PLC device. When I try to download my program to the device, I get the error: "The application 'Application' does not exist on the device". Additionally, after restarting the device, the program does not run automatically. When I connect to the device using WinSCP, I can see that the application.app file is uploaded to the root directory, but the device does not automatically start the application. I tried using the Create Boot Application option, but it does not resolve the issue. Is there another configuration step I am missing? How can I fix this problem? Thank you, Best regards,
Last updated: 2024-12-17
Post by gseidel on Beckhoff AS1060 and EL7041 configuration
CODESYS Forge
talk
(Post)
Hi pmanuele, while I don't have firsthand experience with the EL7041 and the step motor AS1060, there are two things you can check: If you use an external encoder, please make sure you use the alternative device description calles "EL7041 1Ch. Stepper motor output stage (50V, 5A) Rev24 with external Encoder". The SoftMotion driver will set the feedback type automatically, and use the correct object for the actual position (16#6010:21 instead of 16#6010:20) If you have problems with changing the controller mode, I assume to velocity, please make sure you change the PDO mapping so that the actual velocity (16#6020:33) and set velocity (16#7010:33) are mapped by PDO. Hope this helps, Georg
Last updated: 2024-12-23
Post by rshabsh on Using Latch Variable in Alarm as input from text list
CODESYS Forge
talk
(Post)
I am currently utilizing Alarm Manager’s Latch Variable 1 to display additional information related to alarms. However, instead of mapping this latch variable to a fixed PLC variable, I would like to dynamically update its text content based on the selected language in the system. To achieve this, I am considering using a text list that corresponds to different languages rather than directly linking Latch Variable 1 to a PLC variable. This approach would allow the displayed alarm information to be automatically translated according to the active language setting. Could you please confirm if this method is feasible within the Alarm Manager configuration? Additionally, if there are specific steps or best practices to follow when implementing this functionality, I would appreciate any guidance you can provide. Looking forward to your insights.
Last updated: 2025-02-26
Post by timvh on Problem Reading Registers via Modbus from non Codesys device
CODESYS Forge
talk
(Post)
According to the documentation: https://wiki.teltonika-networks.com/view/RUT956_Modbus You need to create a Channel to read 2 registers from address 143 to get the lattitude. It doesn't specify if you need to read it as a Holding Register or as an Input Register. You could try both. So in the Teltonika router, you need to enable it as being a Modbus Server. Then in CODESYS add an Ethernet Adapter, then a Modbus Client (Master) and to the Client (Master) add the Modbus Server (Slave). Set the IP address and add the Channel. The please consider that CODESYS doesn't update any variables when they are not used in the application. In the I/O mapping tab of your I/O configuration, you can set the "Always update" to enabled.
Last updated: 2025-03-08
Post by anlebr on Alarm group template - Is it not possible with several instances?
CODESYS Forge
talk
(Post)
Hi In the POU section of my project I have created a Fan function block and defined an alarm group template for this FB with one alarm (Motor fault). In the PLC program I define two instances of the fan function block. When going to the alarm configuration and pressing "Create or update alarm instances", I get two alarms listed. So far so good. However, when I start my program and check the alarm table in the visualization I only see one alarm, even if both are active. Am I doing something wrong, or is it not possible to define alarms on a function block level and get one set of alarms per instance of the function block?
Last updated: 2025-04-01
Post by durallymax on Dynamical scaling of bar graph without the bar itself
CODESYS Forge
talk
(Post)
I'm a fan of the analog indicators from ISA101. To recreate these, I use a number of rectangles that are dynamically sized and colored based on the input configuration. To keep it standard and easy, everything is built around 100px height. Then when instantiated in a frame, it can be resized as needed with the math remaining the same. The math logic is in a METHOD called by the rear most rectangle. These indicators do not use a "filling" bar graph, rather a fixed bar graph with a carrot to track the current value.
Last updated: 2025-06-06
Post by sawicpx on CANbus Remapping PDOs During Runtime
CODESYS Forge
talk
(Post)
Hello, I am working on an application where I need to remap PDOs to a different CANopen object during runtime depending on what value is at a specific register. I have gotten to the point where I put the device into Preoperational State using the CIA405.NMT function. I then reconfigure the PDO 180x and 1a0x obejcts usings SDOs to point to a new canopen object on the device however when I go to restart the Device from PREOP to OP using the CIA405.NMT function the device is reset back to the original configuration as per the initial setup. I am wondering is there any way to change the PDOs at runtime is there some more functionaility I can access to do this. Any direction is appreciated!
Last updated: 2023-12-22
Post by dhumphries on Codesys device configuration
CODESYS Forge
talk
(Post)
First make sure the programming laptop and HMI are both on the same subnet. For example if the IP address of the HMI is 192.168.1.125 with a subnet mask 255.255.255.0 set your laptop IP to 192.168.1.120 with a subnet mask of 255.255.255.0. Make sure the cables are fully connected (the ethernet port on my programming laptop will click once but the cable is not fully seated.) Make sure the HMI is powered on, try pinging the device from a command prompt, if you can't ping the HMI there is a network issue that has to be resolved first.
Last updated: 2023-12-30
Post by macros8 on Translation - How to get text as reference in Frames translated?
CODESYS Forge
talk
(Post)
Hi, thanks for the link. Maybe I create elements in incorrect way. I always use Interface Editor to create variables which are used inside element (see pics). After that I place element in my visu and use Reference property to link variable or set the value. In that case the value of string is not transferred to general text list for translation as I mentioned before. Do I have to all properties which influence behavior of my element create in Frame configuration instead? What´s the difference to the Interface editor? Thanks a lot. M.
Last updated: 2024-01-02
Post by dhumphries on Ethernet/IP Issue
CODESYS Forge
talk
(Post)
Make sure the O->T and T->O bytes required by the remote device match the configuration in Codesys. Most of the EDS files I've imported have not worked by default. See the attached images for the connections and assemblies tabs. Note that the connections are in Bytes and the assemblies are in bits, you have to have enough bits to equal the bytes. Either mismatch will give a red/orange triangle. Page 343 of the manual (assuming the STF10-IP is an applied motion microstep driver) has some recommended connection settings, you should be able to confirm the input and output bits somehow, some devices have a web GUI, some require a software tool.
Last updated: 2024-02-03
Post by david24 on Map in Codesys
CODESYS Forge
talk
(Post)
Hello everyone, I have the task of programming a map. With the help of the visualization element "Table", I have managed to accomplish this. In the Input Configuration, I activated the option: "Write Variables", so that the user can change the values in the map. To test the program, I select the Online Mode (Simulation).There I change the values in the map. When restarting the program in CODESYS, the changes in the map are no longer there. Does anyone know an approach how to save the changes in the map? Thank you for your support Best regards David
Last updated: 2024-04-02
Post by ragarcia on How to change login visualization for other visualization after user logged in
CODESYS Forge
talk
(Post)
Hello everyone, I have a web visualization on Codesys and to be able to use the web visualization first an user and a password is requested. After the user logged in, I want to automatically change the visualization to the 'Home' visualization but I am not sure how to do this. In the login visualization I basically have a button with the input configuration to execute the action 'Login' after a click. Once the user is logged in, the visualization is still stuck in the login page and I want to automatically change to Home visualization if the user was succesfully logged in. How can I know the number of web visualization clients connected to my PLC? Thanks in advance
Last updated: 2024-06-04
Post by gatto on Modbus tcp - channel
CODESYS Forge
talk
(Post)
Hi can you give more details? Are you talking about a danfoss? wich model? Can post the configuration of channel' I used, on the past, serial modbus with danfoss fc280 I remember ((id x 10)-1) I remember that you couldn't use continuous reading/writing of the directors but you had to use them one at a time. it seemed that reading empty registers (caused by x10) was not accepted by danfoss. So I had created a scan that used just one register, then the next etc etc with a timed interval. But this was for the serial, I don't know if it's the same thing with ethernet. I currently use Ethernet TCP/IP interface with FC280.
Last updated: 2024-06-13
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 tali on Configuration of disabled/deactivated visu elements
CODESYS Forge
talk
(Post)
would be great to have such fucntionality. Sometimes it is not clear for user which elemetns are blocked and which are not - the greyed out eleemtns are not so different for low resolution / low quality screeens. What I have in my mind as well is to have a possibility to detect the visu Element clicked on and get its Access Rights. If it is blocked/deactivated, the dialog can be rised with INFO 'please login first with proper rights'. It is possible now to have a Mose event Handler ( Examples -> EventHandler) and rise the dialog out of ST (Exapmpals -> ST Dialogs). I am struggling still with getting the separate Visu Element under the mouse and its structure info
Last updated: 2025-12-05
Post by mascara on JOG continues in WCS ( SMC_GroupJog2 )
CODESYS Forge
talk
(Post)
I'm using the SMC_GroupJog2 block from the SM3_Robotics library for manual movement of an AxisGroup in WCS coordinates. The observed behavior is: When pressing X+, the X-axis starts moving correctly. If I press Y+ during the movement, the block interrupts the current movement and starts a new movement in X and Y. If I release any button, all axes stop, even if another button is still pressed. Example: Pressing X+ → X moves Pressing X+ and Y+ → X stops momentarily and starts XY movement Releasing X+ while holding Y+ → all axes stop The expected behavior would be: to allow simultaneous continuous movement on multiple axes to not interrupt movement when another axis is added or removed. Is there a correct configuration of SMC_GroupJog2 to achieve this behavior, or is there another block more suitable for continuous manual jog in AxisGroup (WCS)?
Last updated: 2026-03-11
Post by egau on Importing a library overrides parameters of a referenced library
CODESYS Forge
talk
(Post)
Hi, In my CODESYS project (ABC.project), I’m using the MQTT library. I’ve also created a separate library (DEF.library) which itself references the MQTT library. In ABC.project, I’ve customized some MQTT parameters—for example, setting g_udiMaxPublishersAndSubscribers to 100 instead of the default value of 20. However, when I import DEF.library into ABC.project, the MQTT parameters get reset to their default values. I assume this happens because DEF.library still uses the default MQTT configuration, which then overrides my project settings. A straightforward workaround would be to manually align the parameter values in DEF.library, but that doesn’t feel like the right approach. Is there a better or recommended way to handle this situation? I'm using SP18 Patch3. Any insights would be greatly appreciated. Thanks in advance!
Last updated: 2026-05-04
Post by baotthitawat on Why Structured SCADA Documentation Matters in Modern Industrial Systems
CODESYS Forge
talk
(Post)
Modern SCADA development is no longer limited to monitoring dashboards and PLC communication. Today’s industrial systems often require: Cloud architecture Web & mobile SCADA API integration IIoT communication Alarm management Scalable deployment workflows One challenge in many projects is that deployment knowledge is usually scattered across multiple documents, configuration guides, and troubleshooting references. As systems become more connected, engineers need a more structured learning approach to reduce deployment time and improve maintainability. The ATSCADA Training Book is an interesting example because it organizes the ecosystem into a clearer roadmap covering: SCADA architecture Driver & OPC communication Web visualization Mobile applications Cloud & IIoT systems Troubleshooting & maintenance I think structured technical documentation will become increasingly important as industrial automation systems continue evolving toward larger and more connected environments.
Last updated: 2026-05-27
Post by poliautomacao on Absolute movement controlled by an external encoder.
CODESYS Forge
talk
(Post)
Hello, I made this configuration, I'm moving the encoder value to SM_Driver_PosControl.in.wActPosition. When I make the absolute movement of my PosControl axis, my physical drive axis rotates perfectly, but I noticed that the movement is not followed by the encoder. That is, if I hold the encoder and keep it in position 0, the PosControl axis makes the absolute movement of 314 mm and stops, which is strange because the encoder is at 0. Theoretically, the PosControl axis should accelerate to try to compensate for the movement error. I haven't yet achieved perfect functionality.
Last updated: 2026-03-24
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 wold on CodeMeter Network Server: Keep runtime dongle local-only and export only a second CmStick
CODESYS Forge
talk
(Post)
Hello, I am running a CODESYS Control Runtime on a Raspberry Pi. Two CmSticks are connected to the same system: CmStick A - Runtime license - MultiCore license - KNX license CmStick B - Engineering / Developer licenses My goal is: The runtime on the Raspberry Pi shall use CmStick A locally. Licenses from CmStick A shall NOT be provided by the CodeMeter Network Server. Only licenses from CmStick B shall be available to remote network clients. During troubleshooting I observed that the CodeMeter Network Server collects licenses from both CmSticks. The KNX license appears to be local-only, but the runtime and multicore licenses of the same dongle are still visible through the server. I would like to know if a supported configuration exists for the following scenario: One CmStick remains strictly local to the runtime. A second CmStick on the same machine is exported through the CodeMeter Network Server. Questions: Is it possible to exclude a specific CmStick from being exported by the CodeMeter Network Server? Can this be configured via License Access Permissions (ACL), WebAdmin, or another mechanism? Can export rules be applied per CmStick, per Firm Code, or per Product Code? If supported, could you provide a configuration example or a reference to the relevant documentation? The reason for asking is that after removing a separately installed CodeMeter server component and returning to a local-only setup, the runtime licensing behaviour became stable again. Therefore I am looking for the officially supported way to keep the runtime dongle local while still providing engineering licenses from a second dongle over the network. Thank you.
Last updated: 2026-08-02
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.