Post by arwie on Possibility to deactivate CmpBlkDrvUdp
CODESYS Forge
talk
(Post)
Is it possible to completely deactivate CmpBlkDrvUdp? I managed to practically deactivate it by setting MaxRouters=1 in [CmpRouter], but in the log there are warnings: !!!! No router instance found to assign network interface <interface>ether 6</interface> [CmpRouter] MaxRouters=1 0.MainNet=BlkDrvTcp [CmpBlkDrvTcp] Name=BlkDrvTcp Codesys Runtime 4.10.0.0 Is there a setting in [CmpBlkDrvUdp] which would deactivate it?
Last updated: 2023-12-12
Post by zatalian on Codesys Control for Raspberry Pi 4.10.0.0 - Raspberry Pi OS > 2023-12-05
CODESYS Forge
talk
(Post)
I tried both 3B en 4. But every time with a lite version. I didn't try the full version of raspberry pi os. Nice to hear you are aware of the problem and trying to fix it. I'll hold on to the image from 2023-10-10 for now.
Last updated: 2023-12-12
Post by dhumphries on Control Runtime Toolkit
CODESYS Forge
talk
(Post)
I have a video demonstrating the procedure to install the runtime on a linux device. https://youtu.be/rj0dOhgnGjs?si=OJoA-kgc1saxIweR This demonstration shows how to install the runtime on a X86 based controller, it should be the same for an ARM based device, but you'll need to install the add-in for Codesys control for Linux ARM SL (or the 64 bit add-in.)
Last updated: 2023-12-30
Post by felixal on Codesys automatic Data transfer to USB on rasberry pi
CODESYS Forge
talk
(Post)
Hi all, I am currently working on a project where I need to save data automatically on many diffrent USB-Sticks, which are always plugged in the same USB-Port on a Rasberry PI, but I do not get how I can automatically detect the USB devices Folder Name and save a file there on Linux. Thanks!
Last updated: 2024-01-03
Post by tvm on Cannot pass array of constant size to a function as a reference
CODESYS Forge
talk
(Post)
maybe this would be a better approach, then you don't have to pass the constant at all. FUNCTION fun : INT VAR_IN_OUT arr: ARRAY[*] OF INT; END_VAR VAR lower: DINT; upper: DINT; END_VAR lower:= LOWER_BOUND(arr, 1); upper:= UPPER_BOUND(arr, 1); see here as well https://help.codesys.com/api-content/2/codesys/3.5.12.0/en/_cds_datatype_array/
Last updated: 2024-01-08
Post by toby on Codesys Control Raspberry PI 4.10.0 - missing 'Update Raspberry PI' option
CODESYS Forge
talk
(Post)
Hi, Mine is the same, both using v3.5 SP17 patch 6, and v3.5 SP19 patch 5 when using anything newer than v4.8.0 the same issue as above occurs. Checked the 'Customize' window in case it was hidden/disabled in there but couldn't find it. Thanks for the help on this. Toby
Last updated: 2024-01-09
Post by hfelek on *SOURCEPOSITION* App = [Application] area=0, offset = 0 on default example
CODESYS Forge
talk
(Post)
Hello, I am trying to run CmpTemplate component provided by Codesys for version 3.5.17. I call MyExternalFunction from the component but I get error as shown below. I see component is loaded successfully on runtime logs. I feel like I am missing something basically.
Last updated: 2024-01-15
Post by jst69 on Python script: Launch Codesys, Execute Script, Exit Codesys
CODESYS Forge
talk
(Post)
Dear all: Question about scripting: I am creating a .NET program that is supposed to Open codesys, open template project, export a bunch of pou, then exit codesys. Launch works, Open project works, Export works, But how do i tell codesys to close itself? I can tell windows to terminate codesys, but i would prefer to do it properly. from __future__ import print_function import sys import System proj = projects.primary # We're interested in POU nodes: POUGuid = Guid("6f9dac99-8de1-4efc-8465-68ac443b7d08") # We collect all POU nodes in that list. pous = [] # From the parent node on, we recursively add POU nodes: def CollectPous(node): if node.type == POUGuid: pous.append(node) else: for child in node.get_children(): CollectPous(child) # Now we collect all the leaf nodes. for node in proj.get_children(): CollectPous(node) # We print everything just to know what's going on. for i in pous: print("found: ", i.type, i.guid, i.get_name()) # And now we export the files. for candidate in pous: # We create a list of objects to export: # The object itsself objects = [candidate] # And sub-objects (POUs can have actions, properties, ...) objects.extend(candidate.get_children()) # And the parent folders. parent = candidate.parent while ((not parent.is_root) and parent.is_folder): objects.append(parent) parent = parent.parent # Create an unique file name: if len(sys.argv) == 1: filename = "parent\\%s.export" % (candidate.get_name()) else: filename = "%s\\%s.export" % (sys.argv[1],candidate.get_name()) # print some user information print("exporting ", len(objects), " objects to: ", filename) # and actually export the project. proj.export_xml(objects, filename) proj.close() print ("script finished.") System.exit(0) // Dont work .NET: public static void Export(string path,string proj) { if (checkSettings()) { var p = new System.Diagnostics.Process(); p.StartInfo.FileName = Properties.Settings.Default.CSVersion +"\\CODESYS\\Common\\CODESYS.exe"; p.StartInfo.Arguments = " --Profile=" + qoute(Properties.Settings.Default.CSProfile) + " --culture=en" + " --project=" + qoute(path + "\\" + proj) + " --runscript=" + Properties.Settings.Default.LastOpenProjectPath + "\\INPUT_DATA\\SCRIPT\\Export.py" + " --scriptargs:" + qoute(path) ; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.UseShellExecute = false; p.StartInfo.CreateNoWindow = false; p.Start(); p.StandardOutput.ReadToEnd(); p.CloseMainWindow(); p.Close(); } }
Last updated: 2024-01-16
Post by as1984 on Codesys Control log "eventbuffer full"
CODESYS Forge
talk
(Post)
Have you found a solution for this? Id be thankful for every hint. I have a controller with the same events in log and sometimes it crashes. Memory of the codesys3 task rises until the linux system kills the task because the controller runs out of memory.
Last updated: 2024-01-17
Post by scarter on Bit / Bool data types in function parameters
CODESYS Forge
talk
(Post)
Any reason BIT and BOOL data types are not interchangeable? Trying to make a function which takes a BOOL IN/OUT parameter (Not allowed to use BIT) In the main logic if I make a DINT variable, and want to use each bit on different functions CODESYS will not allow it.
Last updated: 2024-01-17
Post by eschwellinger on usb2can in Codeysy 3.5 Can Gateway
CODESYS Forge
talk
(Post)
Basis für all diese Linux Produkte mit CODESYS ist Socket CAN- sprich wenn dein Adapter in Linux als Socket CAN verfügbar ist sollte es funktionieren. also zunächste mal sowas ausprobieren: sudo ip link set can0 up type can bitrate 500000 sudo ip -s -d link show can0 cansend can0 00065132#21.04.00.00.3E.80.50.00
Last updated: 2024-01-17
Post by acc00 on Redundancy Codesys Runtime, Synchronization
CODESYS Forge
talk
(Post)
Hi, I’m currently testing the Codesys Redundancy application with 2 Raspberry Pi, with the idea is of using in my project 2 Wago PFC200 and 1 Ethercat Master with 2 Remote IO. After I configure the redundancy, and one Pi is Active and the other is Passive, if I disconnect the Ethernet cable of the Active, the Passive become Standalone, which is good, but the problem is the following: -When I recover the Ethernet connection, both stay Standalone. They will NOT Sync until I do it manually in the Codesys environment. How to make the synchronization automatically? -If both Pi/PLC stays Standalone, who is managing the IO? (Ethercat and Serial) I have done a test with an Modbus Slave, where I am sending a counter that increase every second. And I see that when both PLC are standalone, they both keep an active connection with the Slave, and both write values. This does not seem good, since according to this in my project both PLC would try to control the IO at the same time. Note: The Codesys have an option (greyed out, not possible to select) which says “Auto Sync”. What is the purpose, and why I’m not able to select it? I'm using Codesys Control for Rapsberry Pi 64SL Runtime in my test environment (2xRaspberry Pi 4), with the idea of using Codesys Control PFC 200 Runtime in my project (2xWago PFC200 and 1 Ethercat Master with 2x Wago 750-354 Ethercat Fieldbus Coupler). Using the last Codesys 3.5 version (SP19 PAtch 5). I'd appreciate a lot any help on this questions!
Last updated: 2024-01-22
Post by fcmtw on SDO generation
CODESYS Forge
talk
(Post)
Hi, When I'm adding a CANOpen device in my WAGO CANOpen Manager, CODESYS automaticaly generates some SDO's that I can't directly disable. From what those SDO's are generated ? I'm not finding anything about it in the EDS files. Also, is there a way to disable the automaticaly generated SDO and execute the manualy created ones ? Regards, Florian
Last updated: 2024-01-23
Post by alexgooi on How to protect library project?
CODESYS Forge
talk
(Post)
Hi aniket-b, If you save the library as a compiled library you are not able to see the source code. When the end user tries to view inside the object, CODESYS will give a notification that the source code is missing, see attachment. In short if you don't send the source code, it will not show.
Last updated: 2024-01-25
Post by rkohser on Python Script for Finding "Last saved with" Value
CODESYS Forge
talk
(Post)
Hi jkilburn, I have the exact same issue and thought I would search a solution on this forum. I see you did not get any answer, did you find a solution on how to extract the last saved version of codesys from the project file ? Roland
Last updated: 2024-01-29
Post by thomas-moba on "sudo"-Befehle über die Funktion "SysProcessExecuteCommand2"
CODESYS Forge
talk
(Post)
Guten Tag, ich muss via CoDeSys 3.5 SP 19 P5 "sudo"-Befehle über die Funktion "SysProcessExecuteCommand2" ausführen. Befehle ohne sudo sind kein Problem, aber sobald in einer sh oder einem Einzelbefehl sudo benutzt wird, funktioniert das nicht. In der CODESYSControl.cfg ist unter "SysProcess" Command=AllowAll eingetragen. Trotzdem geht es nicht. Weiß jemand woran das liegen könnte? Gruß, Thomas
Last updated: 2024-02-01
Post by dhumphries on WAGO PLC 200 750-8216 Ethernet connection to Codesys 3.5
CODESYS Forge
talk
(Post)
make sure the PLC and the programming PC have IP addresses that are on the same subnet, you'll have to know the default address of the PLC or you may need to connect to it with a special cable and use a software tool to set the IP address.
Last updated: 2024-02-06
Post by kees-b on Enumeration
CODESYS Forge
talk
(Post)
Hello, Can anyone give me advice or tell me what I'm doing "wrong"? I use "enumeration", but via, via (maybe that's the problem?) Similar situation in Codesys 2.3 this worked correctly. Now the BOOL is not found in the ENUM. GVL.g_IPC2AMK.dwDO.DO_AMK_REMOTE_ACTIVE GVL = Global Variabel List g_IPC2AMK = STRUCT dwDO = ENUM DO_AMK_REMOTE_ACTIVE = BOOL
Last updated: 2024-02-06
Post by kees-b on Enumeration
CODESYS Forge
talk
(Post)
Hello, Can anyone give me advice or tell me what I'm doing "wrong"? I use "enumeration", but via, via (maybe that's the problem?) Similar situation in Codesys 2.3 this worked correctly. Now the BOOL is not found in the ENUM. GVL.g_IPC2AMK.dwDO.DO_AMK_REMOTE_ACTIVE GVL = Global Variabel List g_IPC2AMK = STRUCT dwDO = ENUM DO_AMK_REMOTE_ACTIVE = BOOL
Last updated: 2024-02-06
Post by ronaldcom-pac on Gif in WebVisu
CODESYS Forge
talk
(Post)
I am looking for some help with using Gifs in the WebVisu of codesys 3.5.18.40 as the model we tried with ladder logic does not animate the Gif and leaves as the first image of the Gif. Is there a way for ST or LL for it to be animated?
Last updated: 2024-02-08
Post by nmcc on Toggling Visualizations using HMI Physical Buttons
CODESYS Forge
talk
(Post)
Hello, I am extremely new to using codesys. I have an IFM CR1102 HMI with physical buttons on the right side. I need to have these buttons toggle which visualization is active. I currently have ladder logic for when the button is pressed just need the action side for setting the active visualization. Any help is appreciated.
Last updated: 2024-02-12
Post by aconley on Static Code Analysis
CODESYS Forge
talk
(Post)
I'm using CODESYS 3.5 SP16 Patch 6. I would like to incorporate static code analysis as part of our CI/CD pipeline. 1. Is there a way to execute the static code check from the command line or python script? 2. If you can't do it from the command line, is there a way to export the results from the application?
Last updated: 2024-02-15
Post by jmauer on Codesys 3.5 SP16 Modbus change port settings.
CODESYS Forge
talk
(Post)
Hello, I'm coming to you today because I'm trying to make the baudrate and the slave number dynamic. I've tried the "updateComPortSettings" method on the slave device but it doesn't work and gives the "Modbus_COM_Port" an error. Can you tell me how you got this method to work? Thanks in advance for your help jérémy
Last updated: 2024-02-20
Post by bruno-roth on Fehlender Menu-Eintrag RaspberryPI
CODESYS Forge
talk
(Post)
Hallo, ich habe CODESYS 3.5 SP19P6 installiert und auch das Plugin für Raspberry PI aber im Tools menu taucht das Update Rapsberry pi nicht auf . Das Plugin wird irgendwie nicht richtig installiert ? auch das Edge -Gateway update Menu ist nicht vorhanden. Ich habe alles mit Admin installiert. was geht hier schief?
Last updated: 2024-02-26
Post by evanclegg on Digital Clock
CODESYS Forge
talk
(Post)
To display the current time, you’ll need to retrieve it from the system clock. In CODESYS, you can use the built-in function SysTime to get the current system time. Here’s an example of how you can use it: VAR dtCurrentTime: DATE_AND_TIME; sTime: STRING(8); END_VAR dtCurrentTime := SysTime(); sTime := TIME_TO_STRING(dtCurrentTime.t); The sTime variable now contains the current time in the format “HH:MM:SSuno online".
Last updated: 2024-02-28
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
.