控制系统工程师在所有开发阶段都会使用 MATLAB 和 Simulink – 从被控对象建模到设计并调节控制算法和监督逻辑,一直到通过自动生成代码进行部署以及系统的验证、确认和测试。MATLAB 和 Simulink 提供:
- 多域模块图环境,用于创建被控对象动态模型、设计控制算法和运行闭环仿真
- 被控对象建模功能,需结合使用系统辨识或物理建模工具
- 预置函数和交互式工具,用于分析时域和频域中的超调、上升时间、相位裕度、增益裕度及其他性能和稳定性特性
- 根轨迹图、波特图、LQR、LQG、稳健控制、模型预测控制及其他设计和分析方法
- 自动调节 PID、增益调度以及任意 SISO 和 MIMO 控制系统
- 强化学习、自抗扰控制、模型参考自适应控制及其他数据驱动和基于 AI 的控制算法
- 监督逻辑的建模、设计和仿真,用于执行调度、模式开关以及故障检测、隔离与恢复 (FDIR)
将 MATLAB 用于控制系统
被控对象动态特性的建模和仿真
使用 MATLAB 和 Simulink 构建准确的被控对象模型。使用支持的各种建模方法描述对象的复杂动态特性,并针对被控对象的每个组件使用最合适的方法,以创建系统级被控对象模型。
使用物理建模工具创建复杂的多域被控对象模型,而无需推导底层的第一原理方程。Simscape 模型的布局与物理系统结构相符。通过将电气、机械、流体及其他物理域组件连接为一个网络来组装模型。如果您不知道模型的详细结构,可以使用系统辨识(包括基于 AI 的方法)基于输入-输出数据估计线性和非线性被控对象动态特性。创建使用全阶高保真第三方工具建模的组件的基于 AI 的降阶模型。
设计和调节反馈补偿器
分析和开发闭环补偿器,并评估关键性能参数,如超调、上升时间和稳定裕度。配平和线性化非线性 Simulink 模型。您还可以对不确定性对模型性能和稳定性的影响进行建模和分析。
利用波特图、根轨迹图和其他线性控制设计方法,并在仿真模型中或测试硬件上自动调节 PID 控制器。您可以使用预置工具自动调节分散的多变量控制器,并利用模型预测控制和稳健控制等高级控制策略。使用优化方法计算控制器增益,以满足上升时间和超调约束。
通过使用基于 AI 和其他数据驱动的控制方法来提高复杂系统的性能。使用数据驱动的控制算法开发可学习和适应不断变化的动态特性的控制器,并应用于无法使用解析法推导复杂的非线性动态的场景。
设计和仿真监督逻辑
使用 Stateflow 对控制系统中的监督逻辑进行建模、设计和仿真。该监督逻辑负责调度控制器的运转、控制系统的工作模式并执行故障检测、隔离和恢复 (FDIR)。
使用图形编辑器以状态机或流程图形式构建逻辑。您还可以将图形表示法和表格表示法(包括状态转移图、流程图、状态转移表和真值表)结合在一起,针对系统对事件、基于时间的条件以及外部输入信号的反应方式进行建模。通过使用状态图动画突出显示模型中的活动状态和转移,在仿真期间可视化系统行为。
将设计部署到嵌入式控制器
在设计控制系统算法后,您就可以对其进行细化以便实现。您可以指定设计的定点数据类型属性,为使用定点运算进行实现做好准备。在使用闭环桌面仿真验证控制算法之后,通过自动生成 C 代码、结构化文本或 HDL 代码将其部署到生产微控制器、PLC 和 FPGA。
您可以持续测试和验证您的控制系统。通过在嵌入式控制器上运行控制算法并在连接到控制器的目标计算机上实时运行被控对象模型,进行硬件在环 (HIL) 测试。您可以使用形式化验证方法进一步验证和测试您的控制系统。