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

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

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

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
import globedef  j  a, e! V5 G2 a
import fault0 o$ z) U: z& r0 B6 F# X3 @
psspy.case('c:\sav.sav'), e3 b+ q3 I( \2 ^
psspy.close_report()  # close REPORT windows- }# H' k1 u6 R+ H# A: k
options=(0,0,0,0,0,0,0)) K4 F& `7 A( z; u5 l/ d7 S
psspy.progress_output(6, "", options)
$ u6 I6 ~. N6 T5 ~, D7 ]psspy.report_output(6, "", options)/ J! }4 |8 z3 P" q$ d- d" a
fault.three_phase(33600)! F5 W: ?  M' h, H+ h) q+ [7 v

; p5 e; B5 B1 s5 X; F- M& Q3 f[ 本帖最后由 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的内容; d. n2 y* `2 y; ^8 Y  |. Y/ R
import globedef
* ^6 T% K* f) \) P! Gimport psspy
( C4 z- x# G4 o+ c& i8 Z: g  f/ ?  ^* b8 |: R6 |8 n$ J
#a=(1,1,1)* V+ M; M- ^5 ~
#psspy.seqd(a)
) t6 {5 T$ J& w, D8 w' z# q
0 X. h% d# w" ?# [, X+ k  A- g- N5 O0 x' P, ~5 `2 u
def one_phase_ground(bus,r,x):$ R  E9 e- F/ S% g/ J2 X0 b
        options=(1,1,1,0,0,0,0)& V) @% y  c5 g5 j; C
        rval=(r,x,0.0,0.0,0.0)) E# S7 O& Y  D6 P' [/ N$ {7 P
        cktarg=''. b3 s* k* r; T. N+ K- e0 R- i$ U
        psspy.scmu(1,options,rval,cktarg)
- d  V1 j) m% A& E        options=(1,bus,1,0,0,0,0)
7 A9 c& J% b3 y; @6 |        psspy.scmu(2,options,rval,cktarg)  p8 G3 O/ C- B1 M9 c& O  X: U; x
        psspy.scmu(3,options,rval,cktarg)9 L# D- S5 V9 F; U
        ' J! R% ^( F( r  f. S
        return 0: L" w* ^& k2 c. {4 u
        , K1 Y. Q0 x7 b0 H8 ^6 N* w5 Q
def two_phase(i):4 D8 p, v' ?  s8 F
3 B4 w4 V7 j- q; Q3 B
        return 0
( i; M/ I. ]2 J. ^- q# s) v; J6 `' p1 t
def three_phase(bus):- u! O4 i8 |  o6 O" M4 j' e
        options=(1,1,1,0,0,0,0)
5 D6 t1 k$ [% ?        rval=(0.0,0.0,0.0,0.0,0.0)7 T& c$ G. n" L2 R2 ^1 M' c$ w. J
        cktarg=''8 j" L- Z1 {* W
        psspy.scmu(1,options,rval,cktarg)% Z2 T8 P0 g& W' r$ d6 w, D, _4 f
        options=(7,bus,1,0,0,0,0)
1 x' d' @! ]1 i% F/ {1 j& V        psspy.scmu(2,options,rval,cktarg)
4 s. l# e: x$ ~& }        psspy.scmu(3,options,rval,cktarg), D4 n' L/ f" Z
        8 k  l2 L6 a9 z( P
        return 0
+ X8 ~" Y+ d- |/ q/ Z3 n# u/ G- @# ^% F; N; C! c3 `9 v
def line_LG_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):+ D$ X7 _, a! Y4 D) S! C+ v
        options=(1,1,1,0,0,0,0)4 m, j: W' D: e+ Z: i
        rval=(0.0,0.0,0.0,0.0,location)& O  F/ ?3 K3 o4 Y$ U6 D
        cktarg=ckt
5 }" b3 Q9 p( A" l' z" S        psspy.scmu(1,options,rval,cktarg)
  N6 t; Q: Z* T, s8 a$ @        options=(9,bus_i,bus_j,1,1,0,0)
! D5 `( f4 d! F% a; E) e        psspy.scmu(2,options,rval,cktarg)( }; f8 b1 D8 ]
        psspy.scmu(3,options,rval,cktarg)
4 K# D* ]6 D' U       
6 [: h$ Y0 c& X8 y* Q& l        return 0
2 O$ a# ~; ^% y4 B6 ]3 k: L
: x9 v! e8 x; bdef line_LL_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):
# K" v2 C' I+ M: N! L        options=(1,1,1,0,0,0,0)
/ |) A  D9 o. y' b        rval=(0.0,0.0,0.0,0.0,location)& h; x! l1 ]3 s8 x- D
        cktarg=ckt1 A  S6 D5 M( D! V/ u
        psspy.scmu(1,options,rval,cktarg): T. u, {6 x+ T/ r
        options=(9,bus_i,bus_j,2,1,0,0)
' J# Z+ A/ s# A/ R- h$ F( z        psspy.scmu(2,options,rval,cktarg)
6 d3 ^4 `% R% Y7 M        psspy.scmu(3,options,rval,cktarg)
! ]" u% s4 @' A1 U! n       
4 z' y7 ?) @; Q. C        return 04 h+ {' |. O: R* {! W: H. I( x4 V
/ s4 N% h9 ^* N) `9 ?0 ]
def get_breaker_cline_LG_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):! S+ |7 B2 u0 e
        options=(1,1,1,0,0,0,0)0 b' J1 e  F1 k
        rval=(0.0,0.0,0.0,0.0,location)
$ K% L% Z# ]; {* R        cktarg=ckt
- ]) v: S% P2 f6 S/ K1 G        psspy.scmu(1,options,rval,cktarg)
, J  c' H+ T; G9 V9 u& q        options=(9,bus_i,bus_j,1,1,0,0)
/ I6 `4 t0 |, q8 M. {* ]        psspy.scmu(2,options,rval,cktarg)
7 O, e- f! r$ g& T" B        psspy.scmu(3,options,rval,cktarg)
" Q+ K3 l! ], L3 ~* B# u        # J5 L1 j- K, r: |
        return 0
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2008-8-28 17:24:10 | 显示全部楼层
    咋一个三相短路写这么复杂呢?" ^) f  n1 p: ]

    & D& `" A8 T4 r5 S* i' |高手详细对比一下python和IPLAN吧
    0 P) N3 u3 c7 f各有哪些优势
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-15 20:29
  • 签到天数: 11 天

    连续签到: 3 天

    [LV.3]偶尔看看II

    累计签到:11 天
    连续签到:3 天
    发表于 2008-9-30 15:04:48 | 显示全部楼层
    % d$ G4 C+ u$ H9 ~! [# y3 l# b/ C
    高手说说两者各自的优缺点吧
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2009-2-27 20:46:11 | 显示全部楼层
    楼主上述故障实现没有直接用官方提供的disturbance APIs7 T/ g3 j6 }3 _
    不知为什么- ~3 Q% a9 |7 v. k. q( G; C
    看起来官方的dist_branch_fault、dist_bus_fault等更简洁" M8 L1 o- K, r1 m! W1 g# o0 ^3 j
    但没试过
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2009-2-27 20:50:51 | 显示全部楼层
    原先用IPLAN写branch trip:% X9 ^. {6 F2 ^3 N, p

    ( ~% l. b+ C- x# a8 ?7 h                PUSH        'ALTR'0 ]. r+ H* b' }
                    PUSH        '0'
    ! D7 Q. [! y" J+ G/ D7 z- X                PUSH        '1'        !CHANGE NETWORKDATA; [7 G: U) t$ l- f* h4 r6 Q' p7 Q. x
                    PUSH        '0'
    ( A3 S" Z& ]/ Q: {1 l                PUSH        '3'        !BRANCH DATA
      H5 a+ B! V1 X, L                PUSH        '151,201,1'
    ! G( S4 H4 ^* N4 w; N1 C                PUSH        '1'& F* E' W7 u% s& l
                    PUSH        '0,'        !ISOLATE THIS BRANCH
      T) n& ^0 }2 J, k- S8 N, o                PUSH        '0'          !NO MORE CHANGES TO THIS BRANCH" W% o  r: r' j1 b- d
                    PUSH        ' '                !NO CHANGE IN METERED END+ y. S0 z8 V' J6 J
                    PUSH        ' '          !NO MORE BRANCHES TO BE CHANGED
    ' f' W9 M. a5 t8 x( N                PUSH  '0'   !EXIT ALTR ACTIVITY6 _8 K/ f- A: `- ]3 I, g

    2 i3 x2 y- s$ X5 C0 T( {* i现在python:' j" s' I& F, W- M$ R7 m+ N3 q& h
    dist_branch_trip(151,201,'1')
    7 v0 O5 S# `! n" H一句就可以了
    * b5 }# X7 j" b# Q# g
    ; I+ a' |2 c& T. z4 T确实比较简洁
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 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 | 显示全部楼层
    用官方提供的应该可靠性高点
    3 `  z7 K* q; }就是不容易出错
    ; _# D  w" w/ V3 z  A4 {" \9 a; W# J
    , U/ k' u% O8 b5 |$ _要想玩PSSE,还是基于最基本命令单元,呵呵
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

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

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-3-18 02:21

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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