update 完成控制基本逻辑
This commit is contained in:
@ -33,6 +33,13 @@ class FeedStatus(IntEnum):
|
||||
FReverse = 11
|
||||
FStartReverse = 12
|
||||
|
||||
class LineType(Enum):
|
||||
Straight = 0
|
||||
CureStart = 1
|
||||
CureMid = 2
|
||||
CureEnd = 3
|
||||
|
||||
|
||||
class FeedMidStatus(Enum):
|
||||
FMid_Start = 1
|
||||
FMid_Take = 2
|
||||
@ -374,7 +381,7 @@ class Feeding:
|
||||
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):
|
||||
def sendTargPosition(self, real_position, move_type: MoveType = MoveType.WORLD, speed=Constant.speed,real_position1=None):
|
||||
position_instruction = Instruction()
|
||||
position_instruction.speed = speed
|
||||
position_instruction.m0 = real_position.X
|
||||
@ -383,7 +390,15 @@ class Feeding:
|
||||
position_instruction.m3 = real_position.U
|
||||
position_instruction.m4 = real_position.V
|
||||
position_instruction.m5 = real_position.W
|
||||
|
||||
position_instruction.action = move_type.value
|
||||
if position_instruction.action == 17:
|
||||
position_instruction.m0_p = real_position1.X
|
||||
position_instruction.m1_p = real_position1.Y
|
||||
position_instruction.m2_p = real_position1.Z
|
||||
position_instruction.m3_p = real_position1.U
|
||||
position_instruction.m4_p = real_position1.V
|
||||
position_instruction.m5_p = real_position1.W
|
||||
instruction_command = CMDInstructRequest()
|
||||
instruction_command.instructions.append(position_instruction)
|
||||
request_command = instruction_command.toString()
|
||||
@ -408,19 +423,31 @@ class Feeding:
|
||||
def next_start(self,reverse=False):
|
||||
start_pos = self.feedConfig.feedLine.get_next_start_position(reverse)
|
||||
self.feedStatus = start_pos.status if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
|
||||
self.sendTargPosition(start_pos.position)
|
||||
if start_pos.lineType == LineType.CureMid:
|
||||
start_pos1 = self.feedConfig.feedLine.get_next_start_position(reverse)
|
||||
self.sendTargPosition(real_position=start_pos.position, move_type=MoveType.Cure, real_position1=start_pos1.position)
|
||||
else:
|
||||
self.sendTargPosition(start_pos.position)
|
||||
pass
|
||||
|
||||
def next_take(self,reverse=False):
|
||||
take_pos = self.feedConfig.feedLine.get_next_take_position(reverse)
|
||||
self.feedStatus = take_pos.status if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
|
||||
self.sendTargPosition(take_pos.position)
|
||||
if take_pos.lineType == LineType.CureMid:
|
||||
take_pos1 = self.feedConfig.feedLine.get_next_take_position(reverse)
|
||||
self.sendTargPosition(real_position=take_pos.position, move_type=MoveType.Cure, real_position1=take_pos1.position)
|
||||
else:
|
||||
self.sendTargPosition(take_pos.position)
|
||||
pass
|
||||
|
||||
def next_Feed(self,reverse=False):
|
||||
feed_pos = self.feedConfig.feedLine.get_next_feed_position(reverse)
|
||||
self.feedStatus = feed_pos.status if self.feedStatus != FeedStatus.FNone else FeedStatus.FNone
|
||||
self.sendTargPosition(feed_pos.position)
|
||||
if feed_pos.lineType == LineType.CureMid:
|
||||
feed_pos1 = self.feedConfig.feedLine.get_next_feed_position(reverse)
|
||||
self.sendTargPosition(real_position=feed_pos.position, move_type=MoveType.Cure, real_position1=feed_pos1.position)
|
||||
else:
|
||||
self.sendTargPosition(feed_pos.position)
|
||||
|
||||
def get_current_position(self):
|
||||
if self.feed_Mid_Status == FeedMidStatus.FMid_Start:
|
||||
|
||||
Reference in New Issue
Block a user