单片机MODBUS RTU 作主机C程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机MODBUS RTU 作主机C程序相关的知识,希望对你有一定的参考价值。

MODBUS RTU协议,使用MCU作主机的程序谁弄过啊,可否分享下!
网上查了基本都是作为从机的程序
谢谢!!

modbus的基本部分有现成的,自己写也不难,一般03和06指令用的最多,基本就够了.比较难的是数据分包检测,这块得根据你的mcu具体来做.
关于指令中的处理这部分只能自己写了.
参考技术A 我也在查找。感觉从机玩明白了。主机无非加上主动发送命令和解析错误报告就行了。原理懂了代码就有礼了 参考技术B proteus 论坛看看

或许能找到 例程

模拟信号,161路0-10V转RS-485/232,Modbus RTU 通讯协议

模拟信号,161路0-10V转RS-485/232,Modbus RTU 通讯协议![]











技术图片技术图片技术图片





BF29系列产品是基于单片机的智能监测和控制系统,所有的用户设定的校准值,地址,波特率,数据格式,校验和状态,转换速率等配置信息都储存在非易失性存储器EEPROM里。
IBF29系列产品按工业标准设计、制造,信号输入 / 输出之间隔离,可承受3000VDC隔离电压,抗干扰能力强,可靠性高。工作温度范围- 45℃~+85℃。

功能简介:
IBF29 信号隔离采集模块,可以用来测量16路电压或电流信号。
1、 模拟信号输入
24位采集精度,16路模拟信号输入。产品出厂前所有信号输入范围已全部校准。在使用时,用户也可以很方便的自行编程校准。具体电流或电压输入量程请看产品选型。
2、 通讯协议
通讯接口: 1路标准的RS-485通讯接口或1路标准的RS-232通讯接口,订货选型时注明。
通讯协议:支持两种协议,命令集定义的字符协议和MODBUS RTU通讯协议。模块自动识别通讯协议,能实现与多种品牌的PLC、RTU或计算机监控系统进行网络通讯。
数据格式:10位。1位起始位,8位数据位,1位停止位。
通讯地址(0~255)和波特率(2400、4800、9600、19200、38400、57600 、115200bps)均可设定;通讯网络最长距离可达1200米,通过双绞屏蔽电缆连接。
通讯接口高抗干扰设计,±15KV ESD保护,通信响应时间小于100mS。
3、 抗干扰
可根据需要设置校验和。模块内部有瞬态抑制二极管,可以有效抑制各种浪涌脉冲,保护模块,内部的数字滤波,也可以很好的抑制来自电网的工频干扰。




技术图片

以上是关于单片机MODBUS RTU 作主机C程序的主要内容,如果未能解决你的问题,请参考以下文章

51单片机MODBUS通讯,RTU中的CRC校验

模拟信号,161路0-10V转RS-485/232,Modbus RTU 通讯协议

Java使用Netty实现Modbus-RTU通信协议

Modbus 简介

ModeBusRtu概述

C语言如何编写modbus RTU协议?