251108问题修复
This commit is contained in:
112
main.py
112
main.py
@ -61,8 +61,11 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.drop_position_manager = DropPositionManager()
|
||||
self.sensor_thread = None
|
||||
self.sensor2_thread = None
|
||||
self.emergency_thread = None
|
||||
self.last_status_printed = None
|
||||
self.last_pause_printed = None
|
||||
#判断是否按下急停按钮
|
||||
self.is_emergency_pressed = False
|
||||
self.cur_pushbutton_num = None
|
||||
self.pushbutton_num_style = """
|
||||
QPushButton { background-color: #101F3F;color:#ffffff }
|
||||
@ -751,6 +754,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
# self.camera_img.update_camera_image.connect(self.updateUI_label_detection)
|
||||
self.feeding.log_signal.connect(self.log_message)
|
||||
self.feeding.stack_finish_signal.connect(self.stack_finish)
|
||||
self.relay_controller.log_signal.connect(self.log_message)
|
||||
self.relay_controller.emergency_signal.connect(self.emergency_press_notify)
|
||||
self.feeding.feed_error_signal.connect(self.feed_error_notify)
|
||||
# self.camera_img=CameraImg(self.feeding)
|
||||
# self.camera_img.update_camera_image.connect(self.updateUI_label_detection)
|
||||
|
||||
@ -941,6 +947,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
|
||||
def start_Runing(self):
|
||||
#多线程启动
|
||||
self.emergency_thread = Thread(
|
||||
target=self.relay_controller.handle_emergency_pressed,
|
||||
name="emergency",
|
||||
daemon=True
|
||||
)
|
||||
self.emergency_thread.start()
|
||||
|
||||
self.main_threading = Thread(target=self.run,name="feeding")#主循环
|
||||
self.robot_connect_threading = Thread(target=self.robotClient.run,name="robot_connect")
|
||||
# self.main_UI_threading = Thread(target=self.updateUI,name="updateUI")
|
||||
@ -1005,6 +1018,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
return
|
||||
|
||||
def send_startFeed_button_click(self):
|
||||
if self.is_emergency_pressed:
|
||||
self.show_infomessage_box("急停按钮已按下,不能启动,请先松开急停按钮")
|
||||
return
|
||||
|
||||
if self.feeding.feedStatus != FeedStatus.FNone:
|
||||
self.show_infomessage_box("正在执行")
|
||||
return
|
||||
@ -1372,7 +1389,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.feeding.feedStatus = FeedStatus.FNone
|
||||
self.feeding.reset_status = ResetStatus.RNone
|
||||
self.relay_controller.pause_start_sensor(True)
|
||||
self.feeding.pause = True #暂停,停止滚去等
|
||||
self.feeding.pause = True #暂停
|
||||
stop_command = CMDRequest()
|
||||
stop_command.cmdData.append("actionStop")
|
||||
stop_command.cmdData.append("1")
|
||||
@ -1384,12 +1401,17 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
log.log_message(logging.INFO, Constant.str_sys_emergencyStop)
|
||||
|
||||
def send_emergency_alarm_command(self):
|
||||
if self.is_emergency_pressed:
|
||||
self.show_infomessage_box("急停按钮已按下,不能停止,请先松开急停按钮")
|
||||
return
|
||||
"""停止当前工作,需要启动"""
|
||||
msg_box_person = QMessageBox()
|
||||
msg_box_person.setIcon(QMessageBox.Icon.Question)
|
||||
msg_box_person.setText("您确定要停止当前工作吗?")
|
||||
msg_box_person.setWindowTitle("提示")
|
||||
|
||||
font = msg_box_person.font()
|
||||
font.setPointSize(20)
|
||||
msg_box_person.setFont(font)
|
||||
msg_box_person.addButton("确定", PySide6.QtWidgets.QMessageBox.ButtonRole.AcceptRole)
|
||||
cancel_button = msg_box_person.addButton("取消", PySide6.QtWidgets.QMessageBox.ButtonRole.RejectRole)
|
||||
msg_box_person.exec()
|
||||
@ -1401,6 +1423,16 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
|
||||
|
||||
def send_pauseFeed_button_click(self):
|
||||
if self.is_emergency_pressed:
|
||||
self.show_infomessage_box("急停按钮已按下,不能暂停,请先松开急停按钮")
|
||||
return
|
||||
if self.feeding.feedStatus == FeedStatus.FNone:
|
||||
self.show_infomessage_box("当前没有运行中的工作,不能暂停")
|
||||
return
|
||||
self.send_pauseFeed_click()
|
||||
pass
|
||||
|
||||
def send_pauseFeed_click(self):
|
||||
if self.pushButton_pauseFeed.text() == '暂停':
|
||||
self.relay_controller.pause_start_sensor(True)
|
||||
icon9 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.SystemReboot))
|
||||
@ -1423,9 +1455,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
log.log_message(logging.INFO, Constant.str_sys_start_tool)
|
||||
self.feeding.pause = False
|
||||
|
||||
pass
|
||||
|
||||
|
||||
|
||||
def send_tabWidget_control_change(self):
|
||||
if self.robotClient.status_model.curMode != 7:
|
||||
self.send_switch_tool_command()
|
||||
@ -1635,10 +1665,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
else:
|
||||
self.set_run_status_button(False)
|
||||
|
||||
if self.feeding.feedStatus == FeedStatus.FNone:
|
||||
self.stackedWidget_num.setCurrentIndex(0)
|
||||
else:
|
||||
self.stackedWidget_num.setCurrentIndex(1)
|
||||
if self.is_emergency_pressed:
|
||||
self.stackedWidget_num.setCurrentIndex(1)
|
||||
else:
|
||||
if self.feeding.feedStatus == FeedStatus.FNone:
|
||||
self.stackedWidget_num.setCurrentIndex(0)
|
||||
else:
|
||||
self.stackedWidget_num.setCurrentIndex(1)
|
||||
|
||||
|
||||
self.label_date.setText(datetime.now().strftime("%Y-%m-%d"))
|
||||
@ -1675,18 +1708,55 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
# self.send_pause_command(True)
|
||||
# self.feeding.pause = True
|
||||
# self.relay_controller.pause_start_sensor(True)
|
||||
self.stop_all_work()
|
||||
msg_box_finish = QMessageBox()
|
||||
msg_box_finish.setIcon(QMessageBox.Icon.Warning)
|
||||
msg_box_finish.setText("码垛完成,请移走拖板")
|
||||
msg_box_finish.setWindowTitle("提示")
|
||||
msg_box_finish.addButton("确定", QMessageBox.AcceptRole)
|
||||
loc_font=QFont("Microsoft YaHei UI",20)
|
||||
msg_box_finish.setFont(font)
|
||||
msg_box_finish.setFont(loc_font)
|
||||
result=msg_box_finish.exec()
|
||||
self.label_remain_num.setText(str(self.feeding.feedConfig.remain_count))
|
||||
self.stop_all_work()
|
||||
|
||||
def feed_error_notify(self,error_code,error_msg):
|
||||
"""
|
||||
feeding 报警处理,打开声控
|
||||
"""
|
||||
|
||||
self.relay_controller.open(alarm=True)
|
||||
self.send_pauseFeed_click()
|
||||
msg_box_finish = QMessageBox()
|
||||
msg_box_finish.setIcon(QMessageBox.Icon.Warning)
|
||||
msg_box_finish.setText(error_msg)
|
||||
msg_box_finish.setWindowTitle("提示")
|
||||
msg_box_finish.addButton("确定", QMessageBox.AcceptRole)
|
||||
loc_font=QFont("Microsoft YaHei UI",20)
|
||||
msg_box_finish.setFont(loc_font)
|
||||
result=msg_box_finish.exec()
|
||||
if error_code==1:
|
||||
msg_box_finish.setText("是否打开滚筒让料带滚出?")
|
||||
msg_box_finish.addButton("取消", QMessageBox.RejectRole)
|
||||
result=msg_box_finish.exec()
|
||||
if result == QMessageBox.AcceptRole:
|
||||
self.relay_controller.open(conveyor2=True)
|
||||
|
||||
def emergency_press_notify(self,emergency_pressed):
|
||||
"""
|
||||
急停按钮按下
|
||||
"""
|
||||
if emergency_pressed:
|
||||
if not self.is_emergency_pressed:
|
||||
self.send_pauseFeed_click()
|
||||
self.is_emergency_pressed = True
|
||||
self.label_button_status.setText("急停中,禁止操作")
|
||||
else:
|
||||
if self.is_emergency_pressed:
|
||||
self.label_button_status.setText("已暂停,可操作工控机")
|
||||
|
||||
self.is_emergency_pressed = False
|
||||
|
||||
|
||||
def updateUI_IOPanel(self):
|
||||
try:
|
||||
io_bits = self.robotClient.status_model.get_IO_bits()
|
||||
@ -1921,12 +1991,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.robotClient.add_sendQuene(request_command)
|
||||
|
||||
def send_clear_alarm_command(self, pause: bool):
|
||||
self.send_clear_auto_command()
|
||||
pause_command = CMDRequest()
|
||||
pause_command.cmdData.append("StopButton")
|
||||
pause_command.cmdData.append("1")
|
||||
request_command = pause_command.toString()
|
||||
self.robotClient.add_sendQuene(request_command)
|
||||
self.relay_controller.close(alarm=True)
|
||||
# self.send_clear_auto_command()
|
||||
# pause_command = CMDRequest()
|
||||
# pause_command.cmdData.append("StopButton")
|
||||
# pause_command.cmdData.append("1")
|
||||
# request_command = pause_command.toString()
|
||||
# self.robotClient.add_sendQuene(request_command)
|
||||
|
||||
def send_switch_tool_command(self):
|
||||
switch_command = CMDRequest()
|
||||
@ -2201,6 +2272,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
msg_box.setText(message)
|
||||
msg_box.setIcon(QMessageBox.Icon.Information)
|
||||
msg_box.setStandardButtons(QMessageBox.StandardButton.Ok)
|
||||
font = msg_box.font()
|
||||
font.setPointSize(20)
|
||||
msg_box.setFont(font)
|
||||
msg_box.show()
|
||||
def send_click_change_stackView(self,index):
|
||||
self.stackedWidget_view.setCurrentIndex(index)
|
||||
@ -2303,7 +2377,9 @@ def handle_exception(exc_type, exc_value, exc_tb):
|
||||
if __name__ == "__main__":
|
||||
app = MyApplication(sys.argv)
|
||||
window = MainWindow()
|
||||
window.show()
|
||||
# window.show()
|
||||
# window.showFullScreen()
|
||||
window.showMaximized()
|
||||
sys.excepthook = handle_exception
|
||||
try :
|
||||
sys.exit(app.exec())
|
||||
|
||||
Reference in New Issue
Block a user