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 fajean on CODESYS control on RPi starts, shortly runs, then exits
CODESYS Forge
talk
(Post)
4.11 appears to solve the problem. Thanks for your help. I had first installed the 64-bit version of RPiOS, but looking at various posts and the product's page on the store which only lists 32-bit compatibility, I downgraded to the 32-bit version. I did this before trying 4.11, and it did not solve the problem. Thus my working system is 32-bit, and I am wondering if I can go back to 64-bit or not. An 64-bit OS is not listed as compatible on the store's web page, but when installing there actually is a 64-bit version listed (automatically chosen when installing on 64-bit, but otherwise greyed out). Is 64-bit supported and the website is out-of-date, or is that some kind of work-in-progress?
Last updated: 2024-06-13
Post by salvadegianluca on SysPlcCtrl23 and C0338: The library 'cmperrors interfaces, 3.5.5.0 (system)' is supported just in 32 bit applications
CODESYS Forge
talk
(Post)
Good afternoon to everyone; I'm stuck with this error and I don't know how to get out from it... I tried several time googling for alternative systems to control the PLC applications and resets but without success. I would like to realize the possibility to reset the CPU and to start/stop the applications as it was possible with the SysPlcCtrl23, but this library is no longer supported in 64 bit systems and it seems due to the cmperrors interfaces sub library that was included in the above said one. Someone found a work around for this issue?
Last updated: 2024-06-14
Post by salvadegianluca on SysPlcCtrl23 and C0338: The library 'cmperrors interfaces, 3.5.5.0 (system)' is supported just in 32 bit applications
CODESYS Forge
talk
(Post)
Good afternoon to everyone; I'm stuck with this error and I don't know how to get out from it... I tried several time googling for alternative systems to control the PLC applications and resets but without success. I would like to realize the possibility to reset the CPU and to start/stop the applications as it was possible with the SysPlcCtrl23, but this library is no longer supported in 64 bit systems and it seems due to the cmperrors interfaces sub library that was included in the above said one. Someone found a work around for this issue?
Last updated: 2024-06-14
Post by salvadegianluca on SysPlcCtrl23 and C0338: The library 'cmperrors interfaces, 3.5.5.0 (system)' is supported just in 32 bit applications
CODESYS Forge
talk
(Post)
Good afternoon to everyone; I'm stuck with this error and I don't know how to get out from it... I tried several time googling for alternative systems to control the PLC applications and resets but without success. I would like to realize the possibility to reset the CPU and to start/stop the applications as it was possible with the SysPlcCtrl23, but this library is no longer supported in 64 bit systems and it seems due to the cmperrors interfaces sub library that was included in the above said one. Someone found a work around for this issue?
Last updated: 2024-06-14
Post by salvadegianluca on SysPlcCtrl23 and C0338: The library 'cmperrors interfaces, 3.5.5.0 (system)' is supported just in 32 bit applications
CODESYS Forge
talk
(Post)
Good afternoon to everyone; I'm stuck with this error and I don't know how to get out from it... I tried several time googling for alternative systems to control the PLC applications and resets but without success. I would like to realize the possibility to reset the CPU and to start/stop the applications as it was possible with the SysPlcCtrl23, but this library is no longer supported in 64 bit systems and it seems due to the cmperrors interfaces sub library that was included in the above said one. Someone found a work around for this issue?
Last updated: 2024-06-14
Post by salvadegianluca on SysPlcCtrl23 and C0338: The library 'cmperrors interfaces, 3.5.5.0 (system)' is supported just in 32 bit applications
CODESYS Forge
talk
(Post)
Good afternoon to everyone; I'm stuck with this error and I don't know how to get out from it... I tried several time googling for alternative systems to control the PLC applications and resets but without success. I would like to realize the possibility to reset the CPU and to start/stop the applications as it was possible with the SysPlcCtrl23, but this library is no longer supported in 64 bit systems and it seems due to the cmperrors interfaces sub library that was included in the above said one. Someone found a work around for this issue?
Last updated: 2024-06-14
Post by salvadegianluca on SysPlcCtrl23 and C0338: The library 'cmperrors interfaces, 3.5.5.0 (system)' is supported just in 32 bit applications
CODESYS Forge
talk
(Post)
Good afternoon to everyone; I'm stuck with this error and I don't know how to get out from it... I tried several time googling for alternative systems to control the PLC applications and resets but without success. I would like to realize the possibility to reset the CPU and to start/stop the applications as it was possible with the SysPlcCtrl23, but this library is no longer supported in 64 bit systems and it seems due to the cmperrors interfaces sub library that was included in the above said one. Someone found a work around for this issue?
Last updated: 2024-06-14
Post by mborchert on PFC100 Error "Bus not running"
CODESYS Forge
talk
(Post)
Hello, i currently want to use a wago 750-8102 with the "codesys control for pfc100" runtime. I want to add the devices connected to the internal pfc100 bus via the "search devices" tab. This was reccommended in the following thread: https://forge.codesys.com/forge/talk/Deutsch/thread/7701332199/ But whenever i try to search for devices codesys just doesnt find anything and i cant close the "search devices" window. Has anyone got an idea what the problem might be? I already tried adding the devices connected to the pfc100 manually but the bus just doesn´t start. best regards Moritz
Last updated: 2024-06-17
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 adaml on ScriptEngine - execute "Export -> Bootproject and firmware (SD Card)" from python
CODESYS Forge
talk
(Post)
Hi everybody, recently I was checking how many time consuming manual tasks I can perform with python scripts through ScriptEngine. I have in the project many devices and currently I export bootprojects for them by right clicking on Application, then go Export -> Bootproject and firmware (SD Card) and then point folder where files should be exported. It's fine if project has few devices, but I have some of them with over 30 devices and manual clicking like that is very time consuming. How can I do it with python script? So far I found "create_boot_application" method from Application object (taken by projects.primary.find('Application', True)) but it only generates .app and .crc file instead of full structure to store on SD card (FIRMWARE, USERDATA, SDCARD.INI, Version, Version.txt.sig). Should I use some method to control user interface? Best regards, Adam
Last updated: 2024-07-05
Post by siscu on Raspberry i2c master device
CODESYS Forge
talk
(Post)
I want to implement an extended I2C master for Raspberry Pi Control. I was hoping for it to be as easy as creating a library with a FB that extends i2cMaster and associating it with a device following the forge drivers documentation, but I haven't managed to make it work as the driver behaves only as an i2c slave. I'm thinking this is because the forge forum only talks about extending i2c, and the master portion is omitted since most users won't want to add a custom one. I'd like to know if I'm doing something wrong. Is it really possible to make an I2C master extension device? If so, are there public examples we can check out? Any info on this topic will be appreciated.
Last updated: 2024-10-16
Post by bjarne-pagaard on OPC UA Server Status on Win RTE
CODESYS Forge
talk
(Post)
Hi there, An "OPC Expert" client software is connecting to a Codesys Control RTE (x64) OPC UA Server. It reads only about 25 variables every 5 minutes. The OPC UA Server seems to shut down on the Codesys runtime. Is there any way to get information about the Codesys OPC UA Server status? Restart it? There is nothing in the PLC Logs after the OPC UA Server has started. It works for a while, then it doesn't. Any ideas? Any way of getting more info out of the Codesys OPC UA Server? -Bjarne
Last updated: 2024-10-21
Post by phoward131 on Alarm Table Filtering
CODESYS Forge
talk
(Post)
I am having trouble getting the alarm table filtering to work. I downloaded the alarm filter latch example project and ran it on the local Codesys Control Win and the filters worked fine. I am trying to replicate it in my project and everything seems to be set up the exact same way and every time I turn on the filter, it shows no alarms. I even started a blank project and just copied in elements from the example project so that it is exactly the same and when I attempt to filter, it again shows no alarms. Could there be some project settings I need to adjust to make this work? I have attached my project with elements copied from the example project and filtering is not working.
Last updated: 2024-10-28
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: 2024-11-17
Post by gatto on CAA File open Problems
CODESYS Forge
talk
(Post)
Ciao, here same question https://forge.codesys.com/forge/talk/Engineering/thread/2538729618/ in this post https://forge.codesys.com/forge/talk/Engineering/thread/4586a90290/?limit=25#d531 i find : keep in mind that all files which are generated / or read should be exist in the iecfilepath this means: for Windows (Control Win as example) c:\ProgramData\CODESYS\CODESYSControlWinV3x64\268E8ADF\PlcLogic for Linux /var/opt/codesys/PlcLogic I never use codesys on windows but im sure on linux we can manipulate file only inside /var/opt/codesys/Plc Logic. Or you need to modify the file codesyscontrol.cfg for change path permission, but this is another history Buone feste !
Last updated: 2024-12-21
Post by ahofer on ETHERCAT EK1100 und EL8601-8411
CODESYS Forge
talk
(Post)
Liebe Forumsteilnehmer, hat jemand schon die Beckhoff-Multi-Klemme EL8601-8411 am EK1100 zusammen mit dem Raspberry Pi verwendet? Ich bin gerade am Testen und habe festgestellt - dass das mit dem Einstecken der Geräte nur teilweise funktioniert. - DI/DO und AI(U) lässt sich benutzen. - Den Zähler kann ich nicht testen, weil das Gerät nicht einsteckbar ist. Ich kann es zwar einstecken, aber dann läuft der Bus nicht. - Beim Encodereingang fehlt mir vermutlich ein geeigneter Funktionsbaustein um den zu betreiben. Gibts da evtl. irgendwo eine Bibliothek? Ich benutze CODESYS V3.5.19.70, habe die neuesten Gerätedateien (XML) von Beckhoff eingespielt und für den Raspberry Pi benutze ich die Version Codesys Control for Raspberry Pi 4.14. Für Antworten bedanke ich mich schon mal herzlich VG A. Hofer
Last updated: 2025-04-04
Post by andrej on Creating, using an external Function.
CODESYS Forge
talk
(Post)
Hello all, I would like to create a simple which runs directly on Control WinV3 x64 3.5.21.0 For this purpose I created a simple dll myAdder.dll in Cpp // MyAdder.cpp // cl /LD /EHsc MyAdder.cpp /Fe:MyAdder.dll #include <windows.h> extern "C" __declspec(dllexport) int __cdecl CmpMyAdder_Add(int a, int b) { return a + b; } I added the dll in the respective folder. Furthermore I "registred" the dll in the CODESYSControl.cfg. However, when I want to use the library I get the error message: Uresolved reference: *'CMPMYADDERADD' * Can you give me a hint what step I missed or where I need to declare the dll, such that the dll resp. the reference can be resolved. Many thanks and kind regards
Last updated: 2025-04-18
Post by edson-bueno on IFM Controller Connection Issue
CODESYS Forge
talk
(Post)
Hi, Could you please send an print of your ethernet adapter info? Ip addr Subnet Mask Default Gateway Also, check if the gateway service is active in your windows. Win+R > services.msc > Look in the list CODESYS Control Win V3 x64 Gateway OR CODESYS Gateway V3 Hook up the M12 code D into the ETH port, supply the controller, it should apperars to you. Make sure when you try to connect with the controller, the target of your project has to match with the controller. Otherwise, click on the device in the devices tree > Communications Settings tab > Device > Options > And disable "Filter Network Scans by Target ID". Good luck.
Last updated: 2025-05-29
Post by s1mon on Two OneWireMaster on one Raspberry PI 5
CODESYS Forge
talk
(Post)
Hi, I want to use two OneWireMaster on a Raspberry Pi5. I'm running Codesys Control for Raspberry Pi 64SL V 4.15.0.0. Under Linux I've configured two GPIOs for 1w bus usage on GPIO4 and GPIO27. Under Linux both masters seem to work fine and I can readout both sensors connected to both GPIOs. The two masters are 'w1_bus_master1' and 'w1_bus_master2'. In Codesys I've configured to OneWireMasters with the corresponding file paths. But in Codesys the 2nd onewiremaster "w1_bus_master2" doesn't work. Status is showing "OnewireMaster : Not running" What am I doing wrong? Does Codesys on Raspberry support multiple OneWireMasters? Any help is appreciated.
Last updated: 2025-06-10
Post by s1mon on Two OneWireMaster on one Raspberry PI 5
CODESYS Forge
talk
(Post)
Hi, I want to use two OneWireMaster on a Raspberry Pi5. I'm running Codesys Control for Raspberry Pi 64SL V 4.15.0.0. Under Linux I've configured two GPIOs for 1w bus usage on GPIO4 and GPIO27. Under Linux both masters seem to work fine and I can readout both sensors connected to both GPIOs. The two masters are 'w1_bus_master1' and 'w1_bus_master2'. In Codesys I've configured to OneWireMasters with the corresponding file paths. But in Codesys the 2nd onewiremaster "w1_bus_master2" doesn't work. Status is showing "OnewireMaster : Not running" What am I doing wrong? Does Codesys on Raspberry support multiple OneWireMasters? Any help is appreciated.
Last updated: 2025-06-10
Post by mtho on JSON Utilities - JSON file written with invalid structure
CODESYS Forge
talk
(Post)
I'm using the JSON Utilities SL library to write configurations in my program to a file. I'm generating the JSON data using the builder function block and all appears to work correctly. When I write the jsondata to file, I'm finding that some of the JSON elements are not being written in the right location in the file. Rather than writing they keys under the parent object, they get written outside the root JSON object at the end of the file. If I then try to read the file back into the program, I get an invalid_structure error. I don't get any errors when populating the JSON data or when writing the file. I attached an example of the JSON writer output. The problems begin with key P200. Each P200 should go under MBR1 through MBR3. Among the rest of the keys, they are supposed to be under different parent objects. I am using default values for wsLineBreak and encoding.
Last updated: 2024-03-06
Post by kbazzett on "Sequent Microsystems" industrial automation hat raspberry pi
CODESYS Forge
talk
(Post)
Here is a complete list of the Sequent Microsystems Pi hats that work in Codesys. https://github.com/SequentMicrosystems/SM_CODESYS/tree/main/ "For easy install download the .package file and open it on your computer, Codesys installer will know what to do with it." <- This. The Multi I/O Hat fit my needs because of the Analog I/O 4-20ma and RTD. I used a Raspberry Pi 5 and 64b install. The example project is also worth the download. With the sample project open, right click on the Raspberry Pi device and update to whatever you are using (SL, MC, 64b). Enable I2C on the PI. You can jumper the hats Analog Outputs to Inputs and see it function on the Web Visualization. Very Cool! I spent quite a bit of time trying to find this solution so hopefully this update helps others. Here is the video link on how to setup a Raspberry PI as a Codesys PLC https://youtu.be/RPoPscbo3Kc?si=Th4-n-mQ6g5fdHj8
Last updated: 2024-12-05
Post by cihangur on OpC UA server on Raspberry Pi 64 SL runtime
CODESYS Forge
talk
(Post)
Hello everyone, I wanted to write here because it is a similar and the most up-to-date topic. I want to connect to CoDeSys Win V3 x64 - 3.5.19.50 with OPC UA using WinCC Advanced V17. (Or to a PLC with CoDeSys Version 4.10.0.0) My settings are exactly the same as the previous comment. I even tried many different settings. I can access all CoDeSys OPC UA variables via TIA Portal IDE and add them to my HMI tags. When WinCC RT Advanced is started, it gives a warning that the connection could not be established and does not update the variables. I can connect to Inovance AM600 using CoDeSys Target version 3.5.11.50. (The same version Win x64 is also connected.) However, a security setting in the current versions prevents me. I would be very happy if those who have up-to-date experience on this issue and find a solution share it. The CoDeSys Security Settings which I can access variables with TIA Portal: CommunicationPolicy: POLICY_BASICSHA256SHA256 CommunicationMode: ALL Activation: Activated UserAuthentication: ENABLED Server Certificate: Valid until 2034 Greetings.
Last updated: 2024-12-06
Post by smeitink on Timeout Error in Modbus Communication with WAGO PFC200 and iEM2050 Meter using 750-652 Module
CODESYS Forge
talk
(Post)
Hi all, I'm looking for help with an issue I've come across while trying to facilitate Modbus communication between a WAGO PFC200 PLC using a 750-652 communication module and an iEM2050 Series Single Phase Energy Meter. I believe to have everything wired and setup correcty, but I keep running into a "Error time out" message, and by now I don't really know what else to try. My setup is as follows: A PFC200 Wago PLC, which has 2 750-652 Serial Interfaces extension modules connected to its field bus. I'm using one of these to talk to a Schneider iEM2050 - kWh-meter over modbus. I have connected terminal 23 (A) of the iEM2050 to connector 6 (A) on the 750-652. I have connected terminal 24 (B) of the iEM2050 to connector 2 (B) of the 750-652. I'm using 200mm of twisted together wires to connected them both, and I have placed a 120 ohm resistor between A and B at both ends. I've attached relevant pinout images to this post. I then wrote a simple program that configures the Mobus port, as per the datasheet of the iEM2050. You can find an image of the relavent page attached to this post too. This is my program: PROGRAM PLC_PRG VAR Master: FbMbMasterSerial; xIsConnected: BOOL; xError: BOOL; iIndex: INT := 1; xTrigger: BOOL; utQuery : typMbQuery := ( bUnitId := 1, // The Modbus unit or slave address bFunctionCode := 4, // Function code for reading input registers uiReadAddress := 1829, // adress for the Power on off counter uiReadQuantity := 1 // Quantity of registers to read ); iStep: INT; oStatusModbus: WagoSysErrorBase.FbResult; utResponseModbus: typMbResponse; xConnect: BOOL := FALSE; delayTimer: TON; END_VAR Master( xConnect:= xConnect, I_Port:= _750_652_24_1, udiBaudrate:= 9600, usiDataBits:= 8, eParity:= WagoTypesCom.eTTYParity.Even, eStopBits:= WagoTypesCom.eTTYStopBits.One, eHandshake:= WagoTypesCom.eTTYHandshake.None, ePhysical:= WagoTypesCom.eTTYPhysicalLayer.RS485_HalfDuplex, xIsConnected=> xIsConnected, xError=> xError, oStatus=> oStatusModbus, eFrameType:= WagoAppPlcModbus.eMbFrameType.RTU, tTimeOut:= T#5S, utQuery:= utQuery, xTrigger:= xTrigger, utResponse:= utResponseModbus); delayTimer(IN := TRUE, PT := T#3S); // Use the Q output of the timer to set xConnect after the delay IF delayTimer.Q THEN xConnect := TRUE; END_IF CASE iStep OF 0: //Wacht totdat de master de poort geopend heeft IF xIsConnected THEN iStep := 1; END_IF 1: //Stuur request naar de slave xTrigger := TRUE; iStep := 2; 2: //Wacht totdat de master klaar is met het afhandelen van de request IF NOT xTrigger THEN iStep := 3; END_IF END_CASE The TON delay before opening the port is due to a an error I encountered when opening it straight away. This seems to be a bug, as described here. However, the TON solved that particular issue. I tried reading multiple registers, but like I said, I still always end up with the "Error time out". What else can I test or try at this point?
Last updated: 2024-02-24
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
.