景兴故障测点

xiangrifeng a01bd0cbda 优化问题测点查询逻辑 3 miesięcy temu
README.md 12e0b981bf 调整了readme.md 3 miesięcy temu
README_CENTOS.md 12e0b981bf 调整了readme.md 3 miesięcy temu
deploy_centos.sh 12e0b981bf 调整了readme.md 3 miesięcy temu
parse_file.py 12e0b981bf 调整了readme.md 3 miesięcy temu
query_device_filter.py a01bd0cbda 优化问题测点查询逻辑 3 miesięcy temu
requirements.txt 12e0b981bf 调整了readme.md 3 miesięcy temu
test_db_connection.py bbe3a4222e 首次提交 3 miesięcy temu
景兴故障测点筛选.txt 12e0b981bf 调整了readme.md 3 miesięcy temu

README.md

景兴故障测点筛选工具

本项目包含两个主要工具,用于处理振动数据和筛选故障测点。

功能模块

1. 振动数据文件解析工具 (parse_file.py)

用于解析振动数据文件,支持从FDFS下载文件或从本地文件系统读取,解析数据并计算不对称性。

主要功能:

  • 解析FDFS文件路径或本地文件
  • 支持JSON格式和压缩格式的数据解析
  • 计算振动数据的不对称性(abs正、abs负)

2. 设备和通道筛选工具 (query_device_filter.py)

用于从数据库中查询和筛选符合条件的设备和通道组合,筛选出故障测点。

筛选条件:

  • task_id = 2
  • 对于每个device_id和channel_no的组合,取最新的10条记录(按generate_time)
  • 如果这10个value值中有超过3个值大于20,则记录该(device_id, channel_no)组合
  • 解析每个通道最近10条文件记录,计算不对称性

输出结果:

  • 符合条件的设备ID、设备名称
  • 通道号、通道名称
  • 最近10条文件记录及其不对称性数据
  • 结果保存到带时间戳的文本文件中

环境要求

  • Python 3.8.3 或更高版本
  • 支持 Windows 和 Linux (CentOS 7.9) 系统
  • MySQL数据库连接

安装依赖

Windows 环境

pip install -r requirements.txt

CentOS 7.9 环境

详细部署说明请参考 README_CENTOS.md

快速部署(使用脚本):

chmod +x deploy_centos.sh
./deploy_centos.sh

或手动安装:

python3 -m pip install -r requirements.txt --user

使用方法

解析振动数据文件

python parse_file.py <file_name>

示例:

# FDFS路径
python parse_file.py group1/M00/4C/AD/wKgUZWlQzpKAcUtmAA03b1suhI44618492

# 本地文件路径
python parse_file.py /home/soft/data/fdfs/storage/data/4C/AD/wKgUZWlQzpKAcUtmAA03b1suhI44618492

输出内容:

  • 解析后的数据(JSON格式)
  • 数据类型和基本信息
  • 不对称性计算结果(abs正、abs负)

查询和筛选故障测点

python query_device_filter.py

输出内容:

  • 符合条件的设备ID和通道组合列表
  • 每个组合的设备名称和通道名称
  • 最近10条文件记录及其不对称性数据
  • 结果会自动保存到 query_result_YYYYMMDD_HHMMSS.txt 文件中

数据库配置

  • 主机: 127.0.0.1
  • 端口: 3306
  • 用户名: prod
  • 密码: hmdmxjIvfIjIoflL
  • 数据库: iot

依赖项

  • pymysql==1.0.2 - MySQL数据库连接

文件说明

  • parse_file.py - 振动数据文件解析工具
  • query_device_filter.py - 设备和通道筛选工具
  • requirements.txt - Python依赖包列表
  • deploy_centos.sh - CentOS 7.9 部署脚本
  • README_CENTOS.md - CentOS 7.9 详细部署说明
  • iot.sql - 数据库表结构(如适用)

注意事项

  1. 文件路径:parse_file.py 支持FDFS路径和本地路径,本地路径需要正确配置FDFS存储路径映射
  2. 数据库连接:确保数据库服务正常运行且网络可达
  3. 编码设置:脚本会自动处理Windows和Linux环境下的编码问题
  4. 结果文件:query_device_filter.py 会在当前目录生成带时间戳的结果文件

故障排查

数据库连接问题

如果出现数据库连接失败:

  • 检查数据库服务是否运行
  • 检查网络连通性:ping 127.0.0.1
  • 检查端口是否开放:telnet 127.0.0.1 3306nc -zv 127.0.0.1 3306
  • 验证数据库用户名和密码是否正确

模块未找到错误

如果提示 ModuleNotFoundError: No module named 'pymysql'

pip install pymysql==1.0.2
# 或
python3 -m pip install pymysql==1.0.2 --user

文件解析错误

  • 确保文件路径正确
  • 检查文件是否存在
  • 验证文件格式是否正确(支持JSON格式或zlib压缩格式)