SuperCom

SuperCom

开源项目 开源工具包

超级串口调试工具,适合长时间串口日志采集、SQLite存储和可视化分析,支持插件扩展。

核心特性

  • 长时间日志采集
  • SQLite存储
  • 可视化分析
  • 插件扩展

产品介绍

SuperCom 功能详细介绍

概述

SuperCom 是一款超级串口调试工具,由 SuperStudio 团队开发 (GitHub: https://github.com/SuperStudio/SuperCom)。定位于长时间串口日志采集、SQLite 本地存储、可视化分析、多协议解析、插件扩展的工业级上位机。基于 C# WPF (.NET Framework 4.7.2) + AvalonEdit 语法高亮编辑器,遵循 GPL-3.0 许可证 (强 Copyleft)。

  • 当前版本:v4.6 (v4.5 起更名 SuperConnectX,架构重构)
  • 运行框架:.NET Framework 4.7.2 (WPF)
  • 部署方式
  • 安装包:`Installer\setup.exe` (含卸载、开始菜单、文件关联)
  • 绿色版:`SuperCom.exe` + 同目录 DLL + `x64`/`x86` 运行时库 + `AvalonEdit`/`plugins` 目录
  • 数据存储:SQLite (`user_data.sqlite`)、日志目录 (`logs/`/`app_logs/`/`monitor_data/`/`backup/`)
  • 配置文件:`app_config.json`、`superupdate.ini`、插件配置

核心功能模块

1. 多会话串口监控

  • 多端口同时监听:标签页/停靠窗口 (AvalonDock) 管理 N 个 COM 口
  • 参数配置:波特率 (自定义)、数据位/停止位/校验/流控、读取超时/缓冲区大小
  • 编码支持:HEX / ASCII / UTF-8 / GB2312 / 自定义 CodePage
  • 时间戳:精度 μs、绝对/相对/会话起始、高精度 `Stopwatch`
  • 自动重连:拔插/断电检测 → 指数退避重连、状态栏指示

2. 长期日志采集与 SQLite 存储 (核心差异化)

  • 全量入库:每帧数据实时 `INSERT` SQLite (WAL 模式、批量事务、索引优化)
  • 分表策略:按天/按会话/按设备自动分表 (`logs_YYYYMMDD`、`session_`)
  • 存储字段:`Id, Timestamp, Port, Direction(TX/RX), RawData(BLOB), ParsedText, Length, Checksum, Flags`
  • 容量管理
  • 最大库大小 (默认 10GB) → 自动归档最旧分表到 `backup/` (压缩 `.sqlite.gz`)
  • 保留天数 (默认 365 天) → 自动清理
  • 磁盘空间低于 1GB → 暂停写入、报警、不丢失内存队列
  • 查询界面
  • SQL 编辑器 (AvalonEdit 高亮/智能提示/执行计划)
  • 可视化查询构建器 (时间范围/端口/方向/关键字/长度范围)
  • 结果网格 (虚拟化、导出 CSV/Excel/JSON/Parquet)

3. 协议解析与插件系统

  • 内置协议:Modbus RTU/ASCII/TCP、DL/T645、自定义帧 (帧头/长度/校验/帧尾)
  • 插件架构 (`plugins/` 目录,`check_plugins/` 验证):
  • 接口:`IProtocolPlugin` (识别/解析/构造/导出)、`IExportPlugin`、`IUIExtensionPlugin`
  • 热加载:运行时扫描 `plugins/*.dll`、依赖隔离 (AssemblyLoadContext)
  • 示例插件:Modbus 解析器、自定义协议向导、CSV/InfluxDB 导出、报警脚本
  • 解析结果视图:原始/解析双栏同步高亮、字段树展开、错误帧标红、统计饼图

4. 可视化分析面板

图表类型 交互
通信统计 DevExpress Charts / 自绘 帧率/吞吐/错误率/校验失败率/重连次数 时间序列
协议分布 饼图/柱状图 功能码/设备ID/错误类型 占比
热力图 自绘 时段×端口×帧率/错误率 矩阵

5. 发送与自动化

  • 发送队列:多条命令排队、优先级、延时、重试
  • 脚本引擎:C# Script (Roslyn) / Lua (MoonSharp) / Python (IronPython) —— 编辑器 AvalonEdit 高亮
  • 触发器
  • 时间触发 (Cron 表达式)
  • 数据触发 (收到特定帧/字段值满足条件)
  • 外部触发 (HTTP/WebSocket/文件系统/命名管道)
  • 宏录制/回放:录制操作序列 → 导出脚本 → 参数化回放

6. 终端模拟与文本协议

  • VT100/ANSI/xterm-256color 终端模拟器 (AvalonEdit 适配)
  • Telnet/SSH 客户端 (Renci.SshNet 集成)
  • 文本协议模板:AT 指令集、Modbus ASCII、自定义请求/响应正则

7. 团队协作与同步 (v4.5+ SuperConnectX)

  • 会话共享:WebRTC/DataChannel 低延迟同步多端日志
  • 中央服务器:可选部署 `SuperCom.Server` (SignalR + SQLite/PostgreSQL)
  • 权限控制:只读/读写/管理员、审计日志

目录结构 (绿色版)


SuperCom/
├─ SuperCom.exe              # 主程序
├─ SuperCom.exe.config       # .NET 配置
├─ app_config.json           # 应用配置 (窗口/主题/默认参数/插件启用)
├─ superupdate.ini           # 自动更新配置
├─ user_data.sqlite          # 主数据库 (日志/配置/会话)
├─ AvalonEdit/               # 语法高亮编辑器依赖
├─ x64/ / x86/               # 本地运行时/本地依赖 (如 SQLite.Interop)
├─ plugins/                  # 协议/导出/UI 插件 DLL
├─ logs/                     # 文本日志归档
├─ app_logs/                 # 应用运行日志 (log4net/Serilog)
├─ monitor_data/             # 监控导出缓存
├─ backup/                   # 归档压缩库
└─ Installer/
   └─ setup.exe              # 安装包生成器/引导

依赖与第三方库 (关键)

许可证 用途 风险
AvalonEdit (ICSharpCode.AvalonEdit) MIT 语法高亮编辑器
ScottPlot / LiveCharts2 MIT 图表渲染
log4net / Serilog Apache-2.0 日志
Newtonsoft.Json MIT 配置/协议 JSON
Renci.SshNet BSD-3-Clause SSH 终端
MoonSharp / IronPython (可选) MIT / Apache-2.0 脚本引擎
SuperControls.Style / SuperUtils (自研) GPL-3.0 (随主程序) UI 控件库/工具类 GPL-3.0 传染
核心风险:主程序 GPL-3.0,自研控件库 `SuperControls.Style.dll` / `SuperUtils.dll` 同为 GPL-3.0,整体构成单一 GPL-3.0 作品

部署与运行

安装包


Installer\setup.exe
# 向导:目录、快捷方式、文件关联 (.scom/.sclog)、自动更新注册

绿色版


# 解压发布包到任意目录
SuperCom.exe
# 首次运行初始化 SQLite、创建目录、加载插件

配置要点 (`app_config.json`)


{
  "DefaultPortSettings": { "BaudRate": 115200, "DataBits": 8, "Parity": "None", "StopBits": "One" },
  "Database": { "MaxSizeGB": 10, "RetentionDays": 365, "WALMode": true },
  "Plugins": { "AutoLoad": true, "Directory": "plugins" },
  "UI": { "Theme": "Dark", "Language": "zh-CN", "FontFamily": "Consolas", "FontSize": 10 }
}

适用场景

场景 优势
多设备并发监控/对比 多标签页/停靠布局、统一时间轴、统计看板
协议逆向/自定义协议开发 插件化解析、AvalonEdit 脚本编辑、实时波形验证
现场运维/远程协作 绿色版 U 盘携带、会话共享 (SuperConnectX)、审计追踪
自动化测试/压测 脚本引擎、触发器、宏回放、报告生成

产品明细图

SuperCom

详细使用教程

SuperCom 详细使用教程

概述

SuperCom 是一款超级串口调试工具,由 SuperStudio 团队开发(GitHub: https://github.com/SuperStudio/SuperCom),当前版本 4.6。定位为长时间串口日志采集、SQLite 本地存储、可视化分析的工业级上位机。基于 C# WPF (.NET Framework 4.7.2) + AvalonEdit 语法高亮编辑器。遵循 GPL-3.0 许可证。

  • 运行方式:绿色版双击 `SuperCom.exe` 即可;安装版运行 `Installer\setup.exe`
  • 运行框架:.NET Framework 4.7.2 (WPF)
  • 数据存储:SQLite (`user_data.sqlite`)
  • 目录结构:包含 `app_config.json`、`superupdate.ini`、`plugins/`、`x64/`、`x86/`、`logs/`、`backup/` 等

快速开始

1. 绿色版启动


# 确保 x64/x86 目录和 DLL 文件完整
cd D:\工业协议\工业工控\可直接运行工具包\SuperCom
SuperCom.exe

首次运行自动初始化 SQLite 数据库、创建必要目录、加载插件。

2. 安装版启动


Installer\setup.exe
# 向导安装后,从开始菜单或桌面快捷方式运行

3. 连接串口

  1. 启动程序后,在主界面选择 "多会话串口监控"
  2. 添加新标签页,选择目标 COM 口
  3. 配置波特率、数据位、停止位、校验、流控
  4. 点击 "打开" 开始监听

核心功能详解

多会话串口监控

  • 多端口同时监听:标签页 / 停靠窗口管理 N 个 COM 口
  • 参数配置:波特率(自定义)、数据位/停止位/校验/流控、读取超时/缓冲区大小
  • 编码支持:HEX / ASCII / UTF-8 / GB2312 / 自定义 CodePage
  • 时间戳:精度 μs、绝对/相对/会话起始
  • 自动重连:拔插/断电检测 → 指数退避重连

长期日志采集与 SQLite 存储

  • 全量入库:每帧数据实时 INSERT SQLite(WAL 模式、批量事务、索引优化)
  • 分表策略:按天/按会话/按设备自动分表(`logs_YYYYMMDD`、`session_`)
  • 容量管理
  • 最大库大小默认 10GB → 自动归档最旧分表到 `backup/`(压缩 `.sqlite.gz`)
  • 保留天数默认 365 天 → 自动清理
  • 磁盘空间低于 1GB → 暂停写入、报警

SQL 查询界面

  1. 点击 "查询" 面板
  2. 使用 AvalonEdit 高亮编辑器输入 SQL
  3. 支持可视化查询构建器(时间范围/端口/方向/关键字/长度范围)
  4. 结果网格支持虚拟化、导出 CSV/Excel/JSON/Parquet

协议解析与插件系统

  • 内置协议:Modbus RTU/ASCII/TCP、DL/T645、自定义帧(帧头/长度/校验/帧尾)
  • 插件架构:`plugins/` 目录,`check_plugins/` 验证
  • 接口:`IProtocolPlugin`、`IExportPlugin`、`IUIExtensionPlugin`
  • 热加载:运行时扫描 `plugins/*.dll`
  • 示例插件:Modbus 解析器、CSV/InfluxDB 导出、报警脚本

可视化分析面板

图表类型 交互
通信统计 帧率/吞吐/错误率/校验失败率时间序列
协议分布 饼图/柱状图
热力图 时段×端口×帧率/错误率矩阵

发送与自动化

发送队列

  • 多条命令排队、优先级、延时、重试

脚本引擎

  • 支持 C# Script (Roslyn) / Lua (MoonSharp) / Python (IronPython)
  • AvalonEdit 高亮编辑器

触发器

  • 时间触发:Cron 表达式
  • 数据触发:收到特定帧/字段值满足条件
  • 外部触发:HTTP/WebSocket/文件系统/命名管道

宏录制/回放

  1. 点击 "开始录制"
  2. 执行操作序列
  3. 点击 "停止录制"
  4. 导出脚本或直接回放

终端模拟

  • VT100/ANSI/xterm-256color 终端模拟器(AvalonEdit 适配)
  • Telnet/SSH 客户端(Renci.SshNet 集成)
  • 文本协议模板:AT 指令集、Modbus ASCII、自定义请求/响应正则

配置说明

app_config.json 主要配置


{
  "DefaultPortSettings": { "BaudRate": 115200, "DataBits": 8, "Parity": "None", "StopBits": "One" },
  "Database": { "MaxSizeGB": 10, "RetentionDays": 365, "WALMode": true },
  "Plugins": { "AutoLoad": true, "Directory": "plugins" },
  "UI": { "Theme": "Dark", "Language": "zh-CN", "FontFamily": "Consolas", "FontSize": 10 }
}

superupdate.ini 更新配置


BeforeUpdateDelay=5
AfterUpdateDelay=1
UpDateFileDir=TEMP
AppName=SuperCom.exe

配置文件说明

文件 说明
`superupdate.ini` 自动更新配置
`user_data.sqlite` 主数据库(日志/配置/会话)
`writereg.reg` 注册表写入配置

目录结构


SuperCom/
├─ SuperCom.exe              # 主程序
├─ app_config.json           # 应用配置
├─ superupdate.ini           # 自动更新配置
├─ user_data.sqlite          # 主数据库
├─ AvalonEdit/               # 语法高亮编辑器依赖
├─ x64/ / x86/               # 本地运行时库
├─ plugins/                  # 插件 DLL
├─ logs/                     # 文本日志归档
├─ app_logs/                 # 应用运行日志
├─ monitor_data/             # 监控导出缓存
├─ backup/                   # 归档压缩库
└─ Installer/
   └─ setup.exe              # 安装程序

键盘快捷键

快捷键 功能
`Ctrl+Shift+T` 新建标签页
`Ctrl+S` 发送数据
`Ctrl+L` 清空接收区
`Ctrl+F` 搜索/过滤
`Ctrl+Q` 退出程序
`F1` 帮助文档
`F5` 刷新串口列表
`Ctrl+Shift+S` 保存会话

常用操作流程

场景一:生产线长期串口日志采集

  1. 绿色版部署到工控机,确保 `x64/` 目录和 DLL 完整
  2. 配置 `app_config.json` 设置数据库容量和保留天数
  3. 连接目标设备串口,打开监控
  4. 程序自动将所有数据写入 SQLite
  5. 定期使用 SQL 查询面板分析历史数据
  6. 数据超过保留期限后自动归档到 `backup/`

场景二:协议逆向分析

  1. 连接目标设备串口
  2. 使用 AvalonEdit 编辑器编写脚本
  3. 捕获收发数据,观察原始/解析双栏同步
  4. 利用插件系统加载自定义协议解析器
  5. 导出分析结果为 CSV/JSON

场景三:自动化测试

  1. 编写 C#/Lua 脚本定义测试流程
  2. 配置触发器(时间/数据条件)
  3. 启动录制宏
  4. 观察实时波形和统计面板
  5. 生成测试报告

故障排查

现象 可能原因 解决方案
数据库异常 SQLite 损坏/磁盘空间不足 检查 `backup/` 目录,清理空间,使用备份恢复
插件加载失败 DLL 依赖缺失/版本不匹配 检查 `check_plugins/` 目录,重新安装插件
连接断开 串口设备异常/驱动问题 检查设备连接,查看 `app_logs/` 运行日志
日志写入停止 磁盘空间低于 1GB 清理磁盘或修改 `MaxSizeGB` 配置
更新失败 网络不通/权限不足 检查 `superupdate.ini` 配置,以管理员运行

注意事项

  1. 运行依赖:必须保留 `x64/` 和 `x86/` 目录及所有 DLL 文件
  2. 版本说明:v4.5 后作者推荐后继项目 SuperConnectX
  3. 磁盘空间:确保充足空间用于 SQLite 数据库和日志归档

技术栈

C# SQLite AvalonEdit

相关产品

×