update 修改qss带来的异常退出
This commit is contained in:
@ -13,6 +13,7 @@ from Model.RobotModel import CMDInstructRequest, MoveType
|
||||
from Util.util_time import CRisOrFall
|
||||
from Vision.camera_coordinate_dete import Detection
|
||||
from Util.util_log import log
|
||||
from Model.RobotModel import Instruction
|
||||
|
||||
class FeedStatus(IntEnum):
|
||||
FNone = 0
|
||||
@ -90,13 +91,14 @@ class Feeding :
|
||||
|
||||
if self.feedConfig == None:
|
||||
self.feedStatus = FeedStatus.FNone
|
||||
|
||||
elif self.feedConfig.num == 0:
|
||||
self.feedStatus = FeedStatus.FNone
|
||||
if self.feedStatus == FeedStatus.FNone or self.pause:
|
||||
return
|
||||
elif self.feedStatus == FeedStatus.FStart:
|
||||
log.log_message(logging.INFO, Constant.str_feed_start)
|
||||
self.feedStatus = FeedStatus.FCheck
|
||||
self.feedStatus = FeedStatus.FCheck if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
|
||||
pass
|
||||
elif self.feedStatus == FeedStatus.FCheck:
|
||||
log.log_message(logging.INFO, Constant.str_feed_check)
|
||||
@ -106,7 +108,7 @@ class Feeding :
|
||||
# pass
|
||||
# else:
|
||||
if self.feedConfig.num != 0:
|
||||
self.feedStatus = FeedStatus.FSafeP
|
||||
self.feedStatus = FeedStatus.FSafeP if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
|
||||
self.sendTargPosition(self.feedConfig.feedLine.safe_position)
|
||||
|
||||
|
||||
@ -114,7 +116,7 @@ class Feeding :
|
||||
log.log_message(logging.INFO,Constant.str_feed_safe)
|
||||
if self.feedConfig.feedLine.safe_position.compare(real_position):
|
||||
self.error_photo_count=0
|
||||
self.feedStatus = FeedStatus.FPhoto
|
||||
self.feedStatus = FeedStatus.FPhoto if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
|
||||
#self.sendTargPosition(self.feedConfig.feedLine.photo_position)
|
||||
#判断是哪一个问题
|
||||
|
||||
@ -173,7 +175,7 @@ class Feeding :
|
||||
else:
|
||||
self.feedConfig.feedLine.take_position = detect_pos_list[max_z_index]
|
||||
log.log_message(logging.INFO, Constant.str_feed_takePhoto_line)
|
||||
self.feedStatus = FeedStatus.FTake
|
||||
self.feedStatus = FeedStatus.FTake if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
|
||||
self.sendTargPosition(self.feedConfig.feedLine.take_position)
|
||||
except:
|
||||
log.log_message(logging.ERROR, Constant.str_feed_takePhoto_fail)
|
||||
@ -181,7 +183,7 @@ class Feeding :
|
||||
else:
|
||||
self.feedConfig.feedLine.take_position = self.feedConfig.feedLine.safe_position
|
||||
self.sendTargPosition(self.feedConfig.feedLine.safe_position)
|
||||
self.feedStatus = FeedStatus.FTake
|
||||
self.feedStatus = FeedStatus.FTake if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
|
||||
log.log_message(logging.INFO, Constant.str_feed_takePhoto_move)
|
||||
|
||||
elif self.feedStatus == FeedStatus.FTake:
|
||||
@ -193,15 +195,17 @@ class Feeding :
|
||||
self.sendIOControl(self.robotClient.con_ios[2],1)
|
||||
# TODO 检测是否通 不然报警
|
||||
time.sleep(self.robotClient.time_delay_take)
|
||||
self.feedStatus = FeedStatus.FSafeF
|
||||
self.feedStatus = FeedStatus.FSafeF if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
|
||||
log.log_message(logging.INFO, Constant.str_feed_take_success)
|
||||
self.sendTargPosition(self.feedConfig.feedLine.safe_position)
|
||||
|
||||
pass
|
||||
|
||||
elif self.feedStatus == FeedStatus.FSafeF:
|
||||
log.log_message(logging.INFO, Constant.str_feed_mid)
|
||||
log.log_message(logging.INFO, Constant.str_feed_safe)
|
||||
if self.feedConfig.feedLine.safe_position.compare(real_position):
|
||||
self.feedStatus = FeedStatus.FBroken
|
||||
self.feedStatus = FeedStatus.FBroken if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
|
||||
|
||||
self.sendTargPosition(self.feedConfig.feedLine.broken1_position)
|
||||
pass #吸嘴开始
|
||||
|
||||
@ -213,7 +217,9 @@ class Feeding :
|
||||
# pass #破袋
|
||||
|
||||
elif self.feedStatus==FeedStatus.FBroken:
|
||||
|
||||
log.log_message(logging.INFO, Constant.str_feed_broken)
|
||||
|
||||
if self.feedConfig.feedLine.broken1_position.compare(real_position):
|
||||
self.sendTargPosition(self.feedConfig.feedLine.broken2_position)
|
||||
if self.feedConfig.feedLine.broken2_position.compare(real_position):
|
||||
@ -221,7 +227,7 @@ class Feeding :
|
||||
if self.feedConfig.feedLine.shake_position.compare(real_position): # 延迟判断,如果最后点位延迟1s,则认为阶段完成
|
||||
# TODO 震动方案
|
||||
time.sleep(self.robotClient.time_delay_shake)
|
||||
self.feedStatus = FeedStatus.FDropBag
|
||||
self.feedStatus = FeedStatus.FDropBag if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
|
||||
self.sendTargPosition(self.feedConfig.feedLine.safe_position)
|
||||
|
||||
elif self.feedStatus == FeedStatus.FDropBag:
|
||||
@ -243,7 +249,7 @@ class Feeding :
|
||||
self.sendTargPosition(self.feedConfig.feedLine.safe_position)
|
||||
self.init_detection_image()
|
||||
else:
|
||||
self.feedStatus = FeedStatus.FSafeP
|
||||
self.feedStatus = FeedStatus.FSafeP if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
|
||||
self.sendTargPosition(self.feedConfig.feedLine.safe_position)
|
||||
|
||||
|
||||
@ -254,7 +260,7 @@ class Feeding :
|
||||
self.sendIOControl(Constant.IO_EmergencyPoint, 0)
|
||||
|
||||
def sendIOControl(self,IO_bit,IO_Status:int):
|
||||
from Model.RobotModel import Instruction
|
||||
|
||||
IO_command = CMDInstructRequest()
|
||||
io_instruction = Instruction()
|
||||
io_instruction.IO = True
|
||||
@ -263,10 +269,10 @@ class Feeding :
|
||||
IO_command.dsID = 'HCRemoteCommand'
|
||||
IO_command.instructions.append(io_instruction)
|
||||
self.robotClient.add_sendQuene(IO_command.toString())
|
||||
log.log_message(logging.INFO, f'{Constant.str_feed_io_control}{IO_bit},{IO_Status}')
|
||||
pass
|
||||
|
||||
def sendTargPosition(self,real_position,move_type:MoveType=MoveType.WORLD ,speed = Constant.speed):
|
||||
from Model.RobotModel import Instruction
|
||||
position_instruction = Instruction()
|
||||
position_instruction.speed = speed
|
||||
position_instruction.m0 = real_position.X
|
||||
@ -279,7 +285,7 @@ class Feeding :
|
||||
instruction_command = CMDInstructRequest()
|
||||
instruction_command.instructions.append(position_instruction)
|
||||
request_command = instruction_command.toString()
|
||||
print(request_command)
|
||||
|
||||
|
||||
log_str = f'移动到位置:{"姿势直线"}:' \
|
||||
f'X:{position_instruction.m0}-' \
|
||||
@ -288,7 +294,12 @@ class Feeding :
|
||||
f'U:{position_instruction.m3}-' \
|
||||
f'V:{position_instruction.m4}-' \
|
||||
f'W:{position_instruction.m5}'
|
||||
log.log_message(logging.INFO, log_str)
|
||||
|
||||
try :
|
||||
log.log_message(logging.INFO, log_str)
|
||||
except:
|
||||
print("error")
|
||||
|
||||
|
||||
self.robotClient.add_sendQuene(request_command)
|
||||
pass
|
||||
|
||||
Reference in New Issue
Block a user