update 增加速度设置,点位比对,启动警报等

This commit is contained in:
FrankCV2048
2024-12-05 20:29:27 +08:00
parent a884e241d3
commit 6f22ef051a
10 changed files with 795 additions and 640 deletions

46
main.py
View File

@ -549,6 +549,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.command_quene = Queue()
self.main_threading = None
self.detection_person = None #DetectionPerson()
self.cton_take_no_photo = CRisOrFall()
self.configReader.read(Constant.set_ini)
ip = self.configReader.get('Robot_Feed', 'IPAddress')
@ -579,7 +580,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
float(self.configReader.get('Origin', 'U')),
float(self.configReader.get('Origin', 'V')),
float(self.configReader.get('Origin', 'W')))
debug_speed = int(self.configReader.get('Speed', 'debug_speed'))
feed_speed = int(self.configReader.get('Speed', 'feed_speed'))
reset_speed = int(self.configReader.get('Speed', 'reset_speed'))
solenoid_valve1_addr = int(self.configReader.get('Robot_Feed', 'solenoid_valve1_addr'))
solenoid_valve2_addr = int(self.configReader.get('Robot_Feed', 'solenoid_valve2_addr'))
solenoid_valve3_addr = int(self.configReader.get('Robot_Feed', 'solenoid_valve3_addr'))
@ -589,6 +592,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
#TODO
#dropDelay_time = int(self.configReader.get('Robot_Feed', 'dropDelay_time'))
self.robotClient = RobotClient(ip, port, photo_locs, self.command_position_quene, self.status_address,[solenoid_valve1_addr, solenoid_valve2_addr, solenoid_valve3_addr],time_delay_take,time_delay_put,time_delay_shake,origin_position)
self.robotClient.debug_speed = debug_speed
self.robotClient.feed_speed = feed_speed
self.robotClient.reset_speed = reset_speed
self.feeding = Feeding(self.robotClient, self.detection) # 临时
self.last_time = time.time()
self.remain_lineName = self.configReader.get('Robot_Feed', 'remain_lineName')
@ -767,8 +773,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.main_UI_threading = Thread(target=self.updateUI)
self.main_UI_threading.start()
self.detect_person_thread = Thread(target=self.run_detect_persion)
self.detect_person_thread.start()
pass
def check_continue(self):
if self.remain_Count!=0:
@ -967,8 +973,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
pass
def send_setSpeed_clicked(self):
Constant.speed = int(self.lineEdit_speed_run.text())
Constant.debug_speed = int(self.lineEdit_speed_debug.text())
self.robotClient.feed_speed = int(self.lineEdit_speed_run.text())
self.robotClient.debug_speed = int(self.lineEdit_speed_debug.text())
self.robotClient.reset_speed = int(self.lineEdit_speed_reset.text())
try:
solenoid1_addr = int(self.lineEdit_solenoid1_addr.text())
solenoid2_addr = int(self.lineEdit_solenoid2_addr.text())
@ -990,7 +997,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.configReader.set('Robot_Feed', 'takeDelay', str(time_delay_take))
self.configReader.set('Robot_Feed', 'putDelay', str(time_delay_put))
self.configReader.set('Robot_Feed', 'shakeDelay', str(time_delay_shake))
self.configReader.set('Speed', 'feed_speed', str(self.robotClient.feed_speed))
self.configReader.set('Speed', 'debug_speed', str(self.robotClient.debug_speed))
self.configReader.set('Speed', 'reset_speed', str(self.robotClient.reset_speed))
self.configReader.write(open(Constant.set_ini, 'w', encoding='utf-8'))
except Exception as e:
log.log_message(logging.ERROR, Constant.str_sys_set_error+e)
@ -1232,6 +1241,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
position_origin.init_position(self.robotClient.origin_position)
command.feed_config.feedLine.positions.insert(0,position_origin)
self.feeding.feedConfig = command.feed_config
self.robotClient.send_emergency_sound()
time.sleep(5000)
self.robotClient.send_emergency_stop()
self.feeding.feedStatus = FeedStatus.FStart
# self.feeding.feed_Mid_Status = FeedMidStatus.FMid_Start
command.status = Status.Runing
@ -1245,6 +1257,21 @@ class MainWindow(QMainWindow, Ui_MainWindow):
# pass #主线程
def run_detect_persion(self):
while self.thread_signal:
has_person = False
# has_person, _ = self.detection_person.get_person() # TODO
if has_person: # TODO
# self.feeding.pause = True
# self.send_pause_command(True)
#
# self.show_messagebox_of_person()
# msg_box_person.setText("检测到安全区域后人是否继续生产?")
# result = msg_box_person.exec()
# if result == QMessageBox.StandardButton.Cancel:
# return
log.log_message(logging.ERROR, '人员进入安全区')
pass
def updateUI(self):
while self.thread_signal:
@ -1276,6 +1303,12 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.updateUI_label_status()
self.updateUI_frame_sign(self.feeding.feedStatus)
self.updateUI_IOPanel()
self.updateUI_InfoMB()
def updateUI_InfoMB(self):
if self.cton_take_no_photo.Q(self.feeding.take_no_photo):
self.show_infomessage_box("未识别到料袋报警,请重新放料后,点击继续")
self.send_pause_command(pause=1)
self.feeding.pause = True
def updateUI_IOPanel(self):
try:
@ -1771,6 +1804,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
msg_box.setText(message)
msg_box.setIcon(QMessageBox.Icon.Information)
msg_box.setStandardButtons(QMessageBox.StandardButton.Ok)
msg_box.show()
def send_click_change_stackView(self,index):
self.stackedWidget_view.setCurrentIndex(index)
if index == 0: