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 sturmghost on Visualization using methods and cyclic ST-calls
CODESYS Forge
talk
(Post)
Im looking for a way to implement ST-code into the visualization element without creating a helper POU or method in my device/application tree. Like visualization properties are evaluated at each VISU_TASK cycle I want to be able to create own ST code which interacts with the visualization interface variables. To be more specific I want to have a property which executes user defined ST-code at each VISU_TASK cycle exactly like its already possible for Input Configuration on various mouse and dialog events. Also a property for initialization (so only executed once) and a timed property would be nice. With the situation right now I'll have to create a POU function which handles the ST-code and misuse a property, like the text variable, to execute this POU function at each VISU_TASK cycle. Or does it exist and I don't know it?
Last updated: 2023-10-02
Post by totorovic on CSVReaderInit returns error : INVALID_HANDLE
CODESYS Forge
talk
(Post)
Thank you for the return. The path targets to a CFast card. User has R/W access to it. We will try to change it.
Last updated: 2023-08-31
Post by fleaplc on FILE_OPERATION_DENIED
CODESYS Forge
talk
(Post)
By using the CAA FILE library (FB FILE.Open) (raspberry pi, codesys 3.5.19.0) I always get the error FILE_OPERATION_DENIED The file exist, it has r/w/x access and path is correct... Some idea to fix it?
Last updated: 2023-09-25
Post by spfollen on Access to the path *** is denied
CODESYS Forge
talk
(Post)
I have the same error. It appears to be something in my project. An older version of the same project from a few days ago is fine.
Last updated: 2024-01-30
Post by eschwellinger on Access to the path *** is denied
CODESYS Forge
talk
(Post)
sorry this is wrong here: (but important for signature problems) please update the CODESYS Installer to 2.2.1 version by downliad it from here: https://store.codesys.com/de/codesys-installer.html there is a problem on his auto update function. This will solve it!
Last updated: 2024-01-31
Post by jaspergain on Access to the path *** is denied
CODESYS Forge
talk
(Post)
Hello @eschwellinger, I installed the newer version of the installer, however the issue persisted. Do I need to do anything else other than updating the installer? Thanks for your help.
Last updated: 2024-02-01
Post by spfollen on Access to the path *** is denied
CODESYS Forge
talk
(Post)
I used the installer to uninstall and re-install 3.5.9.50. It worked for me but I needed to Delete my alarm manager and build that back up in my project
Last updated: 2024-02-01
Post by spfollen on Access to the path *** is denied
CODESYS Forge
talk
(Post)
Hello @eschwellinger, My project stopped working again. it would appear that this solution didn't resolve the problem perminantely. I deleted my alarm manager and the problem is no longer. When I put back in the Alarm Manager and my alarms the issue returns.
Last updated: 2024-02-03
Post by eschwellinger on Access to the path *** is denied
CODESYS Forge
talk
(Post)
see here: Visualization Support | V 4.3.1.0 will be released on 14.02.2024 https://de.codesys.com/das-system/releases-updates-lifecycle/release-plan-roadmap.html so you need to update by CODESYS Installer to that version as soon it is available.
Last updated: 2024-02-13
Post by eschwellinger on json utilities not reading or writing files
CODESYS Forge
talk
(Post)
Keep in mind that due security reasons the files need to be in the PlcLogic directory! This is since SP19 implemented. https://www.codesys.com/security/security-reports.html see 04.04.2023 CODESYS Control V3 file access
Last updated: 2024-02-13
Post by john-robinson on Limiting Memory Access of an Array to Within its Bounds
CODESYS Forge
talk
(Post)
Thanks Tim! This was exactly the functionality we were looking for. We are already using implicit checks to check for divide by 0 errors, we will add implicit checking for array bounds.
Last updated: 2024-03-06
Post by donm on Regarding trend storage access error
CODESYS Forge
talk
(Post)
i have created a project which contain 30 trend and suddenly trend recording is not working. its showing an error 30437."Determination of root pages for recording did not work for 'screen', error:30437" how to solve this issue?
Last updated: 2024-05-27
Post by donm on trend storage access error
CODESYS Forge
talk
(Post)
i have created a project which contain 30 trend and suddenly trend recording is not working. its showing an error 30437."Determination of root pages for recording did not work for 'screen', error:30437" how to solve this issue?
Last updated: 2024-05-27
Post by installwhat on How to access to variable value through symbolic string name
CODESYS Forge
talk
(Post)
Maybe your question makes sense but I don't see it. Maybe you should rephrase and add a lot of detail
Last updated: 2024-06-13
Post by andreag0 on How to access to variable value through symbolic string name
CODESYS Forge
talk
(Post)
Good to know. I am looking for some soluction to avoid PLC Handler and OPC-UA. Thank you.
Last updated: 2024-06-14
Post by mariacugnier on Bug Device login
CODESYS Forge
talk
(Post)
I'm having the same issue.I think it may be something related to the device adress that changes depending on the network i'm using, but now i don't have access to the one i used while setting my user. Did you find any solution for this?
Last updated: 2024-06-20
Post by mariacugnier on Bug Device login
CODESYS Forge
talk
(Post)
I'm having the same issue.I think it may be something related to the device adress that changes depending on the network i'm using, but now i don't have access to the one i used while setting my user. Did you find any solution for this?
Last updated: 2024-06-20
Post by mariacugnier on Bug Device login
CODESYS Forge
talk
(Post)
I'm having the same issue.I think it may be something related to the device adress that changes depending on the network i'm using, but now i don't have access to the one i used while setting my user. Did you find any solution for this?
Last updated: 2024-06-20
Post by viktorr on ShareMemory library documentation
CODESYS Forge
talk
(Post)
Hello, I was wondering if there was further documentation on the SharedMemory library in CodeSys outside of the code example provided, or maybe a way to access the source code of the shared memory implementation. Thank you in advance for any advice. - Viktor
Last updated: 2024-07-03
Post by climblinne on Calling OPC UA Methods from UaExpert
CODESYS Forge
talk
(Post)
So I found the mistakes. First I forget to deactivate "Use access rights defined in the user management". And also I used in "UaModeler" a project name with whitespaces, which lead to a wrong namespace name.
Last updated: 2024-07-11
Post by taqamert on Codesys and CANopen manager sensors with same NodeID
CODESYS Forge
talk
(Post)
Maximilian-K, The links you added are not working right now, but what I need is exactly what you described. Where can I access this information?
Last updated: 2024-07-22
Post by jmfernandes on OpenDir always in error
CODESYS Forge
talk
(Post)
Well I created a user as Admin, gave access rigths to the file but still can't read the files in the plc it gives the same error. I guess is something to do with plc itself.
Last updated: 2024-08-01
Post by lukaszklupa on Codesys Virtual Control - startup problem
CODESYS Forge
talk
(Post)
Problem solved. The problem turned out to be the lack of access to the default location "Mounts", I changed it to /home/user1 and now it's ok.
Last updated: 2024-08-19
Post by timvh on Readable IO names
CODESYS Forge
talk
(Post)
IF you create an ENUM {attribute 'qualified_only'} {attribute 'strict'} TYPE E_IO : ( FIRST := 0, SECOND := 1 ); END_TYPE You should be able to access the array items like: IOCard_OUTPUT[E_IO.FIRST]
Last updated: 2024-09-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
.