模型保护(Protected Models for Model Reference)

1.将子系统转换为模型的引用:

(1)将待转换的部分使用CTRL + G合成子系统,并为该子系统命名保存。

(2)使用如下的matlab语句进行子系统向模型引用转换

     Simulink.SubSystem.convertToModelReference(...

     'simulink文件名称/要保护的子系统名称', ...

     '新模型引用名称,与之前的子系统名称不同', ...

     'AutoFix',true,...

     'ReplaceSubsystem',true,...

     'CheckSimulationResults',true);

(3)将转换后的模型引用进行保存。

2.模型保护:

扫描二维码关注公众号,回复: 8481817 查看本文章

(1)对上述保存的模型引用右键,选择Subsystem&Model Reference->Create Protected Model for Selected Model Block.

(2)出现对话框,勾选simulink与use generated code,并填写密码(每一行填写相同的密码,该密码至少为4位)。

(3)存储地址与create hardness model for protected model,可以选择性勾选。

(4)点击create,构建受保护模型。

(5)文件夹中出现的后缀为.slxp的即为创建的受保护模型。

3.使用受保护的模型

(1)对模型左下角的盾牌符号右键,选择Authorize,输入Simulation与Code Generation的密码,点击OK,即可对该模型进行仿真与代码生成。

(2)授权的时间为本次matlab软件使用时间。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

上述方法针对于2016b等高版本,该方法在2012b等低版本上会出现不适配的情况,所以做新的方法说明:

1.子系统转换为模型引用

(1)右键子系统->Block Parameters->勾选 Treat as atomic unit -> Sample time = -1->Apply.

(2)右键子系统->Subsystem & Model Reference->Convert Subsystem to -> Referenced Model(如果出现提示,选择continue conversion)。

(3)模型引用生成,保存新的simulink模型引用。

2.模型引用转换为受保护的模型

(1)右键模型引用-> Subsystem & Model Reference->Create Protected Model for Selected Model Block.

(2)出现对话框,如果需要将模型转换为代码,则勾选Include generated code(Create harness model for protecred model按需勾选)。

(3)点击create,完成创建。

3.受保护模型的使用

(1)点击受保护模型,出现模型说明文档,点击代码生成(勾选include generated code),则直接生成代码,无需填写密码。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

如果在模型保护过程中出现“cannot be used with a variable-step solver”问题,请将原模型引用的解算器更改为离散定步长。

猜你喜欢

转载自www.cnblogs.com/Frances-CY-FKYM/p/12176054.html
今日推荐