文档

编程控制模拟

这些例子告诉你如何使用set_param而且get_param若要以编程方式控制模型模拟,请检查正在运行的模拟的状态,并使用块回调来控制模拟。

控制和检查仿真状态

这个例子展示了如何使用set_param来控制和检查模拟的状态。

开始模拟。

set_param (“vdp”“SimulationCommand”“开始”

当你开始模拟使用set_param“开始”参数时,必须使用“停止”参数来停止它。

暂停、继续和停止模拟。

set_param (“vdp”“SimulationCommand”“暂停”) set_param (“vdp”“SimulationCommand”“继续”) set_param (“vdp”“SimulationCommand”“停止”

当你使用set_param为了暂停或停止模拟,命令是对此类操作的请求,并且模拟不会立即执行它们。你可以使用set_param在执行stop命令后开始模拟,并在执行pause命令后继续模拟。万博1manbetx动态仿真模块®首先完成不可中断的工作,例如求解器步骤和前面的其他命令set_param命令。属性所指定的启动、暂停、继续或停止模拟set_param命令。

查看仿真状态。

get_param (“vdp”“SimulationStatus”

软件返回“停止”“初始化”“奔跑”“暂停”“编译”“更新”“终止”,或“外部”(与万博1manbetx仿真软件编码器™产品)。

在运行模拟时动态更新已更改的工作空间变量。

set_param (“vdp”“SimulationCommand”“更新”

将所有数据日志变量写入基本工作区。

set_param (“vdp”“SimulationCommand”“WriteDataLogs”

使用块回调自动化模拟任务

当您在模型上执行各种操作(例如启动、暂停或停止模拟)时,将执行回调。您可以使用回调来执行MATLAB®脚本或其他MATLAB命令。有关更多信息,请参见自定义模型行为的回调而且块回调参数

这个例子展示了如何使用这个模型StartFcn回调函数在模拟开始前自动执行MATLAB代码。

编写一个查找的MATLAB脚本范围块,并在模拟模型时在前景中打开它们。

% openscopes.m在模拟开始时将范围置于最前面。Blocks = find_system(broot,“BlockType”“范围”);查找您的对象的顶层的所有作用域块%的模型。要查找子系统中的作用域,请提供子系统%的名字。输入help find_system查看该命令的更多信息。set_param(blocks{I},“开放”“上”结束遍历所有作用域块并将它们带出来走在最前面。

设置StartFcn参数,用于模型调用脚本。

set_param (“my_model”“StartFcn”“openscopes”

相关的话题

这个话题有用吗?