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 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 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 i-campbell on Not able to see input data coming from eip adapter on codesys
CODESYS Forge
talk
(Post)
Hello, I think you can try to change the Connection from Multicast to Point to Point. Please also make sure your windows firewall is allowing the correct UDP ports inbound for ethernet IP. You might also need to increase the RPI, so it times out slower.
Last updated: 2024-03-07
Post by strannik on Estun servo with codesys
CODESYS Forge
talk
(Post)
Hello dear colleagues. I have an ESTUN PRONET servo. I'm trying to control via softmotion over the CANopen bus. There is no Ethercat bus in this servo model. In another project,using Ethercat , I controlled four axes. I have problems with ESTUN PRONET servos. A DSP-402 driver mismatch is likely. I would be very grateful for your help in solving this problem.
Last updated: 2024-03-10
Post by dhumphries on Attempting customizing menus fails in LADDER environment; due to free CODESYS version ?
CODESYS Forge
talk
(Post)
You get fewer tools when you create a new POU and choose ladder diagram instead of ladder logic diagram. Create a new POU and select ladder logic diagram and you should find the additional tools you are looking for in the toolbox.
Last updated: 2024-03-11
Post by andrea1989 on sm3raspi-stepper.package adapt this to use in combo with GPIO generic
CODESYS Forge
talk
(Post)
Hi, I would like to create a project with nema 17 and raspberry with codesys. I'm using the sm3raspi-stepper.package which is brilliant but I cannot use the generic GPIOs while using this package. Would anybody help me with modifiyng this package in order to adapt it to my app? Thank you.
Last updated: 2024-03-12
Post by manuknecht on High Cycle Times for SoftMotion_PlanningTask when using AxisGroup
CODESYS Forge
talk
(Post)
Hi These issues occured using a Raspberry Pi 4. I also repeated the experiment with codesys control for Windows, which results in much lower cycle times. With up to 3 ms, I still think they are fairly high given they should run at 2 ms and don't require complicated kinematics. The effect of higher cycle times for slower movements also prevails.
Last updated: 2024-03-13
Post by stuartjr on Disabling forcing of specific variables
CODESYS Forge
talk
(Post)
So I think I've found a way to do what I want, but its a not as simple as I thought it would be. Essentially I've got to put my "logic" that decides what the GVL variable should be at the start of every task (rung 1). Then regardless of what the force is the variable will be set to what the logic decides.
Last updated: 2024-03-15
Post by stuartjr on Disabling forcing of specific variables
CODESYS Forge
talk
(Post)
I also thought that if I had logic writing a value to this variable, then it would override the force anyway, since I thought that the force request was only applied at the beginning and end of the PLC scan. But this doesn't seem to be the case, the force persists throughout the logic regardless of what I write to the variable with logic
Last updated: 2024-03-15
Post by jinlee on V3.5 SP19 patch 2. Out of retain memory
CODESYS Forge
talk
(Post)
Hi guys, I am quite new Codesys. Be patient to me. I am having a problem now. Please refer to the attached photo. Is there a way to increase the memory ? If no, what is the way to solve this problem ? My retain variable list is in one place. Please refer to the attached photo. Thank you very much.
Last updated: 2024-03-20
Post by superjojo2002 on Licensing info not available.
CODESYS Forge
talk
(Post)
I just want to highlight, that we intend to use the codesys runtime on an embedded device that has no possibilites to connect any dongle devices to. It is an edge IO-Link master with an 1.6GHz ARM computer running inside that has an embedded linux running and a Docker container engine: https://www.hilscher.com/de/produkte/edge-gateways-mit-container-management/edge-io-link-master
Last updated: 2024-03-20
Post by florian on Stepper Drive with Ethercat
CODESYS Forge
talk
(Post)
Codesys has a motion libraries (SoftMotion), but you need to buy a licence keys for them to work. the most basic one is SoftMotionLight. you just have to select your drive in the device view and add a SoftMotionLight CiA402 axis. then the library is added to your project. You can use the SML_* motion FBs and configure the axis now.
Last updated: 2024-03-22
Post by manuknecht on High Cycle Times for SoftMotion_PlanningTask when using AxisGroup
CODESYS Forge
talk
(Post)
Hi, thanks a lot for the response. I did check all these parameters, but if the PlanningTask takes up to 60 ms, I can't increase the Buffer to such values. I contacted the Codesys support with a projectarchive. Let's see if they can help. Thanks again for your great support!
Last updated: 2024-03-22
Post by cihangur on Application has invalid license metrics.
CODESYS Forge
talk
(Post)
Hi, I have a "CODESYS Control Standard L" license and I use Ethercat and Profinet in my project. The project works seamlessly with two fieldbuses. However, when I add modbus_Com (Serial) or 1 OPC Tag to the project, the program throws an exception (Application app=Application has invalid license metrics!). My license should support 10*Modbus and 512 OPC Tags. Why might this problem occur?
Last updated: 2024-03-25
Post by hwopereis on Codesys Control shutdown
CODESYS Forge
talk
(Post)
Hi, I'm experiencing this problem as well. Did the suggested combination resolve your issues in the end? If not, I can stop my efforts rolling back to these versions. I'm trying to get CC for RPi 4.8.0.0 installed on the device, but I can't find it after installing it through the packet manager.
Last updated: 2024-03-25
Post by nano on Error building Extension SDK Linux code
CODESYS Forge
talk
(Post)
Hey schnepper, when i look into your c-file, i would say that only the main-function is declared with cext-addendum in your codesys-library-project. all yΓΆur funtions in library has to be the cext-addendum when the external implementation is activ. if i remeber right, methods and other subelements dont need that, but every base-elements
Last updated: 2024-04-02
Post by nano on Map in Codesys
CODESYS Forge
talk
(Post)
There are several versions, u can use an recipt, shm, perstance variables, persistsnce manager. all these ways has some pro's and con's and some of them depending on preparation of the controller byself. others depending on your functionalies and dependencies on project. for all of these ways, you can find the informations on the onlinehelp or from controller-oem
Last updated: 2024-04-04
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.