Pid控制器系数对控制系统输出信号的影响演示
考虑模型中的ACS pid_demo_mask.engee. 它由控制对象和PID控制器组成。 在本例中,我们将展示如何通过脚本控制PID控制器系数的值并分析仿真结果。
有各种用于调节PID控制器的技术。 然而,有时需要手动调整系数以实现对系统的技术要求。 为了实现参数更改,我们使用了Engee工具-单元格蒙版。
当您更改任何系数的值时,掩码下隐藏的代码将自动以新参数启动。 执行后,你会得到一个新的结果。 在我们的例子中,结果将是系统对单个分步效应的响应图。
加载模型并尝试更改任何参数。
In [ ]:
modelName = "pid_demo_mask";
PID_model = modelName in [m.name for m in engee.get_all_models()] ? engee.open( modelName ) : engee.load( "$(@__DIR__)/$(modelName).engee");
In [ ]:
K_p = 29.59 # @param {type:"slider", min:0, max:50, step:0.01}
K_i = 1.23 # @param {type:"slider", min:0, max:5, step:0.01}
K_d = 0.49 # @param {type:"slider", min:0, max:3, step:0.01}
results = engee.run( modelName )
PID_res_e_t = results["out"].time;
PID_res_e_d = results["out"].value;
PID_ref_e_d = results["ref"].value;
plot(PID_res_e_t , [PID_res_e_d PID_ref_e_d], legend = false)
plot!(title = "Результаты моделирования в Engee", ylabel = "Отклик", xlabel="Время, c")
xlims!(0,20)
Out[0]:
自动结果更新可以通过点击禁用旁边的细胞启动按钮。 您还可以在单元格掩码下的代码中更改参数更改的最大值,最小值和步骤。