要设置参数值,您应该在ModelManager2会话中使用SetSignalParameterValue(target, name, value) 或SetMultipleParameterValues( target, names, values)。target是VeriStand工程中的目标名称。“VDC_HIL”是此 VeriStand工程的目标名称。

name是参数名称。由于参数分为全局参数和局部参数两种类型,因此在VeriStand工程中,根据参数的层次结构获取参数名称并不容易。要获取参数名称,可以使用GetParametersList(target) 方法。
这里有一个Python脚本,可以用来获取上述模型的参数列表。
from niveristand.legacy import NIVeriStand
def Control_VeriStand_debug():
workspace = NIVeriStand.Workspace2("localhost")
modelM2 = NIVeriStand.ModelManager2("localhost")
project_path = os.path.abspath("D:\Work\VeriStand\VeriStand Projects\Default Project\Default Project.nivssdf")
print (project_path)
print("Deploying system definition...")
workspace.ConnectToSystem(project_path, True, 60000)
print("System definition deployed...")
time.sleep(4)
parameters = modelM2.GetParametersList("VDC_HIL")
print(parameters)
time.sleep(5)
print("Undeploying system definition...")
workspace.DisconnectFromSystem('', True)
print("System definition undeployed...")
if __name__ == '__main__':
Control_VeriStand_debug()
从输出窗口中,您可以获取到参数列表。

然后,您可以更新Python脚本,使用SetSignalParameterValue(target, name, value) 逐个设置参数值。
from niveristand.legacy import NIVeriStand
def Control_VeriStand_debug():
workspace = NIVeriStand.Workspace2("localhost")
modelM2 = NIVeriStand.ModelManager2("localhost")
project_path = os.path.abspath("D:\Work\VeriStand\VeriStand Projects\Default Project\Default Project.nivssdf")
print (project_path)
print("Deploying system definition...")
workspace.ConnectToSystem(project_path, True, 60000)
print("System definition deployed...")
time.sleep(1)
print("Set Base Parameter Value")
modelM2.SetSingleParameterValue("VDC_HIL","Base_Para",3.0)
time.sleep(1)
print("Set Model Parameter Value")
modelM2.SetSingleParameterValue("VDC_HIL","test_para/test_para/Model_Para",2.0)
time.sleep(2)
print("Undeploying system definition...")
workspace.DisconnectFromSystem('', True)
print("System definition undeployed...")
if __name__ == '__main__':
Control_VeriStand_debug()
您还可以使用SetMultipleParameterValues(target, names, values) 设置所有参数值。
modelM2.SetMultipleParameterValues("VDC_HIL",["Base_Para","test_para/test_para/Model_Para"],[3.0,2.0])