SPLC
软PLC示例代码,包括windows上位机、windows runtime、stm32 runtime
Install / Use
/learn @vincentchina/SPLCREADME
SPLC
软PLC示例代码,包括windows上位机、windows runtime、stm32 runtime。
由于这个是n年前用于研究软plc,如今也没有维护了,所以代码和功能方面不是很完善。可以下载Relase看看效果。
编译
上位机和仿真
纯VS工程,使用VS2010打开sPLC.sln工程文件,高版本的应该也能打开,包含了上位机和仿真。
下位机
STM32的工程在project/stm32目录下,使用keil导入即可。
运行
上位机和仿真运行方法

- libx.dll 一些辅助方法的库
- plcc.exe 编译器
- plccore.dll plc runtime
- plcEditor.exe 丑陋的梯形图编辑器
- PLCSimulation.exe plc 在windows下的仿真器
上位机
plcEditor.exe是梯形图编辑器,只能简单打开保存,没有多余操作。
- 新建文档

通过【文件】-【新建】来新建文档
- 设置属性

所有都要填,工程名称随便起,工程路径选一个存在的路径,步数填个100,列数填11。步数和列数可以自己小心调整。 设置好了点确定即可。
- 编辑梯形图

传教好好双击工程树的main文档打开编辑main.lad。
首先要在最后一行右击弹出菜单选择‘插入新行’,才能编辑。插入多点行再编辑会方便点。
- 保存梯形图

只能点击保存图标,不要去点转换啥的,时间太久,我也不知有有没有用。点保存就会在工程目录下生成main.lad,这个文件就可以下载到plc了。
仿真
- 打开运行文件
运行PLCSimulation.exe,点击加载程序按钮,弹出对话框,选择刚刚的工程目录,文件类型选*.lad,选择生成的main.lad文件,点击打开即可。PS:可以选择*.wpg来打开三菱工程运行哦,不过应该只支持Fx1N、2N这些上古的型号的工程。

- 运行lad
打开运行文件后就直接加载梯形图,并显示出来,可以通过双击触点来切换开关状态,对应的逻辑也会刷新。比如双击M100触点导通,M200,M222都会导通,再双击M100触点断开,这时候M200断开,M222还是导通。

- 单步调试
支持单步调试,首先点击‘停止’按钮,‘单步’按钮会使能,这时候就能点击单步,右下角也会显示当前运行到哪一步。通过单步可以看到梯形图的详细的运行流程
在设备上运行plc
plccore是跨平台的,成功在stm32上运行,有需要的自己折腾下哈。
结语
这是一个很简单的软plc,实现了基础的运行逻辑,可以对梯形图的翻译和运行有初步的了解,要产品化还需要很多工作。希望能给想做PLC的开发人员提供思路,消除技术壁垒,更多的人能了解PLC,并能实现自己的PLC。
广而告之
很庆幸,软PLC这个项目已经在公司落地,当然是全新的项目。新的是符合IEC标准的软PLC平台,已经发布并开始出货。支持完整的梯形图和ST编程,完全自主化,有兴趣的也可以聊聊工作的事情,欢迎高手加入。
Related Skills
node-connect
342.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
85.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
342.5kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
