1、第 6 章 超级元件工具6.1 引言当一个模型变得越来越大时,在 AMESim 中查找一个特殊的组件或者作一次全系统得快速浏览变得越来越困难。超级元件工具解决了这些问题。它的原理是选择一组元件,然后将它们“压缩打包”成一个图标。对所有的库来说,使用超级元件法是非常有优势的。生成一个超级元件的基本步骤如下所示: 使用 AMESim 标准元件或者特殊的库元件来生成一个框图,我们称其为单层或者平面系统。 对其进行彻底地试验。 选择模型中需要生成超级元件的部分。 声明其为一个超级元件。 将其与一个标准的或用户自定义的图标联系起来。 定义这个图标的端口。 对这个超级元件进行命名,其中包括一个简单的描述和
2、详细的描述。 将其作为一个正常的 AMESim 元件来使用。下面我们将通过一个简单的例子来开始超级元件工具的使用。我们希望你能自己完成这个例子。6.2 使用标准图标来构造 PID 控制器的超级元件目的: 描述生成一个超级元件的全过程 使用现存目录中的已有图标来存储超级元件如下的系统使用的是控制库中的 PID 控制器。它演示了一个质量块的位置控制。利用一个二阶滞后环节来建立作用在质量块上的执行机构(电气的、液压的、气动的)的力学模型。6.2.1 平面系统和包含超级元件系统的比较第 1 步:生成一个控制环1、构造一个如图 6.1 所示的模型。图 6.12、当你已经进入子模型模式下后,使用 Prem
3、ier submodel 按钮。3、在参数模式下,按下表所示设置参数。子模型 在图中的序号(如果有)名称 数值第一阶段的起始输出(null) 1第一阶段的终止输出(null) 1第一阶段的持续时间(s) 20第二阶段的起始输出(null) 0.4UD00 1第二阶段的终止输出(null) 0.4比例系数(null) 30PID000 积分系数(null)10LAG2 阻尼比(null) 0.7端口 1 位移(m) 0.6质量(kg) 10粘滞摩擦系数(N/(m/s) 10MAS004倾角(+90:端口 1 在最低点,-90:端口 1 在最高点)(度)0第一阶段的持续时间(s) 50第二阶段的起
4、始输出(null) 5UD00 2第二阶段的终止输出(null) 54、现在你可以运行一个终止时间为 80s 的仿真,并且画出跟随系统输入的质量块位移曲线,如图 6.2 所示。图 6.2注意质量块的位置是如何去跟踪给定值的。第 2 步:创建如下的平面系统你可以通过在相同的窗口下复制/粘贴前一个系统来完成这个模型,它们是完全等价的。如图 6.3 所示。图 6.31、构造这个系统,使用 Premier submodel 按钮,并且设置如下参数。子模型 在图中的序号(如果有)名称 数值GA00 1 增益值(null) 30INT0 增益值(null) 10GA00 2 增益值(null) 02、这两
5、种情况下,仿真结果都如图 6.2 所示。6.2.2 创建一个超级元件引言从图 6.3 所示的系统中,你可以构造一个你自己的超级元件,并且将它和在图 6.1中所用到的信号库中的 PID 图标联系起来。如图 6.4 所示。图 6.4这样,它将被以下的图标所代替:这个过程可以通过以下 3 步来完成:1、从选中的元件中得到一个辅助系统。2、从辅助系统中创建一个超级元件。3、将超级元件指定为一个标准元件。这样就生成了一个通用超级文件。请参阅 AMECustom 手册中的 customize supercomponents。第 1 步:从选中的元件得到一个辅助系统1、选择一个图标来存储超级元件。2、选择
6、Edit/Copy to supercomponents,或者使用快捷方式 Ctrl+W。图 6.5以上两种情况下,都会打开辅助系统对话框。检查所示的辅助系统是否正确,如果不对,那么就立即关闭这个对话框,并重复以上过程。第 2 步:从辅助系统中创建一个超级元件通过如图 6.5 所示的辅助系统对话框中的图标,可以: 选择一个合适的图标 设置超级元件的端口 设置超级元件的名称 设置超级元件的简单和详细描述1、点击 Select an icon 按钮,得到一个图标选择对话框。在 AMESim 下可以浏览所有的库,各库内包含了图标列表。这些图标都含有两个端口,并且都与我们要创建的超级元件兼容。请注意其
7、中的信号,控制和观测器(Signal,Control and Observers)库,打开它将会找到我们所需要的图标。图 6.6注意其中的 New Comp icon 和 New Category 按钮。它们将被用来创建你自己的图标(具体参见 6.5 节 使用你自己的图标来创建 PID 控制器的超级元件)。2、找到并选择本章第一个例子(图 6.1)中所使用的 PID 图标。这个包含端口号的图标将被添加到对话框中。3、按以下步骤完成这个超级元件的创建。(1)填写超级元件的名称。例如,SCPID5。命名规则如下: 字符数为 424 个 所有的字符必须为字母或数字 第一个字符必须为字母 AMESim
8、 将自动把小写字母转换为大写字母 名称必须是唯一的 如果你设置的名称包含至少一个数字,且这个数字不小于 5,那么你的名称就不会跟 AMESim 中提供的任何子模型相冲突。(2)定义超级元件的端口超级元件图标的端口和辅助系统之间必须进行通讯。图 6.7当端口未被定义时,将会灰度显示为一个“?” 。(3)点击每一个未被定义的端口,并在生成的下拉菜单中选择一个端口号。(4)填写超级元件的简单描述。这个操作是可选的,但是我们建议你进行填写,特别是当你所建立的超级元件在几个不同的系统中使用时。(5)点击 Full Description 按钮,在模板上填写超级元件的详细描述。这个操作也是可选的,但是我们
9、建议你进行填写。图 6.8注:当你创建一个超级元件后,通过 Edit basics 工具,可以非常方便地修改图标、简单描述和详细描述。(6)点击 Save 按钮。将会出现一个文件浏览器。(7)指出文件 submodels.index 的当前路径。 通过文件浏览器,你可以指定你的超级元件的存储路径:图 6.9(8)选择这个路径并且点击 OK 按钮。现在,你的超级元件已经生成并可以使用了。接下来将说明如何使用一个超级元件。6.3 超级元件工具6.3.1 用超级元件来替换一个子模型当超级元件跟一个图标联系起来以后,你可以通过在子模型模式下点击这个图标来使用它:你会发现超级元件的名称将会出现在子模型的
10、列表框中。图 6.10 所示为点击我们前面所建立的 PID 图标后所出现的列表框。图 6.10你可以选择这个你新建的超级元件来代替前面的 PID 子模型:图 6.116.3.2 展开一个超级元件在一个子模型列表对话框中,当选中一个超级元件后,将激活在图 6.10 中显示为灰度的 Explore 按钮。如果你点击这个按钮,那么这个超级元件的内容将会被显示出来:图 6.12通过展开超级元件对话框,组成超级元件的各个元件将会显示出来,而且它和展开的超级元件是相关的。6.3.3 更改一个超级元件的参数首先你需要切换到参数模式下,然后通过点击 PID 超级元件得到展开超级元件对话框。图 6.13在展开的
11、超级元件中,你可以通过选择其中一个元件来检查和修改其相关参数的值。6.3.4 绘制一个超级元件的变量曲线在运行模式下,使用前面提到的相同的原则:当超级元件被展开以后,你可以通过点击其中的一个组成元件来得到相应的变量列表。然后,变量可以被选择并进行正常的曲线绘制。图 6.14通过单步运行原模型的仿真,对比可以发现使用超级元件时结果是完全一样的。6.4 管理超级元件不同类型的超级元件有三种不同类型的超级元件:1、一般的通用超级元件;2、包括全局参数的通用超级元件;3、用户化的超级元件。 通用超级元件在 AMESim 中总是生成这种超级元件。你总是可以展开一个通用超级元件。为了消隐它的组成元件,唯一
12、的方法就是使用全局参数。如果你使用了全局参数,那么当你在参数模式下点击一个通用超级元件后,你会发现有些特征被改变了: 如果没有使用全局参数,则通用超级元件中的内容会被立即显示出来 如果使用了全局参数,则通用超级元件中的内容将在一个改变参数对话框中显示出来。而且这些内容可以在一种正常的方式下被改变。你还可以通过点击Explore 按钮来展开这个通用超级元件中的内容。当你点击这个通用超级元件中的任何一个组成元件时,你将得到一个新的改变参数对话框,但是任何一个被定义为超级元件全局参数的参数都是被隐藏的。用户化的超级元件这种超级元件必须通过使用 AMECustom 来生成。当在 AMESim 中使用时
13、,跟使用子模型元件类似。为了展开一个用户化的超级元件,你必须使用 AMECustom。甚至你还不得不提供一个口令。使用用户化的超级元件的想法是设计者可以用来决定什么东西是可见的和什么东西是消隐的。设计者消隐某些东西,出于以下两个原因:1、一些详细的配置和参数值,可能会有一些涉及商业保密的信息;2、隐藏细节的东西可以使得超级元件使用起来更加简单。或许你已经在不知道的情况下用过了一些用户化的超级元件了。因为在 AMESim 的库中有一些就是用户化的通用超级元件。你可以参阅 AMECustom 手册来对用户化的超级元件进行更多的了解。多层次的超级元件正如本章前面所提到的,可以通过将各种不同的标准元件
14、连在一起来生成一个超级元件。同时,你也可以使用其它的超级元件来生成一个新的超级元件。这种情况下,它被称作多层次超级元件,可以既包括标准元件,又包括任何类型的其它超级元件。一个多层次超级元件的例子如下图所示。图 6.15这个多层次超级元件被命名为 SCPOS5,并且它包括了前面我们所创建的超级元件SCPID5。创建一个多层次超级元件的过程和使用标准元件时是完全相同的。显示可用的超级元件和它们所属的库选择 Edit/Available supercomponents:图 6.16如上图所示,可用的超级元件对话框将出现一个列表,这个列表会显示出你所存取过的已经存在的所有超级元件。超级元件都存储在它们
15、自己的库中。你所生成的 PID控制器也将显示在列表中。 使用这个对话框,你可以: 删除一个超级元件 删除一个库 编辑一个超级元件删除一个超级元件或库当删除一个库时,必须保证它是一个空库。如果你想清空一个库,你可以使用编辑菜单下的 Available supercomponents,Available customized 以及 Available user submodels 等对话框。在可用的超级元件对话框下:1、选中你想要删除的超级元件。2、点击 Remove 按钮。相同的过程可以用来删除一个空的超级元件库。在图标菜单下:1、在主菜单条下,使用 Icons/Remove category。
16、将会出现一个删除库的对话框:图 6.172、选中一个你想删除的库。图 6.183、如果你想同时删除与这个图标相关的文件(.ico,.xbm),你可以使用删除图标文件对话框。修改一个超级元件在可用的超级元件对话框中,你可以通过点击 Edit basics 按钮来修改一个超级元件的外部属性,如名称、描述、图标以及端口等。图 6.19另外一种方法,你也可以在一个新建的 AMESim 设计图中使用 Edit consitituents按钮来编辑一个超级元件。图 6.20接下来你可以修改这个超级元件的内容,甚至可以完全重新创建一个。在这种情况下,使用 AMESim 时必须和使用一个标准模型时完全相同。除
17、了以下几种情况: 只有 Sketch 模式和 Submodel 模式可用 在 Submodel 模式下可以修改参数(通过点击你想修改参数的元件) 当超级元件包含端口时,在设计图中端口号显示为灰色 这些端口模块不能被删除,它们只能通过拖放的方式来移动,且在保存之前必须已经被连接 严格禁止将一个超级元件加到它自己的组成部分中。多层次超级元件可以包含其它的超级元件,但是,任何情况下它都不能自己进行递归。因此,当你编辑一个给定的超级元件的组成元件时,严格禁止添加包含这个超级元件的多层次超级元件。如果你没有遵从以上两条规则,那么你将得到一个如下图所示的出错信息。图 6.21当你修改完成后,你必须通过选择
18、 File/Save 菜单来保存这个超级元件。接下来你必须关掉编辑超级元件的草图。然后退出到你进行超级元件修改的上一层中。6.5 使用你自己的图标来构造 PID 控制器的超级元件目的 构造并使用一个新的库图标:通过 AMESim 图标设计器来进行描述 从一个库中删除一个超级元件,删除一个库,编辑一个超级元件使用 Edit/Available supercomponents 来产生一个可用的超级元件对话框。找到并选中你的 PID 控制器,然后点击 Edit basics。图 6.22当前的超级元件含有一个如图 6.22 所示的图标,它被显示在辅助系统对话框中。接下来你可以使用你自己的图标来替换它
19、了。6.5.1 创建一个超级元件库你在图标选择对话框中所看到的库是 AMESim 程序包中所提供的全部库。这些库正常情况下都已经写保护了,因此在这里不允许你添加或删除图标。所以你必须要先创建一个你自己的新库。首先,你要先创建一个新库来存储你新建的超级元件图标。第 1 步:创建一个新库1、在辅助系统对话框中,点击 Select an icon 按钮。将会出现如下图所示的对话框:图 6.232、点击 New category 按钮来显示一个浏览器。3、为你的超级元件库选择一个路径。图 6.244、点击 OK。如果你所选择的路径不在 AMESim 路径列表中,将会出现如下所示的对话框:图 6.25接
20、下来你可以更新你的路径列表。并且你还需要来填写关于这个库的名称和描述:图 6.26图 6.27一旦描述是有效的,将开启 Icon Designer 工具(如图 6.28 所示)。第 2 步:创建一个图标1、使用添加文本 A 按钮来生成一个简单的如图 6.28 所示的图标:图 6.282、键入“SUPER” ,然后再次点击 A 按钮,再键入“COMP ”,最后键入“ONE ”。注: 如果你弄的太乱了,你可以选择橡皮擦 ,并用它来清除文本。 如果你不太喜欢当前的字体,你可以通过在文本输入对话框中点击 Font 按钮来显示选择字体对话框。使用这个对话框你可以选择你喜欢的字体。图 6.298 号字可能
21、正好。3、当这个库图标完成后,你需要点击 AMESim 文件中的保存按钮。前面的图标列表将会被更新,如下图所示:图 6.304、不要关闭这个图标选择对话框。6.5.2 创建一个超级元件图标当你已经创建了一个超级元件库后,你可以准备开始创建一个超级元件图标了。1、在如图 6.30 所示的图标选择对话框中,选中“SUPER COMP ONE”库。2、点击 New Comp Icon 按钮。3、AMESim 图标设计器将会开始自动创建一个超级元件图标:图 6.31图 6.31 显示了创建的最后一步。注意以下要点: 你可以通过使用宽度和高度对话框来修改字体的大小。当前缺省值也许是正好的。 如果你弄的太
22、乱了,你可以使用橡皮擦 ,甚至你还可以通过点击 New icon按钮来清除画图区域。注意:这将全部清除存在的图标。我们建议你按以下步骤来创建一个图标:第 1 步:给图标添加端口如图 6.32 所示的 2 端口形式必须加到图标上。有两个信号端口:一个是输入,另一个是输出。1、通过下拉菜单选择一个端口。2、点击 Add port icons 按钮,显示你所选定的端口形式。3、将箭头拖到绘图区域。光标将显示出这个端口的形式。4、通过点击绘图区域将这个端口添加到中间位置。5、选择另一个端口,并把它放到新建图标的相对的另一侧。如图 6.32:图 6.32第 2 步:给图标添加文本1、点击添加文本按钮 A
23、,并且键入文本 H(s)。2、将文本字符串放到绘图区域的中间位置。记住,如果你所作的东西看起来不太美观,你总是可以通过撤销 按钮来完成撤销功能。第 3 步:使用图形工具1、点击画矩形按钮 。2、将此矩形添加到草图中。第 4 步:重置图标大小1、使用蓝色箭头按钮来调整图标,以便将其移到图标正方形中。2、现在,在图标的下部,有一些不需要的空白区域。3、使用位于窗口顶部的高度按钮来减小高度,可以删除这些空白区域。图 6.33注意尽管端口的形式已经被添加到图标上,但端口仍然没有被定义。端口包括以下一些限制: 它们必须在图标的周边 它们不能被放在转角处 它们必须被放置在一个黑色单元格中有两点可以帮助你来
24、完成: 增加放大倍数到 800 通过点击网格 按钮来使用网格。第 5 步:定义一个端口类型1、点击定义端口和端口类型按钮 。2、在绘图区域选择一个合适的正方形。将会出现一个端口菜单。这种情况下,只有一种端口类型为 signal,所以选中它。第 6 步:对图标进行命名1、填写对话框来定义图标的名称。这是必须的。2、填写一个简单的描述。这是可选的。图 6.343、在 AMESim 文件下,点击保存图标按钮 。图 6.35第 7 步:保存图标1、找到并选择新建的图标,然后点击 OK。新建的图标将会出现在辅助系统对话框的右边:图 6.362、点击保存按钮显示出路径浏览器。3、选择节点路径来存储新建的超
25、级元件。4、点击 OK。现在,AMESim 的库已经自动更新了。而且你的超级元件也可以开始使用了。5、如果有必要的话,返回到草图模式下,并点击“SUPER COMP ONE”这个库。6、将新的图标添加到以前的系统中。7、使用这个超级元件来运行一次仿真:图 6.37比较一下三种不同形式的模型,当然,它们有着相同的结果:图 6.386.6 创建一个包含全局参数的通用超级元件当一个给定的参数有相同的值,而且在一个模型中多次被使用时,全局参数是非常有用的。要对全局参数有更多的了解,可以参见 12.3.3 节 全局参数。为了说明这个过程,我们使用存储在演示区域中的一个例子。第 1 步:从 AMESim
26、演示区域中得到这个系统1、通过 Help/Get AMESim demo 来显示出选择演示对话框。2、打开 Manual Tutorials 文件夹,然后选择 FlatTwin.ame。3、点击复制并打开。系统如下图所示:图 6.39这描述的是一个简单的双缸发动机。4、到参数模式下,查看其中的六个全局参数。图 6.40这些参数中的每一个都被一个或多个子模型使用过。5、点击其中的一个曲柄来看一下这些参数是怎样在一个元件中被使用的。图 6.41第 2 步:创建一个超级元件,其中包含有使用过全局参数的元件1、使用 Ctrl+A 来将草图中的对象全部选中。2、按住 Shift 键,点击旋转的质量块。现
27、在你就选中了除了旋转的质量块之外的所有的对象。图 6.423、开始创建超级元件,通过使用 Edit/Copy to supercomponent 来得到辅助系统对话框。图 6.434、指定超级元件的名称为“TWINCYLINDER” ,并且给出一个简单的描述“twin cylinder engine”。第 3 步:为这个超级元件指定一个图标1、现在,你必须为这个超级元件指定一个图标。通过点击 Select an icon 来显示出图标选择对话框。图 6.44你将会发现已有的图标中只有很少几个是符合的(也就是说只有一个旋转轴端口)。2、选择一个已经存在的图标或者通过点击 New Comp Ico
28、n 来导入文件%AME%tutorialIconstwinengine.xbm 来生成一个更有趣的图标。图 6.45第 4 步:保存这个超级元件1、点击 Save。将会出现如下的对话框:图 6.46AMESim 已经注意到存在全局参数。如果你想继续进行保存,那么你有以下两个选择: 如果你点击 Replace,那么在辅助系统中的全局参数将会被图 6.40 中所定义的当前值所替换。也就是说,在图 6.41 中,ANG 将会被 0.0 替换,R 被30 替换,L 被 20 替换。 如果你点击 Keep,那么这些全局参数将会被复制过来,而且它们具有受限于通用元件的范围。2、点击 Keep 来保存这个包括全局参数的超级元件。