MODBUS协议,COM口,串行通讯端口的基础理解

1、MODBUS

modbus指的是一种工业标准的数据对话协议,对于保持寄存器,输入寄存器,输出寄存器,线圈寄存器等不同的寄存器数值的读写,均定义了专门的指令和数据交换规范。modbus协议需要在与modbus标准的工业设备进行数据通讯时使用,既可以通过串口实现连接,也可以通过TCP以太网链接。

(1)上位机读取数据每次间隔时间一般不小于100ms
(2)设备地址:MODBUS从机通讯地址,在一个网络中不能有两个相同的地址。
(3)功能码:MODBUS 协议规定的功能码
(4)寄存器地址和寄存器数:主站命令中的参数是从寄存器地址开始的寄存,读寄存器长度的N个寄存器。
(5)从站响应数据:从站响应数据是:字节数和N个数字节数据。
(6)modbus信息帧结构组成:
在这里插入图片描述
(7)MODBUS命令报文:
在这里插入图片描述

2、COM口

  • COM口即串行通讯端口。
  • COM口的接口标准规范和总线标准规范是RS-232,有时候也叫做RS-232口。电脑上的com口多为9针,最大速率115200bps,最远距离15米。
  • COM接口就是遵循RS232标准的物理口。
  • COM口指串口的物理实现,而RS232是一种串口接口标准。

3、串口

  • 串口通讯指的是两个设备之间通过485或232串口连接。
  • 串口通信是串行通信的一种方式,包括RS232标准的通信,RS485标准的通信等等。
  • 在串口信道上实现数据通讯,是仪器仪表设备通用的通信协议。
  • 串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口通信是异步的,可以在使用一根线发送数据的同时用另一根线接收数据。
  • 串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
  • 波特率: 这是一个衡量通信速度的参数。
    它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
  • 数据位: 这是衡量通信中实际数据位的参数。
    当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语 “包”指任何通信的情况。
  • 停止位: 用于表示单个包的最后一位。
    典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
  • 奇偶校验位: 在串口通信中一种简单的检错方式。
    有四种检错方式: 偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。

4、RS-232

  • 最大通信距离为15m。
  • 若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。
  • RS232是一种接口标准,符合这种标准的接口都是RS232接口,包括9针的和25针的。
  • RS232接口就是串口。
DB-9针连接头
-------------
\ 1 2 3 4 5 /
 \ 6 7 8 9 /
 -----------

RS-232针脚的功能:
数据:
TXD(pin 3): 串口数据输出
RXD(pin 2): 串口数据输入
握手:
RTS(pin 7): 发送数据请求
CTS(pin 8): 清除发送
DSR(pin 6): 数据发送就绪
DCD(pin 1): 数据载波检测
DTR(pin 4): 数据终端就绪
地线:
GND(pin 5): 地线
其他:
RI(pin 9): 铃声指示

5、RS-485

  • RS-485总线,通信距离为几十米到上千米。
  • RS-485采用半双工工作方式,任何时候只能有一点处于发送状态。

6、通讯方式

基本的通讯方式有并行通讯和串行通讯两种。

  • 并行通信:是指数据的各位同时进行传送的通信方式。
  • 串行通信:是指数据一位一位顺序传送的通信方式。

7、串行通讯的两种方式

串行通信的两种基本形式:同步通信和异步通信。

  • 异步通信所传输的数据帧格式是由1个起始位、1~9个数据位、1~2个停止位组成,依靠起始位和停止位保持同步;
  • 同步通信所传输数据帧格式是由多个字节组成的一个帧,每个帧都有两个(或一个)同步字符作为起始位以触发同步时钟开始发送或接收数据。

8、根据传送方向分类

串行通讯可以进一步分为单工、半双工和全双工三种。

  • 如果在通信过程的任意时刻,信息只能由一方A传到另一方B,则称为单工。
  • 如果在任意时刻,信息既可由A传到B,又能由B传A,但只能由一个方向上的传输存在,称为半双工传输。
  • 如果在任意时刻,线路上存在A到B和B到A的双向信号传输,则称为全双工。

MODBUS通讯协议

在这里插入图片描述

  • 7
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: modelbus协议是一种用于模型之间通信的协议。它是一种面向模型的通信协议,旨在实现模型之间的高效、可靠的通信和数据交换。该协议定义了模型间通信的规则和约定。 modelbus协议的设计目标是促进模型的互操作性和集成性。它提供了一种统一的接,使得不同的模型可以方便地进行数据传输和共享。通过这个协议,模型可以发送和接收消息、请求和响应数据、进行事件通知等。这种通信方式使得模型之间可以实现实时的数据交互和同步。 modelbus协议具有以下特点: 1. 简单易用:modelbus协议的设计简洁明了,易于理解和使用。它提供了简单的API和消息格式,使得开发者能够快速实现与协议兼容的模型。 2. 高性能:modelbus协议使用高效的数据传输机制,能够快速传输大量的数据。它支持多线程和异步操作,可以实现并发处理和高速数据传输。 3. 可扩展性:modelbus协议允许用户自定义消息格式和扩展功能。它提供了灵活的插件机制,使得开发者可以根据实际需求进行功能扩展。 4. 可靠性:modelbus协议支持消息的确认机制和错误处理,保证通信的可靠性和稳定性。它提供了异常处理和错误重试的机制,能够有效处理通信中出现的问题。 总之,modelbus协议是一种用于模型之间通信的协议,它提供了简单、高效、可靠的通信方式,促进了不同模型之间的数据交换和集成。它是实现模型互操作性和集成性的重要工具。 ### 回答2: Modelbus协议是一种用于模型驱动开发的通信协议,用于在模型驱动的软件开发过程中进行模型与模型之间以及模型与工具之间的通信和交互。 Modelbus协议定义了一组规范,包括消息格式、通信约定和交互方式。通过使用Modelbus协议,不同的模型和工具可以通过共享和交换模型数据来实现协同工作。基于Modelbus协议,可以实现模型的可重用性、协作性和交互性,从而提高软件开发的效率和质量。 Modelbus协议包括以下几个方面的内容: 1. 消息格式:定义了通信中使用的消息格式,包括消息头和消息体。消息头用于描述消息的类型、发送者和接收者等信息,消息体用于携带模型数据和操作指令等内容。 2. 通信约定:定义了通信的一些基本规则,如建立连接、断开连接、消息的发送和接收等。通过这些通信约定,不同的模型和工具可以进行互联,实现数据的共享和交互。 3. 交互方式:定义了模型间和模型与工具间的交互方式。例如,模型之间可以通过发布-订阅的方式进行消息的传递,工具可以通过请求-响应的方式与模型进行交互。 Modelbus协议的应用领域广泛,包括软件开发、系统工程、模型验证等。它可以用于构建模型驱动的开发环境,提供了一种开放和标准化的通信机制,促进了不同模型和工具之间的集成和协同工作。同时,Modelbus协议还可以支持模型的版本控制、协同编辑和分布式计算等功能,提高了开发过程的效率和质量。 ### 回答3: Modelbus协议是一种用于数据交换的通信协议。它定义了数据的格式、传输方式和通信规则,旨在实现不同模型之间的数据共享和交互。 Modelbus协议采用了基于事件的通信机制,模型通过发送和接收事件来实现数据交互。模型可以是任何形式的计算模型,如计算机模型、仿真模型或者物理模型。 Modelbus协议的核心是事件的定义和传输。事件包括两部分内容:事件类型和事件数据。事件类型指示了事件的种类,如模型启动、数据更新或者模型关闭等。事件数据则包含了具体的信息,如数据值、时间戳等。 Modelbus协议规定了事件的传输方式,一般使用消息队列或者发布-订阅模式来实现。消息队列将事件按照先后顺序进行存储和传输,保证了数据的准确性和一致性。而发布-订阅模式则以主题为单位进行消息的发送和订阅,允许多个模型同时订阅同一个主题,实现了数据的共享和交流。 Modelbus协议还定义了通信规则,包括事件发送和接收的规范。模型通过发送事件将数据传递给其他模型,其他模型则通过接收事件来获取数据。为了保证数据的完整性和准确性,模型需要按照规定的格式发送和接收事件。 总结来说,Modelbus协议是一种用于数据交换的通信协议,通过定义事件的格式、传输方式和通信规则,实现不同模型之间的数据共享和交互。它可以广泛应用于计算模型、仿真模型和物理模型等领域,提高了模型之间的相互联系和数据传递效率。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值