stage_one
This commit is contained in:
59
test_overflow_state_change.py
Normal file
59
test_overflow_state_change.py
Normal file
@ -0,0 +1,59 @@
|
||||
import time
|
||||
from vision.visual_callback_1203 import VisualCallback
|
||||
|
||||
# 测试堆料状态变化处理
|
||||
def test_overflow_state_change():
|
||||
print("=== 测试堆料状态变化处理 ===")
|
||||
|
||||
# 获取单例实例
|
||||
callback = VisualCallback()
|
||||
|
||||
# VisualCallback初始化时会自动启动线程
|
||||
time.sleep(1) # 等待线程初始化
|
||||
|
||||
try:
|
||||
# 1. 初始状态:非堆料,应该立即处理
|
||||
print("\n1. 初始状态 - 非堆料")
|
||||
callback.angle_visual_callback(30, "未堆料")
|
||||
time.sleep(0.5)
|
||||
|
||||
# 2. 变为堆料状态,应该立即处理(不受间隔限制)
|
||||
print("\n2. 变为堆料状态")
|
||||
callback.angle_visual_callback(30, "小堆料")
|
||||
time.sleep(0.5)
|
||||
|
||||
# 3. 保持堆料状态,应该立即处理(堆料优先)
|
||||
print("\n3. 保持堆料状态")
|
||||
callback.angle_visual_callback(30, "小堆料")
|
||||
time.sleep(0.5)
|
||||
|
||||
# 4. 从堆料变为非堆料,应该立即处理(状态变化)
|
||||
print("\n4. 从堆料变为非堆料(状态变化)")
|
||||
callback.angle_visual_callback(30, "未堆料")
|
||||
time.sleep(0.5)
|
||||
|
||||
# 5. 再次非堆料,应该受2秒间隔限制
|
||||
print("\n5. 再次非堆料(无状态变化)")
|
||||
callback.angle_visual_callback(30, "未堆料")
|
||||
time.sleep(0.5)
|
||||
|
||||
# 6. 等待2秒后再次非堆料,应该处理
|
||||
print("\n6. 等待2秒后再次非堆料")
|
||||
time.sleep(2)
|
||||
callback.angle_visual_callback(30, "未堆料")
|
||||
time.sleep(0.5)
|
||||
|
||||
# 7. 从非堆料变为大堆料,应该立即处理
|
||||
print("\n7. 从非堆料变为大堆料")
|
||||
callback.angle_visual_callback(30, "大堆料")
|
||||
time.sleep(0.5)
|
||||
|
||||
finally:
|
||||
# 关闭线程
|
||||
callback.shutdown()
|
||||
time.sleep(1)
|
||||
|
||||
print("\n=== 测试完成 ===")
|
||||
|
||||
if __name__ == "__main__":
|
||||
test_overflow_state_change()
|
||||
Reference in New Issue
Block a user