基于Modbus_RTU_RS485的通信实现

基于Modbus_RTU_RS485的通信实现

ID:41329084

大小:323.00 KB

页数:4页

时间:2019-08-22

基于Modbus_RTU_RS485的通信实现_第1页
基于Modbus_RTU_RS485的通信实现_第2页
基于Modbus_RTU_RS485的通信实现_第3页
基于Modbus_RTU_RS485的通信实现_第4页
资源描述:

《基于Modbus_RTU_RS485的通信实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、/*********************************************************************************************************************单片机通信波特率:9600字符数据格式:1位起始位8位数据 1位偶校验 1位停止位帧间最小间隔:3.5个字符RTU报文帧格式:编程思路:   1.当单片机接收到来自PC机的数据后,进入串口中断,缓存接收到的数据,同时开启并刷新定时器。当没有接收到数据(或者接收完毕)后,跳出串口中断,同时定时器开始计时:若超过3.5个字符时

2、间单片机仍没有接收到新数据,则认为本次接收完成,将接收完成标志置1;若在3.5个字符时间内又接收到新数据,则再次进入串口中断,重复上述操作。   2.当接收完成标志置1进入接收数据处理:   (1)首先判断接收的第1个数据(1个字节)与本机地址是否相同,如果不相同不发送任何信息;   (2)如果接收的第1个数据与本机地址相同,则对接收缓存中的数据进行crc16校验,如果接收的校验数据与本校验结果不相同,同样不发送任何信息;   (3)如果crc16校验正确则根据数据串中的功能码进行相应的处理。 2.1 基本参数概述基本参数列表  2.2 重要参数说明  

3、2.2.1 Command参数  该参数的16个为位用于设置通讯口的不同工作方式  Bit1-Bit4: 使用Modem时需设定的相关参数  Bit5: 是否使用XON/XOFF流控制。设为1时表示使用XON/XOFF流控制  Bit6: 是否使用RTS/CTS握手信号。设为1时表示允许使用RTS/CTS信号  Bit7: 是否清除“Back Space”字符。设为1时表示在“Simple ASCII Input”和“Terminated  ASCII Input”模式下,清除MsgIn中的“Back Space”字符  Bit8: 是否接管通讯口FIF

4、O缓冲区。设为1时表示XXMIT指令接管通讯口FIFO缓冲区的控制  Bit9: 是否启用Modbus模式。设为1时表示通讯口工作在Modbus Master模式下  Bit10: 是否启用标准串口模式。设我1时表示通讯口工作在标准串口模式下  注:Bit9,Bit10不能同时设为1  Bit11: 是否启用“Simple ASCII Input”模式,设为1时表示启用  Bit12: 是否启用“Terminated ASCII Input”模式,设为1时表示启用  Bit13: 不用  Bit14: 是否启用RS485模式。设为1时表示启用。只有在使用

5、Modicon Momentum系列PLC时,该位才设为1  Bit15: 是否启用RTS/CTS Modem控制。设为1时表示启用  Bit16: 不用  2.2.2 Msgout参数  该参数中存放需发送的字符或数据。通常在Concept中用一个WORD型数组来给该参数赋值。当通讯口工作在Modbus Master模式下时,需按Modbus RTU的格式来给该参数赋值,但不含CRC校验值,具体的格式见下表  2.2.3 Port参数  只要使用Modicon Momentum系列PLC时,该参数才被设为2,否则该参数的值都被设定为1,表示用Port1

6、进行通讯。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。