更新iO面板控制逻辑和其他bug
This commit is contained in:
196
main.py
196
main.py
@ -13,6 +13,8 @@ from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel, QH
|
||||
QTableWidgetItem, QWidget, QHBoxLayout, QAbstractItemView, QMessageBox, QSizePolicy
|
||||
from datetime import datetime
|
||||
|
||||
from click import clear
|
||||
|
||||
import Util.util_pic
|
||||
from Util.util_ini import writeFeedLine_to_ini
|
||||
import Constant
|
||||
@ -38,7 +40,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
def __init__(self):
|
||||
super(MainWindow, self).__init__()
|
||||
self.setupUi(self)
|
||||
self.setWindowFlags(Qt.WindowType.FramelessWindowHint)
|
||||
#self.setWindowFlags(Qt.WindowType.FramelessWindowHint)
|
||||
self.init_qss()
|
||||
self.init_UI()
|
||||
self.init_Run()
|
||||
@ -46,7 +48,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.init_FeedLine()
|
||||
self.init_IOPanel()
|
||||
self.start_Runing()
|
||||
# self.init_log()
|
||||
self.init_log()
|
||||
|
||||
|
||||
|
||||
@ -85,38 +87,73 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.dirt_io_points.setdefault('y30', self.widget_y30)
|
||||
self.dirt_io_points.setdefault('y31', self.widget_y31)
|
||||
self.dirt_io_points.setdefault('y32', self.widget_y32)
|
||||
self.widget_y1.animation.finished.connect(lambda _, index=0: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y2.animation.finished.connect(lambda _, index=1: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y3.animation.finished.connect(lambda _, index=2: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y4.animation.finished.connect(lambda _, index=3: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y5.animation.finished.connect(lambda _, index=4: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y6.animation.finished.connect(lambda _, index=5: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y7.animation.finished.connect(lambda _, index=6: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y8.animation.finished.connect(lambda _, index=7: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y9.animation.finished.connect(lambda _, index=8: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y10.animation.finished.connect(lambda _, index=9: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y11.animation.finished.connect(lambda _, index=10: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y12.animation.finished.connect(lambda _, index=11: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y13.animation.finished.connect(lambda _, index=12: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y14.animation.finished.connect(lambda _, index=13: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y15.animation.finished.connect(lambda _, index=14: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y16.animation.finished.connect(lambda _, index=15: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y17.animation.finished.connect(lambda _, index=16: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y18.animation.finished.connect(lambda _, index=17: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y19.animation.finished.connect(lambda _, index=18: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y20.animation.finished.connect(lambda _, index=19: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y21.animation.finished.connect(lambda _, index=21: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y22.animation.finished.connect(lambda _, index=22: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y23.animation.finished.connect(lambda _, index=23: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y24.animation.finished.connect(lambda _, index=24: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y25.animation.finished.connect(lambda _, index=25: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y26.animation.finished.connect(lambda _, index=26: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y27.animation.finished.connect(lambda _, index=27: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y28.animation.finished.connect(lambda _, index=28: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y29.animation.finished.connect(lambda _, index=29: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y30.animation.finished.connect(lambda _, index=30: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y31.animation.finished.connect(lambda _, index=31: self.send_IO_Point_OpenOrClose(index))
|
||||
self.widget_y32.animation.finished.connect(lambda _, index=32: self.send_IO_Point_OpenOrClose(index))
|
||||
|
||||
self.widget_y1.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y1.index=1
|
||||
self.widget_y2.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y2.index=2
|
||||
self.widget_y3.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y3.index=3
|
||||
self.widget_y4.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y4.index=4
|
||||
self.widget_y5.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y5.index=5
|
||||
self.widget_y6.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y6.index=6
|
||||
self.widget_y7.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y7.index=7
|
||||
self.widget_y8.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y8.index=8
|
||||
self.widget_y9.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y9.index=9
|
||||
self.widget_y10.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y10.index=10
|
||||
self.widget_y11.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y11.index=11
|
||||
self.widget_y12.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y12.index=12
|
||||
self.widget_y13.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y13.index=13
|
||||
self.widget_y14.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y14.index=14
|
||||
self.widget_y15.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y15.index=15
|
||||
self.widget_y16.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y16.index=16
|
||||
self.widget_y17.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y17.index=17
|
||||
self.widget_y18.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y18.index=18
|
||||
self.widget_y19.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y19.index=19
|
||||
self.widget_y20.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y20.index=20
|
||||
self.widget_y21.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y21.index=21
|
||||
self.widget_y22.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y22.index=22
|
||||
self.widget_y23.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y23.index=23
|
||||
self.widget_y24.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y24.index=24
|
||||
self.widget_y25.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y25.index=25
|
||||
self.widget_y26.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y26.index=26
|
||||
self.widget_y27.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y27.index=27
|
||||
self.widget_y28.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y28.index=28
|
||||
self.widget_y29.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y29.index=29
|
||||
self.widget_y30.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y30.index=30
|
||||
self.widget_y31.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y31.index=31
|
||||
self.widget_y32.clicked.connect(self.send_IO_Point_OpenOrClose)
|
||||
self.widget_y32.index=32
|
||||
|
||||
|
||||
|
||||
|
||||
def init_qss(self):
|
||||
@ -175,6 +212,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
|
||||
def init_log(self):
|
||||
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 init_UI(self):
|
||||
@ -192,6 +230,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.lineEdit_j4.returnPressed.connect(self.send_position_returnPressed)
|
||||
self.lineEdit_j5.returnPressed.connect(self.send_position_returnPressed)
|
||||
self.lineEdit_j6.returnPressed.connect(self.send_position_returnPressed)
|
||||
self.pushButton_sendMove.clicked.connect(self.send_position_returnPressed)
|
||||
|
||||
self.pushButton_j1_sub.clicked.connect(self.send_subOneAsix_button_click)
|
||||
self.pushButton_j2_sub.clicked.connect(self.send_subOneAsix_button_click)
|
||||
@ -225,7 +264,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.pushButton_clearAlarm.clicked.connect(self.send_clear_alarm_command)
|
||||
self.pushButton_emergency.clicked.connect(self.send_emergency_alarm_command)
|
||||
self.pushButton_reset.clicked.connect(self.send_reset_button_click)
|
||||
self.pushButton_speed.setText(str(Constant.speed))
|
||||
|
||||
|
||||
self.pushButton_saveSeting.clicked.connect(self.send_setSpeed_clicked)
|
||||
|
||||
@ -605,12 +644,12 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
def send_subOneAsix_button_click(self):
|
||||
btn_str = self.sender().objectName()
|
||||
Constant.manual_adjust_accuracy = float(self.lineEdit_manual_adjust_accuracy.text())
|
||||
x1 = self.horizontalSlider_J1.value()
|
||||
x2 = self.horizontalSlider_J2.value()
|
||||
x3 = self.horizontalSlider_J3.value()
|
||||
x4 = self.horizontalSlider_J4.value()
|
||||
x5 = self.horizontalSlider_J5.value()
|
||||
x6 = self.horizontalSlider_J6.value()
|
||||
x1 = float(self.label_j1.text())
|
||||
x2 = float(self.label_j2.text())
|
||||
x3 = float(self.label_j3.text())
|
||||
x4 = float(self.label_j4.text())
|
||||
x5 = float(self.label_j5.text())
|
||||
x6 = float(self.label_j6.text())
|
||||
if 'j1' in btn_str:
|
||||
x1 = x1 - Constant.manual_adjust_accuracy
|
||||
elif 'j2' in btn_str:
|
||||
@ -632,12 +671,12 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
def send_addOneAsix_button_click(self, btn):
|
||||
btn_str = self.sender().objectName()
|
||||
Constant.manual_adjust_accuracy = float(self.lineEdit_manual_adjust_accuracy.text())
|
||||
x1 = self.horizontalSlider_J1.value()
|
||||
x2 = self.horizontalSlider_J2.value()
|
||||
x3 = self.horizontalSlider_J3.value()
|
||||
x4 = self.horizontalSlider_J4.value()
|
||||
x5 = self.horizontalSlider_J5.value()
|
||||
x6 = self.horizontalSlider_J6.value()
|
||||
x1 = float(self.label_j1.text())
|
||||
x2 = float(self.label_j2.text())
|
||||
x3 = float(self.label_j3.text())
|
||||
x4 = float(self.label_j4.text())
|
||||
x5 = float(self.label_j5.text())
|
||||
x6 = float(self.label_j6.text())
|
||||
if 'j1' in btn_str:
|
||||
x1 = x1 + Constant.manual_adjust_accuracy
|
||||
elif 'j2' in btn_str:
|
||||
@ -695,12 +734,15 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
|
||||
def send_position_returnPressed(self):
|
||||
log.log_message(logging.INFO, Constant.str_sys_manualPosition)
|
||||
self.send_position_command(float(self.lineEdit_j1.text()),
|
||||
float(self.lineEdit_j2.text()),
|
||||
float(self.lineEdit_j3.text()),
|
||||
float(self.lineEdit_j4.text()),
|
||||
float(self.lineEdit_j5.text()),
|
||||
float(self.lineEdit_j6.text()))
|
||||
try:
|
||||
self.send_position_command(float(self.lineEdit_j1.text()),
|
||||
float(self.lineEdit_j2.text()),
|
||||
float(self.lineEdit_j3.text()),
|
||||
float(self.lineEdit_j4.text()),
|
||||
float(self.lineEdit_j5.text()),
|
||||
float(self.lineEdit_j6.text()))
|
||||
except Exception as e:
|
||||
self.show_infomessage_box(Constant.str_sys_log_move_error)
|
||||
|
||||
def send_setSpeed_label_doubelClick(self):
|
||||
pass
|
||||
@ -715,15 +757,17 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.robotClient.con_ios[0] = solenoid1_addr
|
||||
self.robotClient.con_ios[1] = solenoid2_addr
|
||||
self.robotClient.con_ios[2] = solenoid3_addr
|
||||
self.configReader = configparser.ConfigParser()
|
||||
self.configReader.read(Constant.set_ini)
|
||||
self.configReader.set('robot', 'solenoid_valve1_addr', str(solenoid1_addr))
|
||||
self.configReader.set('robot', 'solenoid_valve2_addr', str(solenoid2_addr))
|
||||
self.configReader.set('robot', 'solenoid_valve3_addr', str(solenoid3_addr))
|
||||
self.configReader.set('Robot_Feed', 'solenoid_valve1_addr', str(solenoid1_addr))
|
||||
self.configReader.set('Robot_Feed', 'solenoid_valve2_addr', str(solenoid2_addr))
|
||||
self.configReader.set('Robot_Feed', 'solenoid_valve3_addr', str(solenoid3_addr))
|
||||
|
||||
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)
|
||||
pass
|
||||
self.pushButton_speed.setText(str(Constant.speed))
|
||||
#self.pushButton_speed.setText(str(Constant.speed))
|
||||
log.log_message(logging.INFO, Constant.str_sys_setSpeed + str(Constant.speed)+'|'+str(Constant.debug_speed))
|
||||
pass
|
||||
|
||||
@ -987,8 +1031,8 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
if toggle.is_on == bit:
|
||||
continue
|
||||
else:
|
||||
toggle.toggle()
|
||||
except:
|
||||
toggle.change_status()
|
||||
except Exception as e:
|
||||
log.log_message(logging.ERROR, Constant.str_sys_log_IO_error)
|
||||
pass
|
||||
def updateUI_label_detection(self):
|
||||
@ -1016,6 +1060,12 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
except:
|
||||
self.label_status_model.setText('未知模式')
|
||||
self.label_status_remoteCmdLen.setText(str(self.robotClient.status_model.RemoteCmdLen))
|
||||
if self.robotClient.status_model.curAlarm != 0:
|
||||
log.log_message(logging.ERROR, Constant.str_sys_log_alarm_error+str(self.robotClient.status_model.curAlarm))
|
||||
self.label_status_alarmcode.setText(str(self.robotClient.status_model.curAlarm))
|
||||
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):
|
||||
@ -1032,6 +1082,12 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.label_j4.setText(str(self.status_address.axis_3))
|
||||
self.label_j5.setText(str(self.status_address.axis_4))
|
||||
self.label_j6.setText(str(self.status_address.axis_5))
|
||||
self.horizontalSlider_J1.setValue(self.status_address.axis_0)
|
||||
self.horizontalSlider_J2.setValue(self.status_address.axis_1)
|
||||
self.horizontalSlider_J3.setValue(self.status_address.axis_2)
|
||||
self.horizontalSlider_J4.setValue(self.status_address.axis_3)
|
||||
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,
|
||||
@ -1292,7 +1348,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.configReader.set('Robot_Feed', 'photo_u1', str(u1))
|
||||
self.configReader.set('Robot_Feed', 'photo_v1', str(v1))
|
||||
self.configReader.set('Robot_Feed', 'photo_w1', str(w1))
|
||||
|
||||
self.configReader.write(open(Constant.set_ini,'w',encoding='utf-8'))
|
||||
log.log_message(logging.INFO, f'设置拍照点1:{x1},{y1},{z1}')
|
||||
except:
|
||||
self.show_infomessage_box("设置拍照点1失败")
|
||||
@ -1313,6 +1369,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.configReader.set('Robot_Feed', 'photo_u2', str(u2))
|
||||
self.configReader.set('Robot_Feed', 'photo_v2', str(v2))
|
||||
self.configReader.set('Robot_Feed', 'photo_w2', str(w2))
|
||||
self.configReader.write(open(Constant.set_ini, 'w', encoding='utf-8'))
|
||||
log.log_message(logging.INFO, f'设置拍照点2:{x2},{y2},{z2}')
|
||||
except:
|
||||
self.show_infomessage_box("设置拍照点2失败")
|
||||
@ -1334,6 +1391,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.configReader.set('Robot_Feed', 'photo_u3', str(u3))
|
||||
self.configReader.set('Robot_Feed', 'photo_v3', str(v3))
|
||||
self.configReader.set('Robot_Feed', 'photo_w3', str(w3))
|
||||
self.configReader.write(open(Constant.set_ini, 'w', encoding='utf-8'))
|
||||
log.log_message(logging.INFO, f'设置拍照点3:{x3},{y3},{z3}')
|
||||
except:
|
||||
self.show_infomessage_box("设置拍照点3失败")
|
||||
@ -1354,6 +1412,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.configReader.set('Robot_Feed', 'photo_u4', str(u4))
|
||||
self.configReader.set('Robot_Feed', 'photo_v4', str(v4))
|
||||
self.configReader.set('Robot_Feed', 'photo_w4', str(w4))
|
||||
self.configReader.write(open(Constant.set_ini, 'w', encoding='utf-8'))
|
||||
log.log_message(logging.INFO, f'设置拍照点4:{x4},{y4},{z4}')
|
||||
except:
|
||||
self.show_infomessage_box("设置拍照点4失败")
|
||||
@ -1374,6 +1433,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.configReader.set('Robot_Feed', 'photo_u5', str(u5))
|
||||
self.configReader.set('Robot_Feed', 'photo_v5', str(v5))
|
||||
self.configReader.set('Robot_Feed', 'photo_w5', str(w5))
|
||||
self.configReader.write(open(Constant.set_ini, 'w', encoding='utf-8'))
|
||||
log.log_message(logging.INFO, f'设置拍照点5:{x5},{y5},{z5}')
|
||||
except:
|
||||
self.show_infomessage_box("设置拍照点5失败")
|
||||
@ -1412,6 +1472,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
self.updateUI_Base_Set()
|
||||
|
||||
def send_exit_button_click(self):
|
||||
self.closeEvent(None)
|
||||
QApplication.quit()
|
||||
sys.exit(app.exec())
|
||||
|
||||
@ -1422,12 +1483,17 @@ class MainWindow(QMainWindow, Ui_MainWindow):
|
||||
else:
|
||||
self.frame_2.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Fixed)
|
||||
|
||||
def send_IO_Point_OpenOrClose(self,index):
|
||||
toggel = self.sender()
|
||||
if toggel.is_on:
|
||||
self.feeding.sendIOControl(index, 1)
|
||||
def send_IO_Point_OpenOrClose(self,index,togger):
|
||||
if togger:
|
||||
self.feeding.sendIOControl(index-1, 1)
|
||||
log.log_message(logging.INFO, f'打开IO{index}')
|
||||
else:
|
||||
self.feeding.sendIOControl(index, 0)
|
||||
self.feeding.sendIOControl(index-1, 0)
|
||||
log.log_message(logging.INFO, f'关闭IO{index}')
|
||||
|
||||
def closeEvent(self, event):
|
||||
self.detection.release()
|
||||
log.log_message(logging.INFO, Constant.str_sys_exit)
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = QApplication(sys.argv)
|
||||
|
||||
Reference in New Issue
Block a user