steel_rolling_main.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. from utils.s7data import S7Client, S7data
  2. from dbutils.pooled_db import PooledDB
  3. from utils.logger import Logger
  4. from models.data_sender import Sender
  5. import pymysql
  6. # 配置S7连接
  7. s7 = S7Client()
  8. s7.connect("192.168.0.3", 0, 3)
  9. data = S7data("conf/s7@192.168.0.3.csv")
  10. data.set_S7Client(s7)
  11. data.auto_update_group()
  12. s7_3 = S7Client()
  13. s7_3.set_connection_type(3)
  14. s7_3.connect("192.168.0.19", 0, 0)
  15. data_3 = S7data("conf/s7@192.168.0.19.csv")
  16. data_3.set_S7Client(s7_3)
  17. data_3.auto_update_group()
  18. # 配置MySQL连接池
  19. mysql_pool = PooledDB(
  20. creator=pymysql,
  21. maxconnections=40,
  22. mincached=2,
  23. blocking=True,
  24. host='localhost',
  25. user='root',
  26. password='5538..',
  27. database='industrial_data',
  28. charset='utf8mb4'
  29. )
  30. # 配置日志模块
  31. logger = Logger('steel_rolling')
  32. logger.file_on_with_rotation('logs/steel_rolling.log')
  33. logger.screen_on()
  34. # 配置主模块
  35. sender = Sender(data, mysql_pool, logger, "192.168.0.3")
  36. sender = Sender(data_3, mysql_pool, logger, "192.168.0.19")
  37. # 临时使用
  38. s7_1 = S7Client()
  39. s7_1.connect("192.168.0.11", 0, 0)
  40. data_1 = S7data("conf/s7@192.168.0.11.csv")
  41. data_1.set_S7Client(s7_1)
  42. data_1.auto_update_group()
  43. import snap7.util, time
  44. s7_2 = S7Client()
  45. s7_2.set_connection_type(3)
  46. s7_2.connect("192.168.0.19", 0, 0)
  47. while 1:
  48. write_value = bytearray(2)
  49. snap7.util.set_word(write_value, 0, data_1.get_value("流号"))
  50. s7_2.db_write(1, 620, write_value)
  51. time.sleep(1)