主要内容

确定规范操作规则的考虑因素

在选择工程要采用的建模规范之前,很重要的一点是要考虑工程和模型的各个方面,例如:

流程定义和开发环境

基于模型的开发方法利用仿真技术,适合开发有安全性要求的产品。然而,设计可以仿真并不意味着系统就一定是安全的。虽然高质量的控制和功能是必要的,但所使用的流程定义和开发环境也同样重要。安全系统的基础是在工程开始时、开发开始之前就确定好的。

MATLABSimulink 版本

在工程开始时即要确定好每个开发阶段要使用的 MATLAB® 和 Simulink® 的版本。然后每一个开发阶段的每个人都必须使用确定好的版本。

开发过程的不同阶段可以使用不同的 MATLAB 版本。例如,您可以在 R2017b 中生成并验证代码,然后使用 Simulink Design Verifier™ 在 R2020a 中开发测试用例。

有必要定期检查 MathWorks® 发布的 bug 报告,该报告可在MathWorks 网站 https://www.mathworks.com/support/bugreports 上找到。因为 bug 的存在,有时可能需要变更所用版本;也可能会根据情况撤销变更决定。在此评估过程中,重要的是考虑以下两个方面的风险:

  • 由于 bug 而导致的故障

  • 版本升级的结果

需要有一个流程来确保工程能适应最新的版本,且能合理地评估和判断最安全的版本选择。

MATLABSimulink 设置

MATLAB 和 Simulink 的设置应符合工程要求。重要的是,影响外观的 Simulink 设置在整个工程中的应用要一致。

需要统一的选项包括:

  • Simulink 环境设置:

    • 新模型的标准字体设置(模块、线条、注解)

  • 封装(编辑封装):

    • 图标和端口

  • 信息显示:

    • 库链接

    • 采样时间

    • (模块)经过排序的执行顺序

    • (信号和端口)表示非标量的宽线条

    • (信号和端口)端口的数据类型

请参阅规范:

可用的模块

Simulink 中有很多模块,但并非每个模块都适合工程的所有方面。例如,只有部分模块适合生成生产级代码。或者,根据模块的不同,某些需要几个基本模块组合实现的功能可以用一个模块来表示和实现。可用的模块和设计应根据工程的要求和规范进行定义和限制。

大幅限制可用模块的数量可能会带来不利影响,例如由于对同一功能的描述差异而导致的可读性降低、代码效率降低以及用户库增加。

您必须在工程的用户库中注册自定义模块。

请参阅规范 db_0143:模型层次结构中的可用模块类型以了解如何定义可用模块

使用优化和配置参数

考虑如何为您的工程使用优化选项和配置参数非常重要。

优化参数

优化选项对生成代码有显著影响。应仔细评估和应用优化选项,了解它们对工程或产品的安全性和可靠性的影响。

下面是优化参数如何影响流程的一个示例:

对于嵌入式汽车产品,快速处理时间和最小的 RAM/ROM 要求至关重要。为了满足这些要求,在条件输入分支执行窗格上应用了优化参数。这些优化参数通过使用 Switch 模块仅在条件分支执行期间条件成立的地方执行,从而提高了计算速度。

与之相反,对于航空业来说,条件输入分支执行窗格是禁用的,因为稳定的执行速度最为关键。即使只需要在条件成立的一侧进行计算,也最好在两侧都进行计算,以保持稳定的计算时间。

配置参数

考虑以下配置参数:

硬件实现设置

描述模型系统硬件特性,包括用于仿真和代码生成的产品和测试硬件配置设置。配置这些参数,使其与工程使用的微型计算机兼容。如果未定义有符号整数除法的舍入方式,可能会插入非预期的实用工具函数。

模型引用设置

使用模型引用时指定。指的是在此模型中包含其他模型的选项,将此模型包含在另一个模型中的选项以及仿真和代码生成目标的构建选项。

仿真目标设置

使用 MATLAB Function、Stateflow® Chart (Stateflow)Truth Table (Stateflow) 模块配置模型的仿真目标。

高完整性配置设置

有关高完整性配置设置的更多信息,请参阅高完整性系统建模规范中的配置参数注意事项

代码生成配置设置

有关代码生成配置设置的更多信息,请参阅代码生成建模规范。