Advertisement
Savelyev_Vyacheslav

RdMax

Mar 13th, 2022 (edited)
771
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.82 KB | None | 0 0
  1. import numpy as np
  2. import time
  3. import os
  4. # перевод ppm в %
  5. H2 = 30000000
  6. CH4 = 30
  7. C2H2 = 30
  8. C2H4 = 30
  9. C2H6 = 30
  10. CO = 30
  11. CO2 = 30
  12. pIn = []
  13. #pIn = [1,1]
  14.  
  15. GasPPM = []
  16. conName = [ 'H2','CH4', 'C2H2', 'C2H4','C2H6', 'CO','CO2']
  17. def setIn(H2,text):
  18.     try:
  19.         H2.append(float(input(text)))
  20.     except:
  21.         print("Ошибка ввода")
  22.         vvod()
  23.     time.sleep(0.1);
  24.     os.system('cls||clear')
  25. def vvod():
  26.     print('I Тип среды')
  27.     print("  1 - Tрансформатор с азотной или пленочной защитой масла")
  28.     print("  0 - Tрансформатор со свободным дыханием")
  29.     setIn(pIn,' Введите >> ')
  30.     print('II Время в эксплуатации')
  31.     print("  1 - Эксплуатация до 10 лет")
  32.     print("  0 - Эксплуатация более 10 лет")
  33.     setIn(pIn,' Введите >> ')
  34.     print(pIn)
  35.     print("3 Вводим газы - 'H2', 'CH4', 'C2H4', 'C2H6', 'CO', 'CO2'")
  36.     for item in conName:
  37.         setIn(GasPPM,'   Введите '+item+'>> ')
  38. vvod()
  39.  
  40. def PpmToPr(GasPPM):
  41.     GasPr = np.divide(GasPPM, 1000000/100)
  42.     return GasPr
  43.  
  44. def Inborder(GasPPM,conRr,conName):
  45.     out = []
  46.     GasPr = PpmToPr(GasPPM)
  47.     for i in range(len(GasPr)):
  48.         if GasPr[i] >= conRr[i]:
  49.             out.append(conName[i])
  50.     print(out)
  51.     if len(out)==0:
  52.         return ["Без превышений"]
  53.     return out
  54.  
  55. def GasBord(GasPPM,conName, pIn):
  56.     conRr110_500_do10Let = [0.01,0.01,0.001,0.01,0.005,0.05,0.2] # значение для трансформаторов с азотной или пленочной защитами масла
  57.     conRr110_500_do10LetD = [0.01,0.01,0.001,0.01,0.005,0.06,0.6] # для трансформаторов со свободным дыханием
  58.     conRr110_500_Posle10Let = [0.01,0.01,0.001,0.01,0.005,0.05,0.4] # значение для трансформаторов с азотной или пленочной защитами масла
  59.     conRr110_500_Posle10LetD = [0.01,0.01,0.001,0.01,0.005,0.06,0.8] # для трансформаторов со свободным дыханием
  60.     conRr750 = [0.01,0.002,0.001,0.002,0.001,0.05,0.4] #
  61.     conRr750Rctr = [0.01,0.003,0.001,0.001,0.002,0.05,0.4]
  62.     conRr = []
  63.     if pIn == [1,1]:
  64.         conRr = conRr110_500_do10Let
  65.     elif pIn == [0,1]:
  66.         conRr = conRr110_500_do10LetD
  67.     elif pIn == [1,0]:
  68.         conRr = conRr110_500_Posle10Let
  69.     elif pIn == [0,0]:
  70.         conRr = conRr110_500_Posle10LetD
  71.     else:
  72.         print("Ошибка ввода 1 или 2")
  73.         vvod()
  74.         GasBord(GasPPM,conName, pIn)
  75.     return Inborder(GasPPM, conRr, conName)
  76.    
  77.  
  78. rez = GasBord(GasPPM,conName, pIn)
  79. print("Превышение по ", rez)
  80. time.sleep(20)
  81.  
  82.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement