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

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

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

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
import globedef
5 X( F6 T; M' ximport fault- {0 g. K" _6 o5 Y, a, |4 @$ r
psspy.case('c:\sav.sav')  s  ]* d# q% g2 W- @7 T) L5 k
psspy.close_report()  # close REPORT windows$ Q$ k- N3 I: K: r! Z/ i
options=(0,0,0,0,0,0,0)7 Y/ n' s) a/ g3 \, m
psspy.progress_output(6, "", options)1 z: |/ P$ V1 z4 C, O1 V6 K
psspy.report_output(6, "", options)
# U, a  I3 x- n: [fault.three_phase(33600)7 `/ w4 T; R4 |  k
2 ~* _+ ]" H# l6 v) ^
[ 本帖最后由 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的内容
, w4 L4 D) V2 J2 n) F+ himport globedef. C  a) B& G( R( |. e) N1 e0 d6 Z
import psspy
% ~$ \  C* m# f- O4 j% H
; ?# A& ~4 e0 d. e: P3 y#a=(1,1,1)
% o0 V  @4 H, l7 b, n. K; \#psspy.seqd(a)3 Y: x3 g' ?8 z) L: p  @

0 R( Q  N$ ~6 ~- L
- O+ I% z4 z7 c: A. p8 W& zdef one_phase_ground(bus,r,x):+ `; x/ Q& i9 N3 h( p6 @: V
        options=(1,1,1,0,0,0,0)
! i  _8 K7 g0 U        rval=(r,x,0.0,0.0,0.0)
. o9 \$ F4 n7 n9 S        cktarg=''
1 x* [! U" X# g, [        psspy.scmu(1,options,rval,cktarg)( m) _. B6 l  f, ]( f% n" k
        options=(1,bus,1,0,0,0,0)( l. i2 c, W; a' N
        psspy.scmu(2,options,rval,cktarg)
& b0 M" p6 m# M0 O        psspy.scmu(3,options,rval,cktarg)* }" Z  l7 S2 Z1 ]. ?7 ~" p
        % L5 c# a! M6 z4 A
        return 0
% z/ Q9 j( s# ^2 k: S. J        # ^, h0 |3 \: J& H; j, O  \* e
def two_phase(i):
7 z% f( f4 \% y6 l% V# B- _2 ]% m" N# T: S$ V" v1 k
        return 0" O. A' x* H' J; T/ E8 a
" d( z/ i7 b  j% X9 d
def three_phase(bus):
  l; w/ G) c  _9 v. R        options=(1,1,1,0,0,0,0)
! h# {* w% o6 D- R1 P8 y+ p+ n        rval=(0.0,0.0,0.0,0.0,0.0)
! A. g2 n  c2 s& G2 Q        cktarg='') S& J) c' ~' h; }
        psspy.scmu(1,options,rval,cktarg)
& j9 |+ g( J  S8 }: |        options=(7,bus,1,0,0,0,0)
* b! u, g( C: g$ G- }  @        psspy.scmu(2,options,rval,cktarg)1 D/ S" M( M, c# t8 U
        psspy.scmu(3,options,rval,cktarg)( P  b3 z7 t6 z4 G$ ?
       
3 p; O2 A. s  k8 B& U7 @# _        return 0
! W: c1 I$ q* @. }
- ]# w. n* ^# R( e1 hdef line_LG_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):
4 r4 T" _: |- x        options=(1,1,1,0,0,0,0)6 W6 f+ F: N# N1 T/ c
        rval=(0.0,0.0,0.0,0.0,location)
, I# M) {6 G3 j5 V( e6 v        cktarg=ckt4 o! h- L- R5 N7 E) \
        psspy.scmu(1,options,rval,cktarg)
& x0 j1 m0 O1 l        options=(9,bus_i,bus_j,1,1,0,0)
0 @# L0 J$ q5 j7 a( V3 M        psspy.scmu(2,options,rval,cktarg); ?, G' b3 ?) @# D; F! [2 b
        psspy.scmu(3,options,rval,cktarg)
1 g# V: d; E0 |  \) ~. m       
( B+ U+ L% q" n# T        return 0
  s! m( O- m: v7 e/ t* W7 D) _: p) m# P0 I& O$ I
def line_LL_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):. J# O6 u2 a  l, N! D4 J
        options=(1,1,1,0,0,0,0)
' |/ l1 }- [$ e, L% m% N% |6 d# ^        rval=(0.0,0.0,0.0,0.0,location)
" J0 f( t6 r( |- d; g6 m7 J# b( a, {        cktarg=ckt
$ `1 v1 H! R/ ~& W6 a        psspy.scmu(1,options,rval,cktarg)
1 O6 ]0 a: g1 T+ t4 R- f        options=(9,bus_i,bus_j,2,1,0,0)9 {2 O" E: F! r0 u( }" V  p+ x
        psspy.scmu(2,options,rval,cktarg)- a& P8 o) D1 j2 J5 v( k
        psspy.scmu(3,options,rval,cktarg)7 y6 p& n* G, z2 w
       
7 V/ N3 O" F) W4 ?1 T7 D        return 0! a+ U* H8 Q( O9 ?7 C7 F
* n$ d  P* `/ b* w% a- z# g* L
def get_breaker_cline_LG_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):" B9 }. c- M! S( M# E' ?" B
        options=(1,1,1,0,0,0,0)9 G5 N5 R( q% j$ Z. O
        rval=(0.0,0.0,0.0,0.0,location)
& k: p( \& e& r        cktarg=ckt
+ R' T, ]& L+ I" U$ q6 N4 p/ G        psspy.scmu(1,options,rval,cktarg)0 {9 {5 x& q# ?6 l- v4 f+ e
        options=(9,bus_i,bus_j,1,1,0,0)( R2 U9 T+ {4 v2 G6 Y  v/ A
        psspy.scmu(2,options,rval,cktarg)
- @" F8 P! A* ^$ i        psspy.scmu(3,options,rval,cktarg)
' y$ [% {  a# Z# x        ' B  Q. b3 g) |% h' A& W
        return 0
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2008-8-28 17:24:10 | 显示全部楼层
    咋一个三相短路写这么复杂呢?; A5 V( e+ ]3 e5 y& M7 z

    / R* q" S1 I5 m  b( p1 I' w高手详细对比一下python和IPLAN吧5 c4 {3 }2 l7 v* x
    各有哪些优势
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-15 20:29
  • 签到天数: 11 天

    连续签到: 3 天

    [LV.3]偶尔看看II

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

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2009-2-27 20:46:11 | 显示全部楼层
    楼主上述故障实现没有直接用官方提供的disturbance APIs
    & d2 L* o: A+ c. h不知为什么
    & W% E4 x  A) m  Q看起来官方的dist_branch_fault、dist_bus_fault等更简洁1 S  M' v4 |7 I# F& ?' i( p' e
    但没试过
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2009-2-27 20:50:51 | 显示全部楼层
    原先用IPLAN写branch trip:0 j) _/ j6 i$ ~9 y" [! F
    : y1 o, d0 A, i: [7 u
                    PUSH        'ALTR'! X7 d- T4 B$ @1 |
                    PUSH        '0'
    # i; C0 B7 W/ G                PUSH        '1'        !CHANGE NETWORKDATA
    2 k* C! x9 C5 }& y0 T                PUSH        '0'0 p# i8 ?3 \. a$ {: E( J! i" N
                    PUSH        '3'        !BRANCH DATA
    7 F+ Q1 B) u/ _5 @/ c                PUSH        '151,201,1'* _0 _' q( U  Q' k# u
                    PUSH        '1'
    6 v3 n/ T3 c+ e7 q" j- Z                PUSH        '0,'        !ISOLATE THIS BRANCH4 \# {. y+ m4 F( O) i) X% U
                    PUSH        '0'          !NO MORE CHANGES TO THIS BRANCH: Q/ {$ ]" w3 F; c
                    PUSH        ' '                !NO CHANGE IN METERED END
    6 P: N1 n* S+ p5 E6 H; G                PUSH        ' '          !NO MORE BRANCHES TO BE CHANGED/ e  e% v( b& ?& ]8 v
                    PUSH  '0'   !EXIT ALTR ACTIVITY" n. P- W6 C6 \

    / i5 O& f- C! S; l现在python:* I7 |0 F( J6 Y4 {& Y
    dist_branch_trip(151,201,'1')
    " T' x/ L1 c0 I/ ?- m/ q% x: |一句就可以了
    $ U4 R, B; b! \# Y, F+ P+ t6 s9 H
    确实比较简洁
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

    发表于 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 | 显示全部楼层
    用官方提供的应该可靠性高点' y2 W, K0 V- ~- k/ k0 N
    就是不容易出错5 \6 Q7 z7 f) H& u, ~- P
    ; t2 A2 \( k) n* H
    要想玩PSSE,还是基于最基本命令单元,呵呵
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

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

    本版积分规则

    招聘斑竹

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

    GMT+8, 2026-10-14 10:53

    Powered by Discuz! X3.5 Licensed

    © 2001-2026 Discuz! Team.

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