实现了一套面向IEC-61131-3 v2.0版本的PLC集成开发环境。
整套软件从主机端工具到PLC设备端的软件,全自研!
操作系统
- 目前在Linux上运行
- 后续支持RT-Thread、OpenHarmonyOS
IEC-61131-3 RTE
- 基于标准C语言和POSIX接口开发
- 实现了对MODBUS TCP的支持
- 实现了PLC应用状态管理
- 实现了PLC应用调试带来
设备通信
- 基于UDP广播发现局域网中的设备
- 基于TCP与设备进行通信
- 实现了在开发环境中修改设备的IP、网关等信息
- 实现了在开发环境中查看设备资源使用情况,如:CPU、内存
- 实现了在开发环境中查看PLC运行时日志信息
- 实现了在开发环境中下载PLC 应用到设备中
编译器
- 实现了Ladder到ST的转换
- 实现了FBD到ST的转换
- 实现了ST到C语言的转换
调试器
- 实现了针对ST语言的源码级调试
- 实现了针对ST语言的运行时断点
- 实现了针对ST语言的源码级单步
变量监控
- 实现了对全局变量、PROGRAM中的变量、FB中的变量的监控
- 实现了在线修改变量值
运行控制
- 实现了对PLC设备中的任务停止/运行的控制
针对ST的支持如下
- 编辑器实现了语法高亮
- 编辑器实现了智能提示
- 编辑器实现了代码自动补全
- 编辑器实现了关键字大小写自动转换
- 实现了IEC-61131-3 v2.0全部语法
- 支持在ST中使用引用、指针
- 支持MODBUS TCP
- 实现了IEC-61131-3 v2.0中的标准库
- 提供了一套完善的MODBUS TCP FB库
针对Ladder的支持
- 实现了基于Ladder创建POU
- 实现了基于梯形图的变量监控
针对FBD的支持
- 实现了基于FBD创建POU
- 实现了基于FBD的变量监控
软件部分截图
- ST编辑器
- Ladder编辑器
- 项目视图
在开发这一套软件的过程中,深感行业知识的匮乏以及原创技术之路的不易。
希望和志同道合的人、组织一起前进!