232/485协议以及Modbus的学习

RS-232

       RS-232是一种传统的串行通信标准,用于在计算机和外部设备之间进行通信。RS232协议使用单个发送线接收线进行全双工通信。RS-232使用不平衡的电压信号传输数据,适合短距离通信。在RS232中,3~15V是高电平,-3~-15V是低电平。RS232只是改变了电平大小,传输的还是原来串口的0或1的数据。RS-232是近距离通信和点对点通信设计的协议。

RS-485

       RS-485是针对远程通信和多点通信设计的协议。它支持半双工通信,即数据可以在两个方向上传输。RS-485使用平衡的差分信号传输数据,对于长距离通信和抗干扰能力要求较高。
       RS-485是在原来的串口通信的基础加一个485电平转换芯片,转换芯片可以把输入的串口信号转化为差分信号。差分信号只需要两根线,不需要地线。差分信号用两根信号线的差值来表示逻辑0和1.且两根线采用双绞线形式缠绕在一起。这样,即使收到干扰,也是两根线同时受到干扰。所以,最后的电压差值也基本保持不变。

232/485协议

       232/485协议是一种用于串行通信的通信协议,常用于工业自动化领域和数据采集应用中。它定义了数据传输的电气特性、物理连接、数据格式和通信控制等方面的规范。232/485协议是由RS-232协议和RS-485协议两种协议组成的。

       232/485协议通过在硬件电路和通信协议上的调整,实现了RS-232和RS-485之间的互联互通。在使用232/485协议时,可以通过转换器或集成电路将RS-232信号转换为RS-485信号,实现两种不同协议之间的通信。232/485协议通常用于工业自动化系统中的传感器、执行器、PLC(可编程逻辑控制器)等设备之间的数据交换。

Modbus

概述

       Modbus是一种串行通信协议,施耐德电气(Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。

       Modbus协议有多种变体,包括Modbus RTU、Modbus ASCII和Modbus TCP,它们可以在不同的物理层上运行,包括RS-485和以太网。通常Modbus RTU和Modbus ASCII用于串行通信,而Modbus TCP/IP用于宽带网络。

       Modbus采用主从结构进行操作,其中主设备(如PLC或计算机)发起与一个或多个从设备之间的通信。主设备向从设备发送读取或写入数据的请求,从设备因此请求的或数据读取操作的确认进行响应。

报文结构

地址+功能码+数据+CRC校验

地址:取值范围是0-247,如果是0,就是主站广播报文;如果是1-247,则有可能是主站请求或者从站应答。
功能码:也就是报文命令,代表主站对从站的操作,读或者写
数据:数据字段,主请求报文,从应答报文会有所差异。也就是说假设抓取总线报文,如何区分是主站请求还是从站应答,则需要通过数据字段进行区分了。
CRC校验:采样CRC16,16位循环冗余校验。

通信步骤

确定通信类型:根据需求选择适当的Modbus通信类型,如Modbus RTU、Modbus ASCII或Modbus TCP/IP。每种通信类型具有不同的物理层和传输方式。
确定主设备和从设备:确定系统中的主设备(通常为控制器或计算机)和从设备(如传感器、执行器或其他外设)。主设备负责发起和控制通信,而从设备则响应主设备的请求。
地址分配:为每个从设备分配唯一的Modbus地址。这些地址用于标识从设备和访问其数据。
组织请求报文:主设备准备一个请求报文,包括从设备地址、功能码以及要读取或写入的数据信息。
发送请求报文:主设备将请求报文发送给目标从设备。具体的发送方式取决于通信类型,如串行通信(通过RS-232或RS-485)或以太网通信(通过TCP/IP)。
从设备响应:接收到请求的从设备根据功能码进行处理并生成响应报文。响应报文包含请求的结果、数据信息等。
解析响应报文:主设备接收并解析从设备的响应报文,提取所需的数据或状态信息。
处理数据:主设备根据从设备的响应报文处理数据,执行相应的控制操作或进行进一步的数据分析。
错误处理:根据Modbus协议规范,主设备需要处理可能发生的错误条件,例如超时、通信故障或无效的响应。
循环操作:在需要进行多个通信周期的情况下,主设备可以重复执行上述步骤,以实现周期性的数据读取、写入或控制操作。

Modus与RS-485

       Modbus可以通过不同的物理层协议来实现,其中一种常见的选择是使用RS-485作为物理层。
RS-485是一种串行通信标准,用于在本地中传输数据。它定义了信号电平、电气特性以及通信速度等规范。RS-485采用差分信号传输,使用一对传输线(A和B)来传送数据,并允许多个设备在同一同类上进行通信。这种设计使得RS-485在工业环境中非常适用,因为它对抗电磁干扰能力强,传输距离可达数百米,并支持多点通信。
       在实际应用中,Modbus协议通常与RS-485物理层一起使用。RS-485提供了电气和物理层的支持,而Modbus定义了数据的组织和传输方式。RS-485提供了可靠的信号传输和多点通信,而Modbus定义了如何在RS-485上组织和解析数据。因此,使用Modbus over RS-485可以在工业自动化系统中实现可靠的通信,并允许多个设备在同一数据上进行交互。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值