20-sim - 一体化建模仿真平台
20-sim是用于机电一体化系统的建模和仿真软件包。它运行在带有Windows操作系统(Vista, 7,8,8.1和10)的PC计算机上,需要450MB的磁盘空间。使用20-sim,您可以以图形方式输入模型,类似于绘制工程方案。使用这些模型,您可以模拟和分析多域动态系统的行为并创建控制系统。您甚至可以生成C代码并在硬件上运行此代码以进行原型设计和HIL仿真。
20-sim为您提供了可以让您直观的创建模型的功能。您可以使用方程式,框图,物理框图和键图创建模型。各种功能可帮助您构建模型,模拟它们并分析它们的性能。
下图显示了20-sim与一个受控的六边形物体的模型。该机构是用三维力学功能生成的,并与力学库中的标准执行器和传感器模型连接。六边形物体由PID控制器控制,该控制器在频域中进行调整。构建和模拟这个模型所需的都在软件包中。不需要外部软件或编译器。
编辑
20-sim软件由两个紧密的窗口组成。在编译器和模拟运行中创建模型,结果显示在模拟器中。启动20-sim时,编辑器将打开。编辑器包括一个模型库树,您可以从中将元素拖放到绘图画布以构建模型。20-sim编辑器将根据显示的型号显示为图形编辑器或文本编辑器。该库包含用于构建键图模型的元素,用于构建物理系统的组件和用于构建框图模型的块。全部库元素都是开放的,可以由用户更改。该库包含以下元素:
-
键图:用于构建键图模型的元素
-
Iconic Diagrams:用于构建物理系统的组件
-
电气:建筑电网的组件
-
机械:用于构建平移和旋转机械结构的组件
-
液压系统:用于构建液压系统的组件
-
热量:用于模拟热传递的组件
-
框图:用于构建框图模块型的块:线性和非线性块,源和汇,传递函数
-
示例:示例模型展示了库模型的基本使用。
图形模型
20-sim中的模型是面向层次的。顶部的模型称为主模型。它由称为子模型的图形元素构成。子模型可以方便连接。根据子模型,连接可以是共享变量或物理连接,一个子模型本身可以由多个子模型构建,深入多层。在层次结构的底部,模型由方程组描述。这些模型称为方程模型。
方程模型
方程模型可以称为SIDOPS ++的语言指定。SIDOPS++与Maple,Matlab等数学软件包很相似。
上图显示了方程模拟的示例。20-sim方程模型具有由关键字指示的基本布局。
-
参数:值的定义,在模拟期间不会更改
-
变量:在模拟期间发生变化的值的定义
-
方程式:实际方程式
方程式参数和变量之间的关系,用等号(=)表示。各种数学函数和运算符可用于方程。
建模工具
20-sim具有很多构建高等模型的功能:
-
控制器设计编辑器:此功能可以帮助用户设计带有线性设备,控制器和预过滤器的反馈系统。可以使用Bode和Nyquist图来研究开环和闭环响应
-
3D机械编辑器:3D机械系统难使用一维元素进行建模。因此,3D Mechanics Editor允许用户通过拖放3D工作空间中的实体,关节和对象来定义机械系统。自动生成相应的一组微分方程。
-
向导:各种向导将帮助您创建运动曲线,定义凸轮,构建伺服电机等等。
模拟
模型准备就绪后,可以从编辑器打开模拟器。在引擎盖下,模型会自动编译以创建仿真代码。不需要外部工具。在编译阶段,20-sim将检查模型是否正确并改善方程。模拟器用于运行模拟和分析模型。在开始模拟运行之前,用户需定义一些设置:
-
运行属性:运行的开始时间和结束时间
-
积分方法:20-sim支持很多高等数值方法来运行模型。可以选择数值方法以及适当的设置。这些设置包括例如maximum integration error和step size。
-
参数值:在模拟运行之前,可能需更改默认参数值
-
绘图属性:设置绘图的数量和外观,并且选择要绘制的变量
在模拟图旁边,结果也可以在20-sim中显示为3D动画。提供了一个特殊的编辑器,其中任意变量都可以连接到3D对象的位置、方向、大小和颜色。可以使用标准3D对象,例如立方体和球体,但也可以从CAD包中导入对象。
分析
20-sim包具有两个可用于分析模型的功能
-
时域:这允许通过更改参数值和使用多次模拟运行来进行模型分析。参数扫描和曲线拟合将有助于提高系统性能。敏感性分析,蒙特卡罗分析和变异分析将有助于检查系统的稳健性。
-
频域:20-sim中的模型可以线性化,以在线性系统编辑器中显示相应的线性系统。线性系统编辑器是用于设计和显示线性系统的工具。编辑器支持连续时间和离散时间SISO系统。并可以通过Bode和Nyquist图显示系统响应。如果模型不能进行线性化,则可以使用傅立叶变换来显示模型的频率行为。
脚本
使用脚本,可以使用脚本功能自动在20-sim中运行任务。通过这些功能,可以自动打开和运行模型,可以更改参数,可以导出结果等等。
20-sim脚本功能可以在Matlab或GNU Octave中作为m文件运行。GNU Octave是一个开源环境,允许运行类似于Matlab的m文件。脚本功能可用于打开和模拟20-sim模型,将参数值导出20-sim模型,运行模拟,导出模拟图等等。
代码生成
在20-sim模型中,可以生成C代码以用于外部系统,HIL模拟器等。模板允许使用前置和后置命令,文件链接,注释等来自定义C代码。内置允许您为各种目标生成代码的模板:
-
20-sim 4C:软件包20-sim 4C有助于在硬件上运行C代码以控制机器和系统。20-sim 4C从20-sim导入模型(c-code)并在嵌入式arm板,PC 104系统等硬件上运行它们。
-
Matlab Simulink :生成用于MATLAB Simulink的C代码还包括一个带有输入和输出终端的子模块。20-sim使用MEX编译器将此代码直接编译为S-Function。这些S-Function也可以在Real Time Workshop中使用,以便为平台生成代码,例如xPC目标。
-
C代码:20-sim可以生成独立的C代码,用于C和C++程序。生成的C代码提供了几个固定步长的仿真算法,使其能够实时运行。默认支持Euler和Runge-Kutta方法。
- 2024-11-07
- 2024-11-05
- 2024-10-30
- 2024-10-22
- 2024-10-18
- 2024-10-12
- 2024-11-01
- 2024-10-18
- 2024-10-16
- 2024-10-14
- 2024-10-09
- 2024-09-29