MWORKS API与工业应用开发 课件 第4章 基于系统建模仿真的工业APP-1_第1页
MWORKS API与工业应用开发 课件 第4章 基于系统建模仿真的工业APP-1_第2页
MWORKS API与工业应用开发 课件 第4章 基于系统建模仿真的工业APP-1_第3页
MWORKS API与工业应用开发 课件 第4章 基于系统建模仿真的工业APP-1_第4页
MWORKS API与工业应用开发 课件 第4章 基于系统建模仿真的工业APP-1_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章基于系统建模仿真的工业APP2024.04MWORKSAPI与工业应用开发基于系统建模仿真的工业APP01主要内容CONTENTS02系统建模仿真类工业APP的开发模式及关键点质量弹簧阻尼APP开发实践03基于系统建模仿真的工业APP01概述系统建模仿真是一种广泛用于工程、科学、医疗、经济等领域的方法,用于模拟和分析复杂系统的行为和性能。系统建模仿真的基本概念有系统模型、仿真、可视化建模、参数和输入等系统模型:在系统建模仿真中,系统的行为被抽象为一个数学模型。这个模型包括了系统的组成部分、它们之间的相互作用、输入和输出。模型通常使用数学方程、图表、状态图或其他形式来表示。概述系统建模仿真是一种广泛用于工程、科学、医疗、经济等领域的方法,用于模拟和分析复杂系统的行为和性能。系统建模仿真的基本概念有系统模型、仿真、可视化建模、参数和输入等仿真:仿真是通过运行系统模型来模拟系统的行为。这意味着在虚拟环境中模拟系统的运行,以观察系统在不同条件下的响应。仿真可以是离散事件仿真(如排队系统)或连续仿真(如物理系统的运动)。概述系统建模仿真是一种广泛用于工程、科学、医疗、经济等领域的方法,用于模拟和分析复杂系统的行为和性能。系统建模仿真的基本概念有系统模型、仿真、可视化建模、参数和输入等可视化建模:系统建模仿真通常使用可视化建模工具,这些工具允许用户创建系统模型,而无须编写复杂的数学方程。这有助于工程师和决策者更容易地理解系统的行为。概述系统建模仿真是一种广泛用于工程、科学、医疗、经济等领域的方法,用于模拟和分析复杂系统的行为和性能。系统建模仿真的基本概念有系统模型、仿真、可视化建模、参数和输入等参数和输入:在仿真中,您可以改变系统的参数和输入,以了解系统在不同条件下的性能。这有助于进行故障排除、优化和决策制定。概述系统建模仿真是一种强大的手段,用于理解和分析复杂系统,支持方案制定、性能评估和问题解决。它在各种领域中发挥着重要作用,并有助于提高效率、降低成本和减少风险。基于系统建模仿真的工业APP基于系统建模仿真的工业APP是指结合系统仿真和APP技术,针对某一个特定领域或者特定问题提供定制化的解决工具。比如,针对四驱的新能源车提供设计软件,能够在输入一些关键参数下,计算车辆的关键指标。基于系统建模仿真的工业APP特点:一是使用系统建模语言Modelica进行系统模型构建,传统的工业APP开发模式中业务相关的原理部分一般使用C++、Java等软件编程语言来编写。二是使用APP理念开发定制化的、专用化的应用软件。技术特点和优势传统的工业APP构建方式:一是工程师提供原理,开发人员实现另一种模式是工程师学习编程知识,然后自行进行工业APP开发基于系统建模仿真APP构建方式:工程师使用建模语言(例如Modelica)来开发与业务相关的系统模型开发人员则通过调用系统建模仿真软件来执行模型的仿真计算技术特点和优势质量弹簧APP:将一个弹簧一端固定在墙上,另外一端连接一个质量块,质量块跟地面和空气的摩擦力统一抽象为一个阻尼系数,然后质量块施加一个力,观察质量块的速度、位移。可以快速修改质量块的质量、弹簧的刚度、阻尼系数等参数,能够快速得到质量块的速度、位移等信息质量弹簧阻尼系统原理技术特点和优势质量弹簧阻尼系统Modelica模型Sysplorer.SDKSysplorer.SDK(SoftwareDevelopmentKit):指Sysplorer内核层和平台层对外提供的应用开发工具包,是一系列程序接口、帮助文档、开发范例、实用工具的集合。特点和优势:可扩展性和可重用性稳定的仿真内核产业应用广泛应用示例系统建模仿真的应用场景:汽车制造:在汽车制造过程中,可以使用系统建模仿真技术对生产线进行优化,降低生产成本,提高生产效率和产品质量。例如,可以使用仿真技术来模拟装配流程、零部件的运输和存储等,以优化生产线的布局和流程,提高装配效率和质量。物流管理:在物流管理领域,可以使用系统建模仿真技术来优化物流网络,减少物流成本,并提高物流服务水平。例如,可以使用仿真技术来模拟物流网络的运行,以了解运输量、运输时间、库存等数据,从而优化物流网络的设计和运营策略。应用示例系统建模仿真的应用场景:电力系统:在电力系统中,可以使用系统建模仿真技术对电网进行建模和仿真,以预测电网的稳定性和安全性。例如,可以使用仿真技术来模拟电力系统的运行状态,以预测电网的故障和安全风险,并提出优化建议,以提高电网的稳定性和安全性。石油化工:在石油化工领域,可以使用系统建模仿真技术对生产过程进行建模和仿真,以优化生产过程并提高产品质量。例如,可以使用仿真技术来模拟化工过程的运行状态,以优化反应器的操作条件,提高反应器的效率和产品质量。应用示例系统建模仿真的应用场景:医疗领域:在医疗领域,可以使用系统建模仿真技术对医疗服务进行建模和仿真,以提高医疗服务的质量和效率。例如,可以使用仿真技术来模拟医疗服务的流程和排队等待时间,以优化医疗服务的流程,提高患者的满意度和医疗服务的效率。应用示例基于系统建模仿真的工业APP开发技术的应用场景:制造业生产线优化:通过建模和仿真工具,制造业可以优化生产线,包括流程、资源和工人,以提高生产效率;质量改进:建模仿真可用于模拟不同质量控制策略,以改进产品质量库存管理:仿真可以帮助制造商确定最佳库存水平,以减少库存成本和避免过量库存航空和航天飞行仿真:用于模拟飞行操作,培训飞行员和评估飞机性能。航天任务规划:建模仿真工具可以帮助规划和优化太空任务,包括轨道设计和飞行路径规划。应用示例基于系统建模仿真的工业APP开发技术的应用场景:船舶和海运船舶航行仿真:用于模拟船舶航行,改进导航和航线规划。船舶动力系统优化:通过仿真来优化船舶动力系统,以提高燃油效率。汽车制造:生产线仿真:用于模拟汽车生产线的运作,以改进流程和资源分配。车辆碰撞仿真:用于评估汽车碰撞的安全性,改善车辆设计。应用示例基于系统建模仿真的工业APP开发技术的应用场景:物流和供应链:供应链优化:建模仿真可用于模拟整个供应链,以改进库存管理和运输策略。物流网络设计:帮助设计物流网络,确定最佳分销中心和运输路径。医疗设备制造:医疗设备仿真:用于模拟医疗设备的性能和功能,改进设计和维护。医院流程优化:仿真可用于优化医院流程,提高病人护理效率。应用示例工业APP案例:车辆设计验证工业APP:应用示例工业APP案例:频率扫动工业APP:应用示例工业APP案例:模型试验设计工具箱工业APP:系统建模仿真类工业APP的开发模式及关键点02APP运行架构Sysplorer.SDK提供了多种模型相关操作API,并提供相关Qt图形界面供用户使用,用户利用C++/Qt图形应用开发平台来开发APP,可实现一个带界面交互操作的、专业设计的仿真类型APP。APP运行架构APP层:负责开发GUI图形用户界面和APP的业务逻辑。用户可以使用主流的图形应用开发平台(PyQt、C++/Qt、JavaScript等)来开发APP,并通过使用APPSDK来实现与Syslab平台集成和通信。APP运行架构APPSDK层:负责提供模型文件、参数操作、属性获取、元素及属性判定、属性查找、编译仿真、结果数据查询、图形组件类和系统配置共9类API供用户完成仿真操作等一系列专业仿真APP。APP运行架构Sysplorer层:若将APP编译成exe类型,则可直接独立运行,若将APP编译成dll类型,并在插件中增加该工具,可依赖Sysplorer环境进行使用和打开。APP生命周期需求分析:这一阶段旨在理解用户的需求和期望,确定软件系统的功能和特性。开发团队与用户和利益相关者进行沟通,收集和分析需求,以便明确软件开发的目标和范围。在进行工业APP需求分析过程中,工业APP的开发过程通常需要更深入的领域专业知识,以满足工业领域的特殊需求。因此,需求分析阶段需要更多与行业专家的合作,以确保APP满足专业性要求。APP生命周期方案设计:在这个阶段,根据需求分析的结果,设计软件系统的架构和各个组件之间的关系。这包括制定APP的结构、模块划分、数据库设计、用户界面设计等。这个设计过程中,因为工业APP要求简洁、易用,所以用户界面需要简洁易用,以满足操作员和工程师的需求。界面设计需要更多关注于用户友好性,以确保用户可以高效操作。因为需要调用Sysplorer的API,所以在进行架构时需要分层次、分模块。APP生命周期技术选型:对开发、测试等后续步骤进行技术选择,主要包括建模语言、开发语言、开发工具、测试框架等技术的选择,在建模时对工业知识进行抽象形成模型,这里需要考虑使用合适的建模语言,如通信、信息、数据拟合等偏向信息领域可以选择Julia,如汽车发动机的设计仿真、直升机起落架的设计仿真、核电厂蒸汽发生器等偏向系统建模的可以选择Modelica。针对基于系统建模的工业APP开发,在选择编程语言时建议使用C++和Qt来进行界面开发,开发工具一般使用MicrosoftVisualStudio2017,也可以使用QtCreater。APP生命周期开发实现:在这一阶段,开发团队根据设计阶段的规划开始编写代码。开发人员使用选定的编程语言和工具,实现系统的各个功能模块,并进行单元测试。在开发实践中用户可采用C++语言,QT框架进行界面设计,调用Sysplorer.SDK实现功能。较一般的软件开发实现,工业APP的开发需要增加系统建模仿真环节,即使用Sysplorer软件构建对应的系统模型,比如开发车辆设计APP,在此步骤中就需要开发对应的车辆模型。APP生命周期测试验证:在这个阶段,对开发的软件进行系统测试和验证,以确保其功能的正确性和质量。包括单元测试、集成测试、系统测试和验收测试等。应用改进:在软件开发完成并通过测试后,将其部署到目标环境中,以供最终用户使用。这包括安装、配置、培训用户等活动。应用过程中用户会逐步提出改进建议,开发人员再从软件的易用性、稳定性等方面对工业APP进行迭代升级与优化。APP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(1)SDK安装APP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(2)SDK目录介绍APP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(3)SDK开发环境目前Sysplorer.SDK仅支持Windows操作系统,支持Win7、Win10和Win11;由于Sysplorer是由VS2017编译出来的库,所以建议使用VS2017作为IDE。对应界面开发,推荐使用与Sysplorer.SDK保持一致,都使用Qt。类型环境操作系统Win7SP1及以上版本QtQt5.14.2x86或x64版本IDEMicrosoftVisualStudio2017(简称VS2017)IDE插件VS2017的Qt开发插件APP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(4)新建工程APP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(5)输出目录配置输出目录配置如图所示,将输出目录配置到安装的SDK路径的bin目录:$(MWBin)$(Configuration)将MWBin替换为实际SDK对应路径:SDK安装路径\bin\win_msvc2017x64APP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(6)附加包含目录配置附加包含目录配置如图所示,包含目录添加SDK的include与interface目录:.\GeneratedFiles.$(QTDIR)\include.\GeneratedFiles\$(ConfigurationName)$(QTDIR)\include\QtCore$(QTDIR)\include\QtGui$(QTDIR)\include\QtWidgets$(MWInclude)$(MWInclude)\boost161$(MWInterface)$(MWInterface)\modelica_services$(MWInterface)\common_kitsMWInclude——SDK安装路径/includeMWInterface——SDK安装路径/interfaceAPP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(6)附加包含目录配置APP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(6)附加包含目录配置APP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(7)链接库依赖项配置链接库依赖项配置如下图所示,依赖库目录添加SDK的bin\lib与文件输出目录$(OutDir)$(QTDIR)\lib$(MWBin)\libAPP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(7)链接库依赖项配置APP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(7)链接库依赖项配置APP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(8)附加依赖项配置Debug下的附加依赖项设置为:qtmaind.libQt5Cored.libQt5Guid.libQt5Widgetsd.libmw_develop_d.libmodelica_compiler_d.libmw_graphics_view_d.libmw_class_manager_d.libmw_global_d.libmw_help_d.libmw_sim_inst_d.libmw_sim_plot_d.libmodel_var_tree_d.libmw_develop_d.libAPP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(8)附加依赖项配置附加依赖项配置如下图所示,Release下的附件依赖项设置为:qtmain.libQt5Core.libQt5Gui.libQt5Widgets.libmw_develop.libmodelica_compiler.libmw_graphics_view.libmw_class_manager.libmw_global.libmw_help.libmw_sim_inst.libmw_sim_plot.libmodel_var_tree.libmw_develop.libAPP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(8)附加依赖项配置APP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。APP开发环境部署:(8)附加依赖项配置APP开发流程APP的开发流程包括系统模型构建开发环境的部署、系统模型构建、APP开发、APP测试、APP打包、APP安装、APP使用。系统模型构建:针对系统模型构建环节,需要用户在Sysplorer软件中进行模型开发APP开发流程模型库的开发流程:在系统建模仿真环境中开发模型库的基本流程一般需要以下步骤:模型库架构:为模型库创建package,用于存放模块;开发模块:逐个创建模块,并选择合适的方式开发模块,具体的模块开发方式在下文展开说明;测试模块:创建测试模型,用于测试模块和演示模块用法APP开发流程模型库的组织:模型库用Modelica

的package组织,package中可以包含常数和类的定义,包括各种特殊类、函数、subpackage。package可以用操作系统中的文件系统或数据库层次结构来表示。这样的外部实体按特性可分为两类:结构化实体,例如文件系统中的目录非结构化实体,例如文件系统中的文件APP开发流程模型库的组织:如图,一个简单的Modelica

包示例,展示了结构化和非结构化两种形式的结构映射关系:APP开发流程模块的分类:模块是构建系统的主要元素,在Modelica

中用class表示模块。为了实现不同的用途,class又细分为多种特殊种类,在class基础上做了限制或增强。从是否包含状态行为角度划分,可以将Modelica

所有特殊类归纳为如图所示的三个大类。APP开发流程模块的分类:方程类中包含时间连续、离散的变量和方程、算法,类中行为用于陈述变量之间的关系,适用于构建物理系统;函数类中包含输入、输出变量和算法,用于描述通过输入计算输出的过程,适用于构建信息系统;其他类是Modelica

语言中的概念,采用外部语言构建系统模块时无须考虑。APP开发流程模块的构建方式:模型库中的模块可以在系统建模仿真环境中采用Modelica

语言开发,也可以通过集成Syslab

环境中的Julia语言构建,还可以采用Python、C/C++等其他语言构建。在系统建模语境下,Modelica

语言之外的语言统称为外部语言。开发语言信息系统(不含时间和事件)物理系统(包含时间或事件)Modelica用function表示包含输入和输出参数,可以将function封装成block用于图形化连接用class、model或block表示包含时间和事件的连续、离散或连续离散混合状态行为的模块外部语言SyslabFunction机制,支持将外部语言封装成Modelica中的function模块。该机制是基于Modelica外部函数实现,已支持Julia、Python和C/C++,可持续扩展到其他语言。SyslabFMI机制,支持将外部语言开发的物理系统封装为Modelica中的物理模块。该机制基于FMI规范和Modelica外部函数实现,目前已支持Julia、Python和C/C++。APP开发流程模块的构建方式:构建模块时要考虑以下问题:是否为物理系统建模,即系统中是否包含时间或事件?是否已存在部分模型实现,或者模块开发者更熟悉哪种语言?Modelica

语言是开发模块的原生方式,用model或block表示包含状态行为的模块,用function表示算法模块。在Modelica

中,所有的事物都是class,它由类名字、成员声明和方程/算法组成。model和block都是特殊的class,他们都可以用来表示模块APP开发流程模块的构建方式:个典型的Modelica

类:classClassNameDeclaration1Declaration2...equationequation1equation2...endClassName;以上示例中,equation之前的是模块的组成部分,equation后是模块的行为部分APP开发流程APP开发:用户可以使用多种语言结合Qt进行界面图形开发App,App开发过程包括:集成Sysplorer.SDK、开发GUI界面、开发底层业务逻辑、调用SDK接口等步骤,具体的步骤根据不同的开发人员可能不同。APP开发流程APP测试:App测试可在开发过程中依赖编译器进行调试,开发完成后可进行系统整体软件测试,最后也可集成到Sysplorer软件中进行集成测试。APP开发流程APP打包:APP打包即遵循具体APP开发环境的要求,打包好的APP程序需独立可运行,不需再另外安装软件或执行其他的操作。APP打包也分为仅打包APP、整个软件打包、插件打包。(1)仅打包APP(不带运行环境)将APP生成的exe和自行编译所依赖的dll集中放在一个文件夹下,即可完成APP打包,将该文件夹下的内容复制到任意版本对应的SDK的Release路径下能够正常运行该exe。APP开发流程APP打包:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论