彩票走势图

使用Qt Design Studio和Simulink开发基于模型的人机界面

翻译|使用教程|编辑:鲍佳佳|2020-10-21 15:40:25.807|阅读 1714 次

概述:Simulink是为设计控制、无线和其他动态系统的工程师和科学家设计的多域建模和仿真环境。它的主要界面是一个图形编辑器,用于对系统的所有组件进行建模,以及一组可定制的用于建模算法和物理系统的预构建块。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

Qt是一个跨平台框架,通常用作图形工具包,它不仅创建CLI应用程序中非常有用。而且它也可以在三种主要的台式机操作系统以及移动操作系统(如Symbian,Nokia Belle,Meego Harmattan,MeeGo或BB10)以及嵌入式设备,Android(Necessitas)和iOS的端口上运行。现在我们为你提供了免费的试用版。赶快点击下载Qt最新试用版>>

点击获取更多文章教程

Qtitan组件集

  • QtitanRibbon| 下载试用: 遵循Microsoft Ribbon UI Paradigm for Qt技术的Ribbon UI组件,致力于为Windows、Linux和Mac OS X提供功能完整的Ribbon组件。
  • QtitanChart | 下载试用 : 是一个C ++库,代表一组控件,这些控件使您可以快速地为应用程序提供漂亮而丰富的图表。并且支持所有主要的桌面操作系统。
  • QtitanDataGrid| 下载试用 : 适用于Qt的商业化DataGrid 组件,使得表格数据可以直接面向终端用户完全集成了QtDesigner,极易适应其他相似开发环境,保证100%兼容Qt GUI。

“在传统的设计过程中,设计信息的传递和处理通常是以文本文档的形式进行的,这些文档很难理解,容易产生解释偏差。工程师从基于文本的文档中手动创建嵌入式代码和数据,这导致了一个耗时且容易出错的过程。也几乎没有范围来确保更改是否正确实现。

市场要求嵌入式产品具有高度可定制性,终身可维护性,可回收性,可拆卸且无法拆卸的特点不再遵循任何传统的设计过程模型。

对于嵌入式控制和算法设计人员而言,重点是建模,建模一直是设计过程中必不可少的部分。基于模型的设计是嵌入式系统开发中的一个显着变化。在这种情况下,当有效地使用MBD时,它将提供一个设计平台来优化整体系统设计。它可以帮助嵌入式软件开发人员了解模拟器和软件开发工具之间的区别,以便创建仿真模型并在编写嵌入式代码之前检查算法是否可以正常工作。通过虚拟原型,系统工程师可以轻松地查看整个系统(机械,电气和嵌入式软件)是否可以按预期工作,甚至在制造硬件并进行测试之前也可以。” [1]。

什么是Simulink?

Simulink®是为设计控制、无线和其他动态系统的工程师和科学家设计的多域建模和仿真环境(图1)。它的主要界面是一个图形编辑器,用于对系统的所有组件进行建模,以及一组可定制的用于建模算法和物理系统的预构建块。

为系统构建Simulink模型包括选择适当的模块,然后以实现所需功能的方式将它们连接在一起。通过将块从Simulink库拖放到模型构建阶段中的所需位置来进行添加块。此外,可以将一组相连的块封装为一个组件,该组件提供了一个抽象层,可以简化创建复杂模型的过程。

图1:Simulink

Qt Design Studio 1.6

新的Qt Design Studio 1.6版本 具有内置的Simulink通信功能。使用Simulink创建的仿真模型可以与使用Qt Design Studio开发的QML应用程序进行交互。数据可以在两个参与方之间双向流动。这样可以将数据(Simulink模型)与其可视表示形式(QML应用程序)完全分开。此新功能可供我们的商业用户使用,并且仍处于试验阶段。到目前为止,仅支持Windows,并且Simulink Qt块集可与MATLAB版本2019b一起使用。在下一发行版中,我们将支持从2015b版本到最新版本的所有MATLAB版本。此外,我们将根据用户反馈改善可用性和功能。

将Simulink与Qt Design Studio结合使用的强大功能来自关注点的巧妙分离。视觉艺术家在Qt Design Studio中构建UI时,工程师可以在Simulink中构建仿真模型,而他们之间没有任何重叠的工作。Simulink模型与QML应用程序之间的集成然后通过每边的一些简单步骤进行,如下面进一步详细讨论的。

Simulink Qt块集

为了将Simulink模型连接到Qt / Qt Design Studio应用,需要Simulink Qt模块集。Qt块集安装程序添加了建立与QML应用程序的连接所需的Simulink块。到目前为止,安装程序仅支持MATLAB版本R2019b。安装后,“ SLQTLibrary”块集将添加到Simulink块库中。这些块允许通过QML应用发送和接收属性,Qt信号和插槽,更新。Qt块集包含5个直观易用的Qt块(图2)。基于QML的应用程序有一个发送块和一个接收数据块。

图2:Simulink Qt块集

Simulink – Qt Design Studio集成

将Simulink模型与QML应用程序集成在一起是一个简单的过程。首先让我们看一下Simulink方面。图3演示了将Simulink模型(图3中的子系统)与QML应用程序连接的典型设置。首先,需要一个Simulink-Qt CLIENT模块。它使用客户端块的服务器IP地址(QML应用程序的机器IP地址)和端口作为输入。对于Simulink模型和QML应用程序在同一台机器上的仿真,应使用IP地址“ 127.0.0.1”和任何可用端口。Qt / QML SEND块用于需要从Simulink端发送到QML端的每个属性。同样,Qt / QML RECEIVE块用于需要从QML端到Simulink端接收的每个属性。必须为每个发送和接收块分配一个属性名称,该属性名称应对应于QML应用程序中的属性或插槽的名称。

图3:Simulink模型上的典型设置,用于通过QML应用程序发送和接收数据


在Qt Design Studio方面,设置包括两个简单步骤:

  • 通过QML导入窗口添加SimulinkConnector QML导入(图4)。如果需要更改IP和/或端口,则需要在导航器中选择SLConnector,然后在属性面板中设置IP和/或端口。由于SLConnector是非可视项,因此您需要先单击Navigator标题上的过滤器图标,然后取消选中“仅显示可见项”。之后,您可以在导航器的层次结构中看到SLConnector。
  • 在主QML文件的根目录上创建与Simulink端的发送和接收块匹配的自定义属性(图5)。
图4:SimulinkConnector导入
root_props
图5:根对象上的QML属性

现在,Qt应用程序已准备好使用simulink模型发送和接收数据。剩下的就是将创建的根属性绑定到所需的QML对象属性。

那么在设备上进行测试呢?

Simulink可以使用MATLAB的Embedded Coder将模型导出为C / C ++代码。嵌入式编码器生成快速且经过优化的代码,可在嵌入式处理器上高效运行。生成的代码可以与基于Qt Quick的HMI以及基于Qt Quick Ultralite的HMI集成在一起。

试一试!

您需要Qt Design Studio 1.6商业版本和带有Simulink的MATLAB 2019b来设置集成。如果您具有商业许可证,则应该能够从Qt帐户或在线安装程序访问最新版本。

感谢您的阅读,希望这篇文章能带给你一定的帮助!如果这篇文章没能满足你的需求、点击获取更多文章教程!现在立刻下载Qt6免费试用吧!更多Qt类开发工具QtitanRibbonQtitanChartQtitanNavigationQtitanDockingQtitanDataGrid在线订购现直降1000元,欢迎咨询慧都获取更多优惠>>


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP