佳腾微丝包装
Go to file
2025-06-30 20:46:56 +08:00
apis feat: 更新托盘号和订单信息处理逻辑,优化API接口调用,调整数据库查询和写入逻辑,已完成 api 接口调用部分 2025-06-25 14:56:04 +08:00
camera feat: 更新相机控制库加载逻辑 2025-06-28 13:02:34 +08:00
config feat: 修复扫码器 BUG 2025-06-30 17:35:19 +08:00
dao feat: 完善相机 2025-06-30 19:40:02 +08:00
db feat: 更新电力监控配置,禁用自动启动功能;优化主窗口和串口设置界面,增强用户交互体验;修复部分代码格式和逻辑问题。 2025-06-30 15:52:10 +08:00
tests feat: 如果开启 api 接口,那么就推送数据 2025-06-18 15:48:13 +08:00
ui feat: 正常打开相机 2025-06-30 20:46:56 +08:00
utils feat: 正常打开相机 2025-06-30 20:46:56 +08:00
widgets feat: 正常打开相机 2025-06-30 20:46:56 +08:00
.gitignore 删除__pycache__文件夹并更新.gitignore以忽略这些目录 2025-06-16 09:10:36 +08:00
from pymodbus.py feat: 新增急停信号 2025-06-30 11:19:07 +08:00
main.py feat:修正一些错误逻辑 2025-06-26 18:26:22 +08:00
modbus_server.py 添加托盘类型配置表和相关UI功能,更新主窗口以支持托盘类型选择,增强设置界面以管理托盘类型,修改配置文件以包含Modbus设置。 2025-06-10 16:13:22 +08:00
README.md 新增 readme 2025-06-28 15:01:36 +08:00
requirements.txt feat: 新增依赖 2025-06-28 15:04:53 +08:00
test_keyboard.py 更新配置文件以支持串口功能,修改主窗口以初始化串口管理器并处理设置变更 2025-06-12 17:29:35 +08:00

腾智微丝产线包装系统

项目架构分析

这是一个基于PySide6Qt for Python开发的腾智微丝产线包装系统采用了典型的MVC模型-视图-控制器)架构:

  1. 模型层Model

    • 使用DAO数据访问对象模式访问数据库
    • 支持多种数据库SQLite、PostgreSQL、MySQL
    • 主要数据表包括用户表、检验配置表、检验数据表、电力消耗表等
  2. 视图层View

    • 使用PySide6构建UI界面
    • 主要界面包括登录界面、主窗口、设置界面等
    • 采用分离的UI类设计如LoginUI、MainWindowUI等
  3. 控制器层Controller

    • 主要控制逻辑在widgets目录下的类中实现
    • 使用信号槽机制进行组件间通信
    • 采用单例模式管理全局资源
  4. 工具层Utils

    • 提供各种工具类如配置加载器、Modbus通信、串口管理等
    • 采用单例模式确保资源共享

技术栈

  1. 前端技术

    • PySide6Qt for Python用于GUI开发
    • 使用Qt的信号槽机制实现组件间通信
  2. 后端技术

    • Python作为主要开发语言
    • SQLite作为默认数据库支持PostgreSQL和MySQL
    • Modbus协议用于与设备通信
    • 多线程处理耗时操作
  3. 通信技术

    • Modbus TCP用于与PLC设备通信
    • 串口通信用于与称重设备、条码扫描器等外设通信
  4. 设计模式

    • 单例模式(配置加载器、监控器等)
    • DAO模式数据访问
    • 观察者模式(信号槽)
    • 工厂模式(数据库连接)

代码结构

  1. 主要目录

    • widgets/:包含所有窗口控制器类
    • ui/包含所有UI定义类
    • utils/:包含工具类
    • dao/:包含数据访问对象
    • db/:包含数据库文件
    • config/:包含配置文件
    • logs/:包含日志文件
  2. 核心文件

    • main.py:程序入口点
    • widgets/login_widget.py:登录窗口控制器
    • widgets/main_window.py:主窗口控制器
    • utils/config_loader.py:配置加载器
    • utils/modbus_utils.pyModbus通信工具
    • utils/sql_utils.py:数据库工具
  3. 应用流程

    • 程序启动后初始化日志系统
    • 加载配置文件
    • 显示登录窗口
    • 验证登录后显示主窗口
    • 主窗口中进行产线包装系统的操作

功能特点

  1. 用户认证:支持用户登录和权限控制
  2. 产线监控:实时监控产线状态、电力消耗等
  3. 数据采集:采集称重数据、检验数据等
  4. 报表生成:生成各类统计报表
  5. 设备通信与PLC、称重设备等通信
  6. 多模式支持:支持单机模式和接口模式

运行环境

  • Python 3.7+
  • PySide6
  • 支持的数据库SQLite、PostgreSQL、MySQL
  • 操作系统Windows、macOS、Linux

安装与配置

  1. 安装依赖:

    pip install -r requirements.txt
    
  2. 配置数据库:

    • 默认使用SQLite数据库位于db/jtDB.db
    • 可在config/app_config.json中配置其他数据库
  3. 运行程序:

    python main.py
    

开发与扩展

系统采用模块化设计,可以方便地进行功能扩展:

  1. 添加新的数据源:扩展utils/sql_utils.py
  2. 添加新的设备通信协议:参考utils/modbus_utils.py
  3. 添加新的UI界面ui/目录下创建新的UI类widgets/目录下创建对应的控制器类