update 更新部分UI,增加速度设置
This commit is contained in:
176
app.py
176
app.py
@ -3,10 +3,12 @@ import json
|
||||
import queue
|
||||
import sys
|
||||
from multiprocessing import Process
|
||||
from PySide6.QtCore import QThread, Signal, Slot
|
||||
from PySide6.QtCore import QThread, Signal, Slot, QObject, QEvent
|
||||
from PySide6.QtGui import QIntValidator, QStandardItemModel, QStandardItem, Qt
|
||||
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton
|
||||
from PySide6.QtWidgets import QApplication, QMainWindow, QPushButton, QLabel
|
||||
from datetime import datetime
|
||||
|
||||
import Constant
|
||||
from CU.Command import FeedCommand
|
||||
from CU.Feeding import FeedLine, FeedingConfig, Feeding, FeedStatus
|
||||
from Vision.camera_coordinate_dete import Detection
|
||||
@ -21,6 +23,9 @@ from Model.Position import Real_Position, Detection_Position
|
||||
from threading import Thread
|
||||
from CU.Command import Status
|
||||
|
||||
|
||||
|
||||
|
||||
class MainWindow(QMainWindow,Ui_MainWindow):
|
||||
def __init__(self):
|
||||
super(MainWindow, self).__init__()
|
||||
@ -33,12 +38,6 @@ class MainWindow(QMainWindow,Ui_MainWindow):
|
||||
|
||||
|
||||
def init_UI(self):
|
||||
self.horizontalSlider_J1.sliderReleased.connect(self.slider_valueChanged)
|
||||
self.horizontalSlider_J2.sliderReleased.connect(self.slider_valueChanged)
|
||||
self.horizontalSlider_J3.sliderReleased.connect(self.slider_valueChanged)
|
||||
self.horizontalSlider_J4.sliderReleased.connect(self.slider_valueChanged)
|
||||
self.horizontalSlider_J5.sliderReleased.connect(self.slider_valueChanged)
|
||||
self.horizontalSlider_J6.sliderReleased.connect(self.slider_valueChanged)
|
||||
self.pushButton_num1.clicked.connect(self.send_num_button_click)
|
||||
self.pushButton_num2.clicked.connect(self.send_num_button_click)
|
||||
self.pushButton_num3.clicked.connect(self.send_num_button_click)
|
||||
@ -55,6 +54,26 @@ class MainWindow(QMainWindow,Ui_MainWindow):
|
||||
self.lineEdit_j5.returnPressed.connect(self.send_position_returnPressed)
|
||||
self.lineEdit_j6.returnPressed.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)
|
||||
self.pushButton_j3_sub.clicked.connect(self.send_subOneAsix_button_click)
|
||||
self.pushButton_j4_sub.clicked.connect(self.send_subOneAsix_button_click)
|
||||
self.pushButton_j5_sub.clicked.connect(self.send_subOneAsix_button_click)
|
||||
self.pushButton_j6_sub.clicked.connect(self.send_subOneAsix_button_click)
|
||||
|
||||
self.pushButton_j1_add.clicked.connect(self.send_addOneAsix_button_click)
|
||||
self.pushButton_j2_add.clicked.connect(self.send_addOneAsix_button_click)
|
||||
self.pushButton_j3_add.clicked.connect(self.send_addOneAsix_button_click)
|
||||
self.pushButton_j4_add.clicked.connect(self.send_addOneAsix_button_click)
|
||||
self.pushButton_j5_add.clicked.connect(self.send_addOneAsix_button_click)
|
||||
self.pushButton_j6_add.clicked.connect(self.send_addOneAsix_button_click)
|
||||
|
||||
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)
|
||||
|
||||
|
||||
|
||||
self.lineEdit_num.returnPressed.connect(self.send_custom_num_returnPressed)
|
||||
int_validator = QIntValidator(0, 100, self.lineEdit_num)
|
||||
self.lineEdit_num.setValidator(int_validator)
|
||||
@ -63,6 +82,7 @@ class MainWindow(QMainWindow,Ui_MainWindow):
|
||||
self.pushButton_startFeed.clicked.connect(self.send_startFeed_button_click)
|
||||
self.pushButton_stack_feedSet.clicked.connect(self.send_stack_feedSet_button_click)
|
||||
|
||||
self.horizontalSlider_feedingNum.blockSignals(True)
|
||||
self.horizontalSlider_feedingNum.setMinimum(0)
|
||||
|
||||
model = QStandardItemModel(4, 6, self) # 4行6列
|
||||
@ -98,11 +118,13 @@ class MainWindow(QMainWindow,Ui_MainWindow):
|
||||
|
||||
# 设置模型到表视图
|
||||
self.tableView_feedSeting.setModel(model)
|
||||
self.lineEdit_speed.hide()
|
||||
|
||||
|
||||
def init_Run(self):
|
||||
self.robotClient = None
|
||||
self.configReader = configparser.ConfigParser()
|
||||
self.detection = Detection()
|
||||
self.detection = Detection()
|
||||
self.command_position_quene = Queue()
|
||||
self.status_address = DataAddress()
|
||||
self.feedLine_dict = {}
|
||||
@ -112,6 +134,7 @@ class MainWindow(QMainWindow,Ui_MainWindow):
|
||||
self.configReader.read('Seting.ini')
|
||||
ip = self.configReader.get('Robot_Feed', 'IPAddress')
|
||||
port = int(self.configReader.get('Robot_Feed', 'Port'))
|
||||
|
||||
self.robotClient = RobotClient(ip, port, self.command_position_quene, self.status_address)
|
||||
self.feeding = Feeding(self.robotClient,self.detection) # 临时
|
||||
self.last_time=time.time()
|
||||
@ -224,6 +247,60 @@ class MainWindow(QMainWindow,Ui_MainWindow):
|
||||
else:
|
||||
self.pushButton_num_free.hide()
|
||||
|
||||
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()
|
||||
if 'j1' in btn_str:
|
||||
x1 = x1 - Constant.manual_adjust_accuracy
|
||||
elif 'j2' in btn_str:
|
||||
x2 = x2 - Constant.manual_adjust_accuracy
|
||||
pass
|
||||
elif 'j3' in btn_str:
|
||||
x3 = x3 - Constant.manual_adjust_accuracy
|
||||
pass
|
||||
elif 'j4' in btn_str:
|
||||
x4 = x4 - Constant.manual_adjust_accuracy
|
||||
pass
|
||||
elif 'j5' in btn_str:
|
||||
x5 = x5 - Constant.manual_adjust_accuracy
|
||||
pass
|
||||
elif 'j6' in btn_str:
|
||||
x6 = x6 - Constant.manual_adjust_accuracy
|
||||
self.send_position_command(x1,x2,x3,x4,x5,x6,MoveType.AXIS)
|
||||
|
||||
|
||||
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()
|
||||
if 'j1' in btn_str:
|
||||
x1 = x1 + Constant.manual_adjust_accuracy
|
||||
elif 'j2' in btn_str:
|
||||
x2 = x2 + Constant.manual_adjust_accuracy
|
||||
pass
|
||||
elif 'j3' in btn_str:
|
||||
x3 = x3 + Constant.manual_adjust_accuracy
|
||||
pass
|
||||
elif 'j4' in btn_str:
|
||||
x4 = x4 + Constant.manual_adjust_accuracy
|
||||
pass
|
||||
elif 'j5' in btn_str:
|
||||
x5 = x5 + Constant.manual_adjust_accuracy
|
||||
pass
|
||||
elif 'j6' in btn_str:
|
||||
x6 = x6 + Constant.manual_adjust_accuracy
|
||||
self.send_position_command(x1, x2, x3, x4, x5, x6, move_type=MoveType.AXIS)
|
||||
|
||||
|
||||
def send_addNum_button_click(self):
|
||||
@ -242,34 +319,7 @@ class MainWindow(QMainWindow,Ui_MainWindow):
|
||||
def send_stack_feedSet_button_click(self):
|
||||
self.stackedWidget_feed.setCurrentIndex(1)
|
||||
|
||||
def slider_valueChanged(self):
|
||||
|
||||
now_time = time.time()
|
||||
if(now_time-self.last_time) < 2:
|
||||
return
|
||||
self.last_time = now_time
|
||||
position_instruction = Instruction()
|
||||
position_instruction.m0 = self.horizontalSlider_J1.value()
|
||||
position_instruction.m1 = self.horizontalSlider_J2.value()
|
||||
position_instruction.m2 = self.horizontalSlider_J3.value()
|
||||
position_instruction.m3 = self.horizontalSlider_J4.value()
|
||||
position_instruction.m4 = self.horizontalSlider_J5.value()
|
||||
position_instruction.m5 = self.horizontalSlider_J6.value()
|
||||
|
||||
|
||||
|
||||
self.lineEdit_j1.setText(str(self.horizontalSlider_J1.value()))
|
||||
self.lineEdit_j2.setText(str(self.horizontalSlider_J2.value()))
|
||||
self.lineEdit_j3.setText(str(self.horizontalSlider_J3.value()))
|
||||
self.lineEdit_j4.setText(str(self.horizontalSlider_J4.value()))
|
||||
self.lineEdit_j5.setText(str(self.horizontalSlider_J5.value()))
|
||||
self.lineEdit_j6.setText(str(self.horizontalSlider_J6.value()))
|
||||
|
||||
instruction_command = CMDInstructRequest()
|
||||
instruction_command.instructions.append(position_instruction)
|
||||
request_command = instruction_command.toString()
|
||||
print(request_command)
|
||||
self.robotClient.add_sendQuene(request_command)
|
||||
|
||||
def on_button_click(self):
|
||||
self.button.setText("Clicked!")
|
||||
@ -282,21 +332,34 @@ class MainWindow(QMainWindow,Ui_MainWindow):
|
||||
# self.robotClient.add_sendQuene(request_command)
|
||||
return
|
||||
def send_position_returnPressed(self):
|
||||
|
||||
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()))
|
||||
|
||||
def send_setSpeed_label_doubelClick(self):
|
||||
self.pushButton_speed.hide()
|
||||
self.lineEdit_speed.show()
|
||||
pass
|
||||
def send_setSpeed_lineEdit_returePressed(self):
|
||||
Constant.speed = float(self.lineEdit_speed.text())
|
||||
self.lineEdit_speed.hide()
|
||||
self.pushButton_speed.setText(str(Constant.speed))
|
||||
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 = int(self.lineEdit_j1.text())
|
||||
position_instruction.m1 = int(self.lineEdit_j2.text())
|
||||
position_instruction.m2 = int(self.lineEdit_j3.text())
|
||||
position_instruction.m3 = int(self.lineEdit_j4.text())
|
||||
position_instruction.m4 = int(self.lineEdit_j5.text())
|
||||
position_instruction.m5 = int(self.lineEdit_j6.text())
|
||||
|
||||
self.horizontalSlider_J1.setValue(int(self.lineEdit_j1.text()))
|
||||
self.horizontalSlider_J2.setValue(int(self.lineEdit_j2.text()))
|
||||
self.horizontalSlider_J3.setValue(int(self.lineEdit_j3.text()))
|
||||
self.horizontalSlider_J4.setValue(int(self.lineEdit_j4.text()))
|
||||
self.horizontalSlider_J5.setValue(int(self.lineEdit_j5.text()))
|
||||
self.horizontalSlider_J6.setValue(int(self.lineEdit_j6.text()))
|
||||
|
||||
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
|
||||
instruction_command = CMDInstructRequest()
|
||||
instruction_command.instructions.append(position_instruction)
|
||||
request_command = instruction_command.toString()
|
||||
@ -304,11 +367,6 @@ class MainWindow(QMainWindow,Ui_MainWindow):
|
||||
self.robotClient.add_sendQuene(request_command)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def run(self):
|
||||
while True:
|
||||
time.sleep(0.2)
|
||||
@ -352,6 +410,12 @@ class MainWindow(QMainWindow,Ui_MainWindow):
|
||||
self.horizontalSlider_J5.setValue(self.status_address.axis_4)
|
||||
self.horizontalSlider_J6.setValue(self.status_address.axis_5)
|
||||
|
||||
self.label_j1.setText(str(self.status_address.axis_0))
|
||||
self.label_j2.setText(str(self.status_address.axis_1))
|
||||
self.label_j3.setText(str(self.status_address.axis_2))
|
||||
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))
|
||||
|
||||
|
||||
|
||||
@ -378,8 +442,6 @@ class MainWindow(QMainWindow,Ui_MainWindow):
|
||||
}
|
||||
""")
|
||||
|
||||
def send_position_command(self, position):
|
||||
self.robotClient.add_sendQuene(position)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user