This function is used by Ignition's Expression language.
Runs a single line of Python code as an expression. If a poll rate is specified, the function will be run repeatedly at the poll rate. This is a very powerful way for you to add extensions to the expression language. For example, one could write a project script module function called shared.weather.getTempAt(zip) that queried a web service for the current temperature at a given zip code, and then bind the value of a label to the return value of that function.
The scriptFunction is a entered as a string and the pollRate is in milliseconds. You can optionally add any function arguments after the poll rate.
runScript(scriptFunction, [pollRate], [arg1], [arg2], [arg...])
string scriptFunction - A single line of python code. Typically the path to a script module.
int pollRate - Optional. The poll rate of the script in milliseconds.
object arg - Optional. Any number of argument objects that will be passed into the given script. This expression function can't make use of keyword invocation, so the order of the arguments passed to runScript represents how the parameters will be passed to the underlying Python function.
object - The return value of the specified function.
runScript(scriptFunction, [pollRate])
string scriptFunction - A string representing a single line of code, including any arguments that will be passed to the function.
int pollRate - Optional. The poll rate of the script in milliseconds.
object - The return value of the specified function.
Here is our scripting function we are going to run that is located in a Project Library script called textScript. The project the script was in was also set as the Gateway Scripting Project.
def myFunc(text="Hello World!", moreText="Good bye"):
return text
// This code block shows how to use runScript without additional parameters
// Preferred syntax
runScript("textScript.myFunc")
// Legacy syntax
runScript("textScript.myFunc()")
// Preferred syntax
runScript("textScript.myFunc", 0, "Hello Again", "See ya later")
// Legacy syntax
runScript("textScript.myFunc('Hello Again', 'See ya later')", 0)
// Legacy syntax using string concatenation
runScript("textScript.myFunc('" +{_gensim_/Writeable/WriteableString1} + "')") // This would run the function and pass in the value of the WriteableString1 tag.