TA的每日心情 | 郁闷 2017-4-3 23:39 |
|---|
签到天数: 10 天 连续签到: 4 天 [LV.3]偶尔看看II 累计签到:10 天 连续签到:4 天
|
马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
由于项目要用到pscad的自定义元件功能,于是花了几天恶补了一下相关知识。正好看到说明书里面的CCIN功能,受到启发,正好可以实现电流放大功能。
* @* l; _' R9 l: F* b( ~& E; ]* P4 \' E! `* u' z% n7 U) c
% C! {6 X: k7 _
本帖提出一种通过电流放大实现的方法,原理、实施都特别简单,但是该方法存在一些问题。* w* D" p" @! I G' I
2 I" G* L; a3 }5 ~/ \% e
开此贴目的有三:
7 h% r! Z0 C! e: z' X6 n7 W) q: I6 t( f
首先,抛砖引玉,分享经验,我想到的方法不一定好,希望能集思广益,看看应该如何改进;
% v8 F4 m9 `: k, r9 v+ M
/ b1 ~4 l) O1 ]: x 其次,通过一个实例帮助不熟悉自定义元件的人快速入门,并提供;: U' S7 l8 u8 t8 P
最后,帮助大家开拓思路,希望大家在建模时能多一种选择。
9 V" k- c" {# |4 S8 k8 q2 A( i5 U0 V
3 j; T; J' P" u1 H
原理% q; l1 _# Z0 g3 @& X# F, t6 s
通过在Fortran Segment中调用PSCAD自带CCIN电流源功能,在每个仿真步长内将需要放大的电流值乘以(n-1),所得结果赋给CCIN,使得自定义元件流出电流与原电流的加和为被放大电流的n倍。5 W) X/ s. i* ?) u" U' }
1 Z2 M. w+ w0 m& y+ R8 ?7 V0 S `$ z9 q# B$ b. g0 P
实现方法
/ t* A5 q) W. P考虑到大家对PSCAD4.2较熟悉,以下介绍如何在PSCAD4.5中实现,最后的附件中有两个版本的示例。
A9 W' @# f$ M; f
/ x( r# v7 J. ]
+ K* ^, x* [2 |$ ^1 W1.创建简单的仿真系统
1 ^7 k+ ]( z5 B* [: O' d& w 如图是一个简单的电压源串两个1Ohm电阻的系统,我们要实现的是Ia2放大为Ia1的n倍,即Ia2=Ia1*n。
# H9 Y: Z; ]- Q* m3 S- N. U U
h& C$ o, f3 ^4 Q
( I6 ^) f6 l( O. [- B/ {4 N4 U( W7 I0 q$ F( |" g
2.创建与编辑自定义元件4 h8 d# i& c+ a ^' ~, d: P
! [% u" F& g0 w! K+ k' z 为紧凑一点,把这个过程放在一张图上,红色数字对于下面的1)~6)步。
$ q v) Y2 e3 } 1)在画布空白处点右键Create-Component,在右边弹出一个侧边栏;: z. o: U+ S) w: M8 o
% L) w7 ?0 t, C, d
2)侧边栏中Component Wizard是元件创建向导,我们只需要填下元件的名字(Name),画布上元件显示的名称(Title),然后点Finish完成创建;
! l! n' u# l( ]9 o) r/ G) C' X |2 p$ j: m
3)在元件上右键Edit Definition进入元件编辑;$ d( S' \5 w( \
8 @" J0 m& @0 y
4)元件编辑界面分为3部分:Graphic图形界面,Parameter参数界面,Script脚本界面(也就是常说的编程序的地方),通过Edit Definition首先进入图形编辑界面,利用工具栏Shape里面的直线Line和端口Port,在元件上引出一根线,末端为端子N1;(PSCAD4.2好像默认将端子Connection Type设置为Input类型,颜色为绿色,请注意改为Electrical类型)
- F! @# E! X) A
2 K" Q) s. b4 t3 l1 Q 5)为便于元件的使用,希望在主电路直接通过修改参数的方式设置放大倍数、需要放大的电流。为此需要增加元件的参数,在Parameters界面内点击右键New parameter创建参数;
9 ]" c6 r' y' J3 } y }
9 z+ w- y) ~3 e9 o S1 Z+ _& n6 R 6)创建两个参数:需要放大的电流Current、放大倍数Scale,有2点需要注意:0 ]( `" C9 P3 B2 J4 m. }3 k, ]
3 @( Q0 ~4 y3 s a)每个参数中还有其他条目,Description是参数名,Symbol是在Script中用到的变量名,不要混淆;' T8 g! v+ L5 m. ^* @( ~2 B+ m
b)Current为text文本类型,因为需要放大的变量是通过文本作为参数输入的,Scale为integer整型,这点比较好理解,在此处我设置了放大倍数的上下限是1~1000,也可以修改为其他值;
T, r" E* y+ F4 bfile:///C:/Users/a/Documents/My%20Knowledge/temp/d48ab359-523f-4567-b793-723d9ea7e439.png
1 a, r2 F; C _# x c) d; P6 C& Q* c: O, @9 L Z$ X# v
3.编写脚本
- r- k3 I$ M: o1 P7 ^( h, q5 z 上一步中创建的元件是“死”的,这里才是整个元件的核心 ,在Script里面加入如下代码:# m) c7 ^4 o6 y2 s
& l0 z+ b0 m* x* ~
- #BEGIN. p5 `4 w( Y, h+ \# f5 J
- ENABCCIN($N1,$SS)=.TRUE.
/ y: B1 V" g0 } - #ENDBEGIN8 x3 D2 g8 o1 M1 b3 O8 d
- CCIN($N1,$SS)=($Scale-1)*$Current
复制代码
( X1 B8 e# y% e3 y& T2 T& c/ f
0 M0 \* v, o, }0 d; i9 \1 X 注意,Script包含多个Segment,请确保该段代码是放在Fortran Segment中。0 H% n# i; w4 c( e2 r% M3 k
2 O- i) x- s2 S8 A, T 解释一下这几行代码:
" e8 M1 U4 J8 R# Z1 P, e0 c F3 |1 `7 y6 [1 N
1) #BEGIN/#ENDBEGIN是一对指令,包含在其中的代码段只在仿真初始阶段运行一次,
7 j6 O8 s: c: w+ j. l, h# W+ r0 Q3 U( Y& r
【如不识别该指令语句,请用IF(TIMEZERO) THEN...ENDIF:
- ]& z; T- D1 v- IF(TIMEZERO) THEN
7 f T6 g/ d. S9 z+ W( B - ENABCCIN($NA,$SS)=.TRUE.% V' Y l! Z5 K% Z; \' c
- ENDIF
2 l, ^# I4 d8 T8 S3 `0 W# C - CCIN($NA,$SS)=$Current*$Scale
复制代码 】
% r$ R: e0 l/ \
* }1 s. F& Q+ U
+ W7 _6 p7 x+ a- Z" b4 |. @. P 2)ENABCCIN($N1,$SS)=.TRUE.开启CCIN功能,ENABCCIN的参数是端子名$NA、子系统名$SS,前面加的$是放在变量名前面的替代符。这里的变量指的是从元件端口、系统变量、元件参数。实际上,NA、SS只是一个代号,在PSCAD将script编译为fortran的过程中,会把NA、SS替换为真实的名字,形式有点像数组,便于EMTDC软件包的运算。, j, e6 T7 T F7 N" m# p- n
2 ~+ e6 g. A! X; Z- N2 b* y/ ? 3)CCIN($NA,$SS)=($Scale-1)*$Current: `1 _- Z+ I9 D4 Y
CCIN产生一个接地电流源,电流大小为Current放大Scale-1倍,这条语句在BEGIN之外,说明其在每一个仿真步长中都会执行!Scal、Current是Parameter中的Symbol。
. f5 w$ r: a# z
* g; [; g- N/ h* G0 M4.结果
9 t+ V( Q) a, s1 o2 B* G2 o 将建好的元件和主电路连接好,增加监视元件,运行后查看波形。
- |$ B7 b3 I: a# E3 a6 k& E) q, C* o o* D
! S7 h) m4 a# a5 k8 a* R4 h: N" t- c" `" `& ?7 s0 T0 @7 E
9 Z* L0 ?$ H) v1 o存在问题, d6 L! |& B# A( `+ N& x- P
该种方法放大电流时,放大倍数增大将使得结果发散,表现为数值非常大(可达到10的数百次方)或干脆没有值(NaN),原因不明。1 {, ]) C# t$ F% [
我的猜想是,这种方法在某些情况下可能带来网络方程无法求解的问题,其具体原因可能是方程矛盾、矩阵奇异之类的,电网络学得不太好,这里也只是瞎猜。希望大家能给点意见。( |* B) P* Y& K, E. w: N
4 _/ v6 O$ J+ X; n4 L2 d! b1 @0 m v9 E+ m- C3 q
- {4 v6 Q: O4 }, L
( D+ o; T/ N" U( i
PSCAD电流放大(包含4.5、4.2版本).rar
(763.01 KB, 下载次数: 4)
6 z3 H. t6 k7 @
|
|