09_用户自定义元件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
09_用户自定义元件

PSCAD自定义元件;主要内容;一、自定义元件方法;依次输入各引脚的 名称和描述 !名称必须遵守 Fortran的规则;;固定型(缺省):最常用的电气引脚类型。代表简单的电气 节点。如存在疑问时尽量选择该类型。;创建完成后的外观;右键菜单;修改元件定义;元件外观编辑页面;Graphic页面:对元件外观,引脚,变量等进行各种编辑。 例如:外观大小, 输入输出引脚,输入输入变量名重 定义等。也可新增引脚。;Parameters页面:可给元件添加参数输入界面。这些参数 将作为元件代码部分中使用的常量。;Script页面:用Fortran语言编写元件代码,注意需遵守 PSCAD的一些语法规定和相应编译器的语法。;!Page Module的内部搭建与常规模型建立方法一致,也可包括自定义元件和页面模块。;二、自定义元件界面的编写;增加用户界面;单选按钮;用户元件的图形界面或参数界面中的每一个对象均具有一个 可控制可视或使能的参数输入。用户可添加判断条件来 控制元件的可视/不可视,或者使能/禁止。;;三、自定义元件代码的编写;Computation模块 该模块提供了对用户输入数据进行预处理的环境。某些 情况下用户可能以自己方便的形式输入数据,但从元件代 码的角度可能不方便于编程。因此需要事先进行预处理。 该模块是编译器对元件代码部分进行编译时最先处理的 模块,因此该模块中定义的量能在后续任何模块中使用。 而且所定义的量只被编译器处理一次,故该量只能是 静态的。该模块中可采用任何算术和逻辑表达式。;Branch模块 该模块提供了输入电气支路信息的环境,以将其加入到 EMTDC的电气网络导纳矩阵中。支路设计的完成是通过指 定无源元件的类型和参数,以及这些元件之间连接信息来 实现的。 一条简单的支路定义语句可定义一个简单的电气支路,也 可用于定义开关型支路或包含理想电压源的支路。 ;$为子程序前缀运算符;;实例:带内阻的电压源支路描述;实例:开关支路描述;Fortran模块 该模块是任何定义用户元件模型的Fortran代码输入的位置。 代码的输入可以是标准Fortran77格式,也可以是PSCAD 脚本,或者两者的组合。出于某些不兼容的问题,不推荐 Fortran90的格式。 在该模块内可定义函数,或调用其它外部子程序。需注意 的是外部源文件(函数或子程序)必须与Fortran77或90的 格式兼容。 需要注意的是所有代码行前需要6个空格。;;编写代码时应考虑如下几个因素:;Checks模块 该模块用于检查用户输入参数值的合理性。模型编译时若 特定条件满足,将在输出窗口中给出错误或警告信息。;Help模块 可在此模块中列出与该元件相关联的帮助文件。确保文件 路径的正确性。;增加内部输出变量;在元件界面中增加2个变量, 如Isource和Vsource;;emstor.h ;这些数组均为多行、单列的存储堆栈。用户按顺序指针存储数据。; timea=STORF(NSTORF) timeb=STORF(NSTORF +1) timec=STORF(NSTORF+2) timen=STORF(NSTORF+3) erra_old=STORF(NSTORF+4) errb_old=STORF(NSTORF+5) errc_old=STORF(NSTORF+6) acta=STORI(NSTORI ) actb=STORI(NSTORI +1) actc=STORI(NSTORI +2) actn=STORI(NSTORI +3); timea=STORF(mystoref) timeb=STORF(mystoref+1) timec=STORF(mystoref+2) timen=STORF(mystoref+3) erra_old=STORF(mystoref+4) errb_old=STORF(mystoref+5) errc_old=STORF(mystoref+6) acta=STORI(mystorei) actb=STORI(mystorei+1) actc=STORI(mystorei+2) actn=STORI(mystorei+3)

文档评论(0)

ccx55855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档