如何使用Simlink PID工具在matlab中实现控制器
How to use Simlink PID tools to implement a controller in matlab
我想知道是否可以在 matlab 中使用 simlink 的 PID 架构来实际控制硬件 - 而不是对其建模。
我在 matlab 中进行了一些 PID 调整 - 并为我的系统计算出了正确的增益(或者至少足够好)。
现在我想使用真实的硬件在 matlab 中实现实际的控制循环。在这种情况下,我试图使用波长计的测量来稳定激光 - 尽管从 matlab 的角度来看,我基本上有两个功能 - 一个 returns 当前波长,另一个改变波长输入从 0-100。
如何让花哨的 PID 对象在一个循环中工作,例如我在每个循环中输入数据,并获得所需的输出以稳定我的收益 - 或者我应该只是硬编码方程式?
我已尝试查看一些 simlink 示例 - 但在我看来实际实施并不多 - 大部分只是建模。
提前感谢您的任何建议。
MATLAB(没有 Simulink,或者在纯仿真模式下有 Simulink)不是实时环境。尝试使用它来实时控制硬件是行不通的,除非您的采样率非常低。
如果您的采样率确实很慢,那么您可以使用 Data Acquisition Toolbox
中的设备驱动程序将您的硬件连接到 MATLAB
您没有在 Simulink 文档中找到任何关于实时实现的信息,因为 Simulink 的实时实现机制是通过 Simulink Coder. You would need to use it in conjunction with a real-time environment such as Simulink Desktop Real-Time (if your sample rates are relatively slow), Simulink Real-Time 或许多其他第 3 方实时形式之一因素。
我想知道是否可以在 matlab 中使用 simlink 的 PID 架构来实际控制硬件 - 而不是对其建模。
我在 matlab 中进行了一些 PID 调整 - 并为我的系统计算出了正确的增益(或者至少足够好)。
现在我想使用真实的硬件在 matlab 中实现实际的控制循环。在这种情况下,我试图使用波长计的测量来稳定激光 - 尽管从 matlab 的角度来看,我基本上有两个功能 - 一个 returns 当前波长,另一个改变波长输入从 0-100。
如何让花哨的 PID 对象在一个循环中工作,例如我在每个循环中输入数据,并获得所需的输出以稳定我的收益 - 或者我应该只是硬编码方程式?
我已尝试查看一些 simlink 示例 - 但在我看来实际实施并不多 - 大部分只是建模。
提前感谢您的任何建议。
MATLAB(没有 Simulink,或者在纯仿真模式下有 Simulink)不是实时环境。尝试使用它来实时控制硬件是行不通的,除非您的采样率非常低。
如果您的采样率确实很慢,那么您可以使用 Data Acquisition Toolbox
中的设备驱动程序将您的硬件连接到 MATLAB您没有在 Simulink 文档中找到任何关于实时实现的信息,因为 Simulink 的实时实现机制是通过 Simulink Coder. You would need to use it in conjunction with a real-time environment such as Simulink Desktop Real-Time (if your sample rates are relatively slow), Simulink Real-Time 或许多其他第 3 方实时形式之一因素。