4 t, Y0 y; l- B4 o5 u! S% |5 t1 TMODEL breaker/ D0 o7 O# y) l3 e" v
& p2 b0 d8 s" s
COMMENT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> : _: {+ H7 \( p* R S8 i- r9 g$ L+ R& |
9 Z0 g) H) p: b& j+ p4 k" D
The model of this example updates the present state of the 2 k0 z+ N5 o& y. }
circuit breaker by taking into account the conditions 5 [+ D7 H; _: X$ X5 Z# ^controlling four represented state transitions: first opening, ) {' b: h$ {6 d: O8 S" ~reigniting, reopening, and full opening. 8 _! N. q" l' ~4 O 5 Q1 d ?2 c! q& h>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ENDCOMMENT & q' w8 ?" U( l- l1 m6 F* P8 v' r 2 @5 i2 e9 K3 x% f; iDATA" l& ]0 N+ i" v1 v
topen -- [s] earliest elec opening' ~/ Y# M! P) n! i2 b3 Y
ich1 -- [A] chopping level at power frequency $ g# C" x2 y$ L8 x+ _& \ slope -- [A/s] current slope! D, W0 S" _9 |
reopen_delay {dflt:2.5e-6} -- [s] reopening delay+ o% B. c/ E, ?, \8 u- G
reignit_w {dflt:1e-2} -- [s] reignition window 5 S& m$ Y. U6 K) Z 8 G5 ]" T4 o+ [6 dINPUT- T% o7 L l. L4 @+ S: g1 j2 l! W8 T
v1 -- voltage across breaker terminals. o$ h# q+ W$ J- y
v2- ?8 D; ^) k/ n3 i8 T) [* I
current -- current through breaker. E# [- Y* f3 F" x+ D* e$ e
% ^4 y% h( r' u P6 K5 a9 D
VAR # H' ~% w8 \6 w$ b3 T+ G1 x state -- 0= fully open8 l8 S% X2 b9 N5 v. q8 p
-- 1= normal closed! `7 a4 B( g3 \3 z
-- 2= tentatively open , `4 ?' r6 `# Q -- 3= reignited: q8 F' o$ M3 H5 A: x
first_opening -- transition from 1 to 27 ~) k1 O- F) q, t5 k: ^( d8 t/ X
reigniting -- transition from 2 to 33 |4 Q) F7 z. t* y- q% V
reopening -- transition from 3 to 2 ' m; }1 {. g' B9 s# M+ I( q fully_opening -- transition from 2 to 0 $ S N7 T" ?$ j7 B/ ]8 [' l reopen_clock -- state variable of 3 7 M" g* _9 Y. w% C elapsed -- time elapsed since tbeg ) d, u$ R& Z$ K6 T
cbstatus -- open/close signal to switch4 y4 L5 D8 z) B, f. V
deltav & C* F+ ?5 C9 |* C8 N9 I1 ~
ds: E9 `: D* }$ d
nds 6 c l5 k" s1 w! I3 V c tdelta7 z7 p o7 W6 t7 m) G/ `
itopen: W: f6 T9 b, H, {7 e; o4 ?' P: A- f0 Q
ich2 : O4 f6 q$ q( e4 G v7 v5 i3 x B# ^& Y$ n- M
OUTPUT # n+ x$ G( L) w' t cbstatus ,ds,nds . g H" e# n1 j( Y8 g5 U- V( C7 \7 y! Q . | G( [8 Y. J4 P& |- e, {HISTORY 4 c' T3 l. j1 Y8 v5 f5 E current {dflt: 0}, r9 K% g9 {5 L, R% L5 `" \
$ |2 I1 x3 s2 q- OINIT p/ }0 d% T3 Q+ X
state :=1 -- normal closed & b2 C+ A% V& A$ x, Z& x/ x cbstatus :=closed8 R. h, h8 @, \
ds:=1 3 X+ Y2 r k e. K, w: b nds:=-1 9 U( L) L: V$ U: t2 yENDINIT 9 e1 f J: S2 ]8 t/ D7 M. e6 b/ F' I% A# |& q" B
EXEC+ {% c# I; k# F$ u" O4 B( U$ g
deltav:=v1-v2& H( c4 U( l( f; e* n# B
IF t>=topen THEN -- otherwise do nothing. O0 Z% ]$ H: p' s7 b8 j- P+ l
tdelta:=(t-topen)*1000: B5 U' }+ j, _9 @
IF tdelta<=0.44 + `) p5 T" @+ M' @ THEN ds:=(38.5*tdelta**1.5)*1000' S- X1 w4 \7 C9 m# e: C
ELSIF tdelta>0.44 AND tdelta<=5.00# Y2 C' j. F8 o y# m
THEN ds:=55.1*tdelta**0.55*1000! j: l& M; f. _
ENDIF9 `, I9 s2 U% x$ s& y) b
' G# I% D, Q7 J; Y8 K* }
nds:=-ds% P! v4 i I }9 a% i3 U0 J, O4 O
itopen:=abs(current)9 D% r! p7 L- F# R9 S8 u7 b: U
ich2:=(2*pi*50*14.3*itopen*6.3*exp(-16))**((1-14.3)**(-1)) # [' D, h4 T8 }+ z/ h3 S- V" A$ f8 g5 R/ H7 I
first_opening :=false; fully_opening :=false # T" N" E# ?) O* N, T# S- k6 |& p reopening :=false; reigniting :=false ! N' ^, s2 W C G I- u2 k 5 V2 p9 M) A0 H- b6 ~6 T7 E* h5 i IF state=1 -- was normal closed & d n$ C# i- a) \0 g- } AND (abs(current) <ich17 Z7 g& P' U7 ^0 m
OR current*prevval(current)<0) $ ?" |: c: Z* {! T) I9 u/ Q THEN first_opening :=true 7 X- u. @$ v8 P. {# [ elapsed:=t-topen 1 C/ L: x6 t" V; M$ x, L9 h% @1 E% \9 ^# \1 G% Q3 K2 y
ELSIF state=2 THEN -- was tentatively open & O9 p* B2 G. l/ o' ~
9 c8 H. i- ~& M' n3 L6 U3 a: _ IF elapsed>reignit_w THEN6 H% y/ C( G# f" h
fully_opening :=true % b: ^( [5 j% y$ j" y5 [5 k ELSIF abs(deltav) > ds 7 b5 e. T C- p" v1 b THEN reigniting:=true; }2 U0 h9 ~# u8 T. G4 g |4 |1 Q8 n
ENDIF: z' ], i- T. ?! P M- y
& [- u' T5 d4 r, d" Y3 Y. n ELSIF state=3 THEN -- was reignited" P. H$ U) t; b, ] Z
+ t0 e, r" Z* c0 @- e- O
reopen_clock :=reopen_clock +timestep$ N- ~' ~, B& A3 c. D6 j5 d
8 W* V3 ]: Y; f
IF reopen_clock >=reopen_delay5 o* m/ a+ E) V q
AND (abs(current) <ich1 + X/ [5 W5 |+ h; A) ~4 T OR current*prevval(current)<0) - O n5 m- B$ x3 U% _
AND abs(deriv(current))<slope q5 v6 E) F4 c THEN reopening:=true0 J0 m/ z2 A0 ?+ R1 l3 B' D
ENDIF $ w) ?) @/ H2 X% Q# F! w% s, a; \0 |, u2 g" F" G* d% u4 r* j
ELSIF state=0 THEN -- was fully open 1 p* v C: {& w k4 U6 m0 ], D! \ ENDIF# @" l* r+ [& Q# m2 x4 q! m( I
$ D' a* v8 v7 B+ ~7 `3 ]6 P
IF first_opening OR reopening THEN; Y* l. l, i* S9 U) V+ V
state :=2 -- becomes tentatively open" o6 J) e$ s: `3 J) P7 W, k
. @8 U! z" E- S, u0 n' N9 ]1 _
ELSIF reigniting THEN$ Q4 m9 c: ~' }
reopen_clock :=0+ r- U! f+ `! z; C' c
state :=3 -- becomes reignited 5 [: D3 C2 F: l) q; ^ ELSIF fully_opening THEN2 [5 Q! s- J( X9 S) ~2 ]/ }
state :=0 -- becomes fully open+ ~$ z; p* Z5 Z) S' y& n- g
ENDIF & L2 ^: h5 @8 z% Q5 s- Q# B3 D# ]$ N3 J
IF state = 2 OR state = 0 -- is now open 2 b$ m, W; R9 r# y* Z9 m THEN cbstatus :=open9 q& \8 l( [! E4 L2 K0 n9 b
ELSE cbstatus :=closed 2 q0 x, ^$ V1 z( p8 n2 d ENDIF 2 F8 y/ h' T. C4 R& W4 Y/ r! q# L $ {, V5 e5 `$ u% t) d' } 7 r; L1 J3 Z* x( E ENDIF " {6 f1 D4 P( M3 a 1 a% v/ d4 N1 F9 J9 Z$ TENDEXEC ; |/ a) p3 v7 }2 l* {) b$ UENDMODEL 9 P( W% u+ L, y3 R% |2 J5 m) A ( W- `. s8 u8 R % I- A6 W3 \5 V. f* P$ u