增加了HSMO整线优化方法,读取数据增加了供料器部分

This commit is contained in:
2025-08-10 16:58:42 +08:00
parent 045f2f394d
commit 4fd5560650
17 changed files with 1765 additions and 352 deletions

View File

@@ -161,8 +161,27 @@ def load_data(filename: str, load_feeder=False, auto_register=True):
feeder_data = pd.DataFrame(columns=feeder_columns)
else:
feeder_data = pd.DataFrame(columns=feeder_columns)
for idx, data in feeder_data.iterrows():
feeder_data.at[idx, 'slot'] = int(data['slot'][1:])
feeder_data.sort_values(by='slot', ascending=True, inplace=True, ignore_index=True)
feeder_data_check = defaultdict(str)
for _, data in feeder_data.iterrows():
feeder_data_check[data.slot] = data.part
for machine_index in range(machine_num):
for idx, data in pcb_data[machine_index].iterrows():
slot, part = data.fdr.split(' ')
slot = int(slot[1:])
if feeder_data_check[slot] == '':
feeder_data_check[slot] = part
if feeder_data_check[slot] != part:
warning_info = f'conflict feeder registration PCB: {data.fdr}, BASE: F{slot} {feeder_data_check[slot]}'
# warnings.warn(warning_info, UserWarning)
return pcb_data, component_data, feeder_data