Engee 文档
Notebook

Pid控制器系数对控制系统输出信号的影响演示

考虑模型中的ACS pid_demo_mask.engee. 它由控制对象和PID控制器组成。 在本例中,我们将展示如何通过脚本控制PID控制器系数的值并分析仿真结果。

image.png

有各种用于调节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]:

自动结果更新可以通过点击禁用![图像。png](附件:图片。png)旁边的细胞启动按钮。 您还可以在单元格掩码下的代码中更改参数更改的最大值,最小值和步骤。

示例中使用的块