Files
ailai/EMV/all_sensors_device_test.py
2025-08-18 16:54:29 +08:00

77 lines
2.4 KiB
Python
Raw Permalink 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.

from EMV import RelayController
import time
relay_controller = RelayController() # 实例化控制器
def test_device(device_name, action):
"""
测试指定设备的开/关操作,并读取传感器状态
:param device_name: str设备名conveyor1, conveyor2, pusher, clamp
:param action: str操作open, close
"""
device_map = {
'conveyor1': {
'open': lambda: relay_controller.open(conveyor1=True),
'close': lambda: relay_controller.close(conveyor1=True)
},
'conveyor2': {
'open': lambda: relay_controller.open(conveyor2=True),
'close': lambda: relay_controller.close(conveyor2=True)
},
'pusher': {
'open': lambda: relay_controller.open(pusher=True),
'close': lambda: relay_controller.close(pusher=True)
},
'pusher1': {
'open': lambda: relay_controller.open(pusher1=True),
'close': lambda: relay_controller.close(pusher1=True)
},
'clamp': {
'open': lambda: relay_controller.open(clamp=True),
'close': lambda: relay_controller.close(clamp=True)
}
}
if device_name not in device_map:
print(f"❌ 未知设备: {device_name}")
return
if action not in ['open', 'close']:
print(f"❌ 未知操作: {action}")
return
print(f"\n🧪 正在测试设备: {device_name},操作: {action}")
device_map[device_name][action]()
# 可选:等待一段时间后读取传感器状态
time.sleep(1)
print("📊 当前传感器状态:")
status = relay_controller.get_all_sensor_responses(command_type='sensors')
print(status)
# ✅ 示例调用(你可以取消注释你想测试的部分)
if __name__ == "__main__":
#test_device('conveyor1', 'open')
#test_device('conveyor1', 'close')
#已完成测试
#test_device('conveyor2', 'open')
#test_device('conveyor2', 'close')
'''
test_device('conveyor2', 'close')
sensors = relay_controller.get_all_device_status('sensors')
sensor2_value = sensors.get(relay_controller.SENSOR2, False)
print(sensor2_value)
'''
#test_device('pusher', 'open')
#time.sleep(0.1)
#test_device('pusher', 'close')
#test_device('pusher1', 'open')
#time.sleep(0.1)
#test_device('pusher1', 'close')
# 已完成测试
#test_device('clamp', 'open')
test_device('clamp', 'close')