simpowersystem非标准教程2

simpowersystem非标准教程2
simpowersystem非标准教程2

第三章 powergui

行不以手

缚不能远

—淮南子3.1它在哪里?

此模块出身高贵,直接隶属于powerlib,是一个相对独立的模块。

第一种方法找到它:在simulink库浏览器的树形目录左侧点一下SimPowerSystems,右侧显示出来的图表中最后一个就是它。看图:

第二种方法找到它:直接在MATLAB的命令行里敲进powerlib,调出powerlib 库,它也是出现在最后一个。看图:

找到它了,下面我们用到的时候就像2.4中说的,“拖出来”就行了!

有时候,感觉它明明在那,就是找了半天找不到它,急的你就像北极熊吞了冰疙瘩!别着急,与其来回翻,咔咔点鼠标,还不如让系统帮你找找!MATLAB 内建有强大的搜索引擎功能。就比如找不到powergui吧,在上部的搜索框中输入模块名称,如果记不清,可以使用*和(或)?通配符1,然后敲回车或者左击望远镜图标。结果是这样:

找到它了,那就要验明正身,免得下次还找不着。右击它,选select in library view,马上就给出了它所属的库的层次结构。

3.2它是什么?

powergui是一个环境模块2。任何一个含有SimPowerSystems模块的模型中必须含有一个。它储存了电路模型的等效数学模型(状态空间方程)。没有它,仿真不能启动,会给出一个错误提示。

它指定了解电路的方法。主要有:1)使用变步长Simulink求解策略的(时间)连续方法;2)理想开关(时间)连续方法;3)固定时间步长的(时间)离散方法;4)相量方法。

以下三点是强行规定,绝对的霸王条款,看那天能不能给改了,不过在改之前先按着这样做吧。1)对于一个含有子系统的多层结构,为了获得优化的效果必须把它放在顶层;2)一个模型中只能有一个3,加上前面的那句就是:一个模型中必须含有且只能含有一个;3)它的名字必须是powergui。

3.3图形用户界面工具

MATLAB中的很多分析工具是命令行的4。如果有机会咱也专题研究一下命令行解电路的问题,整个过程不用鼠标,显得多牛气!跟美国大片似地!

尽管命令行很强大,但是如果MATLAB只有命令行,我想他是不会走到今天的。你总不能让我用命令行搭建电路吧?!开发者显然看到了这一点,他们把常见的分析工作都做出了图形用户界面,尽管有些看上去很粗糙,不过这仍然是一个令人振奋的消息。

1尽管你是从windows中学会的使用它们,不过windows是抄袭unix的。 

2文档中说的。原文是Environment block for SimPowerSystems models。 

3婚姻法说一夫一妻,但是现实中多有“灵活应用”也未见出事者;软件应用中要是“灵活应用”了,肯定是不能启动仿真的。这也就解释了为什么很多人沉湎于游戏。 

4一般来讲,命令行是更为强大的,不过太不友好;加上一个图形界面,提示底层还是做得同样的事情,但是一些功能图形界面根本没法做到。 

双击powergui,弹出:

看出来了,子目录分为两个部分。第一部分是“Simulation and configuration option(仿真配置选项)”,单击打开它,如图:

第一个标签是solver,也就是求解策略。在simulation type下拉菜单中有三个选项:continuous、discrete、phasor。每个选项对应自己不同的参数设置菜单选项1。点点试试。那个‘理想开关(时间)连续方法’方法呢?如果你没看到说明你上面内容没有仔细看。如果看到了,你在continuous条件下勾选Enable use of ideal switching devices试试,看到了什么?这个选项其实只能是连续时间的一个特例而已,所以以子选项出现也是自然的事情。

第二个标签是preferences(偏好),看看,根据个人而定2,建议默认。

1参数设置暂不表,后面具体介绍每一个方法时详细讲。 

2偏好嘛,谁知道你偏爱什么! 

Display SimPowerSystems warnings and messages,如果勾选此项,分析和仿真模型的时候命令行中输出响应消息。

Use TLC file when in Accelerator Simulation Mode and for RTW applications,如果勾选此项,加速器模式和代码生成中将使用TLS state-space S-function (sfun_spssw_discc.tlc)。加速器模式下如果你感到仿真速度变慢清空这个选项。

Start simulation with initial electrical states from,选择blocks,使用模块中定义的初值仿真;选择steady,强制所有电气初值为稳态值;选择zero,强制所有电气初值使用零值。

Restore disabled links of SimPowerSystems blocks,选了yes后,如果powergui 探测到模块有断接,会自动修复并开始仿真;选了warning,开始仿真但给出警告;选择了no,不进行断接检查。

第二部分是分析工具。各种电气分析工具。下面是这个工具的一个简单介绍。具体的使用,我们用到的时候具体分析。用不到的也就不了了之了。现在列出来也就是有一个整体的认识罢了。

Steady-State Voltages and Currents,显示出模型中各节点的稳态电压和电流。

Initial States Setting,显示和修改模型中的电感初始电流和电容初始电压。

Load Flow and Machine Initialization,初始化三相电机。

Use LTI Viewer,产生模型系统的等效状态空间模型并自动打开时间和频率域响应的LTI Viewer界面。

Impedance vs Frequency Measurement,显示阻抗测量模块定义的阻抗和频率。

FFT Analysis,快速傅里叶变换分析,主要是分析谐波时用。

Generate Report,产生模型的稳态变量、初始值和电机负载流报告。

Hysteresis Design Tool,饱和变压器和三相变压器的磁滞设计。

Compute RLC Line Parameters,架空传输线的参数设计。

3.4深入

3.4.1 版本问题

MATLAB的每一次升级都会对算法和代码进行一定范围的优化,虽然大多时候很小;伴随着优化的,除了速度的提升和精度的提高就是整个软件规模的增大。MATLAB从来不考虑向下兼容,这也是科学计算软件的特点。

我使用的这个版本中对SimPowerSystems做出了改进,主要都是关于powergui的1,所以放在这里说。重大的改进比如,与上面讨论的图形用户界面工具对应的命令行工具都可以使用了2;理想开关(时间)连续算法得到了进一步增强;powergui模块不再自动添加3,必须手工添加到模型中去,添加的规则参考前面,看似麻烦了,其实是一大高进,这样你会更加关注这个模块,这个灵魂似地模块;还有就是新增了几个演示例子。

1通过前面的论述很容易得出结论:powergui才是模型的灵魂。所以改它是情理之中的。 

2看来有必要专门讨论一下这个问题了。

3如果你使用的是低版本,可以跳过所有关于powergui添加的文字了。 

3.4.2 离散还是连续?

SimPowerSystems中可以使用时间连续的变步长积分算法也可以使用时间离散的固定步长积分算法进行仿真。离散还是连续就在powergui中进行设定1。对于小规模的系统,连续算法通常更精确,也更快,因为离散算法要想给出一个同等精度的结果需要的计算量要比连续的多出不少。使用二极管和晶闸管等整流电力电子器件情况下,变步长算法由于对事件更为敏感,可以精确探测到电流的过零点,故结果波形中不会有电流间断。然而,对于大系统(比如包含的状态变量多或者非线器件多),连续时间算法由于追求精确度,使得它的仿真速度大为下降。在这种情况下,离散化你的系统是一个不错的选择。

多大叫大呢?这没有明显的界限,不过你可以把一个含有30个以下状态变量和6个以下电子开关的系统称为小系统。也就是说,基本上你现在见到的和会做的都是小系统2。

3.4.3相量法

如果你只对电压电流的相位和幅值变化感兴趣,使用相量法是一个不错的选择。求解时不再解全部的微分方程,只要解关于电流电压相量的代数方程就行了,代数方程可比微分方程简单多了!正如名字,相量法将电流电压视为相量。相量法对于包含大发电机和电动机的网络的暂态稳定性仿真十分好用3。在这种类型的问题中,我们感兴趣的是电机和调节器交互作用引起的电气机械振荡,这些振荡对基波电流电压产生一个低频的幅度相位调制。一般来讲,连续或者离散的方法不适合这种类型的问题。

相量法中,使用一系列的代数方程代替网络微分方程,其中的快速的模态被忽略;使用一个由基频和相关输入输出组成的复矩阵代替网络的状态空间模型。由于相量法使用的是电机、涡轮机和调节器的慢速状态的简化模型,因此大大的减少了必需仿真时间。

3.5进一步深入

进一步深入以及进两步深入,确实很深入了,我还是放在后面作为专题说罢,要不这个题目就太臃肿了,有违大家“爱瘦”的审美习惯。

1

不会忘这么快吧? 

2生活真谛:1小事我们都能过的去2除了中美战争都是小事3有了大事参见2 

3事实上,相量法基本只用来干这个。每种方法只干它最擅长的就好了。 

相关主题
相关文档
最新文档