自研 PLC 模拟器:为工业调试与联调而生的小工具
在工业自动化项目中,PLC 与上位机、MES、视觉系统、IoT 平台之间的联调往往是最耗时、最容易受现场条件限制的环节。为了让调试更高效、更灵活,我开发了这款轻量级的 PLC 模拟器,专门用于模拟西门子 S7 系列 PLC 的数据交互,帮助工程师在没有真实 PLC 的情况下完成大部分功能验证。
https://download.csdn.net/download/wkr1982/92803188

🧩 工具定位:轻量、直观、工程师友好
这款模拟器的目标不是替代真实 PLC,而是提供一个 足够真实、足够灵活、足够好用 的虚拟设备,让开发人员可以在电脑上完成:
-
上位机通讯调试
-
协议验证(S7、SNMP、Modbus 等扩展场景)
-
数据点位映射检查
-
视觉/设备/产线系统的联调
-
自动化逻辑的前期验证
它适合软件工程师、自动化工程师、测试人员在开发阶段使用,减少对现场设备的依赖。
⚙️ 核心功能概览
1. S7 数据块模拟(DB)
界面中可以直接看到每个信号的:
-
信号编码
-
信号名称
-
当前值
-
DB 地址(如 DB500.152.3)
-
上下限值
支持模拟:
-
数字量(DI/DO)
-
模拟量(AI/AO)
-
整数、浮点、字符串等数据类型
你可以一键设置最大值、最小值、中间值,也可以手动输入任意值。
2. 数字量开关模拟
数字量界面提供:
-
全开 / 全关
-
单点 ON/OFF
-
周期触发(用于模拟心跳、节拍信号)
所有信号状态以绿色高亮显示,便于观察。
3. 周期任务模拟
可设置周期(毫秒),用于模拟:
-
心跳信号
-
定时刷新
-
周期性数据变化
周期为 1000ms 的倍数,便于与上位机逻辑同步。
4. 多数据类型支持
通过顶部按钮可快速切换模拟模式:
-
整数
-
浮点数
-
字符串
-
最大值 / 最小值 / 中间值
适合测试各种数据解析逻辑。
5. 输出日志与脚本扩展
工具预留了脚本与输出信息窗口,可用于:
-
打印通讯日志
-
执行自定义脚本
-
模拟复杂逻辑(如状态机、流程控制)
为后续扩展留足空间。
🚀 使用场景
这款模拟器在以下场景中非常实用:
-
上位机软件开发:无需 PLC 即可完成通讯模块开发
-
MES/IoT 平台联调:提前验证数据点位与协议
-
视觉系统对接:模拟检测结果(如 10K/20K/30K 等)
-
产线节拍模拟:模拟心跳、进站/出站请求等信号
-
测试工程师自动化测试:构建自动化测试脚本
对于需要频繁调试 PLC 通讯的团队来说,它能显著提升效率。
🛠️ 开发理念
我做这个工具的初衷很简单:
让调试不再依赖现场,让开发更自由。
工业软件开发往往受制于设备、产线、时间窗口,而一个好用的模拟器可以让工程师在任何时间、任何地点完成大部分工作。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)