This commit is contained in:
2025-12-28 17:20:02 +08:00
parent b8b9679bc8
commit cddb7531ab
23 changed files with 2138 additions and 198 deletions

View File

@ -73,7 +73,7 @@ class RelayController:
sock.connect((self.host, self.port))
sock.send(byte_data)
response = sock.recv(1024)
print(f"收到继电器响应: {binascii.hexlify(response)}")
# print(f"收到继电器响应: {binascii.hexlify(response)}")
return response
except Exception as e:
print(f"继电器通信错误: {e}")
@ -97,7 +97,7 @@ class RelayController:
def control(self, device, action):
"""控制继电器"""
if device in self.relay_commands and action in self.relay_commands[device]:
print(f"发送控制继电器命令 {device} {action}")
# print(f"发送控制继电器命令 {device} {action}")
self.send_command(self.relay_commands[device][action])
else:
print(f"无效设备或动作: {device}, {action}")
@ -109,6 +109,13 @@ class RelayController:
self.control(self.DOOR_UPPER_CLOSE, 'open')
# 异步5秒后关闭
threading.Thread(target=self._close_upper_s, daemon=True,name="close_upper_s").start()
def control_upper_close_after(self):
"""控制上料斗关在几秒后"""
# 关闭上料斗出砼门
self.control(self.DOOR_UPPER_OPEN, 'close')
# 异步5秒后关闭
threading.Thread(target=self._close_upper_after_s, daemon=True,name="close_upper_after_s").start()
def control_upper_close_sync(self,duration=5):
self.control(self.DOOR_UPPER_OPEN, 'close')
@ -224,6 +231,24 @@ class RelayController:
self.control(self.DOOR_UPPER_CLOSE, 'close')
print("上料斗关闭完成")
def _close_upper_after_s(self):
"""
异步5秒后关闭上料斗20秒
"""
# time.sleep(5)
self.control_arch_upper_open_sync(5)
self.control(self.DOOR_UPPER_CLOSE, 'open')
time.sleep(1)
self.control(self.DOOR_UPPER_CLOSE, 'close')
self.control_arch_upper_open_sync(5)
self.control_arch_upper_open_sync(5)
self.control_arch_upper_open_async(8)
self.control(self.DOOR_UPPER_CLOSE, 'open')
time.sleep(20)
self.control(self.DOOR_UPPER_CLOSE, 'close')
print("上料斗关闭完成")
def _close_lower_5s(self):
time.sleep(6)
self.control(self.DOOR_LOWER_CLOSE, 'close')
@ -238,19 +263,40 @@ class RelayController:
self.control(self.BREAK_ARCH_LOWER, 'open')
# 异步5秒后关闭
threading.Thread(target=self._close_break_arch_lower, daemon=True,name="_close_break_arch_lower").start()
def control_arch_lower_open_sync(self,duration):
"""控制下料斗振动"""
self.control(self.BREAK_ARCH_LOWER, 'open')
# 异步5秒后关闭
time.sleep(duration)
self.control(self.BREAK_ARCH_LOWER, 'close')
def control_arch_upper_open_sync(self,duration):
"""控制下料斗振动"""
self.control(self.BREAK_ARCH_UPPER, 'open')
# 异步5秒后关闭
time.sleep(duration)
self.control(self.BREAK_ARCH_UPPER, 'close')
def _close_break_arch_lower(self):
time.sleep(3)
self.control(self.BREAK_ARCH_LOWER, 'close')
def control_arch_upper_open(self):
"""控制上料斗"""
def control_arch_upper_open_async(self,delay_seconds: float = 15):
"""异步控制上料斗振动
Args:
delay_seconds: 延迟关闭时间默认15秒
"""
# 关闭下料斗出砼门
self.control(self.BREAK_ARCH_UPPER, 'open')
# 异步5秒后关闭
threading.Thread(target=self._close_break_arch_upper, daemon=True,name="_close_break_arch_upper").start()
def _close_break_arch_upper(self):
time.sleep(3)
threading.Thread(target=lambda d: self._close_break_arch_upper(delay_seconds),args=(delay_seconds,), daemon=True, name="_close_break_arch_upper").start()
def _close_break_arch_upper(self, delay_seconds: float = 15):
time.sleep(delay_seconds)
print(f"上料斗振动关闭完成,延迟{delay_seconds}")
self.control(self.BREAK_ARCH_UPPER, 'close')