✅ 一、场景流程:
小车进入车间
小车带有 RFID 标签;
入场时,读取 RFID 标签 + 当前时间,作为“入厂时间”;
软件保存该小车的入厂记录。
小车静置熟化
车上物品在车间熟化;
熟化目标时间为 24 小时。(时间可设置)
小车出厂检测(推到操作台)
再次读取 RFID;
查找之前入场记录,比较当前时间;
熟化 < 24 小时 → 红灯,>= 24 小时 → 绿灯。
✅ 二、场景流程图
┌─────────────────────┐ │ 小车到入口 RFID 区域 │ └────────┬────────────┘ ↓ ┌─────────────────────────────┐ │ 是否已有“入场记录”? │ │(如果有,说明上次未清除) │ └───────┬───────────────┬──────┘ │ 否 │ 是 ↓ ↓ ┌──────────────┐ ┌────────────────┐ │ 记录当前时间 │ │ 拒绝入场,红灯(异常) │ └────┬─────────┘ └────────────────┘ ↓ ┌────────────────────────────┐ │ 小车在熟化区等待 ≥ 24 小时 │ └────────┬──────────────────┘ ↓ ┌────────────────────────────┐ │ 小车推至出口 RFID 区域 │ └────────┬──────────────────┘ ↓ ┌────────────────────────────┐ │ 是否存在“入场记录”? │ └───────┬───────────────┬──────┘ │ 是 │ 否 ↓ ↓ ┌────────────────────────────┐ ┌────────────────┐ │ 计算时间差 ≥ 24 小时? │ │ 拒绝出场,亮红灯 │ └────┬───────────────┬──────┘ └────────────────┘ │ 是 │ 否 ↓ ↓ ┌────────────────────┐ ┌──────────────────┐ │ 亮绿灯(放行) │ │ 亮红灯(继续等待) │ │ 清除入场时间记录 │ │ 保留入场时间记录 │ └────────────────────┘ └──────────────────┘
✅ 三、控制方案
| 对比项 | 方案A:WinForms + RFID + USB继电器 | 方案B:PLC 控制 + RFID + IO模块 |
|---|---|---|
| 主控系统 | 工业PC运行 WinForms 软件 | PLC 程序作为主控 |
| 开发语言 | C# (.NET WinForms) | PLC 编程语言(如梯形图、ST等) |
| 控制接口 | USB 控制继电器模块(通过指令控制) | PLC IO 点控制红绿灯(继电器输出) |
| RFID读取 | USB串口读头,数据传给软件处理 | RFID模块需支持PLC通讯(如Modbus、Profibus) |
| 时间判断 | Windows 系统中使用 DateTime.Now | PLC 使用系统时钟和定时器累加时间 |
| 数据存储 | 支持 SQLite/SQL Server/文件存储等 | PLC 本地无持久存储,需配套 HMI/上位机 |
| 界面展示 | 丰富的 WinForms 图形界面 | 依赖 HMI 或 SCADA 系统 |
| 扩展能力 | 容易拓展联网、日志、打印、云端 | 扩展性差,需外接设备和软件 |
| 开发难度 | 适合软件工程师,易维护 | 需要熟悉 PLC 工程和编程语言 |
| 稳定性 | 相对依赖系统稳定性和硬件驱动 | 非常高,PLC 系统专为工业可靠性设计 |
| 成本估算 | 低:USB设备 + 工控主机(便宜) | 高:PLC主机 + RFID模块 + HMI |
| 适合场景 | 灵活的定制化控制、需要界面的项目 | 高可靠、嵌入产线的固定流程控制 |
✅ 四、电气系统组成图(结构简图)
+-------------------+ +-------------------+ | Windows 主机 | | RFID 阅读器 | | (运行 WinForms) | <-----> | 串口输出 RFID | +-------------------+ +-------------------+ | | USB/串口 | v +-------------------+ | USB转IO模块/继电器 | | 控制红绿灯 | +--------+----------+ | | 继电器常开端 v +-----------------------+ | 红灯指示 | 绿灯指示 | | 220V AC | 220V AC | +-----------------------+
✅ 五、设备清单(推荐可选)
| 设备名称 | 推荐型号或说明 | 数量 | 说明 |
|---|---|---|---|
| RFID 读卡器 | UART/RS232 型,支持小车标签识别(13.56MHz 常用) | 1 | 贴在车上的是标签,安装读头在工作区 |
| RFID 标签 | 13.56MHz 被动标签 | n(每台小车一个) | |
| 工业红灯 | AC 220V 指示灯(φ22mm) | 1 | 熟化不满亮红灯 |
| 工业绿灯 | AC 220V 指示灯(φ22mm) | 1 | 熟化满亮绿灯 |
| USB 转继电器模块 | 1/2 路 USB 控制继电器 | 1 | 用于控制红绿灯通断 |
| 工控主机 | 可运行 Windows 系统 | 1 | 安装 WinForms 软件 |
| 24V 电源 | 给读卡器供电(若非 USB) | 可选 | RFID 电源 |
✅ 六、数据库表结构设计
表1:ActiveMaturation(当前入场记录,仅保留在熟化中的数据)
| 字段名 | 类型 | 描述 |
|---|---|---|
RfidId | nvarchar(50) | 小车编号(主键) |
EntryTime | datetime | 进入熟化时间 |
CreateTime | datetime | 记录创建时间(与 EntryTime 相同) |
UpdateTime | datetime | 最后修改时间(可用于更新处理) |
表2:MaturationHistory(已完成的熟化记录,归档)
| 字段名 | 类型 | 描述 |
|---|---|---|
Id | int | 自增主键 |
RfidId | nvarchar(50) | 小车编号 |
EntryTime | datetime | 入库时间 |
ExitTime | datetime | 出库时间 |
IsQualified | bit | 是否达标 |
DurationMinutes | int | 熟化时长(分钟) |
CreateTime | datetime | 插入记录时间(出库时生成) |
UpdateTime | datetime | 预留,未来若要修改记录可用 |
✅七、UI界面设计与效果实现




✅八、软件框架winForm、相关代码实例:
代码仓库:MaturationMonitor