update 增加停止,暂停,重连,报警消除等

This commit is contained in:
FrankCV2048
2024-09-11 23:41:56 +08:00
parent f46f71b176
commit d24a79c21c
7 changed files with 305 additions and 98 deletions

141
app.py
View File

@ -83,6 +83,11 @@ class MainWindow(QMainWindow,Ui_MainWindow):
self.pushButton_j5_add.clicked.connect(self.send_addOneAsix_button_click)
self.pushButton_j6_add.clicked.connect(self.send_addOneAsix_button_click)
self.pushButton_stopFeed.clicked.connect(self.send_stopFeed_button_click)
self.pushButton_pauseFeed.clicked.connect(self.send_pauseFeed_button_click)
self.pushButton_clearAlarm.clicked.connect(self.send_clear_alarm_command)
self.pushButton_speed.setText(str(Constant.speed))
self.pushButton_speed.clicked.connect(self.send_setSpeed_label_doubelClick)
self.lineEdit_speed.returnPressed.connect(self.send_setSpeed_lineEdit_returePressed)
@ -104,7 +109,8 @@ class MainWindow(QMainWindow,Ui_MainWindow):
self.lineEdit_speed.hide()
self.pushButton_stopFeed.hide()
self.pushButton_pauseFeed.hide()
def init_Run(self):
self.robotClient = None
@ -242,6 +248,7 @@ class MainWindow(QMainWindow,Ui_MainWindow):
name = self.configReader.get(line_str, 'Name', fallback='未命名')
self.feedLine_dict[f'{Constant.feedLine_set_section}{i+1}'] = FeedLine(name ,safe_position, photo_position, feed_position)
self.init_seting_frame()
self.updateUI_Select_Line()
pass
def init_robot_info(self):
@ -292,8 +299,10 @@ class MainWindow(QMainWindow,Ui_MainWindow):
def send_startFeed_button_click(self):
num = self.horizontalSlider_feedingNum.maximum()
line_index = str(self.comboBox_lineIndex.currentIndex()+1)
self.command_quene.put(FeedCommand(FeedingConfig(num, self.feedLine_dict[f'{Constant.feedLine_set_section}{1}'])))
line_head = self.comboBox_lineIndex.currentData()
self.command_quene.put(FeedCommand(FeedingConfig(num, self.feedLine_dict[line_head])))
self.stackedWidget_num.setCurrentIndex(1)
self.set_run_status_button(True)
def send_num_button_click(self):
button = self.sender()
@ -304,6 +313,7 @@ class MainWindow(QMainWindow,Ui_MainWindow):
self.horizontalSlider_feedingNum.setValue(0)
else:
self.pushButton_num_free.hide()
self.lineEdit_num.show()
def send_subOneAsix_button_click(self):
btn_str = self.sender().objectName()
@ -377,6 +387,8 @@ class MainWindow(QMainWindow,Ui_MainWindow):
def send_stack_feedSet_button_click(self,index):
#self.logger.info("This is an info message")
self.stackedWidget_feed.setCurrentIndex(index)
if index == 0:
self.updateUI_Select_Line()
@ -410,28 +422,6 @@ class MainWindow(QMainWindow,Ui_MainWindow):
self.pushButton_speed.show()
pass
def send_position_command(self,x1,x2,x3,x4,x5,x6,move_type:MoveType=MoveType.WORLD):
position_instruction = Instruction()
position_instruction.m0 = float(x1)
position_instruction.m1 = float(x2)
position_instruction.m2 = float(x3)
position_instruction.m3 = float(x4)
position_instruction.m4 = float(x5)
position_instruction.m5 = float(x6)
position_instruction.action = move_type.value
instruction_command = CMDInstructRequest()
instruction_command.instructions.append(position_instruction)
request_command = instruction_command.toString()
print(request_command)
log_str = f'移动到位置:{"自由路径" if move_type==MoveType.AXIS else "姿势直线"}' \
f'm0:{position_instruction.m0}-' \
f'm2:{position_instruction.m1}-' \
f'm3:{position_instruction.m2}-' \
f'm4:{position_instruction.m3}-' \
f'm5:{position_instruction.m4}-' \
f'm6:{position_instruction.m5}'
self.logger_textEdit.info(log_str)
self.robotClient.add_sendQuene(request_command)
def send_get_safe_position_button_click(self):
real_position = self.robotClient.status_model.getRealPosition()
@ -490,6 +480,24 @@ class MainWindow(QMainWindow,Ui_MainWindow):
writeFeedLine_to_ini(self.feedLine_dict, Constant.feedLine_set_file)
pass
def send_stopFeed_button_click(self):
pass
# 清空状态
self.feeding.feedStatus = FeedStatus.FNone
# 清空运行命令
self.send_clear_auto_command()
#
def send_pauseFeed_button_click(self):
if self.pushButton_pauseFeed.text()=='暂停':
self.pushButton_pauseFeed.setText('继续')
self.send_pause_command(True)
else:
self.pushButton_pauseFeed.setText('暂停')
self.send_pause_command(False)
pass
def send_tabelFeedSet_itemChanged(self, item):
row = item.row()
column = item.column()
@ -565,7 +573,9 @@ class MainWindow(QMainWindow,Ui_MainWindow):
self.set_label_status_style(False)
if self.feeding.feedStatus != FeedStatus.FNone:
self.horizontalSlider_feedingNum.setValue(self.horizontalSlider_feedingNum.maximum()-self.feeding.feedConfig.num)
if self.horizontalSlider_feedingNum.value() == 0:
else:
self.set_run_status_button(False)
if self.feeding.feedStatus == FeedStatus.FNone:
self.stackedWidget_num.setCurrentIndex(0)
else:
self.stackedWidget_num.setCurrentIndex(1)
@ -574,6 +584,11 @@ class MainWindow(QMainWindow,Ui_MainWindow):
self.label_time.setText(datetime.now().strftime("%H:%M:%S"))
self.updateUI_Position()
def updateUI_Select_Line(self):
self.comboBox_lineIndex.clear()
for key,value in self.feedLine_dict.items():
self.comboBox_lineIndex.addItem(value.name,key)
def updateUI_Position(self):
self.horizontalSlider_J1.setValue(self.status_address.axis_0)
self.horizontalSlider_J2.setValue(self.status_address.axis_1)
@ -619,6 +634,82 @@ class MainWindow(QMainWindow,Ui_MainWindow):
qproperty-alignment: 'AlignCenter'; /* 设置文本居中 */
}
""")
def set_run_status_button(self, isRuning:bool):
self.pushButton_pauseFeed.setText("暂停")
if isRuning:
self.pushButton_pauseFeed.show()
self.pushButton_stopFeed.show()
self.pushButton_startFeed.hide()
else:
self.pushButton_pauseFeed.hide()
self.pushButton_stopFeed.hide()
self.pushButton_startFeed.show()
def send_clear_auto_command(self):
clear_command = CMDInstructRequest()
request_command = clear_command.toString()
print(request_command)
log_str = f'清除自动指令'
self.command_quene.put(request_command)
def send_position_command(self,x1,x2,x3,x4,x5,x6,move_type:MoveType=MoveType.WORLD):
position_instruction = Instruction()
position_instruction.m0 = float(x1)
position_instruction.m1 = float(x2)
position_instruction.m2 = float(x3)
position_instruction.m3 = float(x4)
position_instruction.m4 = float(x5)
position_instruction.m5 = float(x6)
position_instruction.action = move_type.value
instruction_command = CMDInstructRequest()
instruction_command.instructions.append(position_instruction)
request_command = instruction_command.toString()
log_str = f'移动到位置:{"自由路径" if move_type==MoveType.AXIS else "姿势直线"}' \
f'm0:{position_instruction.m0}-' \
f'm2:{position_instruction.m1}-' \
f'm3:{position_instruction.m2}-' \
f'm4:{position_instruction.m3}-' \
f'm5:{position_instruction.m4}-' \
f'm6:{position_instruction.m5}'
self.logger_textEdit.info(log_str)
self.robotClient.add_sendQuene(request_command)
def send_pause_command(self,pause:bool):
pause_command = CMDRequest()
pause_command.cmdData.append("actionPause")
if pause:
pause_command.cmdData.append("1")
else:
pause_command.cmdData.append("0")
request_command = pause_command.toString()
print(request_command)
log_str = f'暂停:{pause}'
self.robotClient.add_sendQuene(request_command)
def send_clear_alarm_command(self,pause:bool):
pause_command = CMDRequest()
pause_command.cmdData.append("clearAlarmContinue")
pause_command.cmdData.append("1")
request_command = pause_command.toString()
print(request_command)
log_str = f'暂停:{pause}'
self.robotClient.add_sendQuene(request_command)
def send_switch_tool_command(self):
switch_command = CMDRequest()
switch_command.cmdData.append("switchTool")
switch_command.cmdData.append("2")
request_command = switch_command.toString()
print(request_command)
log_str = f'切换工具'
self.robotClient.add_sendQuene(request_command)
def send_start_tool_command(self):
switch_command = CMDRequest()
switch_command.cmdData.append("startButton")
switch_command.cmdData.append("1")
request_command = switch_command.toString()
print(request_command)
log_str = f'切换工具'
self.robotClient.add_sendQuene(request_command)