# PID_Controller(PID控制器)

本案例使用拖拽式建模在MWORKS.MoHub平台搭建PID控制系统以演示Continuous.LimPID控制器的使用。

PID_Controller模型

PID_Controller模型

这是一个由PID控制器控制的简单传动系统。两个模块“kinematic_PTP”和“积分器”用于生成参考速度(=恒定加速阶段、恒定匀速阶段、恒定减速阶段,静止阶段)。为了检查系统是否在稳定状态下启动,参考速度为零,直到时间=0.5s,然后遵循输入轨迹。“PI”控制模块是“Blocks.Continuous.LimPID”的实例化,它是一个PID控制器,其中添加了几个考虑实际应用的重要因素,例如抗饱和补偿。

本案例中,控制模块使用PI控制。控制器的输出是转动惯量“inertia1”的转矩。通过弹簧/阻尼器组件连接负载转动惯量“inertia2”。10Nm的恒定外部扭矩作用于负载惯量。PI控制器初始化为稳态(initType=SteadyState),驱动器初始化也应该为稳态。但是,无法在SteadyState中初始化“inertia1”,因为“der(inertia1.phi)=inertia1.w=0”是PI控制器的输入,它定义积分器状态的导数为零(=PI控制器的选项SteadyState已定义的相同条件)。此外,缺少一个初始条件,因为没有定义inertia1或inertia2的绝对位置。本例所示的解决方案是初始化“inertia1”的角度和角加速度。

Modelica在控制、机械领域结合的实例。Modelica在多领域建模上具备优势。