Post by hemuv on Dialog Open
CODESYS Forge
talk
(Post)
I'm programming an HMI for a machine. I want to log all the parameter's changes (used text field for displaying and changing) for particular User levels. Created a Numpad and want to log oldvalue and Newvalue on 'ok' Button press. To retrieve the oldvalue, i check if the dialogue opened is my Numpad, Then I retrieve the dialogue interface via GetDialogInterface(ADR(myNumpad)) --> numpadData.stVariableValue which contain my oldvalue and save it locally. Problem is sometimes i retrieve the data and sometimes not. Also observed when Numpad Dialogue is Opened, VisuDlgUtil_IsDialogOpen returns False in some cycles.Attached you will find my Project. please let me know what went wrong or if there is a better approach to collect old and New Value of a textfield. Thank you.
Last updated: 2025-03-26
Opening and saving files with fileOpenSave dialog
CODESYS Forge
talk
(Thread)
Opening and saving files with fileOpenSave dialog
Last updated: 2025-03-26
Post by rickmotion on Opening and saving files with fileOpenSave dialog
CODESYS Forge
talk
(Post)
I have a customer that types in machine programs in a text file for machines and lets the machine execute it. In the old situation they can open and edit these files in a winform application. Now I want to move this to codesys. What I need is a simple way to open, close, save, edit the machine file in codesys visualisation. I want to use the fileOpenSave dialog. But don't understand how it works. I have the file transfer example and some other examples. But it is hard to figure out how the part with the file dialog works so that you can select a folder or file. Does someone know how that works?
Last updated: 2025-03-26
Post by warrumungi on MySQL problem with connection
CODESYS Forge
talk
(Post)
5 years later: I'm also having the exact same problem! MySQL Workbench works fine across the LAN, but the codesys library cannot get past this stage... The library authors are not responding on their support email :(
Last updated: 2025-03-27
MySQL problem with connection
CODESYS Forge
talk
(Thread)
MySQL problem with connection
Last updated: 2025-03-27
Post by rickmotion on Opening and saving files with fileOpenSave dialog
CODESYS Forge
talk
(Post)
I have a customer that types in machine programs in a text file for machines and lets the machine execute it. In the old situation they can open and edit these files in a winform application. Now I want to move this to codesys. What I need is a simple way to open, close, save, edit the machine file in codesys visualisation. I want to use the fileOpenSave dialog. But don't understand how it works. I have the file transfer example and some other examples. But it is hard to figure out how the part with the file dialog works so that you can select a folder or file. Does someone know how that works?
Last updated: 2025-03-26
Post by imdatatas on TO_STRING operator not working for IMPLICIT ENUM
CODESYS Forge
talk
(Post)
Hi Everyone, It is a very useful feature to be able to obtain the enum value as a string with the TO_STRING operator by defining {attribute 'to_string'}. However, unfortunately the same function does not work for IMPLICIT ENUMs. I hope that {attribute 'to_string'} behavior can also work for Implicit Enumeration data types in one of the upcoming Codesys versions. https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_pragma_attribute_to_string.html https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_datatype_implicit_enumeration.html Best regards, Imdat
Last updated: 2025-03-27
Objects in OPC UA Information Model
CODESYS Forge
talk
(Thread)
Objects in OPC UA Information Model
Last updated: 2025-03-27
Post by spiessli on Objects in OPC UA Information Model
CODESYS Forge
talk
(Post)
Hi, I have an OPC UA information model with objects defined in it. I can import the model and use the data types defined in it and create instances of these types. These instances are accessible at Root > Objects > DeviceSet > CODE[...] > Resources > Application > GlobalVars > OPC_UA_Symbols for created instances and at [...] > Programs > PLC_PRG for mapped instances. The object defined in the information model is accessible in UA Expert by the name I have defined in the information model (Manipulator) at Root > Objects > Manipulator. How can I assign values to the Variables defined in the object "Manipulator"? Cheers, spiessli
Last updated: 2025-03-27
TO_STRING operator not working for IMPLICIT ENUM
CODESYS Forge
talk
(Thread)
TO_STRING operator not working for IMPLICIT ENUM
Last updated: 2025-03-27
Sel Error on an adressed output 3.5.20.5
CODESYS Forge
talk
(Thread)
Sel Error on an adressed output 3.5.20.5
Last updated: 2025-03-27
Problem with MCP2515 and library CANbus
CODESYS Forge
talk
(Thread)
Problem with MCP2515 and library CANbus
Last updated: 2025-03-27
Post by buczekj on Problem with MCP2515 and library CANbus
CODESYS Forge
talk
(Post)
Hello, I encountered this same error. I was able to resolve it by allocating more messages when I open the network driver (ctMessages:= 100). By default it is set to 25.
Last updated: 2025-03-27
Post by reinier-geers on Sel Error on an adressed output 3.5.20.5
CODESYS Forge
talk
(Post)
if i do : sVisu_Uitwerp := SEL( qxUitwerp_Ventiel ,'Cil_H_Uit' ,'Cil_H_In' ); then i get see picture Why ? It works normaly but not in 20.5
Last updated: 2025-03-27
Post by pistola on C0357: "GetNextClient" is obsolete, use VisuUtils instead
CODESYS Forge
talk
(Post)
I'm having some troubles with this same issue and I'm wondering if someone can help me out. On a settings visual I allow the operator to enter some values however if they activate the page change button it will change the change with the Numpad dialog open. Since I'm using Visuelems.CURRENTVISU to change the pages I came across this code noted below for determining if the Numpad dialog was active. This code worked great however now in 3.5.19 it's now obsolete. I've tried following the directions in the attached program above however I can't see to get it to work in my program. Can anyone provide some help to determine if a dialog is open? FUNCTION Check_Dialog_Open : Bool VAR_INPUT sDialogName : STRING; // Input variable for the name of the dialog END_VAR VAR pstClientData : POINTER TO VisuElems.VisuStructClientData; // Pointer to the client data structure itfDialogManager : VisuElems.IDialogManager; // Interface for the dialog manager itfMyDialog : VisuElems.IVisualisationDialog; // Interface for the specific visualisation dialog END_VAR // Begin the iteration over the client manager VisuElems.g_ClientManager.BeginIteration(); // Loop through each client until no more clients are found WHILE (pstClientData := VisuElems.VisuElemBase.g_ClientManager.GetNextClient()) <> 0 DO // Get the dialog manager interface itfDialogManager := VisuElems.g_VisuManager.GetDialogManager(); // Get the specific dialog interface using the dialog name itfMyDialog := itfDialogManager.GetDialog(sDialogName); // Check if the dialog is open for the current client Check_Dialog_Open := VisuDialogs.VisuDlgUtil_IsDialogOpen(itfMyDialog, pstClientData, itfDialogManager); // If the dialog is open, exit the loop IF Check_Dialog_Open THEN EXIT; END_IF END_WHILE
Last updated: 2025-03-27
C0357: "GetNextClient" is obsolete, use VisuUtils instead
CODESYS Forge
talk
(Thread)
C0357: "GetNextClient" is obsolete, use VisuUtils instead
Last updated: 2025-03-27
Post by mandeepahujaifm on Exception when OPCUA datasource disconnects from Server
CODESYS Forge
talk
(Post)
@eschwellinger - We are experiencing the exact same issue. RunTime 3.5.19.70 and IDE V3.5 SP21. It's 100% reproducible. All you have to do is disconnect the network cable for about 10 minutes. OPC UA Crashes and requires a reboot to fix.
Last updated: 2025-03-28
Post by dat422 on OPC UA Method - How to wait for result?
CODESYS Forge
talk
(Post)
Hi, I am also interested to know on how to use the Codesys OPCUA Client to call methods from e.g. a python opcua server.
Last updated: 2025-03-28
Post by davidmic on Struct Literal
CODESYS Forge
talk
(Post)
Hi all I want to pass a struct into a function without declaring the struct in a VAR/END_VAR. Is this possible? I think this would be called a struct literal It would look something like this someFB.write(structArgument := MyStruct#(a := 1, b := 1.2), otherArgument := TRUE); With this struct declaration TYPE MyStruct : STRUCT a : INT; b : REAL; END_STRUCT END_TYPE
Last updated: 2025-03-28
Post by eschwellinger on Exception when OPCUA datasource disconnects from Server
CODESYS Forge
talk
(Post)
possible to uodate the runtimeversion?
Last updated: 2025-03-29
Post by kevintumibay on Struggling to connect to EK1100 to Raspberry Pi
CODESYS Forge
talk
(Post)
SUMMARIZED VERSION OF QUESTION: I'm trying to connect a Raspberry Pi running "Codesys Control for Raspberry Pi" to a Beckhoff EK1100, unfortunately, when I try to connect I get the following messages SEE FIRST PICTURE DETAILED VERSION OF QUESTION: Hi everyone, I'm a college student that is super interested in learning about PLCs. I wanted to dive into the subject and decided to follow this great Instructables article: https://www.instructables.com/Programming-Raspberry-Pi-With-CODESYS/ Thank you in advance for your help! My current setup is as follows: 1. I have Codesys Control for Raspberry Pi, version 4.14.0.0, (https://store.codesys.com/en/codesys-control-for-raspberry-pi-sl.html) installed on a Raspberry Pi 3B. 2. I am using my smartphone hotspot to create a network. 3. I have CODESYS 3.5 SP21 (64 bit) installed on my Windows 11 laptop. 4. Both the Raspberry Pi and my laptop are connected to the smartphone hotspot network (I am wirelessly connecting to the Raspberry Pi). Connecting to the Raspberry Pi from CODESYS on my laptop: 1. I launch Codesys Installer -> I install Codesys Control for Raspberry Pi (link to the software). 2. I launch Codesys 3.5 SP21 (64 bit) on my laptop. 3. I go to file --> new project --> standard project --> in the pop-up I select "Codesys Control for Raspberry Pi" and "Structured Text" 4. I click on tools -> Deploy Control SL (on older versions of Codesys you would click on "update Raspberry Pi", I got that information from this video: link) 5. Inside Deploy Control SL --> I go to the "communication" menu and I input the IP address of my Pi, the password, and click on connect. 6. Inside Deploy Control SL --> I go to the "deployment" menu and I install Codesys Control for Raspberry Pi SL and Codesys Edge Gateway for Linux 7. Now I double click on "device" in the left hand tree and put in the IP address of my Raspberry Pi and click on connect --> success! I am able to connect! SEE SECOND PICTURE Powering the EK1100 and connecting it to the Raspberry Pi: 1. I am supplying the EK1100 with 24 V across the + and - pins. 2. I have jumper wires going from the + pin to the 24V pin and from the - pin to the 0V pin. SEE THIRD PICTURE 4. I am pretty confident that the EK1100 is receiving power because the "LED Us 24 V" and "LED Up 24 V" are lighting up. 5. I then run an ethernet cable from the EK1100 to the Raspberry Pi port (the Raspberry Pi is connected to my laptop wirelessly over WiFi). I think this connection should also be good since the LINK/ACT LED lights up. Trying to connect to the EK1100: 1. Back in Codesys I right-click on "Device" in the left tree and then in the pop up I click on "add device". 2. I then click on EtherCAT Master. 3. Next in a terminal window I SSH into the raspberry Pi and run the "ifconfig" command. 4. From there I get the MAC address for eth0 --> in my case: b8:27:eb:29:a9:25 5. Then, back in Codesys I double click on "EtherCAT Master" in the left hand tree. I then paste the MAC address into the "Source Address (MAC)" field. 6. I go to the Beckhoff official website and download the XML files for EtherCAT: https://www.beckhoff.com/en-en/products/i-o/ethercat-terminals/ek1xxx-bk1xx0-ethercat-coupler/ek1100.html? 7. I unzip those files in my computer into some folder that I can remember. 8. Back in Codesys I click on "Tools" --> "Device Repository" --> "Install" --> and then on the "Beckhoff EK11xx.XML" file. 9. In theory the necessary XML file is now installed. 10. THIS IS WHERE I RUN INTO THE PROBLEM: I then click on login --> I right click on EtherCAT_Master and then scan for devices --> and nothing. 11. It just doesn't detect it. On top of this whenever I login I get those orange triangles on the left on my tree. When I check the Log I get the messages at the very first screenshot of this post. SEE FOURTH PICTURE Solutions that I have tried to resolve this problem: 1. I thought it was maybe the .XML file so I installed all the .XML files from the EtherCAT folder that I downloaded. That didn't fix it. 2. I went on the Wayback Machine and got the .XML files from 2018 as I thought maybe an older version would work. This file of EtherCAT folders had a .XML file named "Beckhoff EKxxxx.XML" I thought this would work because that's the name of the file the guy in the Instructables used (https://www.instructables.com/Programming-Raspberry-Pi-With-CODESYS/). That didn't do anything. 3. I ran the PLC on my computer instead of the Raspberry Pi and tried to connect to the EK1100, in case the issue was with the Raspberry Pi, but I still ran into the same error from the picture above: "Attention! The device was not found in the repository. Vendorcode: 0x0. Productcode: 0x0. Revision: 0x0". SEE FIFTH PICTURE 4. I reinstalled Codesys, I was originally on version 3.5 SP20 when I did this, I upgraded to 3.5 SP21 with no success. 5. I then thought the solution might be to first add the EK1100 hardware before connecting so I did the following: 6. Right click on "EtherCAT Master" on the left hand tree --> then click on "add device" --> then I added the "EK1100 EtherCAT Coupler (2A E-Bus)" MY THEORY OF WHAT IS CAUSING THE PROBLEM: I asked ChatGPT for help and it said that it might have something to do with the revision number. On the physical EK1100 it says "Rev. Nr.: 0018". I believe that this means that I need to a revision 0018 XML file but if you look in Codesys it says the version is 16 (picture above). This is confusing because I got my .XML file from the official Codesys website so it should be the most up to date version possible. I searched and I searched and I couldn't find a version 18 .XML file, I don't even now if this exists. Any help you can provide is greatly appreciated, I don't know what to do anymore and I really really want to get this working. Thank you!
Last updated: 2025-03-30
Post by chocojun on CODESYS WebSocket Client (IIOT Library)
CODESYS Forge
talk
(Post)
Has anyone used a library related to websocket client? I will be in charge of websocket client in CODESYS, and websocket server in python. In CODESYS, I will use WebSocketClient(FB) WebSocketRead(FB) WebSocketWrite(FB) to configure the client, Does anyone know an example of how to use it? Please help me.
Last updated: 2025-03-31
Struggling to connect to EK1100 to Raspberry Pi
CODESYS Forge
talk
(Thread)
Struggling to connect to EK1100 to Raspberry Pi
Last updated: 2025-03-30
Post by chocojun on IIot Libraries SL --> Web Socket Client SL Pong issue
CODESYS Forge
talk
(Post)
Hello, I'm trying to use the same library. Could you please share the settings screen for the Web Socket Client SL (FB)?
Last updated: 2025-03-31
IIot Libraries SL --> Web Socket Client SL Pong issue
CODESYS Forge
talk
(Thread)
IIot Libraries SL --> Web Socket Client SL Pong issue
Last updated: 2025-03-31
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.