设为首页收藏本站|繁體中文 快速切换版块

 找回密码
 立即加入
搜索
查看: 3317|回复: 8

[讨论] 【编程实例PSS/E】自己用python写的一个三相短路故障的例子

[复制链接]

该用户从未签到

尚未签到

发表于 2008-8-6 20:46:29 | 显示全部楼层 |阅读模式

马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!

您需要 登录 才可以下载或查看,没有账号?立即加入

×
import globedef
3 I% N7 \, }* n' i' `' O2 aimport fault# I$ |0 M9 a: e6 A/ }
psspy.case('c:\sav.sav')9 q$ n9 z" O; O% n* D# T, m
psspy.close_report()  # close REPORT windows
" ^# G/ I# u) `+ joptions=(0,0,0,0,0,0,0)6 ]( W1 G1 P' ^8 n
psspy.progress_output(6, "", options)
& ?+ n% h9 F* m# F# Mpsspy.report_output(6, "", options)
. z3 y- J& l) _8 R) |) b7 ofault.three_phase(33600)9 H! {3 h9 E! E  A0 J2 n

( y$ O! @2 L1 b% k[ 本帖最后由 dsyljh 于 2008-8-8 08:40 编辑 ]-%-96529-%-

评分

参与人数 2威望 +6 金币 +2 +450 收起 理由
fionayy + 1 原创
dsyljh + 5 + 2 + 450 原创内容

查看全部评分

"真诚赞赏,手留余香"
还没有人打赏,支持一下
楼主热帖
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

该用户从未签到

尚未签到

 楼主| 发表于 2008-8-6 20:52:35 | 显示全部楼层
这是FAULT.PY的内容
) T8 U0 a" x# D6 T# Bimport globedef
6 I% }( e. {& s. e6 I0 h8 }import psspy
) Y7 n# M" |6 ~7 x4 \% g
8 |! ^1 B4 [5 t" {# T#a=(1,1,1)
4 }4 ?- {4 Y) A+ W6 x#psspy.seqd(a)
: ]; K/ I+ P9 G# x7 V( H7 G; {, m* y
7 r1 {+ K. @9 J% W  Z/ G  L, Q
def one_phase_ground(bus,r,x):
; w% l- k$ w$ w0 I: N- P        options=(1,1,1,0,0,0,0)6 W( Q+ m* J+ E) J
        rval=(r,x,0.0,0.0,0.0)
- S( j5 v4 C) w# J. v7 R5 }        cktarg=''
. P5 G: u$ H# ~        psspy.scmu(1,options,rval,cktarg)
( q% Y& X4 ^2 Y( C  c        options=(1,bus,1,0,0,0,0)
& O* H8 ^: _6 v2 L- x        psspy.scmu(2,options,rval,cktarg)
2 S4 _$ Q. ^7 j1 l, o8 f2 }3 Y6 q        psspy.scmu(3,options,rval,cktarg)
9 |: G' _' |0 f       
5 [6 B* ~/ _$ u* S" |9 K        return 0
( J3 V7 c) x* a$ S  Z+ y       
1 r  @$ \- Y2 R8 B% g# sdef two_phase(i):
4 e- |; L, F0 R1 e9 y7 I6 q! h! e1 ^+ T! [% u$ L
        return 03 J0 z* E& Y$ V4 U& K: B) W8 V
2 U0 ?( U9 G; U
def three_phase(bus):+ m; u# o0 K+ A0 ]# e. ~/ y
        options=(1,1,1,0,0,0,0)8 z9 \  Q$ L5 s7 U7 r+ T
        rval=(0.0,0.0,0.0,0.0,0.0)
0 i  y' |! J" D+ V8 _) O% b- A# C        cktarg=''3 P' V( _- h% f4 G3 H4 V
        psspy.scmu(1,options,rval,cktarg)" L  c9 D  u0 c: q
        options=(7,bus,1,0,0,0,0)/ d5 r! x( Q8 R4 Y% h) P
        psspy.scmu(2,options,rval,cktarg)
4 o8 d2 J0 f. {* W# l& `        psspy.scmu(3,options,rval,cktarg)
; c: r+ Z' K" c6 T7 a0 o- t5 r       
* D+ \. u2 U& Q9 k9 l        return 0
4 B; q1 J( u4 Z) H1 U
5 E( o/ c2 e3 v) zdef line_LG_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):! l+ R) O! F# _1 V$ m" E, |3 H" R( p
        options=(1,1,1,0,0,0,0)& y% h! A; i8 \/ D1 r6 e/ X+ Z& s+ o1 D
        rval=(0.0,0.0,0.0,0.0,location)
% ^5 w/ z+ ]6 C" K        cktarg=ckt
) `. y3 h( \: z        psspy.scmu(1,options,rval,cktarg): ?1 Y: B: J8 z
        options=(9,bus_i,bus_j,1,1,0,0)
* Z# V+ }# Q/ C, k) o  G        psspy.scmu(2,options,rval,cktarg)
# g' E# I: ?/ f- T        psspy.scmu(3,options,rval,cktarg)
# P5 O. t6 ~# \3 f6 t6 v4 m        9 t" s% u4 ]; j
        return 0; y  T+ L: ~  c. z9 e

6 b7 z* |& `+ A% d0 M0 F3 {2 H3 O( edef line_LL_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):
. \$ Y& P: ]6 {$ F& `0 _: {$ z        options=(1,1,1,0,0,0,0)
/ |2 Z; r2 T( ?( w' Z        rval=(0.0,0.0,0.0,0.0,location)% e# R! r+ g9 H7 n  b1 K1 c$ e
        cktarg=ckt8 E% P0 H7 s6 ^8 c
        psspy.scmu(1,options,rval,cktarg)
7 \" n$ x3 T# p5 k        options=(9,bus_i,bus_j,2,1,0,0)9 D- ~: l$ L- v( X& I
        psspy.scmu(2,options,rval,cktarg)
& C5 u/ T  F" j, r* g        psspy.scmu(3,options,rval,cktarg)
3 ?$ P( W+ O! ~       
2 f. n8 Y  r5 X' U* ~+ r        return 0: r- E( ?5 y7 Q
8 k" _8 k) S, ]
def get_breaker_cline_LG_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):
# f' X- k4 U% O% G1 ^        options=(1,1,1,0,0,0,0)) r4 a% z& g& f+ y
        rval=(0.0,0.0,0.0,0.0,location)! Z9 X  v4 n: G5 C4 i
        cktarg=ckt) N# ~/ q/ s% D
        psspy.scmu(1,options,rval,cktarg), k% t' l# L! V5 ~8 z! E; U! `
        options=(9,bus_i,bus_j,1,1,0,0)% |7 D! q: w3 q$ j- O; N
        psspy.scmu(2,options,rval,cktarg)
5 Y( v# @; {  I" n5 u        psspy.scmu(3,options,rval,cktarg)% ]9 N7 Q4 \/ o# ]2 T
       
4 b+ m( T$ Q7 U3 G& R        return 0
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2008-8-28 17:24:10 | 显示全部楼层
    咋一个三相短路写这么复杂呢?8 u1 L6 v4 J2 L+ C8 g
      X/ L' m# E3 K0 O8 }
    高手详细对比一下python和IPLAN吧
    9 I5 ?+ p* m1 p/ \% R$ i6 e各有哪些优势
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-15 20:29
  • 签到天数: 11 天

    连续签到: 3 天

    [LV.3]偶尔看看II

    累计签到:11 天
    连续签到:3 天
    发表于 2008-9-30 15:04:48 | 显示全部楼层

    7 J# d1 \4 x8 \高手说说两者各自的优缺点吧
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2009-2-27 20:46:11 | 显示全部楼层
    楼主上述故障实现没有直接用官方提供的disturbance APIs. }: V8 n$ }' ]
    不知为什么4 @4 S/ r; F9 o, I; ?9 z
    看起来官方的dist_branch_fault、dist_bus_fault等更简洁
    1 A6 B: {2 d- ]) q) d5 }9 W  `8 h2 J- d但没试过
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2009-2-27 20:50:51 | 显示全部楼层
    原先用IPLAN写branch trip:
    ; j1 J4 d% G- z- q$ t
    0 W6 E3 \$ M# D, V3 Y3 M; D1 h                PUSH        'ALTR'
    5 B, K( ?2 A) @                PUSH        '0'
    ) x+ j& V/ M0 b( Q2 a- x9 C  p- ~  {7 u                PUSH        '1'        !CHANGE NETWORKDATA
    9 a# E+ p, f9 b4 S                PUSH        '0'( _0 q' r' r0 u. C) a
                    PUSH        '3'        !BRANCH DATA
    & ~8 {7 K# s7 h  c3 e1 d                PUSH        '151,201,1'
    $ t# @) v, e( q; P! x                PUSH        '1'
    # S8 j# r% ^5 |6 e5 X/ }                PUSH        '0,'        !ISOLATE THIS BRANCH
    % K: E' M2 Z1 X: t) _6 G5 X/ E9 W6 Y0 S7 u0 u                PUSH        '0'          !NO MORE CHANGES TO THIS BRANCH
    ( E' @  d' p8 H4 l% a/ `! G                PUSH        ' '                !NO CHANGE IN METERED END
    ' {+ l3 `0 M9 i( z" i                PUSH        ' '          !NO MORE BRANCHES TO BE CHANGED" w1 Z% t2 O+ s
                    PUSH  '0'   !EXIT ALTR ACTIVITY; R" k/ f* o; T$ |. W  i+ Q7 b
    . @4 {" G+ N3 s0 }1 S4 ]9 O
    现在python:
    / I- j5 Y& I" F7 fdist_branch_trip(151,201,'1')5 _- {& i- ~) b& S* s
    一句就可以了& X/ T! K1 ~+ g

    6 r0 M" Z2 \, l, L& y  p) C确实比较简洁
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 2009-2-27 21:00:51 | 显示全部楼层
    亨利版主是IPLAN的行家。觉得python很多东西藏的太深了。不像直接调用activities这样明显。
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2009-2-27 21:06:03 | 显示全部楼层
    用官方提供的应该可靠性高点) J% Z  B+ i' K; T
    就是不容易出错
    ' T# L: D5 k3 m
    2 |* g; h9 Z9 K' }# G要想玩PSSE,还是基于最基本命令单元,呵呵
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 2015-4-22 17:30:45 | 显示全部楼层
    直接看不懂呀
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
    您需要登录后才可以回帖 登录 | 立即加入

    本版积分规则

    招聘斑竹

    小黑屋|手机版|APP下载(beta)|Archiver|电力研学网 ( 赣ICP备12000811号-1|赣公网安备36040302000210号 )|网站地图

    GMT+8, 2024-3-29 01:07

    Powered by Discuz! X3.5 Licensed

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表