Files
Feeding_control_system/test_visual_callback.py
2025-12-12 18:00:14 +08:00

57 lines
1.7 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import time
import threading
from vision.visual_callback import VisualCallback, angle_visual_callback
# 创建VisualCallback实例
visual_callback = VisualCallback()
# 模拟safe_control_lower_close执行
def simulate_safe_close():
while True:
time.sleep(1)
"""模拟safe_control_lower_close执行"""
print("\n=== 开始模拟safe_control_lower_close执行 ===")
# 1. 首先,发送一些视觉回调数据,观察正常情况下的行为
print("\n1. 正常运行阶段:")
for i in range(5):
angle_visual_callback(50.0, "无堆料")
time.sleep(1)
# 2. 模拟safe_control_lower_close开始执行
print("\n2. 模拟safe_control_lower_close开始执行:")
visual_callback._is_safe_closing = True
# 3. 再次发送视觉回调数据观察是否会跳过relay操作
print("\n3. safe_control_lower_close执行中:")
for i in range(5):
angle_visual_callback(50.0, "无堆料")
time.sleep(1)
# 4. 模拟safe_control_lower_close执行完毕
print("\n4. 模拟safe_control_lower_close执行完毕:")
visual_callback._is_safe_closing = False
# 5. 再次发送视觉回调数据,观察是否恢复正常
print("\n5. 恢复正常运行:")
for i in range(5):
angle_visual_callback(50.0, "无堆料")
time.sleep(1)
print("\n=== 测试结束 ===")
visual_callback.shutdown()
# 启动测试
try:
simulate_safe_close()
except KeyboardInterrupt:
print("\n\n接收到Ctrl+C正在停止服务...")
finally:
# 确保服务正确停止
visual_callback.shutdown()
visual_callback.relay_controller.close_all()
print("服务已安全停止")