1.fmuģ?模码?Դ??
2.FMI(功能模型接口)
3.科普:基于FMU模型的TSN交换机仿真
4.Python,EnergyPlus与DRL结合(二)初步认识
5.ODE求解器
6.TADynamics-车辆动力学模型库
fmuģ?型源?Դ??
达索系统收购了SCILAB,这一开源软件被认为在MATLAB时代近乎完美的模码替代品。SCILAB是型源一款与MATLAB类似的开源软件,能够实现MATLAB上所有基本功能,模码包括科学计算、型源快达校园源码数学建模、模码信号处理、型源决策优化、模码线性、型源非线性控制等。模码其语法与MATLAB非常接近,型源使得熟悉MATLAB编程的模码人能快速掌握SCILAB。SCILAB提供的型源语言转换函数能够自动将MATLAB语言编写的程序翻译为SCILAB语言。
SCILAB团队是模码达索系统的一部分,该团队由工程师和科学家组成,他们专注于SCILAB软件及其环境的开发。SCILAB支持在Linux、Windows和Mac OS等全PC平台上运行。SCILAB拥有超过万的用户,它以矩阵作为主要数据类型,具备丰富的绘图功能,可以处理包括信号处理、统计分析、图像增强、数值优化、动态系统仿真等方面的问题。它还包含众多延伸函式库,丰富了其功能。
自年中以来,SCILAB团队加入达索系统。达索系统是一个创新催化剂,为企业和人们提供协同虚拟环境,帮助企业实现可持续创新。达索系统的客户通过其3DEXPERIENCE平台和应用程序创造现实世界的“虚拟孪生体验”,推动了创新、学习和生产界限的突破。达索系统的2万多名员工为多个国家的3万多家不同规模的客户提供价值。
SCILAB覆盖数学、优化、统计学、信号和图像处理、控制系统、软件开发等多个应用领域。其开发和维护需要广泛的编程技能,从硬件理解到接口开发,这些技能涵盖多种编程语言,如C/C++、JAVA、Fortran。SCILAB的代码质量证明了其在编程方面的专业知识。
SCILAB的团队包括不同应用领域的专家,他们深入理解数值计算的核心原理,使用求解器和算法解决复杂的物理问题。SCILAB的核心基于线性代数库,但编程技能是不够的,还需要深入理解算法和求解方法。这些能力是dbnet源码历代计算科学和数学天才的动力。
达索系统负责CATIA战略的专家Guillaume在领英账号上提到,SCILAB将为3DEXPERIENCE平台上的CATIA和SIMULIA仿真解决方案提供额外的数据前/后处理功能。Guillaume还表示,SCILAB现在和将来都是免费和开源的,一支才华横溢的SCILAB专家团队加入达索系统的CATIA研发团队,由Vincent COUVERT领导,积极为SCILAB社区做出贡献。
SCILAB最初是由法国国立计算机及自动化研究院(INRIA)和法国国立桥梁学院(ENPC)开发的开放源码的科学计算自由软件。其名称来源于英文“Scientific Laboratory”(科学实验室)词头的合并。SCILAB拥有超过万的用户,提供包括数值求解、数据分析、建模、控制系统的分析与设计、信号处理等功能。
SCILAB的GUI界面与MATLAB类似,其主要部分是一个交互式控制台,允许用户输入命令并执行。SCILAB语言是一种交互性的数学脚本语言,其语法与MATLAB语言相似,以矩阵作为数据的基本组织形式。SCILAB还提供一个代码翻译器,可以将MATLAB源程序转换为SCILAB源程序。
SCILAB的Xcos工具箱与MATLAB中的Simulink类似,用于混合动态系统建模/仿真。用户可以自己编写扩展的工具模块,添加到SCILAB中,或者使用别人已编写好的扩展模块。SCILAB提供了一个模块管理器(ATOMS),方便用户搜索、安装和更新扩展模块。
SCILAB在数值分析、科学计算、数据可视化、绘图和图形功能方面提供强大的支持。它包括插值和回归、分化与整合、线性方程组、傅立叶分析、常微分方程(ODE)、矩阵计算(确定特征值和奇异值)等方法。SCILAB还提供图形功能来可视化、注释和导出数据,并支持多种绘图和图表类型,包括线条图、饼图、直方图、曲面图等。
SCILAB Algos是一种高级编程语言,用于科学编程,提供算法快速原型设计的功能,无需处理其他编程语言的复杂性。SCINOTES是一个文本编辑器,用于简单的脚本编辑,提供自动完成、自动缩进、代码导航器、phase源码语句执行可能性和管理多个实例等功能。Variables editor(变量编辑器)允许用户处理/编辑矩阵,并通过不同类型的绘图进行分析。
SCILAB支持与外部工具的数据交换,提供高级数据结构和用户定义的数据类型,支持matlab二进制文件读写,支持Excel链接。在算法开发方面,SCILAB拥有多个数学函数,用户无需掌握其开发环境,可以直接通过专用的图形用户界面(GUI)访问开发的应用程序。
SCILAB的应用程序开发涉及数据准备和数据管理、算法开发、图形用户界面等环节。数据管理方面,SCILAB提供与外部工具的数据交换工具,支持高级数据结构和用户定义的数据类型,支持matlab二进制文件读写,支持Excel链接。算法开发方面,SCILAB拥有多种数学函数,使用集成编辑器SCINOTES进行开发,最终用户可以直接访问开发的应用程序。
SCILAB在天气预报应用中提供实例,包括数据准备、算法开发、图形用户界面等步骤。Xcos提供类似于Simulink的功能,支持多域仿真和基于模型的设计。它支持系统级设计、仿真、自动代码生成以及嵌入式系统的连续测试和验证。
SCILAB的Atoms工具箱提供了丰富的功能,包括图像处理与计算机视觉、Scilab代码生成器、信号采集与仪器控制、用于模型交换和协同仿真的功能模型接口(FMI)等。SCILAB的IPCV工具箱包含解析几何、相机处理、深度学习、特征检测、过滤器设计和可视化等功能。除了IPCV外,SCILAB还有计算机视觉模块(scicv)、图像处理设计工具箱(IPD)等。
SCILAB与硬件生态系统交互,包括Labview网关、虚拟仪器软件架构、MicroDAQ工具箱。它与National Instruments合作,为市场上大多数设备供应商(如National Instruments、Agilent/HP等)的测量设备开发了通用接口,包括数字万用表(DMM)、示波器、任意波形/函数发生器、交直流电源、开关、xcarchive 源码功率计、频谱分析仪、射频信号发生器等。
SCILAB的Atoms工具箱中的FMI模块允许模型单元(FMU)不受许可限制,实现从少数模拟专家部署到更多合作伙伴的模型交换和协同仿真的功能。
FMI(功能模型接口)
FMI:动态仿真模型的桥梁 FMI(Functional Mock-up Interface),一个开放的行业标准,如同一座桥梁,连接着各种各样的仿真工具,使得动态模型的交换和重用变得无比便捷。FMU(Functional Mock-up Unit),作为FMI的核心载体,它的出现标志着模型的跨平台合作进入了新纪元。FMI支持两种关键模式——Model Exchange和Co-Simulation,让求解器在联合仿真中的角色更加灵活和高效。全球超过种工具,如Ansys CFX、MATLAB Simulink等,已深度集成FMI,实现了无缝对接。 直观易用的用户界面,是FMI的另一大亮点。无论是Dymola还是MapleSim这样的建模工具,如Dymola支持Modelica语言,都提供了用户友好的界面,帮助我们迅速理解FMU的工作原理。比如,打开Dymola的耦合离合器FMU,只需提供step2激励信号,你就能观察到J1至J4角速度的实时输出,无论是在Linux还是Windows 位系统上,一切操作都如行云流水。 Simulink的FMI应用同样引人注目。你可以通过FMIKit-Simulink GitHub获取相关工具,首先安装SIMULINK Coder add-on,并配置好FMIKit的路径。步骤如下:Simulink FMU的生成:在MATLAB中构建你的模型,设置固定步长求解器,并利用grtfmi.tlc系统目标文件进行编译,最终生成宝贵的fmu文件。
不仅如此,模型参数的灵活性是FMI的一大优势。例如,你可以调整方波的周期和占空比,这将直接影响仿真结果的精度和复杂性。
Windows版MATLAB FMU的再编译:如果需要在Windows上运行,你可能需要在Linux环境中借助FMPy对Windows导出的fmu文件进行二次编译,确保跨平台兼容。
FMU在Simulink中的无缝导入:无论是Dymola的模型,还是来自第三方的FMU,只需简单配置输出端口和模型设置,就能在Simulink中完美运行,实现不同工具间的协同工作。
当AB SIMULINK的FMU导入Simulink后,仿真示波器将呈现出一致的波形,这不仅是技术的融合,更是wigb源码模拟世界中的协同创新。FMI,无疑是推动仿真技术进步的重要推手。科普:基于FMU模型的TSN交换机仿真
互联网的快速发展催生了众多新兴应用,极大改变了人们的生活和工作方式。诸多行业对毫秒级甚至更低的确定低时延网络连接需求迫切,这些应用对时间极为敏感。
为了满足这一需求,工业界尝试了多种方案,如TTEthernet、FlexRay等,但这些方案仅限于特定应用场景,缺乏互操作性和互连接性。时间敏感网络(TSN)是IEEE .1工作组于年成立的一个子任务组,旨在开发时钟同步、流量调度、网络配置等标准集。贝加莱(B&R)、TTTech、德国SEW等多个企业和联盟组织参与了TSN技术研究。
TSN是从传统以太网中衍生出来的一种技术,旨在非确定性以太网中实现确定性最小时间延时的协议族。它更满足时间敏感性应用的要求,提供基于时间同步的周期性流量整形及调度、数据无缝冗余传输、路径预留和网络配置等功能。近年来,TSN得到了广泛关注和应用,出现了支持TSN的芯片和产品。结合应用层的OPC-UA(OLE for process control-unified architecture)技术,TSN能够提供实时、高确定性并且真正独立于设备厂商的工业通信网络,实现工业网络的IT与OT的融合,为实时数据传输提供更可靠和高效的解决方案。
TSN的应用场景非常广泛,包括工业自动化、智能交通系统、医疗保健、航空航天、物联网和汽车等领域。其强大的时序保证、流量调度、优先级控制等特性,使得TSN在未来的网络通信中将发挥越来越重要的作用。
TSN交换机是一种支持TSN技术的工业以太网交换机,具有体积小、功耗低、延迟低、可靠性高、抖动频率低、数据传输能力强、适用端口多等优点。在实际项目开发过程中,由于TSN交换机价格过高或半实物测试过于繁琐,开发人员通常希望使用TSN交换机的虚拟仿真模型,以验证项目的可行性和完成度。
TSN交换机仿真主要涉及交换机网口的仿真以及对内部接收到的数据包进行仿真模拟的处理。本文通过编译TAP网卡和交换机的FMU模型,实现了TSN交换机虚拟仿真模型的构建。TAP网卡是一种常用于虚拟化环境中监控和捕获网络流量的虚拟网络设备,可模拟物理网络交换机的接口。FMU模型是一种仿真领域常见的模型交换格式,通过提供一种标准化的模型交换格式,使得不同仿真工具和环境之间可以方便地共享模型。
在完成TSN交换机虚拟仿真模型的搭建后,可通过实验验证其网络可达性和对数据包的处理是否实现了TSN技术集。实验中设置了3台外部输入设备PC1、PC2和输出设备PC3,通过wireshark软件抓取PC1、PC2发出的数据包和PC3接收的数据包,比较PC3所接收到的数据包优先级,即可确认该TSN交换机仿真模型的有效性。
Python,EnergyPlus与DRL结合(二)初步认识
转至电气读博后,我致力于将热背景与电问题结合,开辟研究优势领域。我选择建筑及建筑群体作为电热交互利用的理想赛道,这一选择与当下新型电力系统与综合能源系统概念的流行相契合,我决心探索建筑智能控制与电网交互的研究。
为了实现这一目标,我深入研读了大量文献。首先,我补强了深度强化学习(DRL)知识,深入思考了如何将其应用于课题研究。其次,我广泛阅读了建筑电网交互的研究文献,以拓宽视野。在此基础上,我识别到建筑与建筑群智能能源管理系统研究存在三大核心问题。
第一个问题聚焦于RC模型的局限性。当前的建筑能源系统管理研究中,普遍采用RC模型简化模拟热滞性,但该模型与实际数据差异显著,忽略了建筑空间属性,简化过于严重。第二个问题涉及控制算法的落地性。目前,一些先进控制算法如模型预测控制(MPC)、DRL在落地测试时多基于RC模型,实际应用中却面临非线性模型的挑战,强化学习算法在与环境互动中的实施极为困难。第三个问题关注需求响应容量的准确判断与电网指令分解,这是由导师提出的关键挑战,涉及建筑需上报准确需求响应容量,并分解电网指令,当前研究领域尚未充分探索这一问题。
为解决上述问题,我集中精力于高精度建筑模型与有潜力的DRL方法。我选择了Energy Plus建模软件,因其具有EMS能源管理系统功能,同时利用了pyenergyplus库的便利性。我重点关注离线强化学习方法,这是实现落地潜力的深度强化学习算法之一。
结合Energy Plus、Python与DRL,我深入研究了现有解决方案。方案一涉及将Energy Plus模型封装为FMU,再利用BCVTB进行实验以实现强化学习,但此方案超出我当前能力范围。方案二采用的库灵活性较低,更适合验证算法可行性而非实际应用。方案三采用Python交互实现,效果较好,实现简单,支持自定义建筑类型。
我最终选择了sinergym库,该库提供高度灵活性,但要求在Ubuntu环境下运行。为了兼容Windows系统,我安装了双系统,并解决了相关问题。sinergym库提供了多种建筑模型,包括不同尺寸、功能与控制系统的建筑,如办公室、低能耗建筑等,均涉及空调控制、电力存储、太阳能光伏板等关键功能。这些模型为研究提供了丰富场景,我将围绕此库进行进一步开发与实验。
ODE求解器
ODE求解器的作用是解决微分、代数和离散时间方程组,尤其处理混合常微分方程(混合ODE),其中包含连续时间和离散时间变量。FMI标准定义了模型交换接口,用于不同软件间的模型交互,如FMU状态机清晰地划分了初始化、事件和连续时间模式的函数调用。
模型交换接口的目标是通过数值方法求解,例如离散系统的仿真,如单位时间延时负反馈系统,可以使用Python的scipy库中的dlsim函数进行模拟。常见的求解器包括SUNDIALS(CVODE、CVODES、ARKode、IDA、IDAS)和DAE求解器如DAE系统求解器DASPK,以及适应不同类型的ODE系统的LSODA和KINSOL等。
刚性系统是求解中的关键概念,由于其快速变化和缓慢变化成分,需要特殊的求解器,如CVODE的固定超前系数(FLC)形式的后向微分公式(BDF)方法。非自启动的Heun方法和隐式欧拉方法也是改进的求解策略,对于刚性系统,隐式Runge-Kutta方法如Rosenbrock方法更为适用。
在性能测试中,如AMESim的复杂液压机仿真,比较了模型交换和联合仿真两种模式导出的FMU,发现AMESim自带求解器在给定精度下速度较快。仿真结果显示,CVode变步长求解器耗时较长,而AMESim的标准求解器耗时显著减少。
具体如CVode求解器的统计数据,显示了每步计算时间、函数和雅可比矩阵的评估次数,以及与仿真时间的对应关系。这些数据反映了求解器在处理混合ODE时的性能差异。在选择求解器时,需要考虑性能、稳定性以及对模型特性的适应性。
TADynamics-车辆动力学模型库
车辆动力学主要分为车辆纵向动力学、车辆横向动力学和车辆垂向动力学三个方面。这些特性包括急加速工况下的车身俯仰角、高速过弯时车身的质心侧偏角和高速通过障碍物时车身的振动等。分析车辆的动力学性能,可以在车辆设计初期对其行驶的平顺性和操纵的稳定性进行预测,缩短设计周期和降低生产成本,有助于人们对车辆运行过程中动态特性的研究。TADynamics车辆动力学模型库是同元车辆TA系列模型库之一,本文将介绍该模型库的内容及其应用。
TADynamics车辆动力学模型库(以下简称“动力学库”)可以模拟分析车辆在不同测试工况下的整车动力学性能,为优化整车动力学性能提供支撑。同时动力学库支持导出FMU与其他软件进行联合仿真,用户可根据不同的测试工况和场景来构建整车动力学模型。其模型架构包括驾驶员模型、环境模型、车身/底盘模型等车辆组件模型、系统集成模型及其他相关附属模型。
动力学库由多种模型组成,包括驾驶员模型、环境模型、车身/底盘模型等。驾驶员模型提供多种模型,如转向控制驾驶员模型、通过图表/输入控制和速度跟随控制驾驶员模型等,同时驾驶员模型库提供驾驶员模板,支持用户自定义开发。环境模型能够定义车辆仿真环境的压强、温度、密度、风速等参数,将这些参数应用于车身模型的空气动力学计算模块,能够验证车辆在不同环境下的性能。车身/底盘模型主要由车身模型、底盘模型、悬架模型、轮胎模型、转向模型、动力模型、制动模型和控制模型组成。动力源模型通过增益模型和转矩源模型构成,传动系统模型由传动轴模型、差速器模型和固定传动比模型组成,制动助力器模型提供真空助力器和电机助力器两种模型,制动液压组件模型主要由液压缸组件模型和制动缸模型组成,防抱死控制(ABS)模型通过对比轮胎当前滑移率和目标滑移率输出制动扭矩修正系数,车身稳定控制(ESC)模型通过调用线性二自由度模型计算理论横摆角和横向速度,电子驻车控制(EPB)模型根据驾驶员传递的电子驻车开关控制电子驻车功能的启停。
动力学库的应用场景包括整车操稳性和平顺性仿真、子系统性能验证和车辆控制策略虚拟验证。在整车操稳性和平顺性仿真中,动力学库基于多体搭建,包含整车全自由度模型、悬架、车身和轮胎模型,能够应用于美国道路法规中定义的Fishhook工况、JTurn工况、停车后EPB驻车系统等场景。在子系统性能验证中,动力学库支持悬架性能分析,例如悬架平行轮跳工况、悬架侧倾工况、悬架纵向力加载工况、悬架侧向力加载工况、悬架回正力矩加载工况、悬架转向工况等。在车辆控制策略虚拟验证中,动力学库能够用于车辆纵向控制策略和横向控制策略的虚拟验证,例如轮胎防抱死控制、车身电子稳定控制等。动力学库能够用于分析悬架KC特性,以及车辆高速过弯时有无车身电子稳定控制(ESC)功能和车辆制动时有无防抱死控制(ABS)功能的对比结果。
总的来说,TADynamics车辆动力学模型库提供丰富的系统模型和应用场景,满足车辆不同工况的仿真分析。基于车辆动力学的整车级仿真,动力学库能够与同元其他车辆相关模型库联合使用,例如电机模型库Motor_TY、车辆电池模型库TABattery、车辆发动机模型库TAEngine、车辆电子模型库TAElectronic等。未来,我们将持续更新此库,所有车辆模型库将统一整理在“同元车辆TA系列模型库”话题,敬请期待。
fmu和fmi是什么意思?
FMU (Functional Mock-up Unit) 和 FMI (Functional Mock-up Interface) 分别是建模和仿真工具中用于交换模型信息的标准。FMU 工具是基于模型的描述文件,可以在仿真软件或工具中独立运行。FMI 工具则提供了一种标准接口,允许不同模型之间进行通信和协调。这些工具通常用于建立交互式多物理领域和多领域仿真系统。
FMU和FMI在工程项目中的应用
FMU 和 FMI 工具通常用于工程项目中,帮助工程师完成各种仿真和分析任务。在机械工程方面,FMU 工具可以用于独立模拟汽车发动机或飞机发动机等机械系统部件,同时 FMI 工具,则可以协调各个部件之间的通信和任务分配。在电气工程方面,FMU 工具可用于模拟电机、逆变器或电池等电力系统元件, FMI 工具则允许组合这些元件建立多物理场仿真系统。
随着科学技术的进步,FMU 和 FMI 工具正在不断发展完善。在仿真模型标准化、通信协议和模型交互性方面,FMU 和 FMI 的标准将越来越成熟。近年来,FMU 和 FMI 已经应用于许多领域,如自动驾驶汽车、机器人技术、虚拟现实和增强现实等领域。可以预见,随着技术的进一步提升和广泛应用,FMU 和 FMI 工具将越来越重要,可以促进深入、广泛地应用到各个领域中。
机电协同仿真的接口与规范-FMU/FMI
在当今工业4.0的浪潮中,机电协同仿真作为提升产品质量和效率的关键技术,正在工业软件的发展历程中占据举足轻重的地位。MBD(基于模型的开发)以其标准化封装的优势,如CAD/CAE和物理仿真软件,推动了研发成本的降低和产业升级。贝加莱与业界巨头如Mathworks和MapleSoft联手,共同打造了协同仿真的新范式,实现了硬件在环测试的无缝对接,为快速原型设计开辟了新路径。
与IndustrialPhysics的合作进一步深化了贝加莱在生产线仿真领域的创新,多领域建模仿真技术使复杂工程系统的仿真变得更加高效和精确。Modelica,这款强大的语言,以其在机械和电气等领域的广泛应用,以及其通过方程处理解决复杂系统问题的能力,成为建模领域的宠儿。Modelica协会为适应这种需求,定义了FMU/FMI接口标准,为模型间的协作提供了统一的桥梁。
FMU,作为包含模型描述和函数的*.Zip文件,是这个接口的核心载体,它使得不同软件间的模型交换变得轻而易举。FMI,作为交互标准,确保了跨软件环境下的无缝通信。贝加莱的Automation Studio作为创新的平台,整合了FMU/FMI功能,例如,它能够导入MapleSim中的AGV模型,与贝加莱的X控制器等设备无缝对接,实现机电仿真的无缝集成。
在年的重大更新中,Automation Studio引入了FMI2.0的强大导出功能,进一步强化了软件生态系统的协同工作能力,推动了数字孪生技术的发展。贝加莱不仅支持OPC UA模型交互接口,还积极分享更多建模仿真实战案例,以助力工程师们在实际项目中实现高效设计和优化。
总的来说,贝加莱通过FMU/FMI接口和Modelica语言的巧妙应用,构建了一个强大而灵活的机电协同仿真生态系统,为复杂工程系统的高效仿真和持续优化提供了强有力的支持。