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

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

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

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
import globedef
, E% a; K- U% |$ qimport fault
5 s9 b  k: _' `' H" K( upsspy.case('c:\sav.sav')
9 M# V: p  {, n! a7 z$ G# opsspy.close_report()  # close REPORT windows7 i/ m# |6 b( V$ ]
options=(0,0,0,0,0,0,0)6 h0 S; e. X8 t) |
psspy.progress_output(6, "", options)( E9 \. N7 Y# e* \% Z
psspy.report_output(6, "", options)
9 s  G2 [8 ]+ _" [% I: {fault.three_phase(33600)8 p( e3 i# |/ f8 v  u

( ^9 l# j: C- F& @" V( P# @5 M) i' g5 I[ 本帖最后由 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的内容% v7 W# J1 x7 A5 G2 s. D. G. V; c
import globedef
# o! E4 B+ P2 k) j, J) Yimport psspy
6 `& Z* v% g% E1 \1 e) ]) D: w5 J7 K9 p$ _. ~
#a=(1,1,1), [3 ^6 ^; f% w/ E0 A8 c8 \
#psspy.seqd(a)
" e/ Q. q' W* F* Q* z" a# M/ p- L+ y5 s8 d
2 Q& ~  J1 T1 w  J# L; r# O
def one_phase_ground(bus,r,x):
3 i9 ]% ^3 i) {, m) D        options=(1,1,1,0,0,0,0)
' ^7 o+ B% ~; T& M, d- f+ d# o/ i        rval=(r,x,0.0,0.0,0.0)
. `) }& W3 n8 f$ ?        cktarg=''
5 Y' l# P" `" x. ~) H/ d" F        psspy.scmu(1,options,rval,cktarg)
. Q' A7 S# g) f        options=(1,bus,1,0,0,0,0)
* o! l8 {4 G2 R5 A8 h        psspy.scmu(2,options,rval,cktarg); [0 m) V# H" w& S
        psspy.scmu(3,options,rval,cktarg)
7 m4 g9 B: q' C. o5 }7 v7 S' a        - @+ c1 a% `$ Z% Q* [, t7 m
        return 0
  O5 i" W. U; u5 P        8 K" ~* H7 ^+ k0 e* ^/ H
def two_phase(i):2 H& J1 {# N+ B" P- G& }: F% e

+ ]% H  D5 x( M5 A# S        return 0' z1 P3 `, n7 n7 k
+ Q8 j" E9 ~3 A% K
def three_phase(bus):7 ?8 R. H1 G6 X) y! p+ D( B
        options=(1,1,1,0,0,0,0)8 U0 ?. a) ]0 X# _( s
        rval=(0.0,0.0,0.0,0.0,0.0)
8 K3 E5 w# U) @/ N2 V4 w        cktarg=''
) k, f, P# A' t  p- b4 U( k        psspy.scmu(1,options,rval,cktarg)
6 L# j. o  C9 j6 {9 i        options=(7,bus,1,0,0,0,0)9 M2 C6 |1 E1 y* w, x( M
        psspy.scmu(2,options,rval,cktarg)
! ?8 q3 N6 J  w1 _( n        psspy.scmu(3,options,rval,cktarg)
8 T( G9 F# a' q6 c% T* {       
  F2 E& W# k  @) a+ H4 X) [5 E( p        return 02 l( L" C% i( q' n: q, W2 W5 Q
0 c6 s! t- W, N* {  X+ T" f
def line_LG_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):
% z# ^! o+ S& ^, i7 X        options=(1,1,1,0,0,0,0)  ^& C6 s2 W* n7 e+ h; N* R+ w: `
        rval=(0.0,0.0,0.0,0.0,location)
5 a, |6 S9 o. ~7 c        cktarg=ckt
2 {2 Q# E% g$ G  z4 {6 P9 B! P3 N        psspy.scmu(1,options,rval,cktarg)% y# R: s4 B  V2 w
        options=(9,bus_i,bus_j,1,1,0,0)4 w4 d. g& h& ~
        psspy.scmu(2,options,rval,cktarg)
" O: o) b$ F* `9 X        psspy.scmu(3,options,rval,cktarg)5 b' l0 o& W) e" F. R- A/ v9 o
       
) z/ m! _5 Q/ k( A' w* U3 C        return 0$ G) [: C) X3 `0 `) G
$ F8 k9 U8 i5 O% e. o: u0 Q  J
def line_LL_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):
  H# ]% L' |1 M        options=(1,1,1,0,0,0,0)9 _! o3 u) b/ j" D8 A
        rval=(0.0,0.0,0.0,0.0,location)1 j2 b$ s( [' t7 B& i
        cktarg=ckt0 q' }) w# ]& Z& C; }
        psspy.scmu(1,options,rval,cktarg)
4 n* r: J9 s: ?) {' `        options=(9,bus_i,bus_j,2,1,0,0); @+ y$ C3 D, O- ?9 ~! U
        psspy.scmu(2,options,rval,cktarg)
+ G4 n3 M" k7 n  d  @& z; s" H        psspy.scmu(3,options,rval,cktarg)  f! k$ ?; H+ f
       
' D" K3 n- O) E" p) |6 _        return 0; Z( q  R# r8 h- h: W
- f; \1 S' Q+ T5 k2 k
def get_breaker_cline_LG_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):
: I+ J) t; Y0 }" X  S& g, \6 r& a. W        options=(1,1,1,0,0,0,0)
- G- h# F6 ]; w+ X1 N1 G        rval=(0.0,0.0,0.0,0.0,location)
* b8 Q. j" y2 y8 @+ t; C        cktarg=ckt
3 S# v, b1 W0 X" P( m        psspy.scmu(1,options,rval,cktarg)5 Z/ j) p1 M3 Q3 |
        options=(9,bus_i,bus_j,1,1,0,0)
$ `5 ^: g$ q/ ^3 X$ o        psspy.scmu(2,options,rval,cktarg)
- Y+ w; q% g5 E; ~- [3 y. k        psspy.scmu(3,options,rval,cktarg)
: |; M/ [* E1 {  V4 Z' c9 }        ) [/ o. t. l$ C) G" v9 e: y
        return 0
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2008-8-28 17:24:10 | 显示全部楼层
    咋一个三相短路写这么复杂呢?( M3 F: K* G; H' c3 H! D9 k

    8 h+ K+ M' V  G/ x4 ^高手详细对比一下python和IPLAN吧1 ~) y0 j: O- Q0 Q3 E: y2 L
    各有哪些优势
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-15 20:29
  • 签到天数: 11 天

    连续签到: 3 天

    [LV.3]偶尔看看II

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

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

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2009-2-27 20:46:11 | 显示全部楼层
    楼主上述故障实现没有直接用官方提供的disturbance APIs
    : w. `# N& a. M# Y" B不知为什么
    & G0 M, t, l& [  W2 R看起来官方的dist_branch_fault、dist_bus_fault等更简洁
    * \$ b$ F0 C9 k- b2 `( X但没试过
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2009-2-27 20:50:51 | 显示全部楼层
    原先用IPLAN写branch trip:
    2 R! h2 X( v4 f/ b/ V: x
    , k- B9 p; h4 O' g* j                PUSH        'ALTR'
    : O: g2 f  u: _$ K                PUSH        '0'* M$ A, ?, B: ?. G- l+ U2 d
                    PUSH        '1'        !CHANGE NETWORKDATA
    ; w+ m+ ^5 W/ E/ N0 `$ |2 J                PUSH        '0'& {- j4 s3 A8 v' x7 W
                    PUSH        '3'        !BRANCH DATA
    # j8 t" X8 R2 _6 p                PUSH        '151,201,1'
    " [# [9 I, t* V                PUSH        '1'
    - y8 ~. k* Q( t1 L( B! q                PUSH        '0,'        !ISOLATE THIS BRANCH
    # W% f* V: _, W% I' H                PUSH        '0'          !NO MORE CHANGES TO THIS BRANCH
    * x6 T; R- G) c% [. w" ^7 V9 B                PUSH        ' '                !NO CHANGE IN METERED END
    $ {# E9 o- [0 ~7 Z8 g+ H- O                PUSH        ' '          !NO MORE BRANCHES TO BE CHANGED
    " @& ?) L' A* e' G7 v8 B                PUSH  '0'   !EXIT ALTR ACTIVITY
    % E, o* c- `: A& Q4 j
    3 ]+ F: s. j: N9 {现在python:) l1 l) |8 Y( l$ ?& f1 i5 H" }
    dist_branch_trip(151,201,'1')
    $ F7 E0 _+ s; Y7 j, h8 E一句就可以了
    9 U1 Q8 l/ G& j$ B2 b  t6 e& K
    6 C8 `- \7 z( d" P6 o确实比较简洁
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 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 | 显示全部楼层
    用官方提供的应该可靠性高点  z2 Z; f, ?2 r! a
    就是不容易出错
    ( F& B% S; _* N$ [* M( l6 Z) ~% r- D1 B- a0 S) ^3 t' `$ n% d
    要想玩PSSE,还是基于最基本命令单元,呵呵
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

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

    本版积分规则

    招聘斑竹

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

    GMT+8, 2025-4-4 15:16

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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