update 新增匀和生产速度生效

This commit is contained in:
FrankCV2048
2024-12-21 17:02:18 +08:00
parent f2f97f4edf
commit 43c7a3fe20
3 changed files with 32 additions and 8 deletions

View File

@ -35,6 +35,7 @@ class RobotClient(TCPClient):
self.feed_speed = 10
self.reset_speed = 10
self.max_angle_interval = 0
self.smooth = 0
def add_sendQuene(self,command): #后面 命令分等级,紧急命令直接执行
self.command_quene.put(command)
log.log_message(logging.INFO, f'{Constant.str_sys_command}{command}')

View File

@ -680,7 +680,7 @@ class Feeding(QObject):
position_instruction.m3 = real_position.U
position_instruction.m4 = real_position.V
position_instruction.m5 = real_position.W
position_instruction.smooth = 4
position_instruction.smooth = self.robotClient.smooth
position_instruction.action = move_type.value
if position_instruction.action == 17:
@ -728,15 +728,15 @@ class Feeding(QObject):
if start_pos.lineType == LineType.CureMid.value:
start_pos1 = self.feedConfig.feedLine.get_next_start_position(reverse)
self.feedStatus = FeedStatus(start_pos1.status) if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
self.sendTargPosition(real_position=start_pos.get_position(),speed=self.robotClient.debug_speed, move_type=MoveType.Cure, real_position1=start_pos1.get_position())
self.sendTargPosition(real_position=start_pos.get_position(),speed=self.robotClient.feed_speed, move_type=MoveType.Cure, real_position1=start_pos1.get_position())
elif start_pos.lineType == LineType.WORLD.value:
if self.robotClient.status_model.getAnglePosition().is_error_angel_move(start_pos.get_position(),self.robotClient.max_angle_interval):
self.feedStatus = None
self.log_signal.emit(logging.ERROR, Constant.str_feed_angle_error)
else:
self.sendTargPosition(real_position=start_pos.get_position(),speed=self.robotClient.debug_speed,move_type=MoveType.AXIS)
self.sendTargPosition(real_position=start_pos.get_position(),speed=self.robotClient.feed_speed,move_type=MoveType.AXIS)
else:
self.sendTargPosition(real_position=start_pos.get_position(),speed=self.robotClient.debug_speed)
self.sendTargPosition(real_position=start_pos.get_position(),speed=self.robotClient.feed_speed)
pass
def next_take(self,reverse=False):
@ -746,9 +746,18 @@ class Feeding(QObject):
if take_pos.lineType == LineType.CureMid.value:
take_pos1 = self.feedConfig.feedLine.get_next_take_position(reverse)
self.feedStatus = FeedStatus(take_pos1.status) if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
self.sendTargPosition(real_position=take_pos.get_position(), move_type=MoveType.Cure, real_position1=take_pos1.get_position(),speed=self.robotClient.debug_speed)
self.sendTargPosition(real_position=take_pos.get_position(), move_type=MoveType.Cure, real_position1=take_pos1.get_position(),speed=self.robotClient.feed_speed)
elif take_pos.lineType == LineType.WORLD.value:
if self.robotClient.status_model.getAnglePosition().is_error_angel_move(take_pos.get_position(),
self.robotClient.max_angle_interval):
self.feedStatus = None
self.log_signal.emit(logging.ERROR, Constant.str_feed_angle_error)
else:
self.sendTargPosition(real_position=take_pos.get_position(),speed=self.robotClient.debug_speed)
self.sendTargPosition(real_position=take_pos.get_position(), speed=self.robotClient.feed_speed,
move_type=MoveType.AXIS)
else:
self.sendTargPosition(real_position=take_pos.get_position(),speed=self.robotClient.feed_speed)
pass
def next_Feed(self,reverse=False):
@ -757,9 +766,18 @@ class Feeding(QObject):
if feed_pos.lineType == LineType.CureMid.value:
feed_pos1 = self.feedConfig.feedLine.get_next_feed_position(reverse)
self.feedStatus = FeedStatus(feed_pos1.status) if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
self.sendTargPosition(real_position=feed_pos.get_position(), move_type=MoveType.Cure, real_position1=feed_pos1.get_position(),speed=self.robotClient.debug_speed)
self.sendTargPosition(real_position=feed_pos.get_position(), move_type=MoveType.Cure, real_position1=feed_pos1.get_position(),speed=self.robotClient.feed_speed)
elif feed_pos.lineType == LineType.WORLD.value:
if self.robotClient.status_model.getAnglePosition().is_error_angel_move(feed_pos.get_position(),
self.robotClient.max_angle_interval):
self.feedStatus = None
self.log_signal.emit(logging.ERROR, Constant.str_feed_angle_error)
else:
self.sendTargPosition(real_position=feed_pos.get_position(),speed=self.robotClient.debug_speed)
self.sendTargPosition(real_position=feed_pos.get_position(), speed=self.robotClient.feed_speed,
move_type=MoveType.AXIS)
else:
self.sendTargPosition(real_position=feed_pos.get_position(),speed=self.robotClient.feed_speed)
def get_current_position(self,is_reverse=False):
if self.feed_Mid_Status == FeedMidStatus.FMid_Start:

View File

@ -633,6 +633,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
time_delay_put = float(self.configReader.get('Robot_Feed', 'putDelay'))
time_delay_shake = float(self.configReader.get('Robot_Feed', 'shakeDelay'))
max_angle_interval = float(self.configReader.get('Robot_Feed', 'max_angle_interval'))
smooth = float(self.configReader.get('Robot_Feed', 'smooth'))
#TODO
#dropDelay_time = int(self.configReader.get('Robot_Feed', 'dropDelay_time'))
self.robotClient = RobotClient(ip, port, photo_locs, self.command_position_quene, self.status_address,[io_take_addr, io_zip_addr, io_shake_addr],time_delay_take,time_delay_put,time_delay_shake,origin_position)
@ -640,6 +641,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.robotClient.feed_speed = feed_speed
self.robotClient.reset_speed = reset_speed
self.robotClient.max_angle_interval = max_angle_interval
self.robotClient.smooth = smooth
self.feeding = Feeding(self.robotClient) # 临时
self.feeding.need_origin_signal.connect(self.show_infomessage_box)
self.feeding.take_no_photo_sigal.connect(self.show_no_photo_message_box)
@ -1029,6 +1031,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.robotClient.feed_speed = int(self.lineEdit_speed_run.text())
self.robotClient.debug_speed = int(self.lineEdit_speed_debug.text())
self.robotClient.reset_speed = int(self.lineEdit_speed_reset.text())
self.robotClient.smooth = int(self.lineEdit_setting_smooth.text())
try:
take_addr = int(self.lineEdit_take_addr.text())
press_addr = int(self.lineEdit_press_addr.text())
@ -1053,6 +1056,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.configReader.set('Speed', 'feed_speed', str(self.robotClient.feed_speed))
self.configReader.set('Speed', 'debug_speed', str(self.robotClient.debug_speed))
self.configReader.set('Speed', 'reset_speed', str(self.robotClient.reset_speed))
self.configReader.set('Robot_Feed', 'smooth', str(self.robotClient.smooth))
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)
@ -1898,6 +1902,7 @@ class MainWindow(QMainWindow, Ui_MainWindow):
self.lineEdit_take_addr.setText(str(self.robotClient.con_ios[0]))
self.lineEdit_press_addr.setText(str(self.robotClient.con_ios[1]))
self.lineEdit_shake_addr.setText(str(self.robotClient.con_ios[2]))
self.lineEdit_setting_smooth.setText(str(self.robotClient.smooth))
self.lineEdit_timedelay_take.setText(str(self.robotClient.time_delay_take))
self.lineEdit_timedelay_put.setText(str(self.robotClient.time_delay_put))
self.lineEdit_timedelay_shake.setText(str(self.robotClient.time_delay_shake))