如何使用 PyFMI 对连接在反馈回路中的两种联合仿真类型的 FMU 进行联合仿真?PyFMI 中的协同仿真设置如何工作?连接是如何定义的
- 输入给“y_ref”
- 到“u”的输入实际上是在“SUM Block”之后的信号。
在耦合的 FMU 模拟设置中,我得到所有结果都归零。这是我正在使用的一段 scipt
import pyfmi
from pyfmi import load_fmu
from pyfmi.master import Master
import pylab as P
import numpy as np
sub_system1 = load_fmu("Simple_System_PI.fmu")
sub_system2 = load_fmu("Simple_System_Plant.fmu")
models = [sub_system1, sub_system2]
connections = [( sub_system1 ,"y",sub_system2 ,"u"),
( sub_system2 ,"y",sub_system1 ,"u")]
#Generate input
t = np.linspace (0, 10, 100)
u = np.cos(t)
u_traj = np.transpose(np.vstack((t,u)))
input_object = ((sub_system1, 'u'), u_traj)
#print(input_object)
sub_system1.set('u',u[0])
master_simulator = Master (models, connections)
res = master_simulator.simulate(start_time = 0.0, final_time = 10.0, input = input_object)