=====Access and Use System Properties (-D defined properties) in a Script===== This article shows you how to get the values of system properties which are defined on the command line using -Dpropertyname=value. There are other ways to set system parameters for MIX or TransSECS applications, and the code examples shown below will also work for these methods. In MIX you can add a parameter to the the mix.properties file, and for TransSECS deployments (and also for MIX applications running TransSECS code) you can add a parameter to ErgoTechConfiguration.properties. ==== System Properties ==== In java system properties can be defined on the command line using -Dpropertyname=value. This allows you to change a parameter value before running MIX or a TransSECS deployment. For example, for a specific deploymentyou may want to change the ip address of a plc by adding a parameter such as -Dipaddress=192.168.1.10 to the command line for MIX. System properties are read as Strings. So if you have a variable in your application which is a numeric value you can do a numeric conversion on the String. Be sure to use a numeric value such as "0" as the property default in case the value is not defined on the commandline. ==== Access the Command Line Property Value ==== The general idea to access these properties is to use System.getProperty("propertyname","optional default") var System = Java.type("java.lang.System"); ipAddress=System.getProperty("ipaddress","192.168.0.2"); //use a default value if the parameter "ipaddress" is not defined //now the ipAddress value can be used to set the ip address of a device server DeviceServer->setAddress(ipAddress); //note: setAddress method may be setHostname in some device servers If the parameter is not defined you can check for null instead of using a default value var System = Java.type("java.lang.System"); ipAddress=System.getProperty("ipaddress"); //ipAddress will be null if "ipaddress" is not defined if (ipAddress!=null) { DeviceServer->setAddress(ipAddress); }