update 更新IO面板

This commit is contained in:
FrankCV2048
2024-10-30 23:19:05 +08:00
parent 24e7bea71a
commit da0863308c
9 changed files with 1307 additions and 9 deletions

89
main.py
View File

@ -44,13 +44,81 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.init_Run()
self.init_robot_info()
self.init_FeedLine()
self.init_IOPanel()
self.start_Runing()
# self.init_log()
def init_IOPanel(self):
self.dirt_io_points = {}
self.dirt_io_points.setdefault('y1', self.widget_y1)
self.dirt_io_points.setdefault('y2', self.widget_y2)
self.dirt_io_points.setdefault('y3', self.widget_y3)
self.dirt_io_points.setdefault('y4', self.widget_y4)
self.dirt_io_points.setdefault('y5', self.widget_y5)
self.dirt_io_points.setdefault('y6', self.widget_y6)
self.dirt_io_points.setdefault('y7', self.widget_y7)
self.dirt_io_points.setdefault('y8', self.widget_y8)
self.dirt_io_points.setdefault('y9', self.widget_y9)
self.dirt_io_points.setdefault('y10', self.widget_y10)
self.dirt_io_points.setdefault('y11', self.widget_y11)
self.dirt_io_points.setdefault('y12', self.widget_y12)
self.dirt_io_points.setdefault('y13', self.widget_y13)
self.dirt_io_points.setdefault('y14', self.widget_y14)
self.dirt_io_points.setdefault('y15', self.widget_y15)
self.dirt_io_points.setdefault('y16', self.widget_y16)
self.dirt_io_points.setdefault('y17', self.widget_y17)
self.dirt_io_points.setdefault('y18', self.widget_y18)
self.dirt_io_points.setdefault('y19', self.widget_y19)
self.dirt_io_points.setdefault('y20', self.widget_y20)
self.dirt_io_points.setdefault('y21', self.widget_y21)
self.dirt_io_points.setdefault('y22', self.widget_y22)
self.dirt_io_points.setdefault('y23', self.widget_y23)
self.dirt_io_points.setdefault('y24', self.widget_y24)
self.dirt_io_points.setdefault('y25', self.widget_y25)
self.dirt_io_points.setdefault('y26', self.widget_y26)
self.dirt_io_points.setdefault('y27', self.widget_y27)
self.dirt_io_points.setdefault('y28', self.widget_y28)
self.dirt_io_points.setdefault('y29', self.widget_y29)
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))
def init_qss(self):
self.active_status_Qss = """
@ -908,7 +976,20 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.updateUI_label_detection()
self.updateUI_label_status()
self.updateUI_frame_sign(self.feeding.feedStatus)
self.updateUI_IOPanel()
def updateUI_IOPanel(self):
try:
io_bits = self.robotClient.status_model.get_IO_bits()
for index, bit in enumerate(io_bits):
toggle = self.dirt_io_points[f'y{index+1}']
if toggle.is_on == bit:
continue
else:
toggle.toggle()
except:
log.log_message(logging.ERROR, Constant.str_sys_log_IO_error)
pass
def updateUI_label_detection(self):
backgroud_img = Util.util_pic.cv2_to_qpixmap(self.feeding.detection_image)
backgroud_img = backgroud_img.scaled(self.label_showDetection.size().width(),self.label_showDetection.size().height(), Qt.AspectRatioMode.IgnoreAspectRatio,Qt.TransformationMode.SmoothTransformation)
@ -1340,6 +1421,12 @@ 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)
else:
self.feeding.sendIOControl(index, 0)
if __name__ == "__main__":
app = QApplication(sys.argv)