本文将以有刷直流电机的PWM调速和故障诊断模块为例子,说明MBD开发流程
(在此文章中,关于有刷直流电机PWM调速原理和故障技术,不再作为重点进行讲解,只说明利用simulnk进行MBD开发流程)
MBD开发流程指导书---->建模
1,数据字典,数据对象管理
2,分任务建模:(1)有刷直流电机PWM调速模块
(实现电机的关闭,软起动,全速,加速)
(2)有刷直流电机故障诊断模块
(实现了,过电压,欠电压,温度,堵转故障检测和处理)
3,stateflow状态机实现逻辑:
(1)有刷直流电机PWM调速模块
(2)有刷直流电机故障诊断模块
4,simulink实现数据流
1,数据字典,数据对象管理
首先先建立数据字典,数据字典是存储模型相关数据的持久性存储库。也可以使用基础工作区存储模型在仿真过程中使用的设计数据,但数据字典提供的功能更多一些。
1.1建模------>链接到数据字典------>新建------>.sldd
(注意,新建数据字典尽量要和模型文件保持一致)
1.2 数据对象管理
添加数据类型----->选择数据类型 ------>Signal----->Parameter--->存储类型
字典可以存储定义参数和信号的设计数据,还可以包括定义模型行为的数据。字典不存储仿真数据,即模型仿真时进出 Inport 和 Outport 模块的输入或输出。
1.2.1定义信号Signal
1.2.2定义参数Parameter
好了,根据需要选择信号和参数,得到:
1.2.3定义simulink.bus总线
如果模块的信号输入或输出由 Bus
对象实现,则信号必须是具有总线对象指定属性的总线。
数据管理:
下面将进行,分任务建模!!1
2,分任务建模
2.1建模------>插入图char------>stateflow
用有限状态机实现控制逻辑:
Stateflow流程图采用图形化结构,用于对决策树和迭代循环等逻辑模式进行建模。流程图表示组合逻辑,其中的任一结果不依赖于先前的结果。可以通过结合使用连接结点和转移来构建流程图,而不使用任何状态。结点提供不同转移路径之间的决策分支。流程图的执行从默认转移开始,到终止结点(没有有效出向转移的结点)结束。
2.2 添加状态和转移,绘制流程图
可以使用连接结点作为备用转移路径之间的分支点来手动绘制和自定义流程图:
-
打开图。
-
在编辑器工具栏中,使用连接结点工具将一个或多个连接结点拖到图中.
-
在各结点之间添加转移路径。
-
对转移添加标签。
-
将默认转移添加到流程图执行开始处的结点。
添加状态和转移
-
添加另一个状态。右键点击并拖动 liner 状态。蓝色图形提示可以帮助水平或垂直对齐状态。新状态的名称命名为liner。双击该状态并将编写状态动作。
2. 添加另一个状态。右键点击并拖动 liner 状态。蓝色图形提示可以帮助水平或垂直对齐状态。新状态的名称命名为liner。双击该状态并将编写状态动作。
3. 重新对齐两个状态并在两个状态之间的空白处停留片刻。蓝色转移提示指示,可以连接状态的几种方式。要添加转移,请点击适当的提示。或者,要绘制转移,请点击并从一个状态的边拖动到另一个状态的边。
4. 双击每个转移并输入适当的转移条件pwm_duty >=PWM_LINEAR_LO&& pwm_duty<=PWM_LINEAR_UP
或pwm_duty >= PWM_LINEAR_UP
。条件编写在方括号内。
2.3.根据需求,搭建完整流程
2.4 完整模型:
(为减少手写代码,在模型char外,我加入了一个积分器)
2.5 仿真出信号为:
(可以看出f_duty,按照要求输出占空比,控制电机的速度)
未完待续(接下来,将进行故障诊断的stateflow模型搭建),搭建完成以后,将进行MBD的测试,利用测试序列在simulnk中进行测试。