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

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

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

[复制链接]

该用户从未签到

尚未签到

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

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

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

×
import globedef
) j" J  ~$ v. g, q  y; ]1 rimport fault
& j- m5 @3 j, P* M& j; t, Bpsspy.case('c:\sav.sav')0 P/ q7 E( |1 f) Y. k
psspy.close_report()  # close REPORT windows
! V- n  a; }6 A# r# d$ C% ~! Loptions=(0,0,0,0,0,0,0)
9 S7 S- A4 `8 F+ n) N. i2 }5 A( s$ Spsspy.progress_output(6, "", options)$ o* c0 t* r* B/ q* E
psspy.report_output(6, "", options)
; ?' \1 v5 c6 J' X' Ufault.three_phase(33600)
4 t. y7 k# M0 c' ^1 D& \: ^+ R* E! t' o- @9 l4 K/ t
[ 本帖最后由 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的内容; A4 m* y  r& f3 A; O
import globedef
$ @' B# e! ^2 z  {import psspy
5 u& d4 M% Q0 P7 G: |( k6 G& E' ]( J* t6 _" |
#a=(1,1,1)" G5 `0 T% v: s
#psspy.seqd(a)8 b3 O: o: B! i9 [. O  q8 U" R1 Y

& k3 B. [2 t' J4 y" E+ X( y; I8 J" Q% I& A4 q
def one_phase_ground(bus,r,x):
) \5 W0 e  D. A  j3 x        options=(1,1,1,0,0,0,0)
5 i% E1 r! s: e, M9 b7 h* B* @        rval=(r,x,0.0,0.0,0.0)  ~& d  d9 N+ Q( y1 |' T( @
        cktarg=''
/ r- M' l; N# C  T8 Q3 }) q        psspy.scmu(1,options,rval,cktarg)
  {# J. M9 j7 K0 N7 A# _, H        options=(1,bus,1,0,0,0,0)
& R# e- g+ r4 w& u9 P        psspy.scmu(2,options,rval,cktarg). A2 c$ i, V# I) Y7 j9 n: f
        psspy.scmu(3,options,rval,cktarg); Y% _1 f$ F# T" q
       
% m6 v, W0 x3 _- P        return 0
9 g, `) R1 W6 n6 }, o: s  e( T        $ M5 d- ]. \4 p% C3 P7 D; f
def two_phase(i):2 o4 p0 ?  u9 ]
# v7 X; v1 [1 @& d* D# k
        return 0
- ^2 Y( g/ g: q
- J. n8 U+ `# A0 L( ^2 S  k( X) }def three_phase(bus):
, A; u8 T2 F+ d% o        options=(1,1,1,0,0,0,0)
) a5 M, j( H4 m/ V6 \. G( D2 ~: p5 j        rval=(0.0,0.0,0.0,0.0,0.0)
/ J% a$ o% j; ]2 h$ m- m7 S! y        cktarg=''
3 S/ X4 ~# j/ a. c# G; Q        psspy.scmu(1,options,rval,cktarg)
3 a7 Y; ~0 O4 F) w9 y0 `        options=(7,bus,1,0,0,0,0)
1 k  y7 B9 V7 j$ J3 E$ o. y        psspy.scmu(2,options,rval,cktarg)3 u1 F9 _! s: Q  p. L. p. e/ Y9 j
        psspy.scmu(3,options,rval,cktarg)$ G6 B8 y. z" [# h3 }9 j% v
        / l/ M& M6 M" p- q+ E+ P+ S
        return 0' u. {% o$ t! _

5 A+ M$ H! c" R: ]+ xdef line_LG_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):
& U7 l* ~) e+ Q1 |* k$ K: F        options=(1,1,1,0,0,0,0)- a: t0 l) [, p6 w' a
        rval=(0.0,0.0,0.0,0.0,location)
$ O2 }! X, g0 l+ h5 t! Z+ @        cktarg=ckt; G5 U- ?- [( z5 c. I/ a( C
        psspy.scmu(1,options,rval,cktarg)- x( o' I2 f- y1 y
        options=(9,bus_i,bus_j,1,1,0,0)6 W* \! r. T$ }* M5 I
        psspy.scmu(2,options,rval,cktarg)3 i# m9 ?$ |7 m* \7 ?+ M9 m
        psspy.scmu(3,options,rval,cktarg)) {/ _/ Q9 j- l* [
        4 N6 M4 }' L' i
        return 0
" E# J7 y2 ^- K% _/ n) \8 _0 W# [: e: |: M7 N2 q2 v, I
def line_LL_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):
0 c- g# K' d% _3 {( F        options=(1,1,1,0,0,0,0)
- ~# c' F3 E7 \# p! Y        rval=(0.0,0.0,0.0,0.0,location)& c6 _. M* \: u# M! t! |# q. k: X
        cktarg=ckt
0 h2 w, ~8 ?7 |6 D$ W2 r  `8 p        psspy.scmu(1,options,rval,cktarg)
3 J2 W; ~( o  R& W        options=(9,bus_i,bus_j,2,1,0,0)% K% q6 U# ]4 m5 o* S( _1 A
        psspy.scmu(2,options,rval,cktarg)% b$ A% L+ }/ k+ F4 ?& X
        psspy.scmu(3,options,rval,cktarg)' A% B6 [  q# z- g. k
       
) M7 B* Z9 t) n! L( p        return 0
- h/ c" D" g' y8 T' J! L0 J" S3 ?0 k% L7 d4 D
def get_breaker_cline_LG_fault_both_ends_close(bus_i,bus_j,ckt,location,r,x):
. u- y$ V2 Z7 J+ ~5 s4 I* \7 N        options=(1,1,1,0,0,0,0)% L' H5 I. p( l4 t+ L' W" Z& W5 y
        rval=(0.0,0.0,0.0,0.0,location)5 G. `/ z! |3 w) ^. p; D5 y
        cktarg=ckt
8 o: T! i, j/ K        psspy.scmu(1,options,rval,cktarg)
2 o& E, E  @. }: A! Y8 [2 O        options=(9,bus_i,bus_j,1,1,0,0)
7 i; i$ Y8 S8 F5 B1 _3 M5 p1 H        psspy.scmu(2,options,rval,cktarg)
3 O( X- p  z  F$ x; Y        psspy.scmu(3,options,rval,cktarg)
. g! L& G7 v$ x$ ]7 A0 C       
! l0 q3 H# _$ u( {        return 0
"真诚赞赏,手留余香"
还没有人打赏,支持一下
帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2008-8-28 17:24:10 | 显示全部楼层
    咋一个三相短路写这么复杂呢?
    $ c! E) H( r. ~$ L; u8 p) x/ r* ]' f% q4 `% Y6 a
    高手详细对比一下python和IPLAN吧4 \6 D9 s; j( K! D9 {$ q4 r
    各有哪些优势
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-15 20:29
  • 签到天数: 11 天

    连续签到: 3 天

    [LV.3]偶尔看看II

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

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

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2009-2-27 20:46:11 | 显示全部楼层
    楼主上述故障实现没有直接用官方提供的disturbance APIs7 O! o( [9 J0 d' B) E* k4 e
    不知为什么$ }- f6 ^7 J  I
    看起来官方的dist_branch_fault、dist_bus_fault等更简洁
    8 o, L8 _+ E  g# [0 |' w$ {但没试过
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】
  • TA的每日心情
    开心
    2019-11-18 14:05
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    累计签到:2 天
    连续签到:1 天
    发表于 2009-2-27 20:50:51 | 显示全部楼层
    原先用IPLAN写branch trip:
      _( G; ~2 R) [' B- X' M  R# s8 p' G( K* x6 e2 C! ]
                    PUSH        'ALTR'
    ; W2 U: O8 X# {0 [: ?, |5 D                PUSH        '0'0 V1 N1 q, {1 z6 G2 v2 B
                    PUSH        '1'        !CHANGE NETWORKDATA
      C$ s/ G% M& W                PUSH        '0'
    & P  f8 W; ]# t                PUSH        '3'        !BRANCH DATA1 G( y( b4 h& B% W4 ^% N8 F8 {
                    PUSH        '151,201,1'
    2 p: w) f! I9 p                PUSH        '1'! b) w( W7 R! k2 i( a. [% U  X6 a
                    PUSH        '0,'        !ISOLATE THIS BRANCH
    8 }! m4 ^! N" g6 B                PUSH        '0'          !NO MORE CHANGES TO THIS BRANCH
    . a4 M0 [2 s! Y, H1 m                PUSH        ' '                !NO CHANGE IN METERED END6 [. X. f/ k, a5 B4 K  u/ A) i
                    PUSH        ' '          !NO MORE BRANCHES TO BE CHANGED
    + d, C, X! x+ B& H& T& Y, L4 b                PUSH  '0'   !EXIT ALTR ACTIVITY0 X& ~0 b: I! @

    : y' \5 z8 ^0 Y: j现在python:
      H% |! b0 z- d5 b! cdist_branch_trip(151,201,'1')% W; B. m: t/ Z+ D
    一句就可以了% N1 k5 d+ w7 j

    2 o7 w8 f% {7 `- 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 | 显示全部楼层
    用官方提供的应该可靠性高点
    - i0 I, J) O1 ]" _& i就是不容易出错5 c, |( s1 N2 p- s4 B. d! f
    6 |; O, I6 E, t/ U& G; I8 q
    要想玩PSSE,还是基于最基本命令单元,呵呵
    "真诚赞赏,手留余香"
    还没有人打赏,支持一下
    帖文化:【文明发帖 和谐互动】 社区精神:【创新、交流、互助、共享】

    该用户从未签到

    尚未签到

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

    本版积分规则

    招聘斑竹

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

    GMT+8, 2025-2-23 16:39

    Powered by Discuz! X3.5 Licensed

    © 2001-2025 Discuz! Team.

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