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

134 lines
4.6 KiB
Python

# main.py
import time
from config.settings import app_set_config
from core.system import FeedingControlSystem
from hardware import relay
from hardware.relay import RelayController
import threading
import time
import cv2
import os
from core.state import FeedStatus
def main():
system = FeedingControlSystem()
system.relay_controller.close_all()
# 启动视觉控制
# system.camera_controller.start_cameras()
# system.start_visual_control()
system.state._feed_status = FeedStatus.FCheckM
system.start_lower_feeding()
system.state.overflow_detected='未堆料'
system.initialize()
while True:
time.sleep(5)
# time.sleep(1)
# system.relay_controller.control(system.relay_controller.DOOR_LOWER_OPEN, 'open')
# system.vision_detector.detect_angle()
# while True:
# system.feeding_controller.pulse_control_door_for_maintaining()
# time.sleep(5)
# system.state.vehicle_aligned=True
#假设在 fertilize room
# system.state._upper_door_position='over_lower'
# while True:
# system.feeding_controller.pulse_control_door_for_maintaining()
# time.sleep(4)
# system.relay_controller.control(system.relay_controller.DOOR_LOWER_OPEN, 'open')
# 加载配置
# 初始化系统
# replay_controller.control(replay_controller.DOOR_LOWER_OPEN, 'open')
# time.sleep(1)
# replay_controller.control(replay_controller.DOOR_LOWER_OPEN, 'close')
# replay_controller.control(replay_controller.DOOR_LOWER_CLOSE, 'close')
# replay_controller.control_upper_open()
# replay_controller.control(replay_controller.DOOR_LOWER_OPEN, 'open')
# time.sleep(5)
# replay_controller.control(replay_controller.DOOR_LOWER_OPEN, 'close')
# image=cv2.imread(os.path.join(app_set_config.project_root,'test.jpeg'))
# image=cv2.flip(image, 0)
# cv2.imshow('test',image)
# cv2.waitKey(1)
# replay_controller.control(system.relay_controller.DOOR_LOWER_OPEN, 'open')
# system.state._feed_status=FeedStatus.FCheckM
# cv2.namedWindow("控制系统", cv2.WND_PROP_VISIBLE)
# cv2.setWindowProperty("控制系统", cv2.WND_PROP_VISIBLE, 0)
# while True:
# key = cv2.waitKey(100) & 0xFF
# if key == ord('q') or key == 27: # 'q'键或ESC键
# print("接收到退出信号,正在关闭系统...")
# break
# time.sleep(1) # 减少CPU占用
# replay_controller.close_all()
# system.relay_controller.control(system.relay_controller.DOOR_UPPER_OPEN, 'open')
# system.relay_controller.control(system.relay_controller.DOOR_UPPER_CLOSE, 'close')
# system.relay_controller.control(system.relay_controller.DOOR_UPPER_OPEN, 'open')
# time.sleep(5)
# system.relay_controller.control_upper_close()
# system.relay_controller.control(system.relay_controller, 'close')
# system.relay_controller.control(system.relay_controller.DOOR_UPPER_OPEN, 'open')
# system.camera_controller.start_cameras()
# loc_all_close=True
# if loc_all_close:
# relay=RelayController()
# relay.control(relay.UPPER_TO_JBL, 'close')
# relay.control(relay.UPPER_TO_ZD, 'close')
# relay.control(relay.DOOR_LOWER_OPEN, 'close')
# relay.control(relay.DOOR_LOWER_CLOSE, 'close')
# relay.control(relay.DOOR_UPPER_OPEN, 'close')
# relay.control(relay.DOOR_UPPER_CLOSE, 'close')
# relay.control(relay.BREAK_ARCH_UPPER, 'close')
# relay.control(relay.BREAK_ARCH_LOWER, 'close')
# time.sleep(2)
# system._alignment_check_loop()
# system.relay_controller.control(system.relay_controller.DOOR_LOWER_OPEN, 'open')
# time.sleep(2)
# system.relay_controller.control(system.relay_controller.DOOR_UPPER_OPEN, 'close')
# time.sleep(2)
# system.relay_controller.control(system.relay_controller.DOOR_LOWER_CLOSE, 'open')
# time.sleep(2)
# system.relay_controller.control(system.relay_controller.DOOR_UPPER_CLOSE, 'close')
# system.relay_controller.control(system.relay_controller.DOOR_LOWER_CLOSE, 'open')
# time.sleep(5)
# system.relay_controller.control(system.relay_controller.DOOR_LOWER_CLOSE, 'close')
# system._visual_control_loop()
# system.transmitter_controller.test_upper_weight=2*2500
# system.transmitter_controller.test_lower_weight=1000
# system.state.vehicle_aligned=True
# # 启动调整线程
# weight_thread = threading.Thread(target=adjust_weights, args=(system,), daemon=True)
# weight_thread.start()
# system.state._upper_door_position='over_lower'
# system._start_lower_feeding()
if __name__ == "__main__":
main()