Post by cedriclee on RaspberryPI reconnection error
CODESYS Forge
talk
(Post)
"Hello, I'm Cedric Lee, a PLC engineer based in Korea. I'm reaching out about an ongoing issue with the connection when attempting to control Beckhoff modules using Raspberry Pi with CODESYS for the first time. I use CODESYS to target the Raspberry Pi's IP, install version 4.10.0.0 of the CODESYS Runtime Package, and upon pressing Start in the Runtime, the target connects to the Raspberry Pi. However, within about a minute, an error window appears, stating 'no connection to the device. please rescan your network,' leading to the disconnection of the target. This cycle repeats. I've attached some pictures for your reference. I'm using CODESYS Development System V3, Raspberry Pi 4 Model B (installed as 64-bit), and Beckhoff EK1100 modules. If anyone has a solution to this issue, please help. Your assistance is greatly appreciated."
Last updated: 2024-01-11
Post by bschraud on Zielsystem stimmt nicht mit dem verbundenen Gerät überein
CODESYS Forge
talk
(Post)
Hallo, nach einer Umrüstung des RPi auf SSD habe ich den RPi neu aufgesetzt. Nach dem Installieren der Runtime (4.11.0.0 raspberry, all) auf den RPi kann ich das Gerät nicht mehr verbinden. Die Fehlermeldung lautet "Das gewählte Zielsystem 'Codesys Control for Raspberry Pi MC SL' stimmt nicht mit dem verbundenen Gerät 'Codesys Control for Raspberry Pi 64SL' überein. ID-Diskrepanz: Ausgewählt=000 0011, Online=0000 0012" Bei der Konfiguration des Laufzeitsystems kann man nur Multicore 64-bit (Aarch64) auswählen. Beim Aktualisieren des Gerätes im Gerätebaum habe ich Raspberry Pi MC SL in der Version 4.11.0.0 ausgewählt. Diese Version habe ich auch ausgewählt, weil nur diese Version für den produktiven Einsatz zugelassen ist. Die codesys Version ist frisch installiert, also 3.5.19.60 Vielen Dank für Ihre Hilfe
Last updated: 2024-03-08
Post by mp9876 on Problems with simulation in Window 10
CODESYS Forge
talk
(Post)
Hi Automa, it seems the solution you were bringing up on 2022-04-06 could really help me as I did not remember the password I initially set. My problem though is that I am using Codesys Control Win V3.5 SP19/60 (64 bit) and I cannot locate any of the files you listed up there. I have been looking inside folder: C:\Program Files\CODESYS 3.5.19.60\CODESYS\ and they appear not to be present at all neither in the CODESYS folder or any sub-folders. Uninstalling and re-installing unfortunately does not do the trick. Any idea how I could get out of the ditch on this issue ? Anyone else maybe ? Thanks
Last updated: 2024-03-18
Post by superjojo2002 on Licensing info not available.
CODESYS Forge
talk
(Post)
I recognized that I have to start the two services "/etc/init.d/codemeter" and "/etc/init.d/codemeter-webadmin" in the docker container as well. If I do so, then the command "cmu -x" returns root@sensoredge-field-netfield-produktmanagment:/# cmu -x cmu - CodeMeter Universal Support Tool. Version 7.60c of 2023-Aug-09 (Build 5625) for Linux/ARMHF 64-Bit Copyright (C) 2007-2023 by WIBU-SYSTEMS AG. All rights reserved. So this time there is no indication any more that "Codemeter is not running". But still we are getting the error when using the license manager in CODESYS development system.
Last updated: 2024-03-21
Post by struccc on Release SP20 - Changes in behaviour?
CODESYS Forge
talk
(Post)
Dear all, I've just started to migrate some of my ancient projects to SP20. There is one strange error (?) I have noticed so far. In a method call, depending on the circumstances I would like to return reference to an object, or an invalid reference: METHOD Add_EVT_OUT : REFERENCE TO FB_MSG VAR END_VAR IF __ISVALIDREF(refMSG_Entry) THEN Add_EVT_OUT REF= MANAGER.AddMsg_EVT_OUT( refMSG_Entry, _Get_EVT_Message(MSG_EVENT.OUT), _Get_EVT_AddCode(MSG_EVENT.OUT) )^; ELSE Add_EVT_OUT := 0; END_IF So far setting a reference variable to 0, did this. But now, the expression Add_EVT_OUT := 0; gives an error: [ERROR] DB_WTP_370: Add_EVT_ACK MSG_TRIGGER_EXT: C0032: Cannot convert type 'BIT' to type 'REFERENCE TO FB_MSG' Naturally... I can write: Add_EVT_OUT := DWORD#0; But is this the correct way? Is there any constant I could use instead, like "NULL"? Or this is totally wrong and to be avoided?
Last updated: 2024-03-24
Post by westcountryewe on Persistence Variables missing and DO NOT retain from Persistence Channel when using Boot Application
CODESYS Forge
talk
(Post)
We've been experiencing an issue through SP18, SP19 and now SP20 where the Persistence Variables do not retain if we upload our program via a Boot Application. If we use the exact same program, and perform a Direct Upload via the Laptop and Ethernet connection, the Persistence Variables work exactly as expected. I have submitted 2 bug support tickets but I haven't had a response back from Codesys. Has anybody experienced the same issues and discovered a workaround? We have a requirement to utilise the Boot Application method because of logistical restrictions of being able to get out to every site, so at the moment it's a bit restriction.
Last updated: 2024-05-15
Post by k2saki on CNC Open Source Project / Can I convert my project to text-files ?
CODESYS Forge
talk
(Post)
Hi. I published My CODESYS-CNC Project to GitHub and I set it Open Source Software. Here https://github.com/k-s-saki/RPi_CODESYS_CNC My CNC Project is binary file , using FBD for IPO , so I found it is a little bit hard to work with people on GitHub. (diff / merge ) My question is 1) Is it possible to convert my project ( only POUs is also fine ) into text file ? How? 2) Would it be better to rewrite all FBD/LD into ST and copy them manually to text files? Thanks.
Last updated: 2024-05-16
Post by damian177 on CM4S GPIO's in Codesys
CODESYS Forge
talk
(Post)
Hi, I am running my application on device based on Compute Module 4S (Cortex-A72 (ARMv8) 64-bit ). On this device I installed RPi Runtime in 4.11.0.0 version. In my project I use device: Codesys Control for Raspberry Pi 64SL and my project works, but I actually do not have acces to all GPIO's , because GPIOs Compute Module is available only in 3.5.16.0 version and it doesn't work. Properly work GPIOs B+/Pi2 but using this device I do not have acces to all GPIO's in CM4S. Anyone of can tell me how add GPIOs Compute Module 4.11.0.0 to my project ?
Last updated: 2024-05-28
Post by jaspergain on Non-existing identifiers
CODESYS Forge
talk
(Post)
Hello, I got a bit of a weird issue going on which is kind of annoying. So recently we switched a lot of Modbus IO to EtherCAT, as we were having issues with stability. All works fine, which is great. But sometimes when I change the program I get errors claiming that identifiers are not defined. Meaning I can't go online. See the picture below. I believe this is because some of these identifiers were used with Modbus, and they weren't properly removed/deleted? A clean all temporary fixes the issue, but it comes back again after a while of changing the code, and building. Any way to fix these non-existing required identifiers, or even find out where they are required? Thanks for the help in advance. Jasper.
Last updated: 2024-05-29
Post by ron-rp on Errors with VisuUserManagement library
CODESYS Forge
talk
(Post)
Hi all, I've played a bit with the VisuUserManagement library, and some other security option in my project, and I started getting this error when logging in - see attached pic. something to do with a specific screen in the library - VUM_Login. Also, Codesys started to ask me to log in to the library when logging in, asking to log in as user of the groups Maintainer or Owner, which I dont know either users (attached pic). when I close the login screen and try to log in to the PLC again, everything works again until I close and open Codesys. I do use user and password to login to the PLC, and this login screen is fine I know the user and pass I setup. anyone know what did I do wrong here and how to fix it?
Last updated: 2024-06-25
Post by vamsi on How to configure gateway for programming RPi 2B using Codesys
CODESYS Forge
talk
(Post)
I am using a Raspberry Pi 2B. Installed Codesys V3.5.20.1 64-bit and installed 'CODESYS Control for Raspberry PI 4.12.0.0' I am able to install the packages using the 'Update Raspberry Pi' option, but when I try to log into the RPi, in the Device tab it says 'Sacn fail. Please checl that the gateway is running and that its settings are correct'. My setup looks like this. I connected my RPi to my company LAN and also my laptop to company LAN (using HP Docking station). This setup worked when I installed 'CODESYS Control for Raspberry PI', but now I donot know how to configure the gateway. Could anyone please help me in finding what I have to enter in the gateway configuration? Thanks, Vamsi.
Last updated: 2024-07-10
Post by pazderai on CanOpen write issue
CODESYS Forge
talk
(Post)
Thank you for an answer. Unfortunatelly, it doesn't work. The slave needs command byte as follows 0x22. It means expedited transfer where s-bit is not set, therefore data length is not specified. If I use segmented mode by CiA405.SDO_WRITE_DATA it produce command byte as follows 0x21 which is unfortunately supported by the slave and it returns with error 0x05040001 - SDO Abort Code -Client/server command specifier not valid or unknown. I can use CAN API low level to overcome this problem where it is possible to set 0x22 as a command byte, but than I can use user interface to set the communication probably, because I thing that machine expert uses library CiA405.SDO_WRITE for setting the slave. Or am I wrong?
Last updated: 2024-07-16
Post by mubeta on Reset problem with CMZ SD/SVM drive
CODESYS Forge
talk
(Post)
In a recent project with SoftMotion 4.15.0.0, where I integrated two SD drives from CMZ (from catalogue EDS and not imported), on CANopen bus, I found that the SoftMotion MC_Reset function does not reset the drive faults. Even if the drive is in fault, either on the device or on the drive at the CoDeSys level, the function does not reset, instead reporting the error code: no error to reset. Finally, I had to connect the reset bit of the ControlWord directly to a tag in my program. Something I never had to do on other drives: Lexium, etc. all reset simply with MC_Reset.
Last updated: 2024-07-24
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 trusty-squire on parker servo and position
CODESYS Forge
talk
(Post)
@gepert, When you say "I do not turn off power", are you saying you don't power off the drive, or you don't turn of the MC_POWER function block? I read your statement as you don't kill actual electrical power. MC_POWER should stay enabled. @Gustavo, not related to problem at all, but when you say 1.6 Nm is only enough torque to unscrew a loose bottle cap, I think that's a bit low. A quick mental math I use is 1 Nm is almost the same force as 1kG applied to a 10cm wrench. So 1.6kG applied to a 10cm wrench is still not a huge force, but more than enough to be felt if trying to turn the shaft by hand.
Last updated: 2024-08-06
Post by c3po on SNMP Communication with WAGO 750-8212 PFC
CODESYS Forge
talk
(Post)
Hello folks, my problem is a bit bigger for just one question. So let's start with the easiest. But first, my system setup: It's a WAGO 750-8212 PFC with some I/O-modules. I try to communicate with the controlsystem over SNMP using the IIoT library from codesys. https://content.helpme-codesys.com/de/CODESYS%20Examples/_ex_iot_snmp_service.html Is there some expirience with this kind of communication? It's just about transfering some data from PFC to network and setting some analogsettings from network to the PFC. So my easiest question: Do I ever need the SNMP_Agent or can I use the SET / GET function as standalone, without the agent? (maybe some more questions will follow, if someone will answer to my request) thanks so far
Last updated: 2024-08-21
Post by micik on Ethercat project loaded to Win V3 x64 bit SoftPLC
CODESYS Forge
talk
(Post)
Hello, I have almost exactly problem already discussed here in this old thread: https://forge.codesys.com/forge/talk/Engineering/thread/03af9426eb/ However, this is quite old and I assume not completely relevant. In my case, I use v3.5.20 on windows 11, so Winpcap is no longer supported on newer OS. Also, this hint about adding entry to the .cfg file under ProgramFiles(x86) is also not relevant anymore. I guess, I need to add entry SysEthernet to this .cfg file: C:\ProgramData\CODESYS\CODESYSControlWinV3x64...\CODESYSControl.cfg like this one: [ComponentManager] Component.1=CmpTargetVisuStub Component.2=CmpWebServer Component.3=CmpWebServerHandlerV3 Component.4=SysCpuMultiCore Component.5=SysReadWriteLock Component.6=SysCpuBreakpoints Component.7=SysPipeWindows Component.8=SysEthernet But I'm not sure about Npcap vs WinpCap. Please, if applicable, update these instructions. I hope it is still possible to
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 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 thim on Bibliothek mit C-Library erzeugt unerwarteten Fehler beim Aufsetzen des Projekts.
CODESYS Forge
talk
(Post)
Um eine C-Library als Codesys Bibliotheksfunktion zu erstellen, bin ich den fünf Videoanleitungen von https://de.codesys.com/news-events/gut-zu-wissen.html gefolgt. Das funktioniert auch am Anfang gut, ich kann unter x86-Linux und RasPi-Linux auch die C-Libraries kompilieren. Wenn ich dann die Library aber wie in Video 4 gezeigt in der Codesys-Bibliothek verknüpfen möchte, (siehe Screenshot) bekomme ich schon bei Auswahl der Datei und auch danach bei Klick auf "Geräte auswählen" den Fehler "Der Dateiname sollte mit dem Bibliotheksnamensraum enden." angezeigt. Meine *.so Datei endet aber meinem Verständnis nach mit dem richtigen Namen analog zum Beispiel und wie es auch in meinem Projekt heißt. Mir ist unklar, was mir diese Fehlermeldung anderes sagen will. Hat jemand eine Erklärung? (Codesys V3.5 SP 20 + (64-bit))
Last updated: 2024-08-22
Post by yannickasselin on codesys VLAN tagging
CODESYS Forge
talk
(Post)
I ordered a cheap managed switch and tested it as soon as I received the switch. It works great! I even went a bit further. As you can see in the screenshot, I created 2 Codesys containers. Each one having 2 fieldbuses. The first one has EtherCAT and EtherNet/IP and the second one has EtherCAT and Modbus/TCP. All going through the same ethernet port from the PC to the switch. The switch splits it up into 4 different networks. The hardest part was to figure out how to configure the switch. @eschwellinger, thank you very much.
Last updated: 2024-09-17
Post by opineiro on How to manage variable types larger than 64 bits - Ethernet/IP
CODESYS Forge
talk
(Post)
Hi there, I have a Keyence bar code reader connected to my plc through Ethernet/IP. The Bar code is 20 digits long (like 30100790020493036016), the scanner reads it correctly (I can verify that through the keyence software) but when it sends it through ETH/IP, it doesn't fit into a 64 bit variable and it trunks the data.(I've tried ULINT and LWord without success). When I loaded the EDS file, the read variable was defined as a byte with 128 bits length, which is quite strange for me. (see attached picture) How do I manage this variable? Thanks!
Last updated: 2024-09-23
Post by garrian on How to write multiple coils (Modbus FC15)
CODESYS Forge
talk
(Post)
Hi there! I'm testing out modbus TCP/IP for my home brewery, using Wago PFC200 as both slave and master. I'm using Wago library WagoAppPlcModbus. Holding registers, input registers' and discrete inputs works fine, but when trying to write multiple coils, it doesn't work. Any idea what I'm doing wrong here? Attached is a screenshot of my code. I tried both using bit mapping and without. If I change to FC05, and write only 1 coil at the time, it works fine. But I want to write all at the same time.. Any help is very appreciated :)
Last updated: 2 days ago
Post by ben1 on How to write multiple coils (Modbus FC15)
CODESYS Forge
talk
(Post)
If I am understanding what you are saying, then yes that would be your problem. I would create an array of bools on the client side for the transfer and try that. Or if client can't be changed then use words on server and unpack. But I am not sure if you or I are mis interpreting but it sounds a bit jumbled. I don't know what you have control of, but, if you are turning on BITS in the server, you should write to BITS in the client with a Function 15. If you are writing to WORDS in the server, you should write to WORDS in the client with a Function 16.
Last updated: 1 day ago
Post by yannickasselin on MQTT QoS 1 & 2
CODESYS Forge
talk
(Post)
Hello, I am using Codesys sp20p3 and IIoT library 1.11. I am trying to test QoS 1 & 2 and I have some issues. I am using mosquitto as the broker. I am also using some other MQTT clients like Node-Red and TwinCAT. They all work as expected for every QoS levels. I only have issues with Codesys MQTT client. In the Codesys client, if I subscribe to a topic as QoS 1 or 2, and a client publishes to this topic, I receive the message. But if I disconnect the Codesys client from the network and a client publishes to the subscribed topic, when I reconnect Codesys client to the network, I don't receive the messages as expected. Also there does not seem to be an auto-reconnect feature. So I have to manually set the mqttClient.xEnable bit to FALSE then back to TRUE in order to reconnect to the broker, then I also have to set the subscribe.xEnable to FALSE and back to TRUE in order to re-subscribe to the topic, but even then, I don't receive the messages that were published while I was disconnected. What am I doing wrong? I set the cleanSession bit to FALSE and I give my client a clientID. With the TwinCAT MQTT Client, I do the same thing and everything works as expected. It even auto-reconnects to the broker. I would expect Codesys MQTT Client to be as reliable as TwinCAT. Maybe I am doing something wrong? I also noticed that when trying to publish a QoS 1 or 2 message while disconnected from the broker, it does not work. In TwinCAT, I am still able to publish. The messages are stored in the client and published once reconnected to the broker. I would expect to be able to do the same thing in Codesys. Is this all possible? Am I doing something wrong? Thank you
Last updated: 2024-10-26
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
.