我想知道是否可以在matlab中使用simlink的PID架构来实际控制硬件 - 而不是对其进行建模。
我一直在玩matlab中的PID调整 - 并且已经为我的系统找到了正确的增益(或者至少足够好)。
现在我想使用真实硬件在matlab中实现实际的控制循环。在这种情况下,我想用波长计测量来稳定激光 - 尽管从matlab的角度来看,我有两个功能 - 一个返回当前波长,另一个用0-输入改变波长。 100。
如何让花哨的PID对象在循环中工作,例如我在每个循环中输入数据,并获得所需的输出以稳定我的收益 - 或者我应该只是硬编码方程?
我试过查看一些simlink示例 - 但似乎没有太多实际的实现 - 大多数只是建模。
提前感谢任何建议。
答案 0 :(得分:1)
MATLAB(没有Simulink,或者Simulink纯粹是一种模拟模式)不是一个实时环境。除非你的采样率很慢,否则试图用它来实时控制硬件是行不通的。
如果您的采样率很慢,那么您可以使用设备驱动程序(例如Data Acquisition Toolbox
中的设备驱动程序)将硬件连接到MATLAB您还没有在Simulink文档中找到有关实时实现的任何信息,因为从Simulink实时实现的机制是通过Simulink Coder。您需要将其与实时环境结合使用,例如Simulink Desktop Real-Time(如果您的采样率相对较慢),Simulink Real-Time或许多其他第三方实时格式之一。