steel_making_main.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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. from models.mysql_data import MysqlData
  6. from models.cip_data import CIPData
  7. from models.steel_fit import SteelFit
  8. import pymysql
  9. # 配置S7连接
  10. s7_1 = S7Client()
  11. s7_1.connect("172.16.1.20", 0, 0)
  12. data_1 = S7data("conf/s7@172.16.1.20.csv")
  13. data_1.set_S7Client(s7_1)
  14. data_1.auto_update_group()
  15. s7_2 = S7Client()
  16. s7_2.connect("172.16.1.21", 0, 0)
  17. data_2 = S7data("conf/s7@172.16.1.21.csv")
  18. data_2.set_S7Client(s7_2)
  19. data_2.auto_update_group()
  20. s7_3 = S7Client()
  21. s7_3.connect("192.168.1.215", 0, 0)
  22. data_3 = S7data("conf/s7@192.168.1.215.csv")
  23. data_3.set_S7Client(s7_3)
  24. data_3.auto_update_group()
  25. s7_4 = S7Client()
  26. s7_4.connect("192.168.1.215", 0, 0)
  27. # 配置CIP连接
  28. cip_data = CIPData("192.168.3.100")
  29. cip_data.start_update()
  30. # 配置MySQL连接池
  31. mysql_pool = PooledDB(
  32. creator=pymysql,
  33. maxconnections=60,
  34. mincached=2,
  35. blocking=True,
  36. host='localhost',
  37. user='root',
  38. password='qwer1234',
  39. database='steelmaking_data',
  40. charset='utf8mb4'
  41. )
  42. mysql_pool_web = PooledDB(
  43. creator=pymysql,
  44. maxconnections=10,
  45. mincached=1,
  46. blocking=True,
  47. host='192.168.3.165',
  48. user='zgzt',
  49. password='zgzt1234',
  50. database='lg_length',
  51. charset='utf8mb4'
  52. )
  53. # 配置日志模块
  54. logger = Logger('steel_making')
  55. logger.file_on_with_rotation('logs/steel_making.log')
  56. # logger.screen_on()
  57. logger2 = Logger('steel_fit')
  58. logger2.file_on_with_rotation('logs/steel_fit.log')
  59. # logger.screen_on()
  60. # 配置主模块
  61. sender_1 = Sender(data_1, mysql_pool, logger, "172.16.1.20")
  62. sender_2 = Sender(data_2, mysql_pool, logger, "172.16.1.21")
  63. sender_3 = Sender(data_3, mysql_pool, logger, "192.168.1.215")
  64. # Mysql数据源
  65. data_mysql = MysqlData(mysql_pool_web, s7_4, logger)
  66. # 钢坯拟合模块
  67. steel_fit = SteelFit(data_1, data_3, cip_data, sender_1, logger2)