用户自定义元件_第1页
用户自定义元件_第2页
用户自定义元件_第3页
用户自定义元件_第4页
用户自定义元件_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

1、PSCAD自定义元件自定义元件武汉大学电气工程学院武汉大学电气工程学院乐乐 健健2011.07 PSCAD自定义元件第 2 页主要内容主要内容l 自定义元件方法自定义元件方法l 自定义元件界面的编写自定义元件界面的编写l 自定义元件代码的编写自定义元件代码的编写l 自定义元件的管理自定义元件的管理PSCAD自定义元件第 3 页一、自定义元件方法一、自定义元件方法元件引脚分布元件引脚分布元件名称元件名称元件描述元件描述PSCAD自定义元件第 4 页依次输入各引脚的依次输入各引脚的名称和描述名称和描述!名称必须遵守!名称必须遵守Fortran的规则的规则引脚类型:引脚类型:数据输入;数据输入;数据

2、输出;数据输出;电气引脚。电气引脚。PSCAD自定义元件第 5 页引脚数据类型:引脚数据类型:逻辑变量;逻辑变量;整型;整型;实数型。实数型。!仅对引脚为数!仅对引脚为数据类型时有效据类型时有效电气引脚的类型:电气引脚的类型:固定型;固定型;可移除型;可移除型;开关型;开关型;接地型。接地型。该引脚的维数该引脚的维数PSCAD自定义元件第 6 页 固定型固定型(缺省缺省):最常用的电气引脚类型。代表简单的电:最常用的电气引脚类型。代表简单的电气气 节点。如存在疑问时尽量选择该类型。节点。如存在疑问时尽量选择该类型。 可移除型可移除型:可由:可由PSCAD移除的电气节点。例如移除的电气节点。例如

3、RLC串联串联 电路可由电路可由PSCAD等效为单一阻抗元件,从而移除等效为单一阻抗元件,从而移除2个个 电气节点。主要是从提高仿真计算效率出发。电气节点。主要是从提高仿真计算效率出发。 开关型开关型:若该节点为某个开关支路的一部分应选择该类:若该节点为某个开关支路的一部分应选择该类 型。选择该类型后可提高型。选择该类型后可提高PSCAD仿真过程中的矩阵仿真过程中的矩阵解解 耦效率,进而提高仿真速度。耦效率,进而提高仿真速度。 接地型接地型:该电气节点接地时选用。:该电气节点接地时选用。PSCAD自定义元件第 7 页创建完成后的外观创建完成后的外观相应的该元件出现在所属仿真相应的该元件出现在所

4、属仿真模型的定义部分内。模型的定义部分内。PSCAD自定义元件第 8 页右键菜单右键菜单编辑元件的属性:编辑元件的属性:名称和描述名称和描述加入描述加入描述PSCAD自定义元件第 9 页修改元件定义修改元件定义PSCAD自定义元件第 10 页元件外观编辑页面元件外观编辑页面元件参数输入编辑页面元件参数输入编辑页面元件代码编辑页面元件代码编辑页面PSCAD自定义元件第 11 页Graphic页面页面:对元件外观,引脚,变量等进行各种编辑。:对元件外观,引脚,变量等进行各种编辑。 例如:外观大小,例如:外观大小, 输入输出引脚,输入输入变量名重输入输出引脚,输入输入变量名重 定义等。也可新增引脚。

5、定义等。也可新增引脚。新增引脚新增引脚新增文字新增文字PSCAD自定义元件第 12 页Parameters页面页面:可给元件添加参数输入界面。这些参数:可给元件添加参数输入界面。这些参数 将作为元件代码部分中使用的常量。将作为元件代码部分中使用的常量。相应工具栏相应工具栏添加的界面添加的界面PSCAD自定义元件第 13 页Script页面页面:用:用Fortran语言编写元件代码,注意需遵守语言编写元件代码,注意需遵守 PSCAD的一些语法规定和相应编译器的语法。的一些语法规定和相应编译器的语法。系统常量:系统常量:仿真时间仿真时间PSCAD自定义元件第 14 页!Page Module的内部

6、搭建与常规模型建立方法一致,也的内部搭建与常规模型建立方法一致,也可包括自定义元件和页面模块。可包括自定义元件和页面模块。!在用户!在用户Case内定义的元件和模块无法使用内定义的元件和模块无法使用Create Instance-paste的方法在其它的方法在其它Case的工作区内调用。的工作区内调用。可在原可在原Case内采用输出元件内采用输出元件(模块模块)定义的方法,存储定义的方法,存储为为.cmp文件,再在新文件,再在新Case内采用输入元件内采用输入元件(模块模块)的方法。的方法。也可在原也可在原Case内采用内采用Copy Definition操作,再在新操作,再在新Case内内采

7、用采用Paste Definition操作。操作。PSCAD自定义元件第 15 页二、自定义元件界面的编写二、自定义元件界面的编写提供了一个简单的画图工具,使得用户可自行绘制元件外观提供了一个简单的画图工具,使得用户可自行绘制元件外观PSCAD自定义元件第 16 页增加用户界面增加用户界面每个用户界面称为一个每个用户界面称为一个Category,类似于书中的每页;,类似于书中的每页;多个多个Category的组织类似于一本书。可调整的组织类似于一本书。可调整category之间之间的次序的次序新增新增CategoryCategory属性属性Category次序调整次序调整Category外观外

8、观PSCAD自定义元件第 17 页单选按钮单选按钮下拉列表框下拉列表框输入框输入框Category预览预览PSCAD自定义元件第 18 页用户元件的图形界面或参数界面中的每一个对象均具有一个用户元件的图形界面或参数界面中的每一个对象均具有一个可控制可视或使能的参数输入。用户可添加判断条件来可控制可视或使能的参数输入。用户可添加判断条件来控制元件的可视控制元件的可视/不可视,或者使能不可视,或者使能/禁止。禁止。判断条件可使用算术和逻辑运算符。使得用户可在设计元件判断条件可使用算术和逻辑运算符。使得用户可在设计元件时,利用判断条件控制元件的外观、控制元件的参数输入。时,利用判断条件控制元件的外观

9、、控制元件的参数输入。PSCAD自定义元件第 19 页PSCAD自定义元件第 20 页三、自定义元件代码的编写三、自定义元件代码的编写元件代码部分包含多个元件代码部分包含多个segment,每个,每个Segment实现特定的实现特定的功能,但不是所有的功能,但不是所有的segment都是实现元件所必须的。几个都是实现元件所必须的。几个最常用的是最常用的是Fortran,Computation和和Branch模块。模块。PSCAD自定义元件第 21 页 Computation模块模块 该模块提供了对用户输入数据进行预处理的环境。某些该模块提供了对用户输入数据进行预处理的环境。某些情况下用户可能以

10、自己方便的形式输入数据,但从元件代情况下用户可能以自己方便的形式输入数据,但从元件代码的角度可能不方便于编程。因此需要事先进行预处理。码的角度可能不方便于编程。因此需要事先进行预处理。 该模块是编译器对元件代码部分进行编译时最先处理的该模块是编译器对元件代码部分进行编译时最先处理的模块,因此该模块中定义的量能在后续任何模块中使用。模块,因此该模块中定义的量能在后续任何模块中使用。而且所定义的量只被编译器处理一次,故该量只能是而且所定义的量只被编译器处理一次,故该量只能是静态的。该模块中可采用任何算术和逻辑表达式。静态的。该模块中可采用任何算术和逻辑表达式。 = 该模块中典型的常量定义表达式为:

11、该模块中典型的常量定义表达式为:l 可以是可以是REAL或或INTEGER类型类型. 缺省情况下为缺省情况下为REALl 为常量名称为常量名称l 为仅包含静态参数的算术或逻辑表达式为仅包含静态参数的算术或逻辑表达式注意:该模块中不允许使用前缀(注意:该模块中不允许使用前缀($)PSCAD自定义元件第 22 页 Branch模块模块 该模块提供了输入电气支路信息的环境,以将其加入到该模块提供了输入电气支路信息的环境,以将其加入到EMTDC的电气网络导纳矩阵中。支路设计的完成是通过指的电气网络导纳矩阵中。支路设计的完成是通过指定无源元件的类型和参数,以及这些元件之间连接信息来定无源元件的类型和参数

12、,以及这些元件之间连接信息来实现的。实现的。 一条简单的支路定义语句可定义一个简单的电气支路,也一条简单的支路定义语句可定义一个简单的电气支路,也可用于定义开关型支路或包含理想电压源的支路。可用于定义开关型支路或包含理想电压源的支路。 该模块中典型的电气支路定义表达式为:该模块中典型的电气支路定义表达式为: = $ $ $ $ $l和和 为图形界面接口中定义的电气节点的名称;为图形界面接口中定义的电气节点的名称;l 该支路包含电阻的大小该支路包含电阻的大小 (单位欧姆)(单位欧姆)l 该支路包含的电抗的大小(可选,单位该支路包含的电抗的大小(可选,单位H) l 该支路包含的电容的大小(可选,单

13、位该支路包含的电容的大小(可选,单位uF)l = 支路名称;很多支路名称;很多EMTDC子程序需要支路名称作为输入参数。子程序需要支路名称作为输入参数。l 可为可为 SOURCE 或或 BREAKER 关键字关键字PSCAD自定义元件第 23 页l$为子程序前缀运算符为子程序前缀运算符注意:对于不需要的注意:对于不需要的RLC,可简单的设置其值为,可简单的设置其值为0.0;实例:描述两个并联的电气支路实例:描述两个并联的电气支路元件的电气节点元件的电气节点RC并联支路参数并联支路参数RC支路电抗为支路电抗为0另一支路电阻、电容为另一支路电阻、电容为0该支路电抗为该支路电抗为0.001H,无需,

14、无需$需要需要$PSCAD自定义元件第 24 页可指定该支路名称,如该支路在其他位置被引用,引用时需可指定该支路名称,如该支路在其他位置被引用,引用时需加入前缀加入前缀$。PSCAD自定义元件第 25 页实例:带内阻的电压源支路描述实例:带内阻的电压源支路描述位于节点位于节点N1与地之间与地之间电压源关键字电压源关键字通过界面输入的串联电阻通过界面输入的串联电阻PSCAD自定义元件第 26 页实例:开关支路描述实例:开关支路描述 = BREAKER 指定了开关的初始电阻值,仅影响初始状态,而不指定了开关的初始电阻值,仅影响初始状态,而不 影响到后续仿真。通常的缺省值为影响到后续仿真。通常的缺省

15、值为1.0。PSCAD自定义元件第 27 页 Fortran模块模块 该模块是任何定义用户元件模型的该模块是任何定义用户元件模型的Fortran代码输入的位置。代码输入的位置。代码的输入可以是标准代码的输入可以是标准Fortran77格式,也可以是格式,也可以是PSCAD脚本,或者两者的组合。出于某些不兼容的问题,不推荐脚本,或者两者的组合。出于某些不兼容的问题,不推荐Fortran90的格式。的格式。 在该模块内可定义函数,或调用其它外部子程序。需注意在该模块内可定义函数,或调用其它外部子程序。需注意的是外部源文件(函数或子程序)必须与的是外部源文件(函数或子程序)必须与Fortran77或

16、或90的的格式兼容。格式兼容。 需要注意的是所有代码行前需要需要注意的是所有代码行前需要6个空格。个空格。PSCAD自定义元件第 28 页Fortran代码代码PSCAD内部变量内部变量先导先导6个空格个空格PSCAD脚本脚本无需无需6个先导空格个先导空格PSCAD自定义元件第 29 页编写代码时应考虑如下几个因素:编写代码时应考虑如下几个因素:直接在直接在Fortran模块中编写代码时可直接使用所有的模块中编写代码时可直接使用所有的EMTCD内部全内部全局变量,而无需事先定义或加入包括文件;局变量,而无需事先定义或加入包括文件;PSCAD脚本只能用在脚本只能用在Fortran模块内的代码编制

17、中;模块内的代码编制中;所有在所有在Fortran模块中的代码将直接加入到仿真模型的模块中的代码将直接加入到仿真模型的.f文件中;文件中;编译时,将根据代码中定义的变量用途,以及该用户元件如何连接编译时,将根据代码中定义的变量用途,以及该用户元件如何连接到仿真模型中,自动地将代码分配到到仿真模型中,自动地将代码分配到EMTDC相应的模块中,如:相应的模块中,如:DSDYN或或DSOUT。 DSDYN和和DSOUT模块模块 代码编制与代码编制与Fortran模块一致,仅是强制性将该部分代码模块一致,仅是强制性将该部分代码放置于放置于EMTDC的的DSDYN或或DSOUT部分中。部分中。PSCAD

18、自定义元件第 30 页 Checks模块模块 该模块用于检查用户输入参数值的合理性。模型编译时若该模块用于检查用户输入参数值的合理性。模型编译时若特定条件满足,将在输出窗口中给出错误或警告信息。特定条件满足,将在输出窗口中给出错误或警告信息。 : l 可以是可以是 WARNING或或ERROR 。如果是警告,。如果是警告, 信信息将以警告的形式出现在输出窗口中。如果是错误息将以警告的形式出现在输出窗口中。如果是错误. 仿真过程将被中止。仿真过程将被中止。 l 诊断信息,需要提供足够的信息来描述问题发生的位置和问诊断信息,需要提供足够的信息来描述问题发生的位置和问题产生的根源。题产生的根源。l

19、判断是否发生错误或警告的条件判断是否发生错误或警告的条件. 该表达式基于否定逻辑,该表达式基于否定逻辑,即该条件不满足时将触发警告或错误。即该条件不满足时将触发警告或错误。参数参数F的输入值小于等于的输入值小于等于0时,将出现错误,并提示信息;时,将出现错误,并提示信息;参数参数R1与与R2输入值之比小于等于输入值之比小于等于100时,将出现警告并提示信息;时,将出现警告并提示信息;PSCAD自定义元件第 31 页 Help模块模块 可在此模块中列出与该元件相关联的帮助文件。确保文件可在此模块中列出与该元件相关联的帮助文件。确保文件路径的正确性。路径的正确性。 Flyby模块模块 可在用户元件

20、上给出可在用户元件上给出Flyby提示。提示。ll: llThis is my SVM component.l: vainlThis is actual voltage input.PSCAD自定义元件第 32 页增加内部输出变量增加内部输出变量1. 可通过增加输出引脚方式引出内部变量;可通过增加输出引脚方式引出内部变量;2. 通过使用通过使用OUTPUT指令的方式。指令的方式。#OUTPUT l 可以是可以是 REAL, INTEGER或或 LOGICAL. l 变量名称变量名称. l 可选整形可选整形, 定义了数组变量长度定义了数组变量长度. 一维时为空。一维时为空。l 输出变量的赋值表达

21、式,可以为数学表达式,某个输出变量的赋值表达式,可以为数学表达式,某个存储位置或已定义的变量。存储位置或已定义的变量。 PSCAD自定义元件第 33 页在元件界面中增加在元件界面中增加2个变量,个变量,如如Isource和和Vsource;#OUTPUT REAL Isource STORI(NSTORI+1)#OUTPUT REAL Vsource $V*$I IsVs则在仿真过程中则在仿真过程中Is,Vs可直接用于显示和处理。可直接用于显示和处理。PSCAD自定义元件第 34 页emstor.h 变量存储数组及变量存储数组及相应访问指针相应访问指针这些数组用于存储特定的用户变量,以在下一时

22、间步长内访问。因此这些数组用于存储特定的用户变量,以在下一时间步长内访问。因此这些数组对涉及到时间的用户元件非常有用。这些数组对涉及到时间的用户元件非常有用。关于内部全局变量关于内部全局变量PSCAD自定义元件第 35 页这些数组均为多行、单列的存储堆栈。用户按顺序指针存储数据。这些数组均为多行、单列的存储堆栈。用户按顺序指针存储数据。所有的指针均在每个仿真步长开始时自动恢复至所有的指针均在每个仿真步长开始时自动恢复至1。指针的管理和数据存储非常重要,需要靠用户进行指针的管理和数据存储非常重要,需要靠用户进行维护。在每个单独的子程序中都可以借助相应的数维护。在每个单独的子程序中都可以借助相应的

23、数组和指针存储和访问其中的内容。需要注意的是要组和指针存储和访问其中的内容。需要注意的是要根据自身存储的变量数量来调整相应指针的位置。根据自身存储的变量数量来调整相应指针的位置。从相应数组中取回存储值;从相应数组中取回存储值;将新值存储回相应数组;将新值存储回相应数组;指针调整;指针调整;PSCAD自定义元件第 36 页l timea=STORF(NSTORF)l timeb=STORF(NSTORF +1)l timec=STORF(NSTORF+2)l timen=STORF(NSTORF+3)l erra_old=STORF(NSTORF+4)l errb_old=STORF(NSTOR

24、F+5)l errc_old=STORF(NSTORF+6)l acta=STORI(NSTORI )l actb=STORI(NSTORI +1)l actc=STORI(NSTORI +2)l actn=STORI(NSTORI +3)l STORF(NSTORF)=timeal STORF(NSTORF+1)=timebl STORF(NSTORF+2)=timecl STORF(NSTORF+3)=timenl STORF(NSTORF+4)=erra_oldl STORF(NSTORF+5)=errb_oldl STORF(NSTORF+6)=errc_oldl STORI(NSTO

25、RI)=actal STORI(NSTORI+1)=actbl STORI(NSTORI+2)=actc l STORI(NSTORI+3)=actnl NSTORF=NSTORF+7l NSTORI=NSTORI+4PSCAD自定义元件第 37 页l timea=STORF(mystoref)l timeb=STORF(mystoref+1)l timec=STORF(mystoref+2)l timen=STORF(mystoref+3)l erra_old=STORF(mystoref+4)l errb_old=STORF(mystoref+5)l errc_old=STORF(myst

26、oref+6)l acta=STORI(mystorei)l actb=STORI(mystorei+1)l actc=STORI(mystorei+2)l actn=STORI(mystorei+3)l mystoref=NSTORFl NSTORF=NSTORF+7l mystorei=NSTORIl NSTORI=NSTORI+4l STORF(mystoref)=timeal STORF(mystoref+1)=timebl STORF(mystoref+2)=timecl STORF(mystoref+3)=timenl STORF(mystoref+4)=erra_oldl STORF(mystoref+5)=errb_oldl STORF(mystoref+6)=errc_oldl STORI(mystorei)=actal STORI(mystorei+1)=actbl STORI(mystorei+2)=actc l STORI(mystore

温馨提示

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

评论

0/150

提交评论