Lancer des scripts à partir de la ligne de commande
Condition : Un fichier de script Python valide <file name>.py
se trouve dans le système de fichiers.
Créez un fichier CMD avec la commande
start
, le CODESYS départs,Et avec l'option --script de lancement qui appelle le fichier de script.
D'autres options sont possibles, par exemple
--noUI
, si la CODESYSl’interface utilisateur ne doit pas être ouverte.Ouvrez la fenêtre Windows Invite de commande et démarrez le fichier CMD.
Vous pouvez transmettre des arguments avec des informations supplémentaires au script. Les scripts Python peuvent accéder aux arguments avec le sys.argv[]
liste. Le premier élément (Index 0) est toujours le nom ou le chemin du script Python exécuté, suivi des paramètres "réels". (C'est similaire à argc
/argv
en C.)
De plus, les scripts peuvent également accéder aux variables d'environnement définies avantCODESYSest démarré avec les API Python ou .NET correspondantes.
Vous disposez d'un fichier CMD (fichier batch) argvtestbat.cmd
avec le contenu suivant (le tout sur une seule ligne).
"C:\Program Files (x86)\CODESYS 3.5.17.0\CODESYS\Common\CODESYS.exe" --profile="CODESYS V3.5 SP17" --runscript="D:\Dokumente\Scripting\ArgvTestScript.py" --scriptargs:'username password 3.14 "path=\"C:\temp\\\""' --noUI
Vous avez un fichier de script correspondant ArgvTestScript.py
.
from __future__ import print_function import sys print("sys.argv: ", len(sys.argv), " elements:") for arg in sys.argv: print(" - ", arg)
Maintenant, lorsque vous exécutez le fichier CMD, CODESYS démarre et exécute le script sans ouvrir le CODESYS fenêtre principale. Alors CODESYS est sorti :

Pour une référence complète de tous les paramètres de ligne de commande possibles, consultez la page d'aide de l'interface de ligne de commande dans CODESYS dans la section "--runscript
".
Pour plus d'informations, voir : Interface de ligne de commande, option --runscript
Pour plus d'informations sur l'API Python, consultez : https://docs.python.org/2/library/os.html#process-parameters
Pour plus d’informations sur l’API .NET, consultez : https://msdn.microsoft.com/de-de/library/77zkk0b6%28v=vs.110%29.aspx