If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2015-01-28
Originally created by: M.Schaber
Currently, it is not possible to give parameters to scripts which are executed during the UI.
We have an improvement CDS-42003 in our tracker to improve this (but it is not yet scheduled).
However, it is possible to pass arguments to scripts which are executed via the codesys command line interface, see the online help for a description.
Additionally, the script itsself can use system.ui methods to ask the user interactively for values like project names. I did attach a test script which shows the possible dialogs.
is somting like this possible
#!/usr/bin/env python
# Years till 100
import sys
name = sys.argv[1]
age = int(sys.argv[2])
diff = 100 - age
print 'Hello', name + ', you will be 100 in', diff, 'years!'
Give this program a name of years.py, be sure to give it execute permission and then run it with the following command:
./years.py Joe 25
Maybe this is a beter exsample what i try to build.
import sys
ProjectName = sys.argv[0]
ProjectNumber = sys.argv[1]
#ProjectName ="Frukar, Barendrecht"
#ProjectNumber ="121079"
#Vanaf deze regel hoef er niks meer worden aangepast of veranderd worden.
#########################################################################################################################################################################################################
#########################################################################################################################################################################################################
#########################################################################################################################################################################################################
# Clean up any open project:
if projects.primary:
projects.primary.close()
print("--- CleanUp finished. ---")
#########################################################################################################################################################################################################
#########################################################################################################################################################################################################
#########################################################################################################################################################################################################
#Make the directory for the Automation department.
ProjectPathAutomation ='4. Automation\2. PLC\1. CoDeSys\2. Project\'
NewProjectName = ProjectName.replace(',', '')
CreateProjectName = "%s%s" % (NewProjectName, ProjectNumber)
AutomationPath = "L:\" + ProjectName + "\" + ProjectNumber + "\" + ProjectPathAutomation + CreateProjectName + ".project"
PROJECT = r"" + AutomationPath
print("--- The project create en save it on the next location : " + PROJECT + ".---")
#Make the directory for the Electro department.
ProjectPathElectro = '3. Elektro\2. PLC IO\'
ElectroPath = "L:\" + ProjectName + "\" + ProjectNumber + "\" + ProjectPathElectro + "Import.txt"
print("--- The next import location are by use :" + ElectroPath + ".---")
#########################################################################################################################################################################################################
#########################################################################################################################################################################################################
#########################################################################################################################################################################################################
# Import Path
F = open(r"" + ElectroPath , "r")
# Library Path
L = open(r"C:\Codesys Python Script\Library Import.txt", "r")
# Symbols Name Path
S = open(r"C:\Codesys Python Script\Library Import.txt", "r")
Related
Talk.ru: 1
Talk.ru: 2
Originally created by: M.Schaber
Currently, it is not possible to give parameters to scripts which are executed during the UI.
We have an improvement CDS-42003 in our tracker to improve this (but it is not yet scheduled).
However, it is possible to pass arguments to scripts which are executed via the codesys command line interface, see the online help for a description.
Additionally, the script itsself can use system.ui methods to ask the user interactively for values like project names. I did attach a test script which shows the possible dialogs.
System_UI_Test.py [2.75 KiB]