From dd0873637fd1c48ce210ab58c830b89d7d3c2e40 Mon Sep 17 00:00:00 2001 From: gitea Date: Thu, 18 Jul 2024 11:04:31 +0800 Subject: [PATCH] minor fix --- aio/README.md | 7 ++ aio/assets/configs.xlsx | Bin 224778 -> 225074 bytes .../durable/durable_data_current.xlsx | Bin 5541 -> 7127 bytes .../durable/durable_data_velocity.xlsx | Bin 5541 -> 7143 bytes aio/code/durable_action/factory_test.py | 61 +++++++++--------- 5 files changed, 38 insertions(+), 30 deletions(-) diff --git a/aio/README.md b/aio/README.md index 1b75caf..1398488 100644 --- a/aio/README.md +++ b/aio/README.md @@ -8,6 +8,7 @@ 4. wavelogger 波形处理,几乎不花费时间 5. 制动自动化测试 6. 电机电流自动化测试 +7. 耐久工程曲线指标采集(仅适用于六轴) --- @@ -154,6 +155,12 @@ pyinstaller --noconfirm --onedir --windowed --add-data "C:/Users/Administrator/A 基本同第五点 +#### 7) 耐久工程曲线指标采集 + +可实现固定周期指定曲线指标的采集,用于长时间观察指标的变化情况,输入文件: +- configs.xlsx,执行之前需要手动修改好configs.xlsx中的参数,以及间隔时间 +- target.zip,需要确认工程点位和动作无问题后,保存导出 + #### 其他 customtkinter的tabview组件不支持修改字体大小,可以参考 [Changing Font of a Tabview](https://github.com/TomSchimansky/CustomTkinter/issues/2296) 进行手动修改源码实现: a. 运行 `pip show customtkinter`,获取到库的路径 diff --git a/aio/assets/configs.xlsx b/aio/assets/configs.xlsx index e59ffbb9cb652c1aa13e9dbb8c630b831bc4d68c..158cdf5ec5b2084be44eac15bed6e88ac7a8d790 100644 GIT binary patch delta 7067 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 delta 1588 zcmZWpeKga19R7`2Q^P`GBU8kU%MPMsw8_hjGO@gLab5JXjF|Us=4ICL67tgvLQ~%I z)+O&RsTA2Ag*IXot}B*<9F8g7O)1^`{pUI7InU?$KIe1J=iwR`XiE`o#i8;50KkEp zN%L2w%4tGynOjWR#TSw+2movsqECP~F(}{yRnI#h$X7R<;#Y9>(eWo(1jEy}t0iRU znBNgsJ-b6O^mcV*UFUplV&N6pJD~ygZne_TI+gLyAI_X|m{PCJ&Al|!NwxIi3^hv1 z^4yd&bD;2W^->E|!d}KI=M;PXoy;3UTGW&{{;F@-ZwWOo%e;_#{q+;8d*9p*&THKz z0gEA5^>U;a z)pzCy+#aRooAj*dre!{rOt(+rjHNess~R zq#UcM^v8NY3u4VbpNxY1u%l`�(}Y+EP8jV*fL70C=tl0Ez%eL7`|@28aA#W0hfZ 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 diff --git a/aio/code/durable_action/factory_test.py b/aio/code/durable_action/factory_test.py index 0833162..026baaf 100644 --- a/aio/code/durable_action/factory_test.py +++ b/aio/code/durable_action/factory_test.py @@ -3,12 +3,13 @@ from os.path import exists, dirname from os import scandir from paramiko import SSHClient, AutoAddPolicy from json import loads -from time import sleep, time +from time import sleep, time, strftime, localtime import pandas as pd from openpyxl import load_workbook from math import sqrt tab_name = 'Durable Action' +count = 0 durable_data_current_xlsx = f'{dirname(__file__)}/../../assets/templates/durable/durable_data_current.xlsx' durable_data_velocity_xlsx = f'{dirname(__file__)}/../../assets/templates/durable/durable_data_velocity.xlsx' display_pdo_params = [ @@ -170,26 +171,32 @@ def run_rl(path, config_file, hr, md, w2t): # 6. 关闭诊断曲线,停止程序运行,下电并且换成手动模式 _response = execution('diagnosis.open', hr, w2t, open=False, display_open=False) _response = execution('diagnosis.set_params', hr, w2t, display_pdo_params=[]) - _response = execution('rl_task.stop', hr, w2t, tasks=['current']) sleep(1) # 保证所有数据均已返回 # 7. 保留数据并处理输出 - get_durable_data(path, config_file, data_all, scenario_time, hr, w2t) + _wb = load_workbook(config_file, read_only=True) + _ws = _wb['Target'] + wait_time = float(_ws.cell(row=2, column=10).value) + rcs = [] + for i in range(6): + rcs.append(float(_ws.cell(row=6, column=i + 2).value)) + + get_durable_data(path, data_all, scenario_time, wait_time, rcs, hr, w2t) # 8. 继续运行 - _response = execution('rl_task.run', hr, w2t, tasks=['current']) while True: # 每3分钟,更新一次数据,打开曲线,获取周期内电流,关闭曲线 - sleep(180) + sleep(wait_time) _response = execution('diagnosis.open', hr, w2t, open=True, display_open=True) _response = execution('diagnosis.set_params', hr, w2t, display_pdo_params=display_pdo_params) - sleep(scenario_time + 10) + sleep(scenario_time+5) _response = execution('diagnosis.open', hr, w2t, open=False, display_open=False) _response = execution('diagnosis.set_params', hr, w2t, display_pdo_params=[]) + sleep(2) # 7. 保留数据并处理输出 - get_durable_data(path, config_file, data_all, scenario_time, hr, w2t) + get_durable_data(path, data_all, scenario_time, wait_time, rcs, hr, w2t) -def get_durable_data(path, config_file, data, scenario_time, hr, w2t): +def get_durable_data(path, data, scenario_time, wait_time, rcs, hr, w2t): _data_list = [] for _msg in hr.c_msg: if 'diagnosis.result' in _msg: @@ -207,12 +214,6 @@ def get_durable_data(path, config_file, data, scenario_time, hr, w2t): # for _ in _data_list: # f_obj.write(f"{_}\n") - _wb = load_workbook(config_file, read_only=True) - _ws = _wb['Target'] - rcs = [] - for i in range(6): - rcs.append(float(_ws.cell(row=6, column=i + 2).value)) - _d2d_trq = { 'device_servo_trq_feedback_0': [], 'device_servo_trq_feedback_1': [], 'device_servo_trq_feedback_2': [], 'device_servo_trq_feedback_3': [], 'device_servo_trq_feedback_4': [], 'device_servo_trq_feedback_5': [], @@ -231,35 +232,35 @@ def get_durable_data(path, config_file, data, scenario_time, hr, w2t): _d2d_vel[f'hw_joint_vel_feedback_{i}'].extend(item['value']) if len(_d2d_trq['device_servo_trq_feedback_0']) / 1000 > scenario_time + 1: - _df = pd.DataFrame(_d2d_trq) + # ========= for trq ========= + _df_1 = pd.DataFrame(_d2d_trq) for i in range(6): - _ = sqrt(100*_df[f'device_servo_trq_feedback_{i}'].apply(lambda x: (rcs[i]*x/10000)**2).sum()/len(_df[f'device_servo_trq_feedback_{i}'])) + _ = sqrt(100*_df_1[f'device_servo_trq_feedback_{i}'].apply(lambda x: (rcs[i]*x/10000)**2).sum()/len(_df[f'device_servo_trq_feedback_{i}'])) del data[0][f"axis{i + 1}"][0] data[0][f"axis{i + 1}"].append(_) - _df = pd.DataFrame(data[0]) - while True: - if not hr.durable_lock: - hr.durable_lock = 1 - _df.to_excel(durable_data_current_xlsx, index=False) - hr.durable_lock = 0 - break - else: - sleep(1) - - _df = pd.DataFrame(_d2d_vel) + _df_1 = pd.DataFrame(data[0]) + # ========= for vel ========= + _df_2 = pd.DataFrame(_d2d_vel) for i in range(6): - _ = sqrt(100*_df[f'hw_joint_vel_feedback_{i}'].apply(lambda x: (rcs[i]*x/10000)**2).sum()/len(_df[f'hw_joint_vel_feedback_{i}'])) + _ = sqrt(100*_df_2[f'hw_joint_vel_feedback_{i}'].apply(lambda x: (rcs[i]*x/10000)**2).sum()/len(_df[f'hw_joint_vel_feedback_{i}'])) del data[1][f"axis{i + 1}"][0] data[1][f"axis{i + 1}"].append(_) - _df = pd.DataFrame(data[1]) + _df_2 = pd.DataFrame(data[1]) + while True: if not hr.durable_lock: hr.durable_lock = 1 - _df.to_excel(durable_data_velocity_xlsx, index=False) + _df_1.to_excel(durable_data_current_xlsx, index=False) + _df_2.to_excel(durable_data_velocity_xlsx, index=False) hr.durable_lock = 0 break else: sleep(1) + global count + count += 1 + this_time = strftime("%Y-%m-%d %H:%M:%S", localtime(time())) + next_time = strftime("%Y-%m-%d %H:%M:%S", localtime(time()+wait_time+10+scenario_time)).split()[-1] + w2t(f"[{this_time}] 当前次数:{count:09d} | 预计下次数据更新时间:{next_time}", 0, 0, '#008B8B', tab_name) break else: with open(f'{path}\\device_servo_trq_feedback_0.txt', 'w', encoding='utf-8') as f_obj: