产品中心

致力于为用户提供创新的解决方案和高品质的产品

Simulink Coder

从 Simulink 和 Stateflow 模型生成 C 和 C++ 代码

支持包

Component Deployment Guidelines for Embedded Coder

 

生成代码

Simulink Coder 可以为 Simulink 模型、MATLAB 函数和 Stateflow 图生成 C 和 C++。它支持各种 Simulink 附加产品,包括 Simscape™、Vehicle Dynamics Blockset™ 和 Computer Vision Toolbox™。

配置选项

Simulink Coder 可以通过应用程序和 API 配置代码和数据选项。使用 Code Generation Advisor 可针对代码的实时性或调试性进行优化。

集成旧有代码

您可以使用 C Caller 模块或 Legacy Code Tool 合并手写的现有 C/C++ 代码,以便与生成的代码进行仿真和集成。

查看并行生成的状态

您可以使用生成状态用户界面查看正在进行的并行生成的状态。此信息可帮助您通过修改引用的模型层次结构来确定改进并行生成的方法。

执行代码

Simulink Coder 可使用您的第三方编译器生成可执行目标用于Simulink及其附加产品构建的嵌入式控制器、自主系统和物理系统的实时和非实时仿真。

实时仿真与测试

使用硬件在环仿真和快速原型设计,在各种实时机器(包括使用 Simulink Real-Time™ 的 Speedgoat 目标计算机硬件)上测试嵌入式系统设计及建立原型。

桌面系统仿真

生成和测试代码用于您的主机系统的快速批处理或蒙特卡洛仿真。

部署到嵌入式目标

使用 I/O 模块库配置和访问外围设备及通信接口,在支持的嵌入式目标上运行模型中的代码,以进行基于项目的学习。将 Deep Learning Toolbox 提供的各种经过训练的深度学习网络(包括 ResNet-50、SegNet 和 LSTM)部署到 Intel 和 ARM CPU。

 

调试参数和记录数据

使用 Simulink Coder,您可以当代码在外部设备执行的同时,通过使用示波器、仪表板和实时流数据图等查看数据和调试参数,以访问和优化您在Simulink中的设计。

通过 XCP 通信进行外部模式仿真

Simulink Coder 通过控制板模块和 Simulation Data Inspector 支持信号记录和流处理。您可以通过 XCP、TCP/IP 和串行 (RS-232) 通信从模型层传输信号。

基于主机的 ASAP2 数据交换

生成基于主机的 ASAP2 数据定义文件,用于第三方数据测量、标定和诊断系统。

在生成代码与手写代码之间进行数据交换

使用基于目标的 C API 从手写代码访问 Simulink 模块输出和 MATLAB 参数。

 

进一步了解 Simulink Coder 和相关产品

您可以使用 Embedded Coder™ 为嵌入式系统生成高度优化和自定义的代码,并使用 Simulink Real-Time 为自动实时测试系统生成代码。

 

DDS Blockset

DDS Blockset 提供多种模块,支持通过 DDS 发布和订阅数据采样及其相应的服务质量 (QoS)。它完全集成了 RTI Connext DDS 和 eProsima Fast DDS 堆栈。

DDS Blockset 可以从 Simulink 模型生成 C++ 代码和 XML 文件(需要 Embedded Coder®)。

使用 Simulink 设计和部署面向服务的架构 (SOA) (25:09)

 

DDS 应用建模 

对使用 DDS 中间件协议和服务质量 (QoS) 策略的应用进行建模和仿真。

创建 DDS 应用

使用 DDS Application Quick Start 工具创建默认 DDS 定义,或使用在 Simulink DDS 模型中创建的预定义 DDS 定义。您可以使用预配置的模块将 DDS 模型配置为 DDS 主题的发布者和订阅者。

配置和管理 DDS 定义

使用 DDS 字典查看和管理 DDS 定义,包括 DDS 应用的域、主题、类型和 QoS。此外,您可以使用代码映射编辑器来配置 DDS 接口,以便为应用的 DataReader 和 DataWriter 实体指定主题和 QoS。

 

DDS 应用仿真

仿真 Simulink DDS 模型及其 QoS。

仿真 DDS 模型和 QoS

仿真配置为 DDS 主题发布者和订阅者的 DDS 模型及服务质量 (QoS),包括 HISTORY,以根据指定 QoS 策略验证运行时行为。

 

导入和导出 DDS 描述

在 Simulink 中开发 DDS 应用。可以从 Simulink 模型开始,也可以导入 XML 文件形式的 DDS 定义。

从 Simulink 模型开始

使用 DDS Application Quick Start 工具在 Simulink 中创建和建模 DDS 应用。使用 Embedded Coder 编译您的应用模型,以将 DDS 定义导出为 XML 文件(适用于 RTI Connext)或 IDL 文件(适用于 eProsima)。

从 XML 文件中的 DDS 定义开始

您可以使用 DDS Application Quick Start 将第三方生成的 XML 文件中的 DDS 定义导入 Simulink。这种方法支持您将域、主题、类型和 QoS 等 DDS 概念引入 Simulink 中以用于 DDS 应用。

 

为 DDS 应用生成和部署代码

生成 DDS 可执行文件,并将其部署在 DDS 网络上。

部署 DDS 应用

使用 Embedded Coder,从 Simulink 模型生成产品级 C++ 代码以及 DDS API 和 XML/IDL 文件,以部署到 DDS 网络。

集成到第三方 DDS 实现堆栈

DDS Blockset 完全集成第三方 DDS 堆栈,包括 RTI Connext 和 eProsima Fast DDS。

 

应用示例

使用应用示例在 DDS 网络上设计、仿真和部署应用。

 

AUTOSAR Blockset

AUTOSAR 软件的设计与仿真

AUTOSAR Blockset 提供了用于 AUTOSAR 库例程和基础软件 (BSW) 服务(包括 NVRAM 和诊断)的模块和构造。通过将 BSW 服务与应用软件模型一起进行仿真,您可以在不离开 Simulink 的情况下验证 AUTOSAR ECU 软件。

您可以使用 AUTOSAR Blockset 在 Simulink 中创建 AUTOSAR 架构模型(需要 System Composer™)。在 AUTOSAR 架构模型中,您可以编写软件组合、具有接口的组件、数据类型、配置文件和原型。您可以添加仿真行为,包括 BSW 服务组件。另外,您还可以通过 ARXML 文件双向处理(导入和导出)软件描述。

AUTOSAR Blockset 支持 C 和 C++ 产品级代码生成(使用 Embedded Coder®)。它经过审核可用于 ISO 26262 标准(使用 IEC Certification Kit)。

AUTOSAR Classic 软件组件建模

在 Simulink 中使用 AUTOSAR 端口、接口和其他配置自动创建 AUTOSAR Classic 软件组件。

AUTOSAR Adaptive 软件组件建模

对于 AUTOSAR Adaptive 平台,使用 AUTOSAR Blockset 在 Simulink 中通过默认 AUTOSAR 端口、服务接口和其他配置自动生成软件组件。

使用 BSW 服务对 AUTOSAR 组合和 ECU 软件进行仿真

将 AUTOSAR 软件组件和组合与基础软件 (BSW) 服务一起进行建模和仿真,包括 NVRAM Manager、Diagnostic Event Manager 和 Function Inhibition Manager。

AUTOSAR 软件架构建模

在 Simulink 中编写软件组合、带接口的组件、数据类型、配置文件和原型(使用 System Composer)。通过创建新的 Simulink 组件模型、链接到现有组件模型或从 ARXML 文件导入它们,指定架构模型中组件的行为。

配置调度和仿真

使用调度编辑器调度和指定仿真的组件可运行实体的执行顺序。使用此功能可在组件级别和组合级别上验证 AUTOSAR ECU 软件行为。

AUTOSAR 设计工作流

使用自下而上工作流将现有 Simulink 设计映射到 AUTOSAR 软件组件模型,查看架构,并生成代码和 ARXML。使用自上而下工作流从您的架构开始,将 ARXML 文件导入 Simulink 或架构模型并开发算法。或者使用结合这两种方法的双向工作流。

为 AUTOSAR 应用生成产品级 C/C++ 代码

使用 Embedded Coder,生成产品级 C/C++ 代码和 AUTOSAR XML 文件。使用代码执行软件在环 (SIL) 和处理器在环 (PIL) 测试以进行验证。

使用代码替换生成优化的库例程

使用预配置的 AUTOSAR 模块和代码替换为 AUTOSAR Classic 应用生成优化的库例程。

实现 ISO 26262 和 MISRA C 合规

使用 IEC Certification Kit 认证 ISO 26262 Embedded Coder 生成的代码。验证生成的 AUTOSAR 代码符合 MISRA® C,检查运行时错误,并使用 Polyspace Code Prover™ 查找代码和 AUTOSAR ARXML 描述之间的不匹配。

 

C2000 Microcontroller Blockset

设计、仿真和实现 Texas Instruments C2000 微控制器的应用

您可以使用该模块集中的处理器间数据通信 (IPC) 和协处理器(控制率加速器)模块对用于多核执行的算法进行分区。您可以将 Simulink® 模型直接连接到支持的硬件以进行实时 I/O 数据交换,从而实现快速原型构建。

您还能使用 IQmath 和相关优化例程针对 C2000 MCU 生成优化代码以用于实时和中断驱动的代码执行,并执行实时信号监控、参数调节和处理器在环 (PIL) 测试(需要 Embedded Coder®)。该模块集包括参考示例,帮助您在 C2000 MCU 上编译和部署电机控制应用(需要 Motor Control Blockset™ 和 Embedded Coder)。

C2000™ 是 Texas Instruments® 的商标。

参考应用

使用 TI C2000 评估工具包和补充包进行电机控制和电力变换应用快速原型构建的参考应用

电机控制
电力变换

 

产品亮点

设计和部署 C2000 微控制器应用

对嵌入式应用软件进行建模,从您的模型生成实时可执行文件,并在 C2000 微控制器上运行它们。

外围设备支持

对使用片上和板载外设(如 ADC、数字 I/O、ePWM、SPI、I2C、eCAP、eQEP 等)的应用进行建模。

信号监控和参数调节

使用“监控和调节”功能执行实时信号监控和参数调节。

多核架构建模

使用 IPC 和控制率加速器 (CLA) 模块对用于多核执行的算法进行分区。

连接 I/O 仿真

将您的 Simulink 模型直接连接到支持的硬件以进行实时 I/O 数据交换。

代码验证和确认

使用带有执行性能分析的处理器在环测试(需要 Embedded Coder)执行代码验证和确认。

 

支持的微控制器系列

C2000 Microcontroller Blockset 支持以下 TI C2000 32 位微控制器系列。还支持这些 MCU 的 LaunchPad 和 controlCARD,包括大多数板外设。

 

Simulink PLC Coder

为 PLC 和 PAC 生成 IEC 61131-3 结构化文本和梯形图

Simulink PLC Coder 可以生成测试平台,帮助您使用 PLC、PAC IDE 和仿真工具验证结构化文本和梯形图。它还提供代码生成报告,其中包含静态代码指标以及模型与代码之间的双向可追溯性。配合 IEC Certification Kit (for IEC 61508 and IEC 61511),该产品还可实现对行业标准的支持。

随时随地运行

生成结构化文本和梯形图。部署免特许费代码

支持第三方 IDE

Simulink PLC Coder 可以生成各种第三方IDE支持的结构化文本格式,这些第三方 IDE 包括 Siemens® STEP 7/TIA Portal、Rockwell Automation® Studio 5000、3S CODESYS® 及 PLCopen XML。Simulink PLC Coder 还可以为 Rockwell Automation Studio 5000 生成梯形图。

生成结构化文本

Simulink PLC Coder 支持 180 多个 Simulink 模块、所有 Stateflow 结构和许多 MATLAB 函数,可以从控制系统模型(包含反馈循环、模式和状态逻辑以及数学密集型算法)生成结构化文本。

导入和生成梯形图

将 Rockwell Automation Studio 5000 梯形图导入 Simulink 进行仿真和验证。从Simulink 模型为 Studio 5000 生成梯形图。通过在IDE仿真器上生成何执行测试平台,验证生成的梯形图。

 

代码优化、测试和验证

确保生成的代码在 PLC 上高效、正确地运行。

代码优化

Simulink PLC Coder 默认会应用优化,以减小内存并提高所生成结构化文本和梯形图的执行速度。这些优化包括死代码消除、表达式折叠和子系统重用。

评论、双向跟踪和记录代码

通过评论、用户添加的模块描述和双向链接,您可以在 Simulink 模型组件与生成的代码之间进行导航和跟踪。代码生成报告整合了代码审查和调试的所有信息。

代码测试和验证

生成测试平台,以验证 Simulink 仿真结果与 PLC 中结果的是否在可接受的容差内。将 Simulink PLC Coder 与 Simulink Coder™、 Simulink Real-Time™ 及 Speedgoat 目标计算机一起使用,实时运行硬件在环测试。

 

成功案例

了解各行各业的工程师如何使用 Simulink PLC Coder 为其应用生成结构化文本。

 

Simulink Code Inspector

自动审查和管理源代码以满足安全标准

Simulink Code Inspector 提供详细的模型到代码以及代码到模型可追溯性分析。它会生成功能等效及可追溯性报告,您可以将这些报告提交给认证机构,以满足 DO-178 软件编码验证目标。它提供一个 App,可用于检查模型兼容性并检查代码。代码检查结果显示在模型和关联代码中。

配合 DO Qualification Kit (for DO-178),该产品还可实现对行业标准的支持。

准备模型以进行代码生成和检查

运行模型兼容性检查,以便用 Simulink Code Inspector 分析您的模型。结果直接显示在 Simulink Code Inspector 中,以便您应用各项修复。

从模型生成代码

使用 Embedded Coder™ 从模型生成代码。

检查代码并审查检查结果

检查生成的代码是否符合模型。结果可直接在 App 中获得。

生成报告和追溯矩阵

使用 App 生成代码检查和可追溯性报告。

 

IEC Certification Kit (for ISO 26262 and IEC 61508)

针对 ISO 26262 和 IEC 61508 认证鉴定软件工具

您可以使用该工具包简化嵌入式系统的认证,以便针对 ISO® 26262、IEC 61508、ISO 25119、EN 50128、EN 50657 和 IEC 62304 生成符合标准的完整工具鉴定包。该工具包支持 ASIL A 到 ASIL D(适用于 ISO 26262)和 SIL 1 到 SIL 4(适用于 IEC 61508)。针对所支持的产品和标准,该工具包提供来自认证机构 TÜV 南德的证书和评估报告。

IEC Certification Kit 提供相关文档,帮助您将基于模型的设计用例映射到 ISO 21434(网络安全)、ISO 21448 (SOTIF) 和汽车 SPICE 等功能安全标准和汽车标准的要求。您可以使用该工具包提供的自动化工具和研究案例来启动您的认证项目,并生成在您产品的整个生命周期内都需要的工作产品。

注意:ISO26262:2018 指出,Simulink® 和 Stateflow® 适用于软件架构和软件单元设计表示法,可作为自动代码生成的基础。

工具分类和工具鉴定

借助鉴定工件和模板文档,根据功能安全标准对 MathWorks 规范、设计、代码生成和验证工具进行分类和鉴定。

TÜV 南德的认证工件

使用 TÜV 南德提供的证书和证书报告,强化您的安全案例和工具鉴定包。

符合 ISO 26262 标准的基于模型的设计研究案例

探索研究案例,逐步了解基于模型的设计如何帮助自动执行和加速您的工程流程,同时确保符合 ISO 26262 标准。

IEC 61508 和相关标准指南

使用经过预先鉴定并广泛使用的参考工作流和工具映射文档,在您的项目或组织中建立符合标准的流程。支持的标准包括 IEC 61508 和派生标准,如 EN 50128、EN 50657、IEC 62304、ISO 25119 和 ISO 26262。

符合汽车 SPICE (A-SPICE) 要求的工具映射

在注重可追溯性、正确性、一致性和完整性理念的指导下,使用基于模型的设计打造符合 A-SPICE 要求的高质量产品。

符合 ISO 21448 (SOTIF) 要求的验证和确认方法

根据 ISO 21448:2021 (SOTIF) 要求,使用基于模型的设计开发高级驾驶辅助系统 (ADAS) 和自动驾驶 (AD) 应用。 通过基于场景的测试来验证和确认预期功能的安全性。

符合 ISO 21434 标准的网络安全系统

应用 IEC Certification Kit 指南,以便更好地检测嵌入式软件中的漏洞,并使用基于模型的设计构建符合 ISO 21434 标准的网络安全系统。

科世达亚洲研发中心使用基于模型的设计开发汽车软件并获得 ISO 26262 ASIL D 级认证

代码生成