jiaoban.py 1.0 KB

123456789101112131415161718192021222324252627282930
  1. from utils.s7data import S7data
  2. from models.data_sender import Sender
  3. from utils.logger import Logger
  4. import time, threading
  5. class Banci:
  6. def __init__(self, s7_data: S7data, sender: Sender, logger: Logger, ccmNo):
  7. self.s7_data = s7_data
  8. self.sender = sender
  9. self.logger = logger
  10. self.ccmNo = ccmNo
  11. self.ban_5 = s7_data.make_point('当前班别')
  12. self.ban_now_5 = self.ban_5.data
  13. self.thread = threading.Thread(target=self.jiaoban_action)
  14. self.thread.start()
  15. def jiaoban_action(self):
  16. time.sleep(2)
  17. self.ban_now_5 = self.ban_5.data
  18. while True:
  19. if self.ban_5.data != self.ban_now_5:
  20. self.ban_now_5 = self.ban_5.data
  21. self.logger.info(f'{self.ccmNo}#机触发交班信号')
  22. if self.ccmNo == '6':
  23. self.sender.jiaoban_6(self.ccmNo, self.ban_now_5)
  24. elif self.ccmNo == '5':
  25. self.sender.jiaoban(self.ccmNo, self.ban_now_5)
  26. time.sleep(1)