常州工控-国光 发表于 2026-3-5 21:48
目前已在开发板上实现了modbus 9600/8/n/1的通讯方式.
在开发板?帖子的项目是在proteus仿真上实现的,是用的项目里面的MCU-LIB库在开发板上实现了吗?
是的,代码原封不动写入到开发板上的
常州工控-国光 发表于 2026-3-5 22:22
是的,代码原封不动写入到开发板上的
{:ciya:}牛
Modbus-RTU从站协议
通信配置:4800,N,8,1。访问地址固定为1。
寄存器表就不贴图了,可以下载下来看设计说明中的详细内容。
总之,就是直接连上Modscan工具就可以使用,很方便。
在仿真上,你需要安装虚拟串口驱动,才能使用modscan连接到proteus仿真
在app_plc_reg_update文件中,填写了默认的更新事件内容,用户可自定义其它行为
本 log 函数是针对 MCU-PLC 硬件场景定制的日志输出函数。
/********************************
功能描述:打印到控制台(串口输出)
参数说明:*format:格式控制。支持以下格式:
%d:s16数据
%u:u16数据
%ld:s32数据
%lu:u32数据
%s:字符串
%c:ASCII字符
%X:u16数据的16进制字符串
%lX:u32数据的16进制字符串
%u:以n的宽度显示u16数据,不足时可前置添0,超过时宽度限制无效
%lu:以n的宽度显示u32数据,不足时可前置添0,超过时宽度限制无效
%.d:对s16数据以小数形式呈现
%.ld:对s32数据以小数形式呈现
%.u:对u16数据以小数形式呈现
%.lu:对u32数据以小数形式呈现
%.nd:参数1为保留小数位数,参数为2为s16数据
%.nld:参数1为保留小数位数,参数为2为s32数据
%.nu:参数1为保留小数位数,参数为2为u16数据
%.nlu:参数1为保留小数位数,参数为2为u32数据
%t:参数1为字符串指针。参数2为限制长度,可以是参数1的空间大小-1。将此字符之前的格式化的字符复制到第1个字符串指针位置
%hs:参数1为u8指针。参数2为限制长度。将此数据转为十六进制字符串。
%hn:参数1为u8指针。参数2为限制长度。直接拷贝源数据。
返回值:指向数据缓冲区的指针,除%t参数外,其它功能都会使得该数据区以字符串结束符结束(\0)
********************************/
char *log(char *format, ...);
例如,将AI0打印至窗口
log("AI0:%u\r\n",AI0);
受限MCU的资源,打印多个参数时,可能输出异常,可以分解进行单个打印。
以上就将本项目的重点内容全部介绍完毕。
有一些可以开放但目前未开放的MCU资源,我会开发出来,写到设计说明书中,供用户使用
论坛里面的附件资料我也会实时更新。
这个需要梯形图么
world_all 发表于 2026-3-6 08:32
这个需要梯形图么
不需要梯形图,直接编代码、配注释,进行设计就可以
有点意思,下载来看看咋回事
"C:\Users\Administrator\Desktop\QQ20260308-124929.png",没库的源码,其他都改不了!!