Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import pymysql
  2. from contextlib import closing
  3. import pymysql
  4. from pymysql.cursors import DictCursor
  5. from time import sleep
  6. from datetime import datetime
  7.  
  8. def strSost(x):
  9.     x = str(x.lower())
  10.    
  11.     if x == '0':
  12.         return 'Отключен'
  13.     elif x == '1':
  14.         return 'Подключен'
  15.     else:
  16.         return 'Суперпозиция'
  17.  
  18. #Запуск
  19. in1 = 1
  20. in2 = 1
  21. in3 = 1
  22. in4 = 1
  23. in5 = 1
  24.  
  25. print('Программа по управлению системами микро грида "smart-energy" запущенна')
  26. print ('Время запуска: ' + datetime.today().strftime('%Y-%m-%d %H:%M:%S'))
  27. print()
  28.  
  29. #Работа с бд
  30. with closing(
  31. pymysql.connect(
  32.     host='remotemysql.com',
  33.     user='psmg6F26LS',
  34.     password='jDixxlgdxx',
  35.     db='psmg6F26LS',
  36.     cursorclass=DictCursor
  37. )
  38. ) as connection:
  39.     with connection.cursor() as cursor:
  40.         while True:
  41.             try:
  42.                 date = datetime.today().strftime('%Y-%m-%d %H:%M:%S')
  43.                
  44.                 #TODO дописать получение этих значений
  45.                 voutsun = 1.0
  46.                 aoutsun = 1.0
  47.                
  48.                 vouth = 0.0
  49.                 aouth = 0.0
  50.  
  51.                 pAll = (voutsun * aoutsun) + (vouth * aouth)
  52.  
  53.                 #Система приоритетов
  54.                 #mysql
  55.                 query="INSERT INTO `ener-data`(`id`, `date`, `v-out-sun`, `a-out-sun`, `v-out-h`, `a-out-h`, `in1`, `in2`, `in3`, `in4`, `in5`) VALUES (null,'" + date + "'," + str(voutsun) + "," + str(aoutsun) + "," +str(vouth) + "," + str(aouth) + "," + str(in1)  + "," + str(in2)  + "," + str(in3) + "," + str(in4)  + "," + str(in5) + ")"
  56.                 cursor.execute(query)
  57.                 connection.commit()
  58.                
  59.                 query="SELECT * FROM `ener-data`    WHERE 1 ORDER BY id DESC LIMIT 1"
  60.                 cursor.execute(query)
  61.                 for row in cursor:
  62.                     #Вывод показания
  63.                     pAll = (row['v-out-sun'] * row['a-out-sun']) + (row['v-out-h'] * row['a-out-h'])
  64.                     print('Запись #' + str(row['id']) + ' от ' + str(row['date']) + ':')
  65.                     print('Показания источников:')
  66.                     print(' Солнечная панель | ' + str(row['v-out-sun']) + 'В ' + str(row['a-out-sun']) + 'А ' + str(row['v-out-sun'] * row['a-out-sun']) + 'Вт')
  67.                     print(' Водородный ТЭ    | ' + str(row['v-out-h']) + 'В ' + str(row['a-out-h']) + 'А ' + str(row['v-out-h'] * row['a-out-h']) + 'Вт')
  68.                 print(' Общая мощьность  | ' + str(pAll))
  69.                 print('Состояния потребителей:')
  70.                 print(' 1 | Потребитель | ' + strSost(row['in1']))
  71.                 print(' 2 | Потребитель | ' + strSost(row['in2']))
  72.                 print(' 3 | Потребитель | ' + strSost(row['in3']))
  73.                 print(' 4 | Потребитель | ' + strSost(row['in4']))
  74.                 print(' 5 | Потребитель | ' + strSost(row['in5']))
  75.                 print()
  76.                 sleep(5)
  77.             except KeyboardInterrupt:
  78.                 print('Завершение работы')
  79.                 exit()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement