SEW减速机参数查询 2-2 实践

首先说说结论:在不和SEW官方取得沟通之前,你几乎无法直接通过查阅SEW官方文档得到相关减速机的所有技术参数:比如轴的模数和齿数,轴承的参数。我在周一耗费了一个上午,最终和SEW方面确认后才知晓相关技术参数需要凭借销售合同查询。不过,也把我做的搜集和尝试列在后面。

前面的参数查询里,漏掉了一种减速机,就是行星齿轮减速机。这个产品的故障频点需要另行分析。

1.一个失败的尝试 

案例一 Gear reducer 32.38:1 ST77DT100L4-KS 二手价 290刀
这个减速机是在bing.com上搜索"SEW gearbox ratio 35.5 tag",随机找到一个铭牌:
 

注意sn = 890036862.08.07.001

1.1 SEW资料库的资料全集:

首先在SEW资料库里找到,因为有序列号。

https://www.sew-eurodrive.cn/os/dud/?tab=productdata&country=CN&language=zh_cn1

1.1.1 产品参数:

从产品参数页面可以知道:

  • 变速比32.38
  • 460V/60Hz的电压是美标电机
Catalog designationST77DT100L4-KS
Product data 
Serial number                       890036862.08.07.001
Gear ratio                          32.38
Output speed                        52
Mounting position                   M4B
Shaft diameter                      NP-NS
Terminal box position               0
Cable entry at terminal box         X
Output torque (lb-in)               5375
Service factor                      1.7
Motor power                         5
Motor voltage                       230YY/460Y
Frequency                           60
Wiring diagram                      DT79
Rated current                       13.6/6.8
KVA Code                            G
Thermal class                       F
Other                               CB@0, CE X, Bore Size=1 5/8  
Weight on request

2.原始资料搜集和故障频点计算.py程序(片段)

频点计算部分可以自动进行。我现在的做法是使用.json搜集相关信息,然后使用python自动计算,请参见附录A,附录B.

最终我们需要计算出相关的故障频点有多少,分别隶属于哪根轴,哪个齿轮,那个轴承。在故障发生后,还需要反向查询这个故障频点表,来搜索出可能出问题的故障源。这个过程,无需人工参与,是可以自动计算的。

附录A 机械设备相关振动配置信息搜集(.json)

仅仅是一个示例

{"author": "fengxh","desc": "产品的一级参数录入,注意不要混入任何可以自动计算的结果","json_format": "1.0","created": "Apr16,2024","last_modify": "Apr16,2024","CAD_file": "xxxxx.pdf","unit": {"engine": {"type": "xxxx","manualfacture": "xxxx","PinKw": 30,"type_rpm": 730},"gearbox": {"type": "xxxxx","ratio": 75.577,"shaft_in": {"desc": "变速箱输入轴","memo": "输入轴 - 一个外齿轮,一个输入大齿轮,一个输出小齿轮,2个轴承","gear": [{"type": -1,"memo": "外齿轮","module": -1,"tooth": -1},{"type": -1,"memo": "输入大齿轮","module": -1,"tooth": -1},{"type": -1,"memo": "输出小齿轮","module": -1,"tooth": -1}],"bearing": [{"type": -1,"memo": "动力端轴承","outer_edge_D_in_mm": -1,"inter_edge_D_in_mm": -1,"ball_D_in_mm": -1,"ball_cnts": -1},{"type": -1,"memo": "随动轴承","outer_edge_D_in_mm": -1,"inter_edge_D_in_mm": -1,"ball_D_in_mm": -1,"ball_cnts": -1}]},"shaft_inter": [{"sn": 1,"desc": "变速箱二级输入轴","memo": "中间轴 - 一个输入大齿轮,一个输出小齿轮,2个轴承","gear": [{"type": -1,"memo": "输入大齿轮","module": -1,"tooth": -1},{"type": -1,"memo": "输出小齿轮","module": -1,"tooth": -1}],"bearing": [{"type": -1,"memo": "动力端轴承","outer_edge_D_in_mm": -1,"inter_edge_D_in_mm": -1,"ball_D_in_mm": -1,"ball_cnts": -1},{"type": -1,"memo": "随动轴承","outer_edge_D_in_mm": -1,"inter_edge_D_in_mm": -1,"ball_D_in_mm": -1,"ball_cnts": -1}]},{"sn": 2,"desc": "变速箱三级输入轴","memo": "中间轴 - 一个输入大齿轮,一个输出小齿轮,2个轴承","gear": [{"type": -1,"memo": "输入大齿轮","module": -1,"tooth": -1},{"type": -1,"memo": "输出小齿轮","module": -1,"tooth": -1}],"bearing": [{"type": -1,"memo": "动力端轴承","outer_edge_D_in_mm": -1,"inter_edge_D_in_mm": -1,"ball_D_in_mm": -1,"ball_cnts": -1},{"type": -1,"memo": "随动轴承","outer_edge_D_in_mm": -1,"inter_edge_D_in_mm": -1,"ball_D_in_mm": -1,"ball_cnts": -1}]}],"shaft_out": {"desc": "变速箱输出轴","memo": "输出轴 - 一个输入齿轮,2个轴承","gear": [{"type": -1,"memo": "输入大齿轮","module": -1,"tooth": -1}],"bearing": [{"type": -1,"memo": "动力端轴承","outer_edge_D_in_mm": -1,"inter_edge_D_in_mm": -1,"ball_D_in_mm": -1,"ball_cnts": -1},{"type": -1,"memo": "随动轴承","outer_edge_D_in_mm": -1,"inter_edge_D_in_mm": -1,"ball_D_in_mm": -1,"ball_cnts": -1}]}},"final_output": {"name": "齿轮齿条摇架","gear": [{"type": -1,"memo": "输入外齿轮","module": 20,"module_scale": "mm","tooth": 16},{"type": -1,"memo": "齿条","module": 20,"module_scale": "mm","length": 4631}]},"smooth_oil": {"desc": "润滑液","std_tempeature": -1,"deadline_tempeature": -1}}
}

附录B 故障频点自动解析程序(.py)

并不完整,仅显示部分逻辑。可以逆推处理的方法。

''''
''''class GpGearDesc:def __init__(self, module, tooth, ratioOfShaft):self.module = moduleself.tooth = toothself.ratioOfShaft = ratioOfShaftself.ratioOfGear = ratioOfShaft*toothdef __hash__(self):# 返回一个哈希值,通常可以使用内置类型的哈希值,比如元组return hash((self.module, self.tooth))def __eq__(self, other):# 定义相等性判断逻辑return isinstance(other, GpGearDesc) and (self.module == other.module) and (self.tooth == other.tooth)def __str__(self):return str("gear.errFreq:%8.3f, with(shaftRatio=%8.3f, module=%8.3f, tooth=%8.3f" (self.ratioOfGear, self.ratioOfShaft, self.module, self.tooth))def __repr__(self):return f"GpGearDesc('moudle = {self.module}', tooth = {self.tooth})"''''
''''
def getVibrationSensorList_v1(filename):# 读取JSON文件sensor_data={}with open(filename, 'r', encoding='utf-8') as file:sensor_data = json.load(file)# 初始化温振型传感器数量total_temperature_vibration_sensors = 0# 遍历每个单元sensor_location = []for unit in sensor_data["sensors"]:# 获取当前单元的温振型传感器数量unit_temperature_vibration_sensors = sum(unit["sensors"]["温振型"].values())locations =  unit["sensors"]["温振型"].keys();cntOfLocation =  unit["sensors"]["温振型"].values();for loc in unit["sensors"]["温振型"]:for j in np.arange(unit["sensors"]["温振型"][loc]):sensor_location.append(unit["unit"] + "\\" + loc + "\\" + str("%02d" %j))# 将当前单元的数量添加到总数中total_temperature_vibration_sensors += unit_temperature_vibration_sensors# 打印总数print("总温振型传感器数量:", total_temperature_vibration_sensors)     print(sensor_location)return sensor_locationdef doGearsOfShaft(gearsArray, shaftRpm, shaftName, arGear, last_gear_tooth):gearIdx = 1for gear in gearsArray:gearName = str(shaftName+"\\gear\\%d" %gearIdx)gearRpmRatio = shaftRpm;gearTooth = gear["tooth"]gearModule = gear["module"]arGear |= {gearName: GpGearDesc(gearModule, gearTooth, gearRpmRatio)}gearIdx=gearIdx+1last_gear_tooth = gearToothreturn last_gear_toothdef doBearingsOfShaft(bearingArray, shaftRpm, shaftName, arBearing):bearingIdx = 1for bearing in bearingArray:bearingName = str(shaftName +"bearing\\%d" %bearingIdx)outer_edge_D_in_mm = bearing["outer_edge_D_in_mm"]inner_edge_D_in_mm = bearing["inter_edge_D_in_mm"]ball_D_in_mm = bearing["ball_D_in_mm"]ball_cnts = bearing["ball_cnts"]arBearing |= {"bearingName": GpBearingDesc(outer_edge_D_in_mm*1e-3, inner_edge_D_in_mm*1e-3, ball_D_in_mm*1e-3, ball_cnts, shaftRpm)}bearingIdx += 1def getVibrationUnitsOf(arJsonFiles):ret=[]# 遍历每个单元arShaft = {}arGear = {}arBearing = {}for filename in arJsonFiles:# 读取JSON文件sensor_data={}with open(filename, 'r', encoding='utf-8') as file:sensor_data = json.load(file)# 初始化温振型传感器数量total_vibration_units = 0last_gear_tooth = -1for unit in sensor_data["unit"]:if "gearbox" == unit:shaftRpm = 1.0;if("shaft_in" in sensor_data["unit"]["gearbox"].keys()):si = sensor_data["unit"]["gearbox"]["shaft_in"]shaftName = filename + "\\gearbox\\shaft_in";shaftRpm = shaftRpm*si["gear"][0]["tooth"]/si["gear"][1]["tooth"]arShaft |= {shaftName:shaftRpm}last_gear_tooth = doGearsOfShaft(si["gear"], shaftRpm, shaftName, arGear, last_gear_tooth)doBearingsOfShaft(si["bearing"], shaftRpm, shaftName, arBearing)if("shaft_inter"):rpmUpdated = False;for si in sensor_data["unit"]["gearbox"]["shaft_inter"]:if not (rpmUpdated):shaftRpm = shaftRpm*si["gear"][0]["tooth"]/last_gear_toothrpmUpdated = TrueshaftName = filename + "\\gearbox\\shaft_inter";arShaft |= {shaftName:shaftRpm}last_gear_tooth = doGearsOfShaft(si["gear"], shaftRpm, shaftName, arGear, last_gear_tooth)doBearingsOfShaft(si["bearing"], shaftRpm, shaftName, arBearing)if("shaft_out" in sensor_data["unit"]["gearbox"].keys()):si = sensor_data["unit"]["gearbox"]["shaft_out"]shaftRpm = shaftRpm*si["gear"][0]["tooth"]/last_gear_toothshaftName = filename + "\\gearbox\\shaft_out";arShaft |= {shaftName: shaftRpm}last_gear_tooth = doGearsOfShaft(si["gear"], shaftRpm, shaftName, arGear, last_gear_tooth)doBearingsOfShaft(si["bearing"], shaftRpm, shaftName, arBearing)# 打印总数#return (arShaft, arGear, arBearing)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/826175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jenkins的安装和部署

文章目录 概述Jenkins部署项目的流程jenkins的安装启动创建容器进入容器浏览器访问8085端口 Jenkins创建项目创建example项目 概述 Jenkins:是一个开源的、提供友好操作界面的持续集成(CLI)工具,主要用于持续、自动构建的一些定时…

什么是Rust语言?探索安全系统编程的未来

🚀 什么是Rust语言?探索安全系统编程的未来 文章目录 🚀 什么是Rust语言?探索安全系统编程的未来摘要引言正文📘 Rust语言简介🌟 发展历程🎯 Rust的技术意义和优势📦 Rust解决的问题…

GlobalRouting - FastRoute代码框架和功能(三)

文章目录 一、 顶层代码框架和功能(一)、总结(二)、各文件代码的概述:1. FastRoute\\src\\Box.h2. FastRoute\\src\\Coordinate.h3. FastRoute\\src\\DBWrapper.h4. FastRoute\\src\\FastRouteKernel.h5. FastRoute\\src\\Grid.h成员变量成员函数 6. FastRoute\\src…

python零基础入门 (9)-- 模块与包

文章目录 前言1. 什么是模块?1.1 模块的定义和作用1.2 内置模块和第三方模块 2. 如何使用模块?2.1 导入模块2.2 使用模块中的函数和变量 3. 什么是包?3.1 包的定义和作用3.2 包的结构和组织方式 4. 如何创建自定义模块?4.1 创建一…

Conmi的正确答案——ESP32获取MAC地址

ESP-IDF版本&#xff1a;v5.2.1 ESP32芯片型号&#xff1a;ESP32C3&#xff08;4M flash版本&#xff09; ESP支持的MAC地址有&#xff1a; typedef enum {ESP_MAC_WIFI_STA, /**< MAC for WiFi Station (6 bytes) */ESP_MAC_WIFI_SOFTAP, /**< MAC for WiFi Sof…

电商技术揭秘三十:知识产权保护浅析

电商技术揭秘相关系列文章&#xff08;上&#xff09; 相关系列文章&#xff08;中&#xff09; 电商技术揭秘二十&#xff1a;能化供应链管理 电商技术揭秘二十一:智能仓储与物流优化(上) 电商技术揭秘二十二:智能仓储与物流优化(下) 电商技术揭秘二十三&#xff1a;智能…

REACT+PHP课程项目血泪史

PHP php??老师让用php写后端。什么&#xff1f;写惯了java、python。这个看起来像html标签语言的东西写后端是个什么鬼&#xff0c;看起来想落后几千年的原始语言&#xff08;手动滑稽&#xff09;。 大概介绍一下&#xff0c;php主要是后端语言&#xff0c;用来连接数据库…

Day17-Java基础之综合案例

练习一&#xff1a;飞机票 需求: 机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。 按照如下规则计算机票价格&#xff1a;旺季&#xff08;5-10月&#xff09;头等舱9折&#xff0c;经济舱8.5折&#xff0c;淡季&#xff08;11月到来年4月…

deepinV23 Beta3安装cuda

文章目录 下载CUDA安装,以cuda11.6为例运行.run文件安装选项配置环境变量查看cuda版本重启计算机 卸载cuda deepinV23 Beta3对应的debian版本是12&#xff1a; bookworm指的是debian12&#xff0c; sid代表不稳定版。 下载CUDA 官网&#xff1a;https://developer.nvidia.com…

你为什么会成为一名程序员?

在当今数字化时代&#xff0c;程序员这一职业越来越受到人们的关注和追捧。许多人选择成为一名程序员&#xff0c;不仅是因为这个职业的前景广阔&#xff0c;还因为他们对编程和技术的兴趣。那么&#xff0c;选择成为一名程序员的原因究竟是出于兴趣还是职业发展呢&#xff1f;…

中华环保联合会获得国家“绿色制造体系” 第三方评价机构资格

近日&#xff0c;中华环保联合会成功获得工业和信息化部“绿色制造体系”第三方评价机构资格&#xff0c;可为企业、园区及相关机构提供全面的绿色制造体系评价服务&#xff0c;包括绿色工厂、绿色园区、绿色供应链等方面。 “绿色制造体系建设”是由工业和信息化部负责统筹推进…

Python3中的时间应用 (代码)

直接上python3代码 # 对时间类型的转换 from datetime import datetime import localelocale.setlocale(locale.LC_CTYPE, "chinese")# 字符串 -> datetime类型 text "2024年-4月-1日" res datetime.strptime(text, "%Y年-%m月-%d日") pr…

redis异常:OOM command not allowed when used memory > ‘maxmemory‘

redis存储数据太多,内存溢出,导致异常 1.查看redis内存使用情况 登录redis后 info memory2.查看分配给redis的最大内存 config get maxmemory3.处理方式:拓展redis的最大内存 打开redis.conf文件,修改maxmemory 4.删掉键值重启redis后,发现删掉的数据又恢复了? redis根目录…

Midjourney是什么?Midjourney怎么用?怎么注册Midjourney账号?国内怎么使用Midjourney?多人合租Midjourney拼车

Midjourney是什么 OpenAI发布的ChatGPT4引领了聊天机器人的竞争浪潮&#xff0c;随后谷歌推出了自己的AI聊天机器人Bard&#xff0c;紧接着微软推出了Bing Chat&#xff0c;百度也推出了文心一言&#xff0c;这些聊天机器人的推出&#xff0c;标志着对话式AI技术已经达到了一个…

月球地形数据介绍(LOLA)

月球地形数据介绍 LOLA介绍LOLA数据的处理与发布数据类型和格式投影坐标系SIMPLE CYLINDRICALPOLAR STEREOGRAPHIC 数据下载与浏览 LOLA介绍 目前最新的月球地形高程数据来源于美国2009年发射的LRO探测器。 “月球勘测轨道器”(Lunar Reconnaissance Orbiter&#xff0c;LRO)…

7.2 跳跃表(skiplist)

文章目录 前言一、跳跃表——查找操作二、跳跃表——插入操作三、代码演示3.1 输出结果3.2 代码细节 四、总结&#xff1a;参考文献&#xff1a; 前言 本章内容参考海贼宝藏胡船长的数据结构与算法中的第七章——查找算法&#xff0c;侵权删。 查找的时间复杂度能从原来链表的…

getopt函数使用

1. 函数介绍 用来解析命令行参数的。 函数原型 #include <unistd.h>int getopt(int argc, char * const argv[],const char *optstring);第三个参数就是设置解析的参数。 假设 o p t s t r i n g " a b : c : : " optstring "ab:c::" optstring…

BOOT和UBOOT区别与联系

一、定义 1.1 Boot&#xff08;启动&#xff09; 在计算机和嵌入式系统的基本概念中&#xff0c;“boot”是指启动过程&#xff0c;这是一个系统从加电开始直至进入操作系统运行状态的过程。在嵌入式系统中&#xff0c;这个过程通常包括初始化硬件、加载并执行引导加载…

线上真实案例之执行一段逻辑后报错Communications link failure

1.问题发现 在开发某个项目的一个定时任务计算经销商返利的功能时&#xff0c;有一个返利监测的调度&#xff0c;如果某一天返利计算调度失败了&#xff0c;需要重新计算&#xff0c;这个监测的调度就会重新计算某天的数据。 在UAT测试通过&#xff0c;发布生产后&#xff0c…

CSS动画(css、js动画库:各种动画效果)

第一种方法&#xff1a;文字从上到下显示动画&#xff1b; <div class"text-container"><div class"text">文字从上到下显示</div></div><style scoped> /*确保 keyframes 规则在引用它的任何选择器之前定义&#xff0c;以避…