update 添加三个点位控制和显示

This commit is contained in:
FrankCV2048
2024-10-30 22:25:18 +08:00
parent e5ce0dc31d
commit 24e7bea71a
6 changed files with 392 additions and 113 deletions

View File

@ -56,6 +56,7 @@ str_sys_feedNum_sub = '减少投料次数'
str_sys_feedNum_add = '增加投料次数'
str_sys_log_feedNum ='记录袋数失败'
str_sys_emergencyStop = '按下急停'
str_sys_set_error = '保存设置失败'
str_tcp_robot_connect_fail = '连接失败'
str_tcp_robot_connect_success = '连接成功'
str_tcp_robot_data_error = '数据解析错误'

View File

@ -592,6 +592,38 @@ border-image: url(:/main/Image/backgroud_leftMenu_btn_child.jpg);
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_leftmenu_IO">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">
QPushButton {
background-color: rgb(16, 31, 63);
color: rgb(255, 255, 255);
}
QPushButton:hover {
border-image: url(:/main/Image/backgroud_leftMenu_btn_child.jpg);
}
*:pressed
{
border-image: url(:/main/Image/backgroud_leftMenu_btn_child.jpg);
}
</string>
</property>
<property name="text">
<string>IO面板</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_leftmenu_position">
<property name="sizePolicy">
@ -875,7 +907,7 @@ background-color: rgb(13, 17, 40);</string>
</sizepolicy>
</property>
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="page_3">
<layout class="QVBoxLayout" name="verticalLayout_7" stretch="1">
@ -1633,6 +1665,35 @@ font: 700 9pt &quot;Microsoft YaHei UI&quot;;</string>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_7">
<layout class="QHBoxLayout" name="horizontalLayout_19">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QFrame" name="frame_11">
<property name="frameShape">
<enum>QFrame::Shape::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_4">
<layout class="QVBoxLayout" name="verticalLayout_15" stretch="1,1">
<property name="spacing">
@ -3073,92 +3134,200 @@ background-color: #197971;
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
</property>
<widget class="QFrame" name="frame_11">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>424</width>
<height>41</height>
</rect>
<layout class="QGridLayout" name="gridLayout_6" rowstretch="1,1,1,2">
<property name="leftMargin">
<number>0</number>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<property name="topMargin">
<number>0</number>
</property>
<property name="frameShape">
<enum>QFrame::Shape::StyledPanel</enum>
<property name="rightMargin">
<number>0</number>
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
<property name="bottomMargin">
<number>300</number>
</property>
<layout class="QGridLayout" name="gridLayout_6">
<item row="0" column="0">
<widget class="QLabel" name="label_28">
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
<property name="text">
<string>全局速度:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit_speed_run">
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_29">
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
<property name="text">
<string>调试速度:</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QLineEdit" name="lineEdit_speed_debug">
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QPushButton" name="pushButton_saveSeting">
<property name="geometry">
<rect>
<x>420</x>
<y>10</y>
<width>75</width>
<height>23</height>
</rect>
<property name="horizontalSpacing">
<number>0</number>
</property>
<property name="styleSheet">
<string notr="true">*{
<property name="verticalSpacing">
<number>50</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label_28">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
<property name="text">
<string>全局速度:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit_speed_run">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_29">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
<property name="text">
<string>调试速度:</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QLineEdit" name="lineEdit_speed_debug">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_51">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
<property name="text">
<string>电磁阀1:</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="lineEdit_solenoid1_addr">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_52">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
<property name="text">
<string>电磁阀2</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QLineEdit" name="lineEdit_solenoid2_addr">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_54">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
<property name="text">
<string>电磁阀3:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="lineEdit_solenoid3_addr">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(255, 255, 255);</string>
</property>
</widget>
</item>
<item row="3" column="0" colspan="4">
<widget class="QPushButton" name="pushButton_saveSeting">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="styleSheet">
<string notr="true">*{
background-color: #2196F3;
font: 9pt &quot;楷体&quot;;
font: 20pt &quot;楷体&quot;;
border:None;
color:#ffffff
}
*:pressed
{
background-color: #499c8a;
}
</string>
</property>
<property name="text">
<string>保存设置</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
</property>
<property name="text">
<string>保存设置</string>
</property>
<property name="flat">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>

18
main.py
View File

@ -639,6 +639,21 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def send_setSpeed_clicked(self):
Constant.speed = int(self.lineEdit_speed_run.text())
Constant.debug_speed = int(self.lineEdit_speed_debug.text())
try:
solenoid1_addr = int(self.lineEdit_solenoid1_addr.text())
solenoid2_addr = int(self.lineEdit_solenoid2_addr.text())
solenoid3_addr = int(self.lineEdit_solenoid3_addr.text())
self.robotClient.con_ios[0] = solenoid1_addr
self.robotClient.con_ios[1] = solenoid2_addr
self.robotClient.con_ios[2] = solenoid3_addr
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.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))
log.log_message(logging.INFO, Constant.str_sys_setSpeed + str(Constant.speed)+'|'+str(Constant.debug_speed))
pass
@ -1295,6 +1310,9 @@ class MainWindow(QMainWindow, Ui_MainWindow):
def updateUI_Base_Set(self):
self.lineEdit_speed_run.setText(str(Constant.speed))
self.lineEdit_speed_debug.setText(str(Constant.shake_speed))
self.lineEdit_solenoid1_addr.setText(str(self.robotClient.con_ios[0]))
self.lineEdit_solenoid2_addr.setText(str(self.robotClient.con_ios[1]))
self.lineEdit_solenoid3_addr.setText(str(self.robotClient.con_ios[2]))
def show_infomessage_box(self,message):
msg_box = QMessageBox(self)

View File

@ -1,24 +0,0 @@
class Position:
def __init__(self):
self.X = 0.0
self.Y = 0.0
self.Z = 0.0
self.U = 0.0
self.V = 0.0
self.W = 0.0
def init_data(self, X, Y, Z, U, V, W):
self.X = X
self.Y = Y
self.Z = Z
return self
detect_pos_list = []
detect_pos_list.append(Position().init_data(0.0, 0.0, 3, 0.0, 0.0, 0.0))
detect_pos_list.append(Position().init_data(0.0, 0.0, 1, 0.0, 0.0, 0.0))
detect_pos_list.append(Position().init_data(0.0, 0.0, 8, 0.0, 0.0, 0.0))
z_diff, max_z_index = (lambda pts: (
max(pts, key=lambda p: p.Z).Z - min(pts, key=lambda p: p.Z).Z,
pts.index(max(pts, key=lambda p: p.Z))
))(detect_pos_list)
print(z_diff, max_z_index)

51
toggleswitch.py Normal file
View File

@ -0,0 +1,51 @@
from PySide6.QtWidgets import QApplication, QWidget, QLabel, QPushButton
from PySide6.QtCore import QPropertyAnimation, QRect, QSize
class ToggleSwitch(QWidget):
def __init__(self, parent=None):
super().__init__(parent)
self.setFixedSize(QSize(60, 30)) # 设置开关整体大小
# 背景标签(用于颜色变化)
self.background = QLabel(self)
self.background.setFixedSize(QSize(60, 30))
self.background.setStyleSheet("background-color: #ccc; border-radius: 15px;")
self.background.move(0, 0)
# 滑动圆圈
self.circle = QLabel(self)
self.circle.setFixedSize(26, 26)
self.circle.setStyleSheet("background-color: white; border-radius: 13px;")
self.circle.move(2, 2) # 初始位置
# 开关状态
self.is_on = False
# 动画效果
self.animation = QPropertyAnimation(self.circle, b"geometry")
self.animation.setDuration(200)
# 点击事件
self.mousePressEvent = self.toggle # 绑定点击事件
def toggle(self, event):
# 切换开关状态
self.is_on = not self.is_on
# 更新背景颜色和动画位置
if self.is_on:
self.background.setStyleSheet("background-color: #4CAF50; border-radius: 15px;")
self.animation.setStartValue(QRect(2, 2, 26, 26))
self.animation.setEndValue(QRect(32, 2, 26, 26))
else:
self.background.setStyleSheet("background-color: #ccc; border-radius: 15px;")
self.animation.setStartValue(QRect(32, 2, 26, 26))
self.animation.setEndValue(QRect(2, 2, 26, 26))
# 开始动画
self.animation.start()

View File

@ -1849,46 +1849,100 @@ class Ui_MainWindow(object):
self.frame_29.setSizePolicy(sizePolicy7)
self.frame_29.setFrameShape(QFrame.Shape.StyledPanel)
self.frame_29.setFrameShadow(QFrame.Shadow.Raised)
self.frame_11 = QFrame(self.frame_29)
self.frame_11.setObjectName(u"frame_11")
self.frame_11.setGeometry(QRect(0, 0, 424, 41))
sizePolicy7.setHeightForWidth(self.frame_11.sizePolicy().hasHeightForWidth())
self.frame_11.setSizePolicy(sizePolicy7)
self.frame_11.setFrameShape(QFrame.Shape.StyledPanel)
self.frame_11.setFrameShadow(QFrame.Shadow.Raised)
self.gridLayout_6 = QGridLayout(self.frame_11)
self.gridLayout_6 = QGridLayout(self.frame_29)
self.gridLayout_6.setObjectName(u"gridLayout_6")
self.label_28 = QLabel(self.frame_11)
self.gridLayout_6.setHorizontalSpacing(0)
self.gridLayout_6.setVerticalSpacing(50)
self.gridLayout_6.setContentsMargins(0, 0, 0, 300)
self.label_28 = QLabel(self.frame_29)
self.label_28.setObjectName(u"label_28")
sizePolicy4.setHeightForWidth(self.label_28.sizePolicy().hasHeightForWidth())
self.label_28.setSizePolicy(sizePolicy4)
self.label_28.setStyleSheet(u"color: rgb(255, 255, 255);")
self.gridLayout_6.addWidget(self.label_28, 0, 0, 1, 1)
self.lineEdit_speed_run = QLineEdit(self.frame_11)
self.lineEdit_speed_run = QLineEdit(self.frame_29)
self.lineEdit_speed_run.setObjectName(u"lineEdit_speed_run")
sizePolicy1.setHeightForWidth(self.lineEdit_speed_run.sizePolicy().hasHeightForWidth())
self.lineEdit_speed_run.setSizePolicy(sizePolicy1)
self.lineEdit_speed_run.setStyleSheet(u"color: rgb(255, 255, 255);")
self.gridLayout_6.addWidget(self.lineEdit_speed_run, 0, 1, 1, 1)
self.label_29 = QLabel(self.frame_11)
self.label_29 = QLabel(self.frame_29)
self.label_29.setObjectName(u"label_29")
sizePolicy4.setHeightForWidth(self.label_29.sizePolicy().hasHeightForWidth())
self.label_29.setSizePolicy(sizePolicy4)
self.label_29.setStyleSheet(u"color: rgb(255, 255, 255);")
self.gridLayout_6.addWidget(self.label_29, 0, 2, 1, 1)
self.lineEdit_speed_debug = QLineEdit(self.frame_11)
self.lineEdit_speed_debug = QLineEdit(self.frame_29)
self.lineEdit_speed_debug.setObjectName(u"lineEdit_speed_debug")
sizePolicy1.setHeightForWidth(self.lineEdit_speed_debug.sizePolicy().hasHeightForWidth())
self.lineEdit_speed_debug.setSizePolicy(sizePolicy1)
self.lineEdit_speed_debug.setStyleSheet(u"color: rgb(255, 255, 255);")
self.gridLayout_6.addWidget(self.lineEdit_speed_debug, 0, 3, 1, 1)
self.label_51 = QLabel(self.frame_29)
self.label_51.setObjectName(u"label_51")
sizePolicy4.setHeightForWidth(self.label_51.sizePolicy().hasHeightForWidth())
self.label_51.setSizePolicy(sizePolicy4)
self.label_51.setStyleSheet(u"color: rgb(255, 255, 255);")
self.gridLayout_6.addWidget(self.label_51, 1, 0, 1, 1)
self.lineEdit_solenoid1_addr = QLineEdit(self.frame_29)
self.lineEdit_solenoid1_addr.setObjectName(u"lineEdit_solenoid1_addr")
sizePolicy1.setHeightForWidth(self.lineEdit_solenoid1_addr.sizePolicy().hasHeightForWidth())
self.lineEdit_solenoid1_addr.setSizePolicy(sizePolicy1)
self.lineEdit_solenoid1_addr.setStyleSheet(u"color: rgb(255, 255, 255);")
self.gridLayout_6.addWidget(self.lineEdit_solenoid1_addr, 1, 1, 1, 1)
self.label_52 = QLabel(self.frame_29)
self.label_52.setObjectName(u"label_52")
sizePolicy4.setHeightForWidth(self.label_52.sizePolicy().hasHeightForWidth())
self.label_52.setSizePolicy(sizePolicy4)
self.label_52.setStyleSheet(u"color: rgb(255, 255, 255);")
self.gridLayout_6.addWidget(self.label_52, 1, 2, 1, 1)
self.lineEdit_solenoid2_addr = QLineEdit(self.frame_29)
self.lineEdit_solenoid2_addr.setObjectName(u"lineEdit_solenoid2_addr")
sizePolicy1.setHeightForWidth(self.lineEdit_solenoid2_addr.sizePolicy().hasHeightForWidth())
self.lineEdit_solenoid2_addr.setSizePolicy(sizePolicy1)
self.lineEdit_solenoid2_addr.setStyleSheet(u"color: rgb(255, 255, 255);")
self.gridLayout_6.addWidget(self.lineEdit_solenoid2_addr, 1, 3, 1, 1)
self.label_54 = QLabel(self.frame_29)
self.label_54.setObjectName(u"label_54")
sizePolicy4.setHeightForWidth(self.label_54.sizePolicy().hasHeightForWidth())
self.label_54.setSizePolicy(sizePolicy4)
self.label_54.setStyleSheet(u"color: rgb(255, 255, 255);")
self.gridLayout_6.addWidget(self.label_54, 2, 0, 1, 1)
self.lineEdit_solenoid3_addr = QLineEdit(self.frame_29)
self.lineEdit_solenoid3_addr.setObjectName(u"lineEdit_solenoid3_addr")
sizePolicy1.setHeightForWidth(self.lineEdit_solenoid3_addr.sizePolicy().hasHeightForWidth())
self.lineEdit_solenoid3_addr.setSizePolicy(sizePolicy1)
self.lineEdit_solenoid3_addr.setStyleSheet(u"color: rgb(255, 255, 255);")
self.gridLayout_6.addWidget(self.lineEdit_solenoid3_addr, 2, 1, 1, 1)
self.pushButton_saveSeting = QPushButton(self.frame_29)
self.pushButton_saveSeting.setObjectName(u"pushButton_saveSeting")
self.pushButton_saveSeting.setGeometry(QRect(420, 10, 75, 23))
sizePolicy1.setHeightForWidth(self.pushButton_saveSeting.sizePolicy().hasHeightForWidth())
self.pushButton_saveSeting.setSizePolicy(sizePolicy1)
self.pushButton_saveSeting.setStyleSheet(u"*{\n"
"background-color: #2196F3;\n"
"font: 9pt \"\u6977\u4f53\";\n"
"font: 20pt \"\u6977\u4f53\";\n"
"border:None;\n"
"color:#ffffff\n"
"}\n"
"*:pressed\n"
"{\n"
@ -1897,6 +1951,13 @@ class Ui_MainWindow(object):
"")
self.pushButton_saveSeting.setFlat(False)
self.gridLayout_6.addWidget(self.pushButton_saveSeting, 3, 0, 1, 4)
self.gridLayout_6.setRowStretch(0, 1)
self.gridLayout_6.setRowStretch(1, 1)
self.gridLayout_6.setRowStretch(2, 1)
self.gridLayout_6.setRowStretch(3, 2)
self.verticalLayout_18.addWidget(self.frame_29)
self.verticalLayout_18.setStretch(0, 7)
@ -2984,7 +3045,7 @@ class Ui_MainWindow(object):
self.retranslateUi(MainWindow)
self.stackedWidget_view.setCurrentIndex(0)
self.stackedWidget_view.setCurrentIndex(2)
self.tabWidget.setCurrentIndex(1)
self.stackedWidget_num.setCurrentIndex(0)
@ -3077,6 +3138,9 @@ class Ui_MainWindow(object):
self.label_17.setText(QCoreApplication.translate("MainWindow", u"Z2:", None))
self.label_28.setText(QCoreApplication.translate("MainWindow", u"\u5168\u5c40\u901f\u5ea6\uff1a", None))
self.label_29.setText(QCoreApplication.translate("MainWindow", u"\u8c03\u8bd5\u901f\u5ea6\uff1a", None))
self.label_51.setText(QCoreApplication.translate("MainWindow", u"\u7535\u78c1\u96001:", None))
self.label_52.setText(QCoreApplication.translate("MainWindow", u"\u7535\u78c1\u96002\uff1a", None))
self.label_54.setText(QCoreApplication.translate("MainWindow", u"\u7535\u78c1\u96003:", None))
self.pushButton_saveSeting.setText(QCoreApplication.translate("MainWindow", u"\u4fdd\u5b58\u8bbe\u7f6e", None))
self.pushButton_j3_add.setText("")
self.pushButton_j5_add.setText("")