# 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 from hardware.inverter import InverterController from hardware.transmitter import TransmitterController import threading import time import cv2 import vision.visual_callback_1203 as angle_visual def main(): # 加载配置 # 初始化系统 # angle_visual.angle_visual_callback(2,'未堆料') replay_controller=RelayController() # transmitter_controller=TransmitterController(replay_controller) # upper_weight=transmitter_controller.read_data(2) # print(upper_weight) # replay_controller.control(replay_controller.DOOR_LOWER_CLOSE, 'close') #5-10度徘徊 # replay_controller.control(replay_controller.DOOR_LOWER_CLOSE, 'open') # time.sleep(0.1) # replay_controller.control(replay_controller.DOOR_LOWER_CLOSE, 'close') #5-15度徘徊 # replay_controller.control(replay_controller.DOOR_LOWER_CLOSE, 'close') replay_controller.control(replay_controller.DOOR_LOWER_OPEN, 'open') time.sleep(0.3) replay_controller.control(replay_controller.DOOR_LOWER_OPEN, 'close') time.sleep(0.3) replay_controller.control(replay_controller.DOOR_LOWER_CLOSE, 'open') time.sleep(0.4) replay_controller.control(replay_controller.DOOR_LOWER_CLOSE, 'close') time.sleep(3) replay_controller.control(replay_controller.DOOR_LOWER_OPEN, 'open') time.sleep(0.3) replay_controller.control(replay_controller.DOOR_LOWER_OPEN, 'close') time.sleep(0.3) replay_controller.control(replay_controller.DOOR_LOWER_CLOSE, 'open') time.sleep(0.4) replay_controller.control(replay_controller.DOOR_LOWER_CLOSE, 'close') # replay_controller.close_all() # replay_controller.control(replay_controller.DOOR_UPPER_OPEN, 'open') # replay_controller.control(replay_controller.DOOR_UPPER_OPEN, 'close') # time.sleep(0.4) # replay_controller.control(replay_controller.DOOR_LOWER_OPEN, 'close') # replay_controller.control(replay_controller.DOOR_LOWER_CLOSE, 'open') # time.sleep(0.4) # replay_controller.control(replay_controller.DOOR_LOWER_CLOSE, 'close') # replay_controller.control(replay_controller.DOOR_UPPER_OPEN, 'open') # time.sleep(4) # while True: # # replay_controller.control(replay_controller.DOOR_UPPER_OPEN, 'close') # time.sleep(2) # replay_controller.control(replay_controller.DOOR_UPPER_OPEN, 'open') # time.sleep(0.1) # time.sleep(0.5) # replay_controller.control(replay_controller.DOOR_UPPER_OPEN, 'open') # time.sleep(0.5) # replay_controller.control(replay_controller.DOOR_UPPER_OPEN, 'close') # time.sleep(0.5) # replay_controller.control(replay_controller.DOOR_UPPER_OPEN, 'open') # time.sleep(0.5) # replay_controller.control(replay_controller.DOOR_UPPER_OPEN, 'close') # time.sleep(3) # inverter_controller=InverterController(replay_controller) # inverter_controller.control('start') # inverter_controller.control('stop') # return # replay_controller.control_upper_open() #3秒开关 # 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, 'open') # time.sleep(1) # replay_controller.control(replay_controller.DOOR_LOWER_CLOSE, 'close') # while True: # time.sleep(1) # replay_controller.control(system.relay_controller.DOOR_LOWER_OPEN, 'open') # system = FeedingControlSystem() # system.state.vehicle_aligned=True #假设在振捣室 # system.state._upper_door_position='over_lower' # system.relay_controller.control(system.relay_controller.DOOR_LOWER_OPEN, 'open') # system.initialize() # 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()