# psisimulator **Repository Path**: lemon254/psisimulator ## Basic Information - **Project Name**: psisimulator - **Description**: 模拟psi压力扫描阀 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-06-24 - **Last Updated**: 2026-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PSI Simulator PSI Simulator 是一款用于模拟 PSI (Pressure Sensor Instrument) 设备的桌面应用程序。它通过 socket 通信模拟真实的压力传感器仪器,支持通道数据流、命令处理、EU 转换等功能,常用于开发和测试上位机软件。 ## 功能特性 - **设备模拟**:完整模拟 PSI 系列压力传感器设备的通信协议 - **多通道支持**:支持最多 16 个通道的数据采集和流式传输 - **协议支持**:支持 EU 转换、系数读写、精度/高速读取等命令 - **实时波形**:实时显示各通道的波形数据 - **调试工具**:内置十六进制数据查看器、命令预设、流量监控等调试功能 - **参数配置**:支持自定义通道配置、增益、偏移、滤波等参数 ## 项目结构 ``` psisimulator/ ├── app/ # GUI 应用程序 │ ├── psi_studio.py # 主程序入口 │ ├── debug_panel.py # 调试面板 │ └── client_dialog.py # 客户端调试对话框 ├── client/ # 客户端协议 │ ├── protocol.py # 通信协议实现 │ └── wave_canvas.py # 波形绘制组件 ├── shared/ # 共享模块 │ ├── signal_engine.py # 信号引擎 │ ├── device_state.py # 设备状态 │ ├── waveforms.py # 波形生成 │ ├── command_help.py # 命令帮助 │ └── constants.py # 常量定义 ├── simulator/ # 模拟器核心 │ ├── psisimulator.py # PSI 会话处理 │ └── server.py # 服务器实现 └── build/ # 构建脚本 ├── build_win.bat ├── build_mac.sh └── build_linux.sh ``` ## 环境要求 - Python 3.8+ - tkinter (Python 内置) - 无需额外依赖,纯标准库实现 ## 安装 克隆项目到本地: ```bash git clone https://gitee.com/lemon254/psisimulator.git cd psisimulator ``` ## 使用方法 ### 启动模拟器 **Windows:** ```bash run_studio.bat ``` **Linux/macOS:** ```bash python app/psi_studio.py # 或 chmod +x build/build_mac.sh && ./build/build_mac.sh ``` ### 主界面功能 1. **启动/停止模拟器**:点击工具栏按钮或使用快捷键控制服务器运行 2. **调试面板**:查看通信流量、十六进制数据、通道状态 3. **波形显示**:实时显示各通道的采集数据 4. **通道配置**:双击通道可编辑增益、偏移、滤波等参数 ### 客户端连接 模拟器默认监听 `127.0.0.1:9000`,可使用支持 socket 通信的上位机软件连接。 ### 支持的命令 | 命令 | 说明 | |------|------| | `*IDN?` | 查询设备标识 | | `STAT?` | 查询状态 | | `EUCONV` | 设置 EU 转换模式 | | `RDPRC` | 读取精度值 | | `RDSCL` | 读取标定值 | | `RDHS` | 读取高速值 | | `CAL?` | 读取系数 | | `DWNLD` | 下载系数 | | `STREAM` | 配置数据流 | | `START` | 启动流传输 | | `STOP` | 停止流传输 | ## 配置 编辑 `shared/constants.py` 可修改默认配置: - `NUM_CHANNELS`:通道数量 - `DEFAULT_PORT`:默认监听端口 - `DEFAULT_MODEL`:默认设备型号 ## 许可证 MIT License - 请参阅 LICENSE 文件 ## 贡献 欢迎提交 Issue 和 Pull Request!