|
@@ -25,8 +25,8 @@ class Trace_pusher:
|
|
self.pusher_left_list = []
|
|
self.pusher_left_list = []
|
|
self.pusher_right_list = []
|
|
self.pusher_right_list = []
|
|
|
|
|
|
- self.bed_left = []
|
|
|
|
- self.bed_right = []
|
|
|
|
|
|
+ self.bed_left = [[], []]
|
|
|
|
+ self.bed_right = [[], []]
|
|
|
|
|
|
self.pusher_left = data_s7.make_point('推钢机激光')
|
|
self.pusher_left = data_s7.make_point('推钢机激光')
|
|
self.pusher_right = data_s7.make_point('推钢机激光')
|
|
self.pusher_right = data_s7.make_point('推钢机激光')
|
|
@@ -192,42 +192,70 @@ class Trace_pusher:
|
|
def arrive_cooling_bed(self, direc):
|
|
def arrive_cooling_bed(self, direc):
|
|
with self.count_lock:
|
|
with self.count_lock:
|
|
if direc == 'left':
|
|
if direc == 'left':
|
|
- if len(self.pusher_left_list) >= 4:
|
|
|
|
- if len(self.bed_left):
|
|
|
|
- self.logger.warning(f"有左侧冷床上的钢坯无法录入:{'、'.join([i[0] for i in self.bed_left])}")
|
|
|
|
- self.bed_left = []
|
|
|
|
-
|
|
|
|
self.logger.debug(f"左侧冷床上推入{len(self.pusher_left_list)}根钢坯")
|
|
self.logger.debug(f"左侧冷床上推入{len(self.pusher_left_list)}根钢坯")
|
|
- self.bed_left.extend(self.pusher_left_list)
|
|
|
|
|
|
+ tmp = self.pusher_left_list
|
|
self.pusher_left_list = []
|
|
self.pusher_left_list = []
|
|
- if len(self.bed_left) >= 4:
|
|
|
|
- for i in self.bed_left:
|
|
|
|
- if not (i[0].startswith(self.current_heatNo) or i[0].startswith(self.old_heatNo)):
|
|
|
|
- self.change_heat(i)
|
|
|
|
- break
|
|
|
|
-
|
|
|
|
- tmp = self.bed_left
|
|
|
|
- self.bed_left = []
|
|
|
|
- self.billet_union(tmp)
|
|
|
|
|
|
|
|
elif direc == 'right':
|
|
elif direc == 'right':
|
|
- if len(self.pusher_right_list) >= 4:
|
|
|
|
- if len(self.bed_right):
|
|
|
|
- self.logger.warning(f"有右侧冷床上的钢坯无法录入:{'、'.join([i[0] for i in self.bed_right])}")
|
|
|
|
- self.bed_right = []
|
|
|
|
-
|
|
|
|
self.logger.debug(f"右侧冷床上推入{len(self.pusher_right_list)}根钢坯")
|
|
self.logger.debug(f"右侧冷床上推入{len(self.pusher_right_list)}根钢坯")
|
|
- self.bed_right.extend(self.pusher_right_list)
|
|
|
|
|
|
+ tmp = self.pusher_right_list
|
|
self.pusher_right_list = []
|
|
self.pusher_right_list = []
|
|
- if len(self.bed_right) >= 4:
|
|
|
|
- for i in self.bed_right:
|
|
|
|
- if not (i[0].startswith(self.current_heatNo) or i[0].startswith(self.old_heatNo)):
|
|
|
|
- self.change_heat(i)
|
|
|
|
- break
|
|
|
|
-
|
|
|
|
- tmp = self.bed_right
|
|
|
|
- self.bed_right = []
|
|
|
|
- self.billet_union(tmp)
|
|
|
|
|
|
+
|
|
|
|
+ for i in tmp:
|
|
|
|
+ if not (i[0].startswith(self.current_heatNo) or i[0].startswith(self.old_heatNo)):
|
|
|
|
+ self.change_heat(i)
|
|
|
|
+ break
|
|
|
|
+
|
|
|
|
+ self.billet_to_bed(tmp, direc)
|
|
|
|
+
|
|
|
|
+ def billet_to_bed(self, billets, direc):
|
|
|
|
+ if direc == 'left':
|
|
|
|
+ if self.bed_left[0]:
|
|
|
|
+ if len(billets) >= 4:
|
|
|
|
+ if self.bed_left[1]:
|
|
|
|
+ self.logger.error(f"组坯冲突!")
|
|
|
|
+ self.billet_to_bed_impl(billets, self.bed_left, 1)
|
|
|
|
+ else:
|
|
|
|
+ if len(self.bed_left[1]) == 0 and len(self.bed_left[0]) + len(billets) <= 4:
|
|
|
|
+ self.billet_to_bed_impl(billets, self.bed_left, 0)
|
|
|
|
+ elif len(self.bed_left[1]) + len(billets) <= 4:
|
|
|
|
+ self.billet_to_bed_impl(billets, self.bed_left, 1)
|
|
|
|
+ else:
|
|
|
|
+ self.logger.error(f"组坯冲突!")
|
|
|
|
+ self.billet_to_bed_impl(billets, self.bed_left, 1)
|
|
|
|
+ else:
|
|
|
|
+ self.billet_to_bed_impl(billets, self.bed_left, 0)
|
|
|
|
+
|
|
|
|
+ self.logger.debug(f"左侧冷床目前情况:{len(self.bed_left[0])}根|{len(self.bed_left[1])}根")
|
|
|
|
+ elif direc == 'right':
|
|
|
|
+ if self.bed_right[0]:
|
|
|
|
+ if len(billets) >= 4:
|
|
|
|
+ if self.bed_right[1]:
|
|
|
|
+ self.logger.error(f"组坯冲突!")
|
|
|
|
+ self.billet_to_bed_impl(billets, self.bed_right, 1)
|
|
|
|
+ else:
|
|
|
|
+ if len(self.bed_right[1]) == 0 and len(self.bed_right[0]) + len(billets) <= 4:
|
|
|
|
+ self.billet_to_bed_impl(billets, self.bed_right, 0)
|
|
|
|
+ elif len(self.bed_right[1]) + len(billets) <= 4:
|
|
|
|
+ self.billet_to_bed_impl(billets, self.bed_right, 1)
|
|
|
|
+ else:
|
|
|
|
+ self.logger.error(f"组坯冲突!")
|
|
|
|
+ self.billet_to_bed_impl(billets, self.bed_right, 1)
|
|
|
|
+ else:
|
|
|
|
+ self.billet_to_bed_impl(billets, self.bed_right, 0)
|
|
|
|
+ self.logger.debug(f"右侧冷床目前情况:{len(self.bed_right[1])}根|{len(self.bed_right[0])}根")
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ def billet_to_bed_impl(self, billets: list, dst: list, index):
|
|
|
|
+ dst[index].extend(billets)
|
|
|
|
+ if len(dst[index]) >= 4:
|
|
|
|
+ self.billet_union(dst[index])
|
|
|
|
+ # 此处加入天车模块时删掉
|
|
|
|
+ dst[index].clear()
|
|
|
|
+ if index == 0:
|
|
|
|
+ dst[0] = dst[1]
|
|
|
|
+ dst[1] = []
|
|
|
|
+
|
|
|
|
|
|
def billet_union(self, billets):
|
|
def billet_union(self, billets):
|
|
billetsNo = []
|
|
billetsNo = []
|