Commit 4c78fd78 authored by 张晓彤's avatar 张晓彤

7-15更新 1.数据更新同步 2.添加挖机可用时间-异常捕获

parent 73d461b0
{
"para": {
"log_path": "/Users/guoao/Desktop/work_log/Logs",
"log_path": "./Logs/",
"empty_speed": 17,
"heavy_speed": 17,
"dump_target_mass": 5000,
......
......@@ -142,19 +142,44 @@ class PreSchedule:
tmp = reach_ls[np.lexsort(reach_ls[:, ::-1].T)]
for i in range(len(tmp)):
try:
excavator_index = int(tmp[i][2])
excavator_id = self.excavator.excavator_index_to_uuid_dict[excavator_index]
except Exception as es:
self.logger.error("excavator_error_1")
self.logger.error(es)
try:
self.excavator_avl_time[excavator_index] = (
max(tmp[i][0], self.excavator_avl_time[excavator_index])
+ loading_task_time[excavator_index]
)
self.excavator_avl_time_dict[excavator_id] = self.excavator_avl_time[excavator_index]
except Exception as es:
self.logger.error("excavator_error_2")
self.logger.error(es)
try:
truck_index = int(tmp[i][1])
truck_id = self.truck.truck_index_to_uuid_dict[truck_index]
except Exception as es:
self.logger.error("excavator_error_3")
self.logger.error(es)
try:
self.truck_avl_time[truck_index] = self.excavator_avl_time[excavator_index]
self.truck_avl_time_dict[truck_id] = self.truck_avl_time[truck_index]
except Exception as es:
self.logger.error("excavator_error_4")
self.logger.error(es)
# # 若挖机可用时间严重偏离,进行修正
# if abs(self.excavator_avl_time[excavator_index] - now) > 60:
# self.truck_avl_time[int(tmp[i][1])] = now
......
......@@ -268,16 +268,16 @@ class TruckInfo(WalkManage):
truck_id = self.truck_index_to_uuid_dict[i]
task = self.truck_current_task[self.truck_index_to_uuid_dict[i]]
# print("truck_task:", truck_id, task)
# item = (
# session_mysql.query(EquipmentPair)
# .filter_by(truck_id=truck_id, isdeleted=0)
# .first()
# )
item = (
session_mysql.query(DispatchSetting)
session_mysql.query(EquipmentPair)
.filter_by(truck_id=truck_id, isdeleted=0)
.first()
)
# item = (
# session_mysql.query(DispatchSetting)
# .filter_by(truck_id=truck_id, isdeleted=0)
# .first()
# )
point = empty_task_set
point2 = heavy_task_set
if task in (empty_task_set + heavy_task_set) and item is None:
......@@ -288,7 +288,7 @@ class TruckInfo(WalkManage):
session_mysql.rollback()
continue
try:
# try:
load_area_uuid_to_index_dict = get_value("load_area_uuid_to_index_dict")
unload_area_uuid_to_index_dict = get_value("unload_area_uuid_to_index_dict")
aa = task
......@@ -362,6 +362,13 @@ class TruckInfo(WalkManage):
self.truck_current_trip[i] = [start_eq_index, end_eq_index]
self.logger.info("walk_time_to_unload_area")
self.logger.info(walk_time_to_unload_area)
self.logger.info("end_area_index")
self.logger.info(end_area_index)
self.logger.info("start_area_index")
self.logger.info(start_area_index)
self.cur_truck_reach_dump[i] = (
last_load_time
+ walk_time_to_unload_area[end_area_index][start_area_index]
......@@ -379,9 +386,9 @@ class TruckInfo(WalkManage):
# end_eqp_index = excavator.excavator_uuid_to_index_dict[item.exactor_id]
# self.excavator_hold_truck_num[end_eqp_index] = self.excavator_hold_truck_num[end_eqp_index] + 1
pass
except Exception as es:
self.logger.error("矿卡行程读取异常")
self.logger.error(es)
# except Exception as es:
# self.logger.error("矿卡行程读取异常")
# self.logger.error(es)
# print("self.dump_hold_truck_num")
# print(self.dump_hold_truck_num)
......@@ -693,10 +700,24 @@ class TruckInfo(WalkManage):
def truck_reset(self, dump, excavator):
# 更新矿卡数量
self.dynamic_truck_num = get_value("dynamic_truck_num")
# 更新矿卡集合
self.dynamic_truck_set = get_value("dynamic_truck_set")
aa = self.dynamic_truck_set
# 矿卡抵达卸载设备时间
self.cur_truck_reach_dump = np.zeros(self.dynamic_truck_num)
# 矿卡抵达挖机时间
self.cur_truck_reach_excavator = np.zeros(self.dynamic_truck_num)
# 矿卡最后装载/卸载时间
self.last_load_time = {}
self.last_unload_time = {}
# 相对矿卡最后装载/卸载时间
self.relative_last_load_time = {}
self.relative_last_unload_time = {}
# 矿卡当前任务
self.truck_current_task = {}
# 矿卡当前行程(第一列为出发地序号, 第二列为目的地序号)
self.truck_current_trip = np.full((self.dynamic_truck_num, 2), -1)
# 矿卡不可用列表
self.truck_disable_list = []
# 矿卡挖机绑定关系
self.truck_excavator_bind = {}
# 矿卡卸点绑定关系
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment