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

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

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

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
import globedef
. {! H* v! F, ^# E( D& vimport fault
, L( Y; k8 n' |* X1 X! q/ n8 \8 ^psspy.case('c:\sav.sav')5 L7 t" _  `& B+ K$ u, I5 P
psspy.close_report()  # close REPORT windows, ~$ ?+ @8 k  l. n8 S5 D
options=(0,0,0,0,0,0,0)
. b, n4 e/ g# L( epsspy.progress_output(6, "", options)
: v& P) n3 C. _" Kpsspy.report_output(6, "", options)6 ~0 y3 e8 H" `( o* b, v
fault.three_phase(33600)
* r0 Z& j: G. v- |+ A( B! ^9 n. h$ O2 s' @2 B
[ 本帖最后由 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的内容# F# [' P* F0 E
import globedef
  c* u, }9 V& C7 x- gimport psspy3 N4 ^# {" `1 B/ o
# t% @# k' a( e
#a=(1,1,1)7 d% ]- d1 k0 X9 |' Y! R0 V6 Z5 a
#psspy.seqd(a)# p- ]0 `' h1 x; E
/ [/ f2 n+ I* o7 X, y; k

- H/ [5 g/ k3 Pdef one_phase_ground(bus,r,x):* Q, E1 w2 w' r! G
        options=(1,1,1,0,0,0,0)
$ `9 i! X* T5 m( C        rval=(r,x,0.0,0.0,0.0)4 O- h1 g- b( V2 N6 c
        cktarg=''
! O& z2 B- e/ u  h, c: T        psspy.scmu(1,options,rval,cktarg)1 c% e: U, e0 O& S, r5 R, ?
        options=(1,bus,1,0,0,0,0). Z( d- ^% W3 r9 `2 T
        psspy.scmu(2,options,rval,cktarg)9 u) t( m% y/ `7 f0 v
        psspy.scmu(3,options,rval,cktarg)
1 n  ~# v- f8 M! \# Z4 p8 L  H0 \       
' |" J. @) k. [# }. F        return 0
: \- V  ]. |' _, d  a        5 `2 v' W7 A, ^2 Q% i: x* M& s
def two_phase(i):
* U% |! |1 q3 w
4 R) Q; F2 v; q7 U        return 0
2 F: m0 Z" E- h3 [# q, y+ h+ o8 g
3 v, x2 M2 s3 o8 f% r) O1 U/ gdef three_phase(bus):. O; t0 s7 @9 f* y* |" \9 {
        options=(1,1,1,0,0,0,0)
" l; V- D0 x; P# @- f5 _' s        rval=(0.0,0.0,0.0,0.0,0.0)
! c8 J; D! A6 P) M        cktarg=''
  T4 z5 x' a2 o) U0 l        psspy.scmu(1,options,rval,cktarg)1 }% M0 G. g7 H6 b7 K' O3 k
        options=(7,bus,1,0,0,0,0)
" r( }  A7 ^# b* z        psspy.scmu(2,options,rval,cktarg)# z# f# ?5 B) F3 V7 X
        psspy.scmu(3,options,rval,cktarg)3 g5 Q: g  U, A7 c; A9 H; H
        & }5 z$ W8 F. e+ B5 T
        return 0
* l: b2 M( X- |5 u: ~
- d1 _4 p6 @8 D$ \0 fdef line_LG_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):6 q/ q4 M+ @5 m6 {% k
        options=(1,1,1,0,0,0,0)! g; W2 d' N& c% Y9 U9 l% r
        rval=(0.0,0.0,0.0,0.0,location)" G  y! [% J! t/ e3 r9 X( v$ n2 a0 V
        cktarg=ckt6 u: B5 W% L% o+ t
        psspy.scmu(1,options,rval,cktarg). }) ~- {& x% t* r# f
        options=(9,bus_i,bus_j,1,1,0,0)
/ M; Z  c9 B" v( m, D& i        psspy.scmu(2,options,rval,cktarg)& q9 e. i& p0 p* f$ @
        psspy.scmu(3,options,rval,cktarg)
! Q0 ~' H0 a9 t. t% n/ M' S        % U5 v4 Y, R- P6 m- t" C8 W
        return 0! }# ?3 h& y2 B& j1 m8 D1 o" V

0 b) B9 I7 i" c$ t  i) x% ~2 Qdef line_LL_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):3 \9 b; B* n2 d$ ]7 n$ F
        options=(1,1,1,0,0,0,0)
/ L- s& w" m! \2 A: _% h        rval=(0.0,0.0,0.0,0.0,location)
5 n% Y4 B+ A' `5 `9 g! c        cktarg=ckt/ P1 w+ \0 V) C% x& j
        psspy.scmu(1,options,rval,cktarg)+ {, L7 A9 z6 ~; h
        options=(9,bus_i,bus_j,2,1,0,0)
' {! L; ]$ k+ s( l( J        psspy.scmu(2,options,rval,cktarg)
2 V6 R0 E; p& P6 a        psspy.scmu(3,options,rval,cktarg)8 A1 W. f; k) p8 {; Y: Z% I; ~  [$ N
        ! C5 E( ?3 I  e( Y- {/ ]: U
        return 0
2 C! d1 x# B. |6 @: `
- ]# M5 N  n) a; Jdef get_breaker_cline_LG_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):
1 F: K- m5 O% [! T        options=(1,1,1,0,0,0,0)- S" b- E* Z" u
        rval=(0.0,0.0,0.0,0.0,location)1 W# l* P' p3 {# t4 S: ~1 c
        cktarg=ckt
9 B! W6 W: v/ D: S, s        psspy.scmu(1,options,rval,cktarg)
0 m3 w5 e* W) N  J, p8 q. ^        options=(9,bus_i,bus_j,1,1,0,0)' o/ x5 e5 }, Q* `# C- ^
        psspy.scmu(2,options,rval,cktarg)
7 U" A- }1 o  N4 |- g9 @7 R        psspy.scmu(3,options,rval,cktarg)/ d7 N+ T0 J$ E
       
5 b& K8 y& j" V        return 0
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2008-8-28 17:24:10 | 显示全部楼层
    咋一个三相短路写这么复杂呢?0 {( H9 a& a, w% p6 _

    , a: p1 Q/ ]% ]2 K, j* W2 E+ d高手详细对比一下python和IPLAN吧: N; k5 Q+ X4 U& m, g3 h/ Z( _. c4 m  n
    各有哪些优势
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-15 20:29
  • 签到天数: 11 天

    连续签到: 3 天

    [LV.3]偶尔看看II

    累计签到:11 天
    连续签到:3 天
    发表于 2008-9-30 15:04:48 | 显示全部楼层
    : E- D1 z' F1 G  Z) u0 ^
    高手说说两者各自的优缺点吧
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2009-2-27 20:46:11 | 显示全部楼层
    楼主上述故障实现没有直接用官方提供的disturbance APIs
    2 D8 ~) r' b3 A4 d+ N* J不知为什么
    2 K$ M! {" \" |4 r; {看起来官方的dist_branch_fault、dist_bus_fault等更简洁  ]! e* \( ?& m9 I4 v# k
    但没试过
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2009-2-27 20:50:51 | 显示全部楼层
    原先用IPLAN写branch trip:8 @, M9 \1 c" x4 @% C
    7 u. O+ T8 v: P' ?6 n
                    PUSH        'ALTR'
    " C& ^$ [0 ~8 d: {8 Y0 Q- P                PUSH        '0'
    . H2 {* t/ n. A) @3 Y: a  y6 s                PUSH        '1'        !CHANGE NETWORKDATA, B4 S  m! f2 M% t' c: n
                    PUSH        '0'
    & G  V6 u1 S. Y7 K- d2 I* O/ z9 x0 H                PUSH        '3'        !BRANCH DATA, C/ S' ]3 @3 ^: }7 p
                    PUSH        '151,201,1'
    : Q& \) A  R- R9 q5 [" W                PUSH        '1'
    . N% x) Q, }& d: F                PUSH        '0,'        !ISOLATE THIS BRANCH$ N2 V7 `3 v# |5 \- B
                    PUSH        '0'          !NO MORE CHANGES TO THIS BRANCH5 P4 N! j; `4 E
                    PUSH        ' '                !NO CHANGE IN METERED END
    5 S  L4 E" D- J# }4 w2 o. b                PUSH        ' '          !NO MORE BRANCHES TO BE CHANGED$ D' f' L; @7 f
                    PUSH  '0'   !EXIT ALTR ACTIVITY
    & d$ t$ Y. U9 R: B7 t4 D
    ! `. C4 x$ y( F8 X% L) Q现在python:
    ' {' {) b0 @8 p6 D) odist_branch_trip(151,201,'1')* j- U. n* @) U1 P+ E" p+ |
    一句就可以了  R$ I, g9 R  a" R9 {( \! c
    % }9 }9 I7 z0 d9 d- B' m
    确实比较简洁
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 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 | 显示全部楼层
    用官方提供的应该可靠性高点* s+ j3 {  a: i& `7 E  x
    就是不容易出错
    4 Q$ c) f0 v# z: [" Q  R& p) B% `' F2 [$ m/ K9 f: I* \2 N7 _
    要想玩PSSE,还是基于最基本命令单元,呵呵
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

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

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-3-18 17:12

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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