Merge remote-tracking branch 'remotes/origin/bugfix/ui_sensor_reset' into feature/weight_show
This commit is contained in:
360
main.py
360
main.py
@ -59,7 +59,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.setupUi(self)
|
||||
#传感器继电器加入变量
|
||||
self.relay_controller = RelayController()
|
||||
self.drop_position_manager = DropPositionManager()
|
||||
self.drop_position_manager = DropPositionManager(Constant.dropLine_set_file)
|
||||
self.sensor_thread = None
|
||||
self.sensor2_thread = None
|
||||
self.last_status_printed = None
|
||||
@ -242,7 +242,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
line_model.save_line_model(config_reader)
|
||||
config_reader.write(open(Constant.feedLine_set_file, 'w', encoding='utf-8'))
|
||||
elif section.startswith(Constant.dropLine_set_section):
|
||||
self.drop_position_manager.save_path_points(line_model)
|
||||
loc_dropline_file=Constant.dropLine_set_file
|
||||
if section.endswith('-35'):
|
||||
loc_dropline_file=Constant.dropLine_set_file_35
|
||||
DropPositionManager(loc_dropline_file).save_path_points(line_model)
|
||||
self.init_FeedLine()
|
||||
break
|
||||
self.init_table_lines_data()
|
||||
@ -335,7 +338,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
def show_lines_pos_data(self,line_index):
|
||||
if self.selected_line_section!='' and self.selected_line_section != self.tableWidget_lines.item(line_index,0).text():
|
||||
if self.table_position_changed or self.table_line_changed:
|
||||
msgBox = QMessageBox()
|
||||
msgBox = QMessageBox(self)
|
||||
msgBox.setText("已修改的数据,是否保存?")
|
||||
msgBox.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
|
||||
result = msgBox.exec()
|
||||
@ -408,7 +411,10 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.tableWidget_line_positions.removeRow(self.tableWidget_line_positions.currentRow())
|
||||
|
||||
if self.selected_line_section.startswith(Constant.dropLine_set_section):
|
||||
self.drop_position_manager.del_drop_point(section)
|
||||
loc_dropline_file=Constant.dropLine_set_file
|
||||
if self.selected_line_section.endswith('-35'):
|
||||
loc_dropline_file=Constant.dropLine_set_file_35
|
||||
DropPositionManager(loc_dropline_file).del_drop_point(section)
|
||||
else:
|
||||
config_writer = configparser.ConfigParser()
|
||||
config_writer.read(Constant.feedLine_set_file, encoding = 'utf-8')
|
||||
@ -448,7 +454,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.set_positionModel_to_tabel(row_i+1,position_model)
|
||||
self.table_line_changed = True
|
||||
|
||||
|
||||
def tabel_move_position(self,row_i):
|
||||
if self.tableWidget_line_positions.currentRow()==-1:
|
||||
QMessageBox.information(self, "提示", Constant.str_sys_set_position_error)
|
||||
@ -566,11 +571,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
pass
|
||||
|
||||
def init_log(self):
|
||||
"""初始化日志显示到界面上"""
|
||||
log.log_info_signal.connect(self.log_info_message)
|
||||
log.log_error_signal.connect(self.log_error_message)
|
||||
log.log_warning_signal.connect(self.log_warning_message)
|
||||
log.init_log(self.textEdit_log_info, self.textEdit_log_error, Constant.log_file_path)
|
||||
log.log_message(logging.INFO, Constant.str_sys_start)
|
||||
|
||||
def log_info_message(self,message):
|
||||
now = datetime.now()
|
||||
formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")
|
||||
@ -752,6 +759,7 @@ 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.camera_img=CameraImg(self.feeding)
|
||||
# self.camera_img.update_camera_image.connect(self.updateUI_label_detection)
|
||||
|
||||
@ -778,112 +786,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
else:
|
||||
return Error_Code.SYS_NETERROR
|
||||
|
||||
def init_seting_frame(self):
|
||||
|
||||
rows = len(self.feedLine_dict.keys()) + 1
|
||||
self.tableWidget_feedSeting.setRowCount(rows)
|
||||
self.tableWidget_feedSeting.setColumnCount(20+2*6)
|
||||
# 设置第一重表头的合并 (三列一组)
|
||||
self.tableWidget_feedSeting_addtional_col_num = 2
|
||||
|
||||
self.tableWidget_feedSeting.setSpan(0, 0 + self.tableWidget_feedSeting_addtional_col_num, 1, 6) # 合并前3列
|
||||
self.tableWidget_feedSeting.setSpan(0, 6 + self.tableWidget_feedSeting_addtional_col_num, 1, 6) # 合并后3列
|
||||
self.tableWidget_feedSeting.setSpan(0, 12 + self.tableWidget_feedSeting_addtional_col_num, 1, 6) # 合并后3列
|
||||
self.tableWidget_feedSeting.setSpan(0, 18 + self.tableWidget_feedSeting_addtional_col_num, 1, 6) # 合并后3列
|
||||
self.tableWidget_feedSeting.setSpan(0, 24 + self.tableWidget_feedSeting_addtional_col_num, 1, 6) # 合并后3列
|
||||
|
||||
|
||||
self.tableWidget_feedSeting.itemChanged.connect(self.send_tabelFeedSet_itemChanged)
|
||||
|
||||
btn_safe = QPushButton("获取安全位置")
|
||||
widget_safe = QWidget()
|
||||
layout_safe = QHBoxLayout()
|
||||
layout_safe.addWidget(btn_safe)
|
||||
# 调整布局的间距,使之更紧凑
|
||||
layout_safe.setContentsMargins(0, 0, 0, 0)
|
||||
# 将布局设置到 QWidget 容器中
|
||||
widget_safe.setLayout(layout_safe)
|
||||
|
||||
|
||||
btn_bk1 = QPushButton("获取破袋位置1")
|
||||
widget_bk1 = QWidget()
|
||||
layout_bk1 = QHBoxLayout()
|
||||
layout_bk1.addWidget(btn_bk1)
|
||||
# 调整布局的间距,使之更紧凑
|
||||
layout_bk1.setContentsMargins(0, 0, 0, 0)
|
||||
# 将布局设置到 QWidget 容器中
|
||||
widget_bk1.setLayout(layout_bk1)
|
||||
|
||||
btn_bk2 = QPushButton("获取破袋位置2")
|
||||
widget_bk2 = QWidget()
|
||||
layout_bk2 = QHBoxLayout()
|
||||
layout_bk2.addWidget(btn_bk2)
|
||||
# 调整布局的间距,使之更紧凑
|
||||
layout_bk2.setContentsMargins(0, 0, 0, 0)
|
||||
# 将布局设置到 QWidget 容器中
|
||||
widget_bk2.setLayout(layout_bk2)
|
||||
|
||||
btn_shake = QPushButton("获取摇晃位置")
|
||||
widget_shake = QWidget()
|
||||
layout_shake = QHBoxLayout()
|
||||
layout_shake.addWidget(btn_shake)
|
||||
layout_shake.setContentsMargins(0, 0, 0, 0)
|
||||
widget_shake.setLayout(layout_shake)
|
||||
|
||||
|
||||
btn_dropbag = QPushButton("获取丢袋位置")
|
||||
widget_dropbag = QWidget()
|
||||
layout_dropbag = QHBoxLayout()
|
||||
layout_dropbag.addWidget(btn_dropbag)
|
||||
# 调整布局的间距,使之更紧凑
|
||||
layout_dropbag.setContentsMargins(0, 0, 0, 0)
|
||||
# 将布局设置到 QWidget 容器中
|
||||
widget_dropbag.setLayout(layout_dropbag)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
btn_safe.clicked.connect(self.send_get_safe_position_button_click)
|
||||
btn_bk1.clicked.connect(self.send_get_broken1_position_button_click)
|
||||
btn_bk2.clicked.connect(self.send_get_broken2_position_button_click)
|
||||
btn_shake.clicked.connect(self.send_get_shake_position_button_click)
|
||||
btn_dropbag.clicked.connect(self.send_get_dropbag_position_button_click)
|
||||
|
||||
# 添加第一重表头项
|
||||
|
||||
self.tableWidget_feedSeting.setCellWidget(0, 0 + self.tableWidget_feedSeting_addtional_col_num, widget_safe)
|
||||
self.tableWidget_feedSeting.setCellWidget(0, 6 + self.tableWidget_feedSeting_addtional_col_num, widget_bk1)
|
||||
self.tableWidget_feedSeting.setCellWidget(0, 12 + self.tableWidget_feedSeting_addtional_col_num, widget_bk2)
|
||||
self.tableWidget_feedSeting.setCellWidget(0, 18 + self.tableWidget_feedSeting_addtional_col_num, widget_shake)
|
||||
self.tableWidget_feedSeting.setCellWidget(0, 24 + self.tableWidget_feedSeting_addtional_col_num, widget_dropbag)
|
||||
|
||||
|
||||
self.tableWidget_feedSeting.setSelectionBehavior(QTableWidget.SelectRows)
|
||||
self.tableWidget_feedSeting.setAutoScroll(True)
|
||||
# 添加第二重表头
|
||||
self.tableWidget_feedSeting.setHorizontalHeaderLabels(
|
||||
['header', '线名', 'X1', 'Y1', 'Z1', 'U1', 'V1', 'W1', 'X2', 'Y2', 'Z2', 'U2', 'V2', 'W2', 'X3', 'Y3', 'Z3',
|
||||
'U3', 'V3', 'W3', 'X4', 'Y4', 'Z4', 'U4', 'V4', 'W4', 'X5', 'Y5', 'Z5', 'U5', 'V5', 'W5'])
|
||||
|
||||
self.tableWidget_feedSeting.hideColumn(0)
|
||||
# 填充数据行
|
||||
for row, (feed_line_key, feed_line) in enumerate(self.feedLine_dict.items()):
|
||||
self.tableWidget_feedSeting.setItem(row + 1, 0, QTableWidgetItem(feed_line_key))
|
||||
self.tableWidget_feedSeting.setItem(row + 1, 1, QTableWidgetItem(feed_line.name))
|
||||
self.set_position_to_tabel(row + 1, 0, feed_line.safe_position)
|
||||
self.set_position_to_tabel(row + 1, 1, feed_line.broken1_position)
|
||||
self.set_position_to_tabel(row + 1, 2, feed_line.broken2_position)
|
||||
self.set_position_to_tabel(row + 1, 3, feed_line.broken2_position)
|
||||
self.set_position_to_tabel(row + 1, 4, feed_line.drop_bag_position)
|
||||
|
||||
|
||||
# 禁用自动表头
|
||||
self.tableWidget_feedSeting.verticalHeader().setVisible(True)
|
||||
self.pushButton_tableFeedSet_addRow.clicked.connect(self.send_tabelFeedSet_addRow)
|
||||
self.pushButton_tableFeedSet_deleRow.clicked.connect(self.send_tabelFeedSet_delRow)
|
||||
self.pushButton_tableFeedSet_save.clicked.connect(self.send_tabelFeedSet_save)
|
||||
|
||||
def init_FeedLine(self):
|
||||
# line_count = self.configReader.get('Robot_Feed', 'LineCount', fallback=0)
|
||||
configReader = configparser.ConfigParser()
|
||||
@ -895,10 +797,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
feed_line.read_line_model(config_reader=configReader,index=i)
|
||||
self.feedLine_dict[f'{Constant.feedLine_set_section}{i}'] = feed_line
|
||||
#加载所有码垛的路径信息
|
||||
for i in range(1,Constant.MAX_Line_num):
|
||||
line_model = self.drop_position_manager.load_path_points(i)
|
||||
if line_model:
|
||||
self.feedLine_dict[f'{Constant.dropLine_set_section}{i}'] = line_model
|
||||
# for i in range(1,Constant.MAX_Line_num):
|
||||
line_model = DropPositionManager(Constant.dropLine_set_file).load_path_points(1)
|
||||
if line_model:
|
||||
self.feedLine_dict[f'{Constant.dropLine_set_section}-50'] = line_model
|
||||
line_model = DropPositionManager(Constant.dropLine_set_file_35).load_path_points(1)
|
||||
if line_model:
|
||||
self.feedLine_dict[f'{Constant.dropLine_set_section}-35'] = line_model
|
||||
|
||||
# self.updateUI_Select_Line()
|
||||
# 9/29 初始化线名选择框 和 重量选择框
|
||||
@ -977,15 +882,13 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
|
||||
pass
|
||||
|
||||
|
||||
|
||||
def check_continue(self):
|
||||
if self.remain_Count!=0:
|
||||
for key in self.feedLine_dict.keys():
|
||||
feed_line = self.feedLine_dict[key]
|
||||
if f'FeedLine{self.remain_lineName}' == key:
|
||||
#提示
|
||||
remain_messageBox = QMessageBox()
|
||||
remain_messageBox = QMessageBox(self)
|
||||
remain_messageBox.setIcon(QMessageBox.Icon.Warning)
|
||||
remain_messageBox.setText(f'还有{self.remain_Count}袋未投料,是否继续?') # 这里返回多少袋没有投料
|
||||
# remain_messageBox.setStandardButtons(QMessageBox.StandardButton.Ok | QMessageBox.StandardButton.Cancel)
|
||||
@ -1019,7 +922,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.send_start_tool_command()
|
||||
log.log_message(logging.INFO, Constant.str_sys_start_tool)
|
||||
|
||||
msg_box_person = QMessageBox()
|
||||
msg_box_person = QMessageBox(self)
|
||||
msg_box_person.setIcon(QMessageBox.Icon.Information)
|
||||
msg_box_person.setText("是否确认生产区域安全继续生产?")
|
||||
msg_box_person.setWindowTitle("提示")
|
||||
@ -1058,8 +961,24 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
return
|
||||
|
||||
self.label_button_status.setText("运行中...")
|
||||
self.drop_position_manager=DropPositionManager(Constant.dropLine_set_file_35)
|
||||
self.relay_controller.set_drop_35(True)
|
||||
#注意码垛数和码垛总数
|
||||
# num=25 #先默认30包码垛
|
||||
self.command_quene.put(FeedCommand(FeedingConfig(num, FeedLine(self.feedLine_dict[line_head].id,self.feedLine_dict[line_head].name,self.feedLine_dict[line_head].positions,self.remain_Count), self.feeding.robotClient.photo_locs[:],self.remain_Count)))
|
||||
self.command_quene.put(
|
||||
FeedCommand(
|
||||
FeedingConfig(num,
|
||||
FeedLine(
|
||||
self.feedLine_dict[line_head].id,
|
||||
self.feedLine_dict[line_head].name,
|
||||
self.feedLine_dict[line_head].positions,
|
||||
self.remain_Count,
|
||||
self.drop_position_manager
|
||||
)
|
||||
, self.feeding.robotClient.photo_locs[:],self.remain_Count
|
||||
)
|
||||
)
|
||||
)
|
||||
# self.stackedWidget_num.setCurrentIndex(1)
|
||||
self.set_run_status_button(True)
|
||||
self.feeding.pause = False
|
||||
@ -1267,98 +1186,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
#self.pushButton_speed.setText(str(Constant.speed))
|
||||
log.log_message(logging.INFO, Constant.str_sys_setSpeed + str(self.robotClient.debug_speed)+'|'+str(self.robotClient.feed_speed))
|
||||
pass
|
||||
|
||||
def send_get_safe_position_button_click(self):
|
||||
real_position = self.robotClient.status_model.getRealPosition()
|
||||
row_i = self.tableWidget_feedSeting.currentRow()
|
||||
head = self.tableWidget_feedSeting.item(row_i, 0).text()
|
||||
self.feedLine_dict[head].safe_position.init_position(real_position.X, real_position.Y, real_position.Z,
|
||||
real_position.U, real_position.V, real_position.W)
|
||||
self.set_position_to_tabel(row_i, 0, real_position)
|
||||
|
||||
|
||||
def send_get_broken1_position_button_click(self):
|
||||
real_position = self.robotClient.status_model.getRealPosition()
|
||||
row_i = self.tableWidget_feedSeting.currentRow()
|
||||
head = self.tableWidget_feedSeting.item(row_i, 0).text()
|
||||
self.feedLine_dict[head].broken1_position.init_position(real_position.X, real_position.Y, real_position.Z,
|
||||
real_position.U, real_position.V, real_position.W)
|
||||
self.set_position_to_tabel(row_i, 1, real_position)
|
||||
|
||||
def send_get_broken2_position_button_click(self):
|
||||
real_position = self.robotClient.status_model.getRealPosition()
|
||||
row_i = self.tableWidget_feedSeting.currentRow()
|
||||
head = self.tableWidget_feedSeting.item(row_i, 0).text()
|
||||
self.feedLine_dict[head].broken2_position.init_position(real_position.X, real_position.Y, real_position.Z,
|
||||
real_position.U, real_position.V, real_position.W)
|
||||
self.set_position_to_tabel(row_i, 2, real_position)
|
||||
|
||||
def send_get_shake_position_button_click(self):
|
||||
real_position = self.robotClient.status_model.getRealPosition()
|
||||
row_i = self.tableWidget_feedSeting.currentRow()
|
||||
head = self.tableWidget_feedSeting.item(row_i, 0).text()
|
||||
self.feedLine_dict[head].shake_position.init_position(real_position.X, real_position.Y, real_position.Z,
|
||||
real_position.U, real_position.V, real_position.W)
|
||||
self.set_position_to_tabel(row_i, 3, real_position)
|
||||
|
||||
def send_get_dropbag_position_button_click(self):
|
||||
real_position = self.robotClient.status_model.getRealPosition()
|
||||
row_i = self.tableWidget_feedSeting.currentRow()
|
||||
head = self.tableWidget_feedSeting.item(row_i, 0).text()
|
||||
self.feedLine_dict[head].drop_bag_position.init_position(real_position.X, real_position.Y, real_position.Z,
|
||||
real_position.U, real_position.V, real_position.W)
|
||||
self.set_position_to_tabel(row_i, 4, real_position)
|
||||
|
||||
def send_get_zipbag_position_button_click(self):
|
||||
real_position = self.robotClient.status_model.getRealPosition()
|
||||
row_i = self.tableWidget_feedSeting.currentRow()
|
||||
head = self.tableWidget_feedSeting.item(row_i, 0).text()
|
||||
self.feedLine_dict[head].zip_bag_position.init_position(real_position.X, real_position.Y, real_position.Z,
|
||||
real_position.U, real_position.V, real_position.W)
|
||||
self.set_position_to_tabel(row_i, 6, real_position)
|
||||
|
||||
def send_tabelFeedSet_addRow(self):
|
||||
for i in range(1, 20):
|
||||
head = f'{Constant.feedLine_set_section}{i}'
|
||||
if head not in self.feedLine_dict:
|
||||
row_position = self.tableWidget_feedSeting.rowCount() # 当前行数
|
||||
self.tableWidget_feedSeting.insertRow(row_position)
|
||||
safe_position = Real_Position()
|
||||
break_1_position = Real_Position()
|
||||
break_2_position = Real_Position()
|
||||
shake_position = Real_Position()
|
||||
drop_bag_position = Real_Position()
|
||||
|
||||
self.feedLine_dict[head] = FeedLine('新建', safe_position, break_1_position, break_2_position,shake_position,drop_bag_position)
|
||||
self.tableWidget_feedSeting.setItem(self.tableWidget_feedSeting.rowCount() - 1, 0,
|
||||
QTableWidgetItem(head))
|
||||
self.tableWidget_feedSeting.setItem(self.tableWidget_feedSeting.rowCount() - 1, 1,
|
||||
QTableWidgetItem('新建'))
|
||||
self.set_position_to_tabel(self.tableWidget_feedSeting.rowCount() - 1, 0, safe_position)
|
||||
self.set_position_to_tabel(self.tableWidget_feedSeting.rowCount() - 1, 1, break_1_position)
|
||||
self.set_position_to_tabel(self.tableWidget_feedSeting.rowCount() - 1, 2, break_2_position)
|
||||
self.set_position_to_tabel(self.tableWidget_feedSeting.rowCount() - 1, 3, shake_position)
|
||||
self.set_position_to_tabel(self.tableWidget_feedSeting.rowCount() - 1, 4, drop_bag_position)
|
||||
break
|
||||
|
||||
def send_tabelFeedSet_delRow(self):
|
||||
selectRow = self.tableWidget_feedSeting.currentRow()
|
||||
if selectRow >= 0:
|
||||
for feed_line_key, feed_line in self.feedLine_dict.items():
|
||||
if feed_line_key == self.tableWidget_feedSeting.item(selectRow, 0).text():
|
||||
self.feedLine_dict.pop(feed_line_key)
|
||||
self.tableWidget_feedSeting.removeRow(selectRow)
|
||||
break
|
||||
else:
|
||||
QMessageBox.information(self, "提示", "请选择要删除的行")
|
||||
|
||||
def send_tabelFeedSet_save(self):
|
||||
count = len(self.feedLine_dict.keys())
|
||||
self.configReader.read(Constant.set_ini)
|
||||
self.configReader.set('Robot_Feed', 'LineCount', str(count))
|
||||
writeFeedLine_to_ini(self.feedLine_dict, Constant.feedLine_set_file)
|
||||
pass
|
||||
|
||||
def send_stopFeed_button_click(self):
|
||||
# 清空状态
|
||||
self.feeding.feedStatus = FeedStatus.FNone
|
||||
@ -1387,7 +1215,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
|
||||
def send_emergency_alarm_command(self):
|
||||
"""停止当前工作,需要启动"""
|
||||
msg_box_person = QMessageBox()
|
||||
msg_box_person = QMessageBox(self)
|
||||
msg_box_person.setIcon(QMessageBox.Icon.Question)
|
||||
msg_box_person.setText("您确定要停止当前工作吗?")
|
||||
msg_box_person.setWindowTitle("提示")
|
||||
@ -1468,9 +1296,15 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
position_origin.status = 1
|
||||
return_positions.insert(0,position_origin)
|
||||
if self.feedLine_dict.keys().__contains__(line_head):
|
||||
self.feeding.feedConfig= FeedingConfig(0, FeedLine(self.feedLine_dict[line_head].id, self.feedLine_dict[line_head].name,
|
||||
return_positions,self.remain_Count),
|
||||
self.feeding.robotClient.photo_locs[:],self.remain_Count)
|
||||
self.feeding.feedConfig= FeedingConfig(
|
||||
0,
|
||||
FeedLine(
|
||||
self.feedLine_dict[line_head].id,
|
||||
self.feedLine_dict[line_head].name,
|
||||
return_positions,
|
||||
self.remain_Count
|
||||
)
|
||||
,self.feeding.robotClient.photo_locs[:],self.remain_Count,None)
|
||||
else:
|
||||
log.log_message(logging.ERROR, Constant.str_feed_reset_no_line_error)
|
||||
return
|
||||
@ -1488,78 +1322,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.send_clear_auto_command()
|
||||
self.send_emergency_alarm_command()
|
||||
|
||||
def send_tabelFeedSet_itemChanged(self, item):
|
||||
row = item.row()
|
||||
column = item.column()
|
||||
value = item.text()
|
||||
head = self.tableWidget_feedSeting.item(row, 0).text()
|
||||
if column == 1:
|
||||
self.feedLine_dict[head].name = value
|
||||
elif column == (0 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].safe_position.X = float(value)
|
||||
elif column == (1 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].safe_position.Y = float(value)
|
||||
elif column == (2 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].safe_position.Z = float(value)
|
||||
elif column == (3 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].safe_position.U = float(value)
|
||||
elif column == (4 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].safe_position.V = float(value)
|
||||
elif column == (5 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].safe_position.W = float(value)
|
||||
# elif column == 7:
|
||||
elif column == (6 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].broken1_position.X = float(value)
|
||||
elif column == (7 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].broken1_position.Y = float(value)
|
||||
elif column == (8 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].broken1_position.Z = float(value)
|
||||
elif column == (9 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].broken1_position.U = float(value)
|
||||
elif column == (10 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].broken1_position.V = float(value)
|
||||
elif column == (11 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].broken1_position.W = float(value)
|
||||
|
||||
elif column == (12 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].broken2_position.X = float(value)
|
||||
elif column == (13 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].broken2_position.Y = float(value)
|
||||
elif column == (14 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].broken2_position.Z = float(value)
|
||||
elif column == (15 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].broken2_position.U = float(value)
|
||||
elif column == (16 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].broken2_position.V = float(value)
|
||||
elif column == (17 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].broken2_position.W = float(value)
|
||||
|
||||
elif column == (18 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].shake_position.X = float(value)
|
||||
elif column == (19 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].shake_position.Y = float(value)
|
||||
elif column == (20 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].shake_position.Z = float(value)
|
||||
elif column == (21 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].shake_position.U = float(value)
|
||||
elif column == (22 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].shake_position.V = float(value)
|
||||
elif column == (23 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].shake_position.W = float(value)
|
||||
|
||||
elif column == (24 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].drop_bag_position.X = float(value)
|
||||
elif column == (25 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].drop_bag_position.Y = float(value)
|
||||
elif column == (26 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].drop_bag_position.Z = float(value)
|
||||
elif column == (27 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].drop_bag_position.U = float(value)
|
||||
elif column == (28 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].drop_bag_position.V = float(value)
|
||||
elif column == (29 + self.tableWidget_feedSeting_addtional_col_num):
|
||||
self.feedLine_dict[head].drop_bag_position.W = float(value)
|
||||
|
||||
def run(self):
|
||||
# 主线程的逻辑就是 feeding.run() 接口和错误状态处理
|
||||
while self.thread_signal:
|
||||
@ -1581,7 +1343,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.feeding.feedConfig = command.feed_config
|
||||
# 开启传感器线程检测相关
|
||||
self.relay_controller.pause_start_sensor(False)
|
||||
self.feeding.feedStatus = FeedStatus.FStart # ✅ 投料开始,会触发传感器线程启动
|
||||
self.feeding.feedStatus = FeedStatus.FStart
|
||||
command.status = Status.Runing
|
||||
self.record_remain_num()
|
||||
|
||||
@ -1677,7 +1439,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
# self.send_pause_command(True)
|
||||
# self.feeding.pause = True
|
||||
# self.relay_controller.pause_start_sensor(True)
|
||||
msg_box_finish = QMessageBox()
|
||||
msg_box_finish = QMessageBox(self)
|
||||
msg_box_finish.setIcon(QMessageBox.Icon.Warning)
|
||||
msg_box_finish.setText("码垛完成,请移走拖板")
|
||||
msg_box_finish.setWindowTitle("提示")
|
||||
@ -1839,8 +1601,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.label_status_toolIndex.setText(str(self.robotClient.status_model.toolCoord))
|
||||
self.label_status_speed.setText(str(self.robotClient.status_model.curSpeed_n))
|
||||
|
||||
|
||||
|
||||
def updateUI_Position(self):
|
||||
self.horizontalSlider_J1.setValue(self.status_address.axis_0)
|
||||
self.horizontalSlider_J2.setValue(self.status_address.axis_1)
|
||||
@ -1862,19 +1622,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.horizontalSlider_J5.setValue(self.status_address.axis_4)
|
||||
self.horizontalSlider_J6.setValue(self.status_address.axis_5)
|
||||
|
||||
def set_position_to_tabel(self, row_i, position_j, real_Position: Real_Position):
|
||||
self.tableWidget_feedSeting.setItem(row_i, position_j * 6 + self.tableWidget_feedSeting_addtional_col_num,
|
||||
QTableWidgetItem(str(real_Position.X)))
|
||||
self.tableWidget_feedSeting.setItem(row_i, position_j * 6 + 1 + self.tableWidget_feedSeting_addtional_col_num,
|
||||
QTableWidgetItem(str(real_Position.Y)))
|
||||
self.tableWidget_feedSeting.setItem(row_i, position_j * 6 + 2 + self.tableWidget_feedSeting_addtional_col_num,
|
||||
QTableWidgetItem(str(real_Position.Z)))
|
||||
self.tableWidget_feedSeting.setItem(row_i, position_j * 6 + 3 + self.tableWidget_feedSeting_addtional_col_num,
|
||||
QTableWidgetItem(str(real_Position.U)))
|
||||
self.tableWidget_feedSeting.setItem(row_i, position_j * 6 + 4 + self.tableWidget_feedSeting_addtional_col_num,
|
||||
QTableWidgetItem(str(real_Position.V)))
|
||||
self.tableWidget_feedSeting.setItem(row_i, position_j * 6 + 5 + self.tableWidget_feedSeting_addtional_col_num,
|
||||
QTableWidgetItem(str(real_Position.W)))
|
||||
def updateUI_frame_sign(self,sign:FeedStatus):
|
||||
# print("start")
|
||||
if sign == FeedStatus.FNone:
|
||||
@ -1941,8 +1688,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
|
||||
|
||||
def set_run_status_button(self, isRuning: bool):
|
||||
self.pushButton_pauseFeed.setText("暂停")
|
||||
##self.pushButton_startFeed.setEnabled(False)
|
||||
@ -2207,6 +1952,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
log.log_message(logging.INFO, f'设置拍照点5:{x5},{y5},{z5}')
|
||||
except:
|
||||
self.show_infomessage_box("设置拍照点5失败")
|
||||
|
||||
def set_origin_button_click(self):
|
||||
try:
|
||||
x = float(self.lineEdit_origin_x.text())
|
||||
@ -2231,8 +1977,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
log.log_message(logging.ERROR, f'设置原点失败')
|
||||
self.show_infomessage_box("设置原点失败")
|
||||
|
||||
|
||||
|
||||
def updateUI_Photo_Set(self):
|
||||
self.lineEdit_x1.setText(str(self.robotClient.photo_locs[0][0]))
|
||||
self.lineEdit_y1.setText(str(self.robotClient.photo_locs[0][1]))
|
||||
|
||||
Reference in New Issue
Block a user