Post by timvh on Send file from codesys to...... ftp, cloud, etc
CODESYS Forge
talk
(Post)
You can use the (open source) FTP client in Forge. This works on 64 bit systems. See: https://forge.codesys.com/prj/ftp-client/code/HEAD/tree/ As this is open, the idea is that when you use it and make improvements to the source code, that you also commit this in a branch so others can also benefit from it.
Last updated: 2023-11-07
Post by leon78 on Codesys 3.5 SP17 Patch 2 CheckBounds (POUs for Implicit Checks)
CODESYS Forge
talk
(Post)
Hello! I use CheckBounds (POUs for Implicit Checks). But I have a problem. I use an array as an VAR_IN_OUT of Function Block. If I try to monitor the array of variable length ([* ]), its does't work. The CheckBounds POU isn't called. If I use the array of fixed lenght ([lower..upper]), the CheckBounds POU is called. Why?
Last updated: 2023-11-14
Post by leon78 on Codesys 3.5 SP17 Patch 2 CheckBounds (POUs for Implicit Checks)
CODESYS Forge
talk
(Post)
Hello! I use CheckBounds (POUs for Implicit Checks). But I have a problem. I use an array as an VAR_IN_OUT of Function Block. If I try to monitor the array of variable length ([* ]), its does't work. The CheckBounds POU isn't called. If I use the array of fixed lenght ([lower..upper]), the CheckBounds POU is called. Why?
Last updated: 2023-11-14
Post by jvfred on Display problems on Weintek's cMT3092x HMI
CODESYS Forge
talk
(Post)
Hello, I have the same issue with my cMT display. I know it's a communications issue with my Eurotherm E+PLC400 PLC using the Codesys V3 driver. Were you ever able to figure out what the problem was and if so, what was your fix. Any help would be greatly appreciated.
Last updated: 2023-12-01
Post by bossjosh21 on RevPi Connect RS485
CODESYS Forge
talk
(Post)
Hi Sir Kevin. May I know how you came up with this solution. Im a bit confused but I tried to put this. [SysCom] Linux.Devicefile=/dev/ttyRS48 (remember, no 5 at the end!) then set com port in codesys to 6. It also works for me but want to know where did you get this. Thank you.
Last updated: 2023-12-06
Post by abjha1998 on Converting UINT into bytes and converting 2Bytes into UINT
CODESYS Forge
talk
(Post)
Hi, I have been working on Codesys V3.5 with PFC200 controller and Can Gateway 750-658. I want to convert the incoming CAN data from bytes into UINT and for outgoing data bytes to UINT. Does anyone has experience with this kind of data? I tried few different ways but it doesn't seem to be working.
Last updated: 2023-12-07
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
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
.