[转载]PSCAD调用MATLAB/SIMULINK之接口元件设计

原文地址:PSCAD调用MATLAB/SIMULINK之接口元件设计作者:luckyhappier

 

1)接口元件

  接口元件包括Graphics,Parameters和Script。注意:变量要与DSDYN要一致(PSCAD根据变量名区别变量)。

[转载]PSCAD调用MATLAB/SIMULINK之接口元件设计


2)Circuit

   定义接口元件外壳。根据需要定义输入输出类型,数据类型,维数。(如下图)

   在Circuit中右击选Create New Comoponent(接口元件向导(如上图)

[转载]PSCAD调用MATLAB/SIMULINK之接口元件设计

3)Graphics

   元件外观和修改输入输出数列类型,维数。在自定义元件右键选择Edit Definition进入Graphics。

   双击绿色节点弹出Connection,在此修改输入输出性质。

   注意:Symbol输入是数列名均和脚本代码里面一致。

4)Parameters(在没有选中Page Module)

  在没有选中Page Module时在完成Graphics后进入此,单击菜单New Category后点OK,在分类布上(点格矩阵区域)右键选New Control,在选不同类型,此选Text Field(设计matlab/simulink 路径和文件名,注意:Symbol输入是名和脚本代码里面一致,caption:describe the Text Field)和Input Field (调用matlab的速度,钩选ALL Signal Names)

5)Script

 注意:变量要与前面定义输入输出要一致。DSDYN完成代码添加。在script里单击segement manager。在弹出对话框选添加DSDYN,OK后进入添加代码阶段。(在网上下个Fortran help看看就OK)

Fortran 语言:

#STORAGE REAL:33 //向系统申请一个数据空间,包括输入输出的个数,有real和integer

#LOCAL INTEGER I_CNT  //定义一个局部变量

! First Input Array (REAL(31))

      DO I_CNT = 1,31,1  //循环压栈,

        STORF(NSTORF+I_CNT-1) = $INPUT(I_CNT)

      END DO  //注意空格

DO的用法简介:DO 与 end DO联合使用。

DO 变量名 = 初值,终值,步长(当步长为1时可省略)

………

ENDDO

DO WHILE(条件语句)

………

ENDDO

 

IF  (条件) then

。。。。

Else if(条件) then

。。。。

Endif

 

或 #if    //不用加then

………  

#ELSE

………

#endif

! SUBROUTINE MLAB_INT(MPATH, MFILE, INPUTS, OUTPUTS)//路径一般使用相对路径,即在你当前的工程目录下建立一个文件夹,比如命名为mfiles。则"$Path"可改写为”:$Dir$Path”,Path,Name均为设定的变量值,A MATLAB module is called by [D] = TEST(A,B,C), where TEST is a module in a MATLAB file 'TEST.m', that is located in C:TEMP MLAB_FILES.  The input 'A' is a REAL variable, 'B' is a REAL array of dimension 31 and 'C' is an INTEGER.  The output 'D' is a REAL array of dimension 10. 

The MATLAB interface subroutine call would then appear as follows: 

 

CALL MLAB_INT("C:TEMPMLAB_FILES", "TEST", "R R(31) I", "R(10)")

 

 

CALL MLAB_INT("%:Dir$Path", "$Name", "R(3)" , "R" )//相对路径表示。

      CALL MLAB_INT("$Path","$Name","R(31)","R(2)")

!

! First Output Array (REAL(2))

! 得到输出值,同样是使用变量栈输出,数组的标号顺序与栈先后顺序一致。

      DO I_CNT=1,2,1

        $OUTPUT(I_CNT) = STORF(NSTORF+31+I_CNT-1)

      ENDDO

!

! Increment STORF pointer

!改变栈的索引值

      NSTORF = NSTORF + 33

!

6)在Circuit

 对自定义元件调用matlab/simulink的文件路径,文件名和接口调用频率。

到此一个接口元件就完成了。

 

  

转载于:https://www.cnblogs.com/accjsjc/p/6011607.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/394898.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle数字类型ef映射,Entity Framework 学习中级篇5—使EF支持Oracle9i - ♂风车车.Net - 博客园...

从Code MSDN上下载下来的EFOracleProvider不支持Oracle9i.但是,目前我所使用的还是Oracle9i。为此,对EFOracleProvider修改了以下,以便使其支持Oracle9i.下面说说具体修改地方.(红色部分为添加或修改的代码部分)一,修改EFOracleProvider1,修改EFOraclePr…

Oracle 数据库之最:你见过最高的 SQL Version 是多少?

Oracle数据库中执行的SQL,很多时候会因为种种原因产生多个不同的执行版本,一个游标的版本过多很容易引起数据库的性能问题,甚至故障。 有时候一个SQL的版本数量可能多达数万个,以下是我之前在"云和恩墨大讲堂”分享过的一个案…

C 怎么读取Cpp文件_opencv从yaml文件中读取矩阵(c++)

PS:由于我是新手,因此记录的比较罗里吧嗦,本文也属于一个没有任何技术的编程积累。在SLAM系统中,经常需要从配置文件中读取参数文件,读取整型,浮点型都是比较常见的操作,在读取矩阵卡了一下,记录…

3.SFB标准版前端安装

SFB服务器准备部分:1.修改服务器名称,sfb加入域,用域管理员账户登录2.配置服务器IP地址,DNS3.安装Windows组件Add-WindowsFeature NET-Framework-Core, RSAT-ADDS, Windows-Identity-Foundation, Web-Server, Web-Static-Content,…

向spark standalone集群提交任务

文档链接 #切换到spark安装目录,执行下面一条命令,192.168.0.10是master的ip, examples/src/main/python/pi.py 是python 文件的路径 ./bin/spark-submit --master spark://192.168.0.106:7077 examples/src/main/python/pi.py任务已经执行完毕,耗时10秒 转载于:https://www.c…

python excelwriter保存路径_Python和Excel 终于可以互通了!!

点击“开发者技术前线”,选择“星标🔝”在看|星标|留言, 真爱作者:小天真_5eed 链接:https://www.jianshu.com/p/6ecf414f3372今天为大家分享一篇使用python将大量数据导出到Excel中的技巧心得,可以让Python和Excel…

MySQL 导出数据

2019独角兽企业重金招聘Python工程师标准>>> 1、导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 存放位置比如: mysqldump -u root -p project > c:/a.sql 2.导出一个表的结构,并且带表中的数据 mysqldump -u 用户名 -p 数据库名 …

单片机STM8S测量电压电路_单片机电路设计中的10个难点

单片机是嵌入式系统的核心元件,使用单片机的电路要复杂得多,但在更改和添加新功能时,带有单片机的电路更加容易实现,这也正是电器设备使用单片机的原因。那么在单片机电路的设计中需要注意的难点有哪些?嵌入式ARM开发 …

oracle ebs 数据源,Oracle EBS环境下查找数据源(Form篇)

关于在Oracle EBS环境下如何查找数据源的文章几年前就已经开始整理,但是其中关于OAF方面的一直没有整理,导致这份文档一直残缺不全,有很多次同事都向我索要相关文档都未能如愿以偿,新的一届培训工作再次启动,为了自己也…

linux 实用指令

通过init 来制定/切换不同的运行指令 查看linux 系统下,电脑的运行级别 vim /etc/inittab 如何找回丢失的root密码? 进入到单用户模式,然后修改root密码 进入到单用户模式,root不需要密码也可以登录 如果开机就是init 0 办法&…

chrome控制台如何把vw显示成px_【CSS】rem,em,px的区别和使用场景

前端潮咖点击上面蓝字,关注我们!关注关注前端潮咖,每日精选好文作者:大前端小菜鸟来源:cnblogs.com/hyns/p/12380944.html作rem布局原理深度理解(以及em/vw/vh)一、前言我们h5项目终端适配采用的是淘宝那套《Flexible实…

php7对象转换成数组,php 如何把对象转换成数组对象

php把对象转换成数组对象的方法:首先打开相应的PHP代码文件;然后通过“function array_to_object($arr){...}”方法把对象转换成数组即可。本文操作环境:windows7系统、PHP7.1版,DELL G3电脑php-对象(object) 与 数组(array) 的转…

建模:建模清单

ylbtech-建模:建模清单1.返回顶部 2.返回顶部3.返回顶部4.返回顶部5.返回顶部 6.返回顶部作者:ylbtech出处:http://ylbtech.cnblogs.com/本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明&#xf…

获得picker选项的当前年月值_如果你用OPPO手机!千万记得开启开发者选项,手机性能大幅度提升...

如果你用OPPO手机!千万记得开启开发者选项,手机性能大幅度提升用过OPPO手机的用户都知道,手机使用1-2年都会出现卡顿的情况。这也是安卓手机的通病,但也有很多朋友手机使用3年也不会出现卡顿的现象,都是因为打开了手机…

Django运维后台的搭建之四:用bootstrap模板让运维前台变得更漂亮

我对于PHP和ajax是属于二把刀的水平,所以做网页前端肯定是比上天还难,但是我又想把网页做的漂亮可爱,怎么办呢?我就只好去download别人的模板,在这里我使用了bootstrap框架做的模板。各位可以去https://wrapbootstrap.…

联想m7400pro更换墨粉盒怎么清零_佳能打印机怎么换墨水 佳能打印机换墨水注意事项【详解】...

佳能打印机是我们办公室用品中比较常见的一个品牌,作为国际知名品牌,其质量也是非常有保障的。在使用的时候打印机没有墨是经常会遇见的。这时候我们就需要更换墨水盒了。但很多不知道具体步骤,或者没有注意相关细节,导致换墨水盒…

MySQL Workbench导出数据库

步骤: 1. 打开mysql workbench,进入需要导出的数据库,点击左侧栏的【Management】tab键。 2. 点选要输出的数据库 点击【Data Export】选在要输出的数据库选择是否输出存储过程和函数,事件,触发器 点击Start Export3. …

软链接与硬链接

文件引用模型 在linux中,一切皆文件,而文件包含元数据(metedata)和用户数据(user data)。元数据中的inode号是系统标识和获取用户数据的唯一凭证,而文件名仅是为了方便用户记忆和使用。为了管理…

c++ 数组的输入遇到特定字符停止输入_C语言 第4章-字符串和格式化输入/输出

#include 用数组name储存字符串,name数组有40个字节,每个字节储存一个字符值。在scanf()函数中,输入字符串name没有&前缀。C预处理器把字符常量DENSITY定义为62.4。strlen()获取字符串长度。1. 字符串1.1. char类型数组双引号标记字符串&…

Python基础 day2

Python基础 一、Python的数据类型 1、int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647,而.在64位系统上,整数的位数为64位,取值范围为…