处理完交叉编译工具链、链接器内存布局、ELF加载、动态库链接等古老、晦涩的技术整合以后,{PLC,IOT}>ESP32初步把FreeRTOS改装成为对应用程序友好一点的平台,“为工业互联网和数字化工程提供便利工具”的千里之行,其实也只是迈开了第一步,还有大量的成熟技术整合工作要逐步开展。
modbus 的功能PLC实现互联互通的基本途径,ESP32 的IDF里面也有modbus的组件,而且挺完善的,有ASCII、RTU和TCP模式,MASTER和SLAVE都支持,都挺成熟。整合之前,不如看看现状。

传统的PLC开发平台,可能是因为逐步演化的原因,提供了梯形图的程序设计输入平台,就什么都用图。当自己即做使用者又做供应者的时候,能体会到使用者的无可奈何:modbus的设置参数不少,导致图块比较大;设置一个参数细项就要画图连线;modbus 其实也就一个平台基础功能,最多用的是复制粘贴(套用原来的设计参数),图块的复制粘贴相对来讲麻烦一点。设身处地考虑问题,有得选的化,我想要一个字符串设置完所有参数。
OpenPLC的设计基于IEC 61131-3,软件的模型参考了IEC 1131-5的模型。

配置项最为一种相对独立的软件元素存在,就不用和设计文件掺和在一起了。这种做法体现在 OpenPLC 的项目配置页,例如:

这种和业务功能关系不大的配置项独立处理的做法,比较方便项目的套用。我们将以OpenPLC 的项目组织方式整合modbus功能。
MODBUS_CONFIG@为起始的字符串(不区分大小写,内部程序全部按大写处理)将被解析为 modbus 的配置项。基于 RS485接口的modbus配置 格式定义为:COM:[a,b,m,d,s,c,t],
配置项分别是:
a ——从机地址

本文介绍如何在ESP32上使用Modbus,并通过字符串配置简化设置过程。支持多种模式,包括RTU、ASCII及TCP,允许快速配置从机地址、波特率等参数。
最低0.47元/天 解锁文章
9万+

被折叠的 条评论
为什么被折叠?



