解除固定固定关闭

中国区总部
Beckhoff Automation (Shanghai) Co., Ltd.

市北智汇园4号楼
静安区汶水路 299 弄 9-10 号
上海, 200072, 中国

+86 21 6631 2666
info@beckhoff.com.cn
www.beckhoff.com.cn/zh-cn/

MATLAB® 和 Simulink®

使用 TwinCAT 3 高效完成开发工作

更多信息

MATLAB® 和 Simulink®:成熟的编程标准

在全球范围内,MATLAB® 和 Simulink® 编程语言已经成为科学技术计算和仿真的行业标准,也是适合很多刚起步的工程师使用的编程语言。促进这一发展的原因有很多。MATLAB® 和 Simulink® 提供的解决方案让人们能够完全专注于开发任务。这两种语言也非常适合用于编程教学,而且也可高效应用于工业领域。

MATLAB® 编程环境在科学和工业领域得到了广泛应用。MATLAB® 是一种脚本语言,非常适合用于开发算法和数学模型。它在数据采集、处理和分析以及数据可视化方面特别高效,优势明显。应用包括预测性维护、图像和信号处理以及机器学习和优化方法。

Simulink® 主要为用于开发、测试和验证虚拟系统模型的基于模型设计(MBD)持续提供支持,它可以基于物理模型进行虚拟调试,因此能够实现软件功能的早期验证,在项目前期阶段通过精确的数据分析确定软件是否有问题,无需使用硬件原型,并避免在真实条件下使用它们。自动代码生成工具可以在生产过程中使用经过测试的代码。Simulink® 可以为构建多重物理场仿真和生成控制算法、调节算法和人工智能算法提供所有所需的资源。因此,只有经过模型测试的高质量代码才能用于实现控制任务。

MATLAB® 和 Simulink® 的优势

通过 MATLAB® 和 Simulink® 高效完成开发工作
通过 MATLAB® 和 Simulink® 高效完成开发工作
  • 通过仿真进行软件功能早期验证
  • 基于物理模型进行虚拟调试
  • 直接导入 CAD 模型
  • 开发和测试控制软件及过程逻辑
  • 分析测量和过程数据
  • 用于开发各种算法的交互式应用程序
  • 训练和优化 AI 算法
  • 并行计算



从 MATLAB® 和 Simulink® 到 TwinCAT 3

使用 TE1401 TwinCAT 3 Target for MATLAB®TE1400 TwinCAT 3 Target for Simulink® 可以在 TwinCAT Rutime 中实时执行使用全球通用的编程语言 MATLAB® 和 Simulink® 开发的分析和仿真程序。这些程序先经过验证然后部署到实际的 TwinCAT 系统中,通过这种方式可以毫无风险地将客户应用程序中的控制和监控代码直接转化成生产代码,从而避免在开发阶段产生不可预见的错误。

通过 TwinCAT 3 Target for MATLAB® 可以在 TwinCAT 3 中 使用 MATLAB® 功能。这些功能会自动迁移到 TwinCAT 对象中,并可在 TwinCAT 3 开发环境中无缝使用。自动生成的模块既可以作为 TcCOM 对象,也可以作为 PLC 功能块集成到 TwinCAT 解决方案中。用户不需要关心这些经过封装并集成到 TwinCAT 项目中的模型的底层代码,它们会像在 TwinCAT 3 Runtime 中运行的所有其它对象一样在实时环境中被执行。

预测性维护、机器学习测试测量技术,这些 MATLAB® 的主要功能可以通过 TwinCAT 3 Target for MATLAB® 无缝集成到控制系统中。

预测性维护是提高设备综合效率(OEE)最重要的因素之一。Mathworks® 公司推出的 Predictive Maintenance ToolboxTM 非常适合用于开发状态指示器和进行预测。将预测性维护工具箱中的算法整合到 PLC 中使得同步访问所有相关的设备数据成为可能。设计的状态指示器并不是一个单独的黑盒子,而是透明地集成在控制系统中,便于其他功能模块的访问或作其他功能的扩展。

MATLAB® 中的机器学习功能与 TwinCAT 3 相结合,呈现出巨大的优势:分类器在控制系统中直接同步进行产品测试或检测系统故障。回归算法执行虚拟传感器,根据情况设置系统参数,或直接嵌入到控制环路中进行模型预测控制。这些算法的训练无需 TwinCAT 实时环境,并且可以在设备运行期间即时修改,设备无需停机。

测试测量技术集成在设备控制系统中可以降低测试系统的复杂性和成本,简化开发设计工作,同时能够加快测试过程。倍福的 I/O 产品系列为实现控制提供原始数据。这些数据既可以直接保存在数据库中用于进行文档记录,也可以在实时环境中进行(预)处理。大量的 MATLAB® 信号处理算法,以及用于硬件在环测试的集成式仿真模型,为实现性能强大的、现代化的、集成式测试系统奠定了坚实的基础。

有了 TwinCAT 3 Target for Simulink®,就可以在 TwinCAT 3 中使用在 Simulink® 中开发的模型。诸如 SimScape™ 或 Stateflow™ 或 DSP System Toolbox™ 等各种工具箱都可以集成在 Simulink® 中。它也可以支持嵌入式 MATLAB® 功能模块。这些模型使用 Simulink Coder™ 自动转换为 C/C++ 代码,并通过 TwinCAT 3 Target for Simulink® 转换为 TwinCAT 对象。由 Simulink® 创建的 TwinCAT 对象具有与其它 TwinCAT 对象相同的接口和属性。它们可以在 TwinCAT 3 开发环境中得到充分应用,例如,可以将这些对象添加到工程项目中连同 PLC 代码以及现场总线模块组成一个可以调试的完整项目。在 TwinCAT 开发环境中可以看到完整的 Simulink® 框图。除了支持 Simulink® 外部模式外,嵌入在开发环境中的模型框图也可以用作参数调整、调试、信号和状态监测的控件。自动生成的模块既可以作为 TcCOM 对象,也可以作为 PLC 功能块集成到 TwinCAT 解决方案中。集成式模块的作用通过 TwinCAT 3 Runtime 中完整的 TwinCAT 项目被淡化,并且可以在实时环境中像所有其它对象一样被执行。

TwinCAT 对象可以被分配给实时环境中不同的 CPU 核。这就意味着,即便是大型项目,也可以很容易地对其进行扩展,例如仿真整个风力发电场。如果个别对象对运算速度有要求,也可以将代码放在多个核上并行处理。这样,只需一个工具即可全面支持从简单的控制器到完整的设备控制和实时仿真等所有的应用。

在 MATLAB® 或 Simulink® 中创建的分析和仿真程序可以通过 TE1410 TwinCAT 3 Interface for MATLAB®/Simulink® 与 TwinCAT Runtime 环境之间建立高性能的通信连接。MATLAB® 函数或 Simulink® 模型在各自的进程中运行,这些进程可以与 TwinCAT Runtime 双向交换数据。通过 TF6701 TwinCAT 3 IoT Communication,通信功能也可以迁移到 ThingSpeak™ 物联网平台上。

TwinCAT 3 Interface for MATLAB®/Simulink® 能够实现 MATLAB® 与 TwinCAT Runtime 之间以及 Simulink® 与 TwinCAT Runtime 之间的数据交换。

Simulink® 与 TwinCAT 之间的数据通信:对于 Simulink® 而言,Simulink® 库提供了可以在 Simulink® 项目中简单集成和配置的 ADS 客户端模块。因此,在 Simulink® 环境中工作时,可以将数据写入 TwinCAT Runtime,或从中读取数据。在 Simulink® 中使用 ADS 模块的其中一个应用实例便是软件在环仿真,其中,在 TwinCAT Runtime 中执行的调试或控制算法与在 Simulink® 中执行的模型相连。在这种应用场景中,TwinCAT Runtime 可以接受来自Simulink® 的外部标记来计算下一个周期,从而让 Simulink® 与 TwinCAT 能够同步工作。

MATLAB® TwinCAT 之间的数据通信:为 MATLAB® 提供了一个可在脚本环境中使用的 ADS 端口对象。该对象为 MATLAB® 和 TwinCAT Runtime 之间的数据交换提供了各种方法。除了 MATLAB® 中的 ADS 客户端,即 MATLAB® 环境启动数据交换之外,还可以使用 MATLAB® 中的 ADS 服务器。后者提供了在 MATLAB® 环境中编写 MATLAB® 函数并通过 ADS 命令从 TwinCAT 调用这些函数的选项。在 MATLAB® 中使用 ADS 客户端的其中一个应用实例是基于 MATLAB® 应用程序创建图形化的用户和监控界面。例如,ADS 服务器可用于执行非实时任务,如预测性维护系统的组件或参数优化。MATLAB® CompilerTM 可用于在现场执行作为独立应用程序而创建的程序,例如,运行在边缘控制器上或直接运行在工业 PC 上。

设备和系统日复一日的运行,会产生越来越多的数据。设备和智能模块互联,构成(工业)物联网,它是实现智能制造的基础。智能制造旨在将这些海量数据转化为有价值的信息并构建强大的竞争优势和经济效率优势。只有当数据不仅被简化为基本信息并进行分析,而且以有意义、及时且安全的方式在不同的设备和系统之间传输时,才能成功实现智能制造。

MathWorks® 公司提供的 ThingSpeakTM 可以与 MATLAB® 及其扩展工具箱强大的数据处理、分析和可视化功能相结合,提供安全的数据交换平台,推进数据增值服务。

TwinCAT 3 IoT Communication 提供通过消息队列遥测传输协议 (MQTT) 发送和接收数据的基本功能,这些功能以 PLC 库的形式存在。使用 PLC 库的功能块可在 TwinCAT 和 ThinkSpeakTM 物联网平台之间建立双向数据连接。将联网功能直接固定在设备控制器中,从而将其视为设备的一部分,在从传感器传输至云端的数据流应用中提供了极大的灵活性。

通过 TwinCAT 3 实现的 MATLAB® 和 Simulink® 客户应用

拖车运输视频:MATLAB®/Simulink® 客户应用
拖车运输视频:MATLAB®/Simulink® 客户应用
SKF 主轴承上的风力发电机重型轴承试验台
SKF 主轴承上的风力发电机重型轴承试验台

用于风力发电机主轴承重型轴承试验台的测试系统

利用领先的自动化技术,直径达 6 米的风力发电机可以在全球性能最强大的重型轴承试验台上测试 SKF 主轴承。复杂的控制系统在 MATLAB®/Simulink® 中开发和测试,无需对控制器重新进行编程。试验台是一款定制产品,即不能在样机上测试控制性能。由于在测试控制(快速控制原型技术)系统中,在 MATLAB®/Simulink® 中开发的控制器能够自动生成和集成代码,再加上能够对基于设备模型的控制器进行虚拟调试,因此我们能够很好地应对这一挑战。

这样可以减少调试过程中由于故障造成的风险,缩短调试时间并降低成本。

IRO AB 和 Vintecc bv 的成功案例 — Zero Twist Feeder(视频)
IRO AB 和 Vintecc bv 的成功案例 — Zero Twist Feeder(视频)

使用 Zero Twist Feeder 织物送料机生产纱线和纤维

Zero Twist Feeder 无需旋转即可将纱线送入织机。织机高速运转,以极不规则的时间间隔拉动线轴。缓冲机械手臂用于保持线轴和夹持器之间的平衡。缓冲机械手臂以最佳引纬速度向织机送入所需的确切数量的纱线。生产期间的进料速度最高可以达到 850 米/分钟。在织造碳纤维、玻璃纤维或塑料条时,在这种高速度下可能会出现纱线缠结在一起的问题。

这个问题可以通过首先创建一个设备数字双胞胎来解决。所有软件的编程工作都在 Simulink® 中完成。模型被分为几个局部模型,分别代表机械工程的一个方面。IRO 公司在瑞典实际硬件上测试算法之前,Vintecc 在比利时进行了广泛的虚拟仿真,以确保设备按照设计运行。

Simulink® 通过 TwinCAT 3 Target 与倍福的 TwinCAT 技术相结合,在此应用中具有很大的优势,因为它不需要 PLC 代码。模型可以直接集成到 TwinCAT 中。可以立即迁移对模型、TwinCAT 或硬件中的参数进行的修改。

Magway 成功案例(视频)
Magway 成功案例(视频)

Magway 输送系统尽可能降低算法的复杂性

Magway 使用 MATLAB® 和 Simulink® 实施了对直线同步电机的无编码器控制方案,通过地下管道实现自主、可持续的包裹输送。

使用 TwinCAT Target for Simulink® 控制算法可以直接在工业平台上,以更少的组件、更高的系统可用性和更短的开发周期采用分布式方式实现。这样可以通过在环调试缩短开发时间。IP 核在 MATLAB® 和 Simulink® 中开发。Magway 直接使用该软件来代替不便捷的端口,总是有合适的工具来完成合适的工作。

金风科技股份有限公司的风力发电机组
金风科技股份有限公司的风力发电机组

用于 6 兆瓦海上风力发电机组的控制软件

海上风力发电机组必须具有可用性高和维护要求低的特点。设备的运行必须是可预测的,并且始终能够可靠控制。人们也几乎不可能在真实条件下测试具有高敏感度的控制软件。

通过使用 Simulink® 和 TwinCAT 基于模型的设计方案可以开发、测试和验证系统的每个功能,同时还可以更快、更经济地开发安全可靠的控制软件。由于在基于模型的设计过程中,Target for Simulink® 的轻松集成确保了在工业平台上高效地生成和测试生产性代码。此外,MATLAB®/Simulink® 接口的通信能力为在倍福控制器上实施代码后进行全面的软件在环测试提供了所有所需的工具。

同时,TE1400 和 TE1410 功能组件不仅能够使得在 Simulink® 中设计的主控软件能够成功应用于 6 兆瓦的样机,而且还能够成功应用于样机开发成功之后的批量生产。

Simutopia 是一家专门从事基于模型设计的软件服务及工程咨询公司。Simutopia 拥有丰富的设备建模经验,这些模型可以用于设计分析、控制部署、实时仿真以及测试。公司拥有的专业知识可以与 MathWorks® 以及倍福强大的软件工具相结合,在 TwinCAT 平台上快速布署和迭代高级控制算法。Simutopia 是Beckhoff Integrator Group(BIG)成员之一。

公司可以开发各种机器人系统控制算法,包括机器人运动学和动力学建模。视机器人拓扑结构和自由度不同,这些模型可能相当复杂。为了向客户提供高效、经济的解决方案,Simutopia 在 MATLAB® 中开发了一款被称为 NewtonsLab 的应用程序,以便使用 SimscapeTM 和 MultibodyTM 轻松建模。TwinCAT 3 Target for MATLAB® 和 TwinCAT 3 Target for Simulink® 用于在 TwinCAT 上自动布署这些模型,以便直接从 NewtonsLab 进行实时控制。此外,TwinCAT Interface for MATLAB®/Simulink® 可以通过 ADS 在 TwinCAT 与 NewtonsLab 之间实时传输数据。这样可以快速修改控制器参数,并通过比较虚拟机器和基于相同输入的真实硬件的性能验证 TwinCAT 上布署的代码,这对于快速建立模型和测试控制算法有非常大的帮助。

如果您也有类似的应用实例和关于在TwinCAT软件环境中集成MATLAB® 和Simulink® 项目的问题,请联系您当地的销售代表。

产品

TE1400 | TwinCAT 3 Target for Simulink®

TE1400 | TwinCAT 3 Target for Simulink®

TwinCAT 3 Target for Simulink® provides an interface between Simulink® and TwinCAT. The Simulink® software is developed and distributed by the MathWorks company. The programming environment is based on MATLAB® and is widely used both in science and in industry. Simulink® is a graphic programming environment that is ideally suited to the model-based development process. Simulation models of systems can be created and, for example, control and feedback control algorithms in order to test the models created.

TE1401 | TwinCAT 3 Target for MATLAB®

TE1401 | TwinCAT 3 Target for MATLAB®

TwinCAT 3 Target for MATLAB® provides an interface between MATLAB® and TwinCAT. MATLAB®, the language of technical computing, is developed and distributed by the MathWorks company. The programming environment is widely used both in science and in industry. MATLAB® is a script language that is ideally suited for the development of algorithms and mathematical models.

TE1410 | TwinCAT 3 Interface for MATLAB®/Simulink®

TE1410 | TwinCAT 3 Interface for MATLAB®/Simulink®

MATLAB® and Simulink® are developed and distributed by the MathWorks company. The two programming environments are widely used both in science and in industry. Simulink® is a graphic programming environment that is ideally suited to the model-based development process. MATLAB® is a script language for the development of algorithms and mathematical models.

TF6701 | TwinCAT 3 IoT Communication (MQTT)

TF6701 | TwinCAT 3 IoT Communication (MQTT)

TwinCAT 3 IoT Communication provides basic functionalities in the form of PLC libraries for sending and receiving data via the so-called MQ Telemetry Transport (MQTT) protocol.