Advertisement
Savelyev_Vyacheslav

Rele8

Mar 27th, 2022
935
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.62 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # coding: utf-8
  3.  
  4. # In[49]:
  5.  
  6.  
  7. #Рассчитать параметры нечетных защит - 0;
  8. #Рассчитать параметры четных защит - 1;
  9. #Iн1=133 А, Iн2=95 А,
  10. #lw1=3 км, lw2=5 км, lw3=5 км, Xуд=0.4 Ом
  11. #S(3)КЗ=210 МВА,Uном=37 кВ,
  12. #tс.з.7=1.3 с, tс.з.8=1.7 с, Δt=0.5 с,
  13. #kз=1.25, k`з=1.6, kотс=1.1, kотс=1.1,kв=0.9
  14. # dano
  15. def p(a):
  16.     print(a)
  17. def f1():
  18.     global In1,In2,Lw1,Lw2,Lw3,Xud,S3kz,Unom,tsz7,tsz8,dt,kz,kiz,kots,kv
  19.     In1 = 147
  20.     In2 = 98
  21.     Lw1 = 5
  22.     Lw2 = 6
  23.     Lw3 = 7
  24.     Xud = 0.4
  25.     S3kz = 250*10**6
  26.     Unom = 37*1000
  27.     tsz7 = 1.4
  28.     tsz8 = 1
  29.     dt = 0.5
  30.     kz = 1.3
  31.     kiz = 1.5
  32.     kots = 1.1
  33.     kv = 0.9
  34. def f2():
  35.     global In1,In2,Lw1,Lw2,Lw3,Xud,S3kz,Unom,tsz7,tsz8,dt,kz,kiz,kots,kv
  36.     In1 = 151
  37.     In2 = 108
  38.     Lw1 = 3
  39.     Lw2 = 5
  40.     Lw3 = 5
  41.     Xud = 0.4
  42.     S3kz = 210*10**6
  43.     Unom = 37*1000
  44.     tsz7 = 1.3
  45.     tsz8 = 1.7
  46.     dt = 0.5
  47.     kz = 1.25
  48.     kiz = 1.6
  49.     kots = 1.1
  50.     kv = 0.9
  51. def f3():
  52.     global In1,In2,Lw1,Lw2,Lw3,Xud,S3kz,Unom,tsz7,tsz8,dt,kz,kiz,kots,kv
  53.     In1 = 120
  54.     In2 = 83
  55.     Lw1 = 6
  56.     Lw2 = 11
  57.     Lw3 = 9
  58.     Xud = 0.4
  59.     S3kz = 190*10**6
  60.     Unom = 37*1000
  61.     tsz7 = 1.1
  62.     tsz8 = 1.4
  63.     dt = 0.5
  64.     kz = 1.3
  65.     kiz = 1.6
  66.     kots = 1.1
  67.     kv = 0.9  
  68.    
  69. class Z():
  70.     def Z(self):
  71.         return(self.__dict__)
  72.  
  73. f1()
  74.  
  75.  
  76. # In[50]:
  77.  
  78.  
  79. # Расчет времени срабатывания защит
  80. t = Z()
  81. t.tsz3 = tsz8 + dt
  82. t.tsz1 = max([t.tsz3, tsz7]) + dt
  83. t.tsz4 = tsz7 + dt
  84. t.tsz6 = max([t.tsz4, tsz8]) + dt
  85. t.tsz2 = 0
  86. t.tsz5 = 0
  87.  
  88. out=t.Z()
  89. dic1=dict(sorted(out.items(),key= lambda x:x[1]))
  90.  
  91. dic1
  92.  
  93.  
  94. # Режим ТАБЛИЦА
  95.  
  96.  
  97.  
  98. # Замкнутое кольцо
  99. zk = Z()
  100. zk.z1 = ( In1 * ( Lw2 + Lw3) + In2 * Lw3 )  /  (Lw1 + Lw2 + Lw3 )
  101. zk.z2 = -zk.z1
  102. zk.z3 = zk.z1 - In1
  103. zk.z4 = -zk.z3
  104. zk.z5 = -(In2 - zk.z3)
  105. zk.z6 = - zk.z5
  106.  
  107. out=zk.Z()
  108. out
  109. #Замкнутое кольцо
  110.  
  111.  
  112.  
  113.  
  114.  
  115. #Отключ. Q1
  116. q1 = Z()
  117. q1.q1 = 0
  118. q1.q2 = 0
  119. q1.q3 = -In1
  120. q1.q4 = -q1.q3
  121. q1.q5 = - ( In1 + In2 )
  122. q1.q6 = - q1.q5
  123.  
  124. out=q1.Z()
  125. out
  126. #Отключ. Q1
  127.  
  128.  
  129.  
  130.  
  131. #Отключ. Q2
  132. q2 = Z()
  133. q2.q1 = In1 + In2
  134. q2.q2 = -q2.q1
  135. q2.q3 = In2
  136. q2.q4 = - In2
  137. q2.q5 = 0
  138. q2.q6 = 0
  139.  
  140. out=q2.Z()
  141. out
  142. #Отключ. Q2
  143.  
  144.  
  145.  
  146. # Установка органов направления мощности
  147. #1 - ОНМ устанавливается, 0 - ОНМ не устанавливается
  148. t.list = [t.tsz1, t.tsz2 ,t.tsz3 ,t.tsz4, t.tsz5, t.tsz6, tsz7, tsz8]
  149. out=t.Z()
  150. list1=[]
  151. for i in range(0, len(t.list)-1):
  152.     list1.append( int(t.list[i]<t.list[i+1]) )
  153. list1[3] = list1[6]
  154.  
  155. list1[0:6]
  156.  
  157.  
  158. # Расчет тока срабатывания защиты 5(2)
  159.  
  160.  
  161.  
  162.  
  163. # Isz
  164. #Isz5_2 =( kots * max([In1, In2]) ) / kv
  165. Isz5_2 =( kots *  max(list(zk.Z().values())) ) / kv
  166. if [0, 1, 1, 0, 1, 0] == list1[0:6]:
  167.     Isz5_2 =( kots * max([zk.z3,zk.z4,zk.z5,zk.z6])  ) / kv
  168. print(Isz5_2)
  169.  
  170.  
  171. # Расчет тока срабатывания защиты 3(4)
  172.  
  173.  
  174.  
  175. #
  176. Isz14=Z()
  177. Isz14.i1 = kots * kz * max([In2, In1]) / kv
  178. Isz14.i2 = kots * kiz * max([In2, In1])
  179. Isz14.i3 = kots * Isz5_2
  180. Isz14.i4 = kots * min([In1, In2]) / kv
  181. # выбранный ток ISZ3_4
  182. if [0, 1, 1, 0, 1, 0] != list1[0:6]:
  183.     Isz14.i5 = max(list(Isz14.Z().values()))
  184. if [0, 1, 1, 0, 1, 0] == list1[0:6]:
  185.     Isz14.i1 = kots * kz * min([In2, In1]) / kv
  186.     Isz14.i2 = kots * kiz * min([In2, In1])
  187.     Isz14.i3 = kots * Isz5_2
  188.     Isz14.i4 = kots * max([In1, In2]) / kv
  189.     Isz14.i5 = max(list(Isz14.Z().values()))
  190.  
  191. out=Isz14.Z()
  192. out
  193.  
  194.  
  195. # Расчет тока срабатывания защиты 1(6)
  196.  
  197.  
  198. #
  199. Isz16=Z()
  200. Isz16.i1 = kots * kz * ( In1 + In2 ) / kv
  201. Isz16.i2 = kots * kiz * ( In1 + In2 )
  202. Isz16.i3 = kots * Isz14.i2
  203. Isz16.i4 = 0
  204. # выбранный ток ISZ3_4
  205. Isz16.i5 = max(list(Isz16.Z().values()))
  206.  
  207.  
  208. out=Isz16.Z()
  209. out
  210.  
  211.  
  212. # Сопротивления элементов
  213.  
  214.  
  215.  
  216. #
  217. X = Z()
  218. X.xc = Unom**2 / S3kz
  219. X.v1 = Xud * Lw1
  220. X.v2 =  Xud * Lw2
  221. X.v3 =  Xud * Lw3
  222. out=X.Z()
  223. out
  224.  
  225.  
  226. # Токи КЗ при К(3)
  227.  
  228.  
  229.  
  230. IKZ = Z()
  231. XsumK1 = X.xc + (X.v1 * (  X.v2 + X.v3  )) / (X.v1 + X.v2 + X.v3)
  232. IKZ.ik1 = Unom / ( 3**0.5 * XsumK1 )
  233. XsumK2 = X.xc + (X.v3 * (  X.v1 + X.v2  )) / (X.v1 + X.v2 + X.v3)
  234. IKZ.ik2 = Unom / ( 3**0.5 * XsumK2 )
  235.  
  236. if [0, 1, 1, 0, 1, 0] != list1[0:6]:
  237.     XvMin = X.v3
  238.     IKZ.kaskad = Unom /((3**0.5 )*(X.xc + XvMin))
  239.     p('2')
  240. if [0, 1, 1, 0, 1, 0] == list1[0:6]:
  241.     XvMin = min([X.v1,X.v2,X.v3])
  242.     IKZ.kaskad = Unom /((3**0.5 )*(X.xc + XvMin))
  243.     p('1')
  244.  
  245. out=IKZ.Z()
  246. out
  247.  
  248.  
  249.  
  250. # Токи в защите 1(6) при К(3)
  251.  
  252.  
  253. IK = Z()
  254. IK.ik1 = IKZ.ik1 *  (  X.v1  ) / (X.v1 + X.v2 + X.v3)
  255. IK.ik2= IKZ.ik2 *  ( X.v1+  X.v2 ) / (X.v1 + X.v2 + X.v3)
  256. IK.ik3 = IKZ.kaskad *  1
  257. if [0, 1, 1, 0, 1, 0] == list1[0:6]:
  258.     IK.ik1 = IKZ.ik1 * (   X.v2+  X.v3 ) / (X.v1 + X.v2 + X.v3)
  259.     IK.ik2= IKZ.ik2 * ( X.v3 ) / (X.v1 + X.v2 + X.v3)
  260.  
  261.  
  262. out=IK.Z()
  263. print(out)
  264.  
  265.  
  266.  
  267. # Чувствительность защиты 1(6) в точке К1
  268.  
  269.  
  270.  
  271.  
  272. kchK1 = Z()
  273. f3ToF2 = 1/(3**0.5/2)
  274. IszMax = max([Isz16.i5, Isz14.i5])
  275. kchK1.kch3 = IK.ik1 /Isz16.i5
  276. kchK1.kch2 = IK.ik1 / IszMax /f3ToF2
  277. out=kchK1.Z()
  278. p(out)
  279.  
  280.  
  281.  
  282.  
  283.  
  284. kchK2 = Z()
  285. f3ToF2 = 1/(3**0.5/2)
  286. IszMax = max([Isz16.i5, Isz14.i5])
  287. kchK2.kch3 = IK.ik2 /IszMax
  288. kchK2.kch2 = IK.ik2 / IszMax /f3ToF2
  289. out=kchK2.Z()
  290. p(out)
  291.  
  292.  
  293.  
  294.  
  295. kchK = Z()
  296. f3ToF2 = 1/(3**0.5/2)
  297. IszMax = max([Isz16.i5, Isz14.i5])
  298. kchK.kch3 = IK.ik3 /IszMax
  299. kchK.kch2 = IK.ik3 / IszMax /f3ToF2
  300. out=kchK.Z()
  301. p(out)
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement