RS485通讯 modbus 协议

合集下载

RS485通信和Modbus协议

RS485通信和Modbus协议

在工业控制、电力通讯、智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换。

最初采用的方式是RS232接口,由于工业现场比较复杂,各种电气设备会在环境中产生比较多的电磁干扰,会导致信号传输错误。

除此之外,RS232接口只能实现点对点通信,不具备联网功能,最大传输距离也只能达到几十米,不能满足远距离通信要求。

而RS485则解决了这些问题,数据信号采用差分传输方式,可以有效的解决共模干扰问题,最大距离可以到1200米,并且允许多个收发设备接到同一条总线上。

随着工业应用通信越来越多,1979年施耐德电气制定了一个用于工业现场的总线协议Modbus协议,现在工业中使用RS485通信场合很多都采用Modbus协议,本节课我们要讲解一下RS485通信和Modbus协议。

单单使用一块KST-51开发板是不能够进行RS485实验的,应很多同学的要求,把这节课作为扩展课程讲一下,如果要做本课相关实验,需要自行购买USB转485通信模块。

RS485通信实际上在RS485之前RS232就已经诞生,但是RS232有几处不足的地方:1、接口的信号电平值较高,达到十几V,容易损坏接口电路的芯片,而且和TTL电平不兼容,因此和单片机电路接起来的话必须加转换电路。

2、传输速率有局限,不可以过高,一般到几十Kb/s就到极限了。

3、接口使用信号线和GND与其他设备形成共地模式的通信,这种共地模式传输容易产生干扰,并且抗干扰性能也比较弱。

4、传输距离有限,最多只能通信几十米。

5、通信的时候只能两点之间进行通信,不能够实现多机联网通信。

针对RS232接口的不足,就不断出现了一些新的接口标准,RS485就是其中之一,他具备以下的特点:1、我们在讲A/D的时候,讲过差分信号输入的概念,同时也介绍了差分输入的好处,最大的优势是可以抑制共模干扰。

尤其工业现场的环境比较复杂,干扰比较多,所以通信如果采用的是差分方式,就可以有效的抑制共模干扰。

单独传感器标准MODBUS485通讯协议

单独传感器标准MODBUS485通讯协议

单独传感器标准MODBUS485通讯协议什么是MODBUS485通讯协议MODBUS是一种串行通信协议,用于连接不同类型的现场设备。

它通常用于工业自动化领域,特别是在监控和控制方面。

MODBUS协议是由MODICON公司(现在是施耐德电气公司的一部分)开发的,早期用于其PLC(可编程逻辑控制器)系统。

MODBUS485通讯协议是MODBUS协议的一种,它使用RS485串行通信电平来工作。

RS485串行通信电平可以实现更长的通讯距离和更高的通讯速度。

因此,使用MODBUS485协议的设备可以使远程设备之间的通讯更加方便和高效。

单独传感器标准MODBUS485通讯协议的定义单独传感器是指只有一种功能的传感器设备。

例如,一个温度传感器只能测量温度,不能测量其他物理量。

单独传感器标准MODBUS485通讯协议是一个专门针对单独传感器设备的通讯协议。

该协议定义了单独传感器设备与主设备(如PLC)之间的通信规则和通信数据格式。

它规定了在RS485串行电平上通信时,如何进行数据的交互和传输,并确保数据的可靠性和完整性。

该协议中规定的通讯数据格式如下:•起始位:一个低电平信号,表示数据传输的开始;•设备地址:一个8位二进制数,标识传感器设备的地址;•功能码:一个8位二进制数,标识主设备要执行的功能;•数据域:根据功能码的不同,包含不同的数据内容;•校验码:根据前面数据域的内容生成的校验码,用于检查数据的正确性;•终止位:一个高电平信号,表示数据传输的结束。

单独传感器标准MODBUS485通讯协议的应用单独传感器标准MODBUS485通讯协议被广泛应用于现场传感器设备的控制和监测中。

例如,温度传感器、湿度传感器、压力传感器等单独传感器设备,可以使用该协议与主设备进行通信。

对于工程师来说,掌握该协议是非常重要的。

因为通讯协议的不同会影响到传感器与主设备之间的通信效率和数据正确性。

同时,了解该协议还可以帮助工程师进行现场设备的诊断和故障排除。

RS485和MODBUS的区别(包你明白)

RS485和MODBUS的区别(包你明白)

RS485和MODBUS的区别(包你明白)Modbus是一种通讯协议,需要硬件作为实现平台。

不同的硬件平台具有不同的电气特性和连接方式,比如RS232和RS485.可以将Modbus比作英语,RS232比作印度人,RS485比作美国人。

印度人之间讲英语时,理解为基于RS232的Modbus通信,美国人之间讲英语时,理解为基于RS485的Modbus通信。

RS485是一个物理接口,简单来说是硬件。

Modbus是一种国际标准的通讯协议,用于不同厂商之间的设备交换数据,一般用于工业用途。

协议也可以理解为“语言”,是软件。

一般情况下,两台设备通过Modbus协议传输数据,最早是用RS232C作为硬件接口,也有用RS422的,但常用的是RS485,因为这种接口传输距离远,在一般工业现场用的比较多。

Modbus协议又分为Modbus RTU、Modbus ASCII和后来发展的Modbus TCP三种模式。

其中前两种(Modbus RTU、Modbus ASCII)所用的物理硬件接口都是串行(Serial)通讯口(RS232、RS422、RS485)。

而Modbus TCP则是为了顺应当今世界发展潮流,来连接,传送数据。

因此,又有ModbusTCP模式,该模式的硬件接口就是以太网()口了,也就是我们电脑上一般用的网络口。

协议分为硬件协议和软件协议,而通讯协议属于软件协议,它包含报头包围的格式。

Modbus是应用层的通讯协议,主要用于传送和接收文件包的格式。

RS232、RS485是物理层的串行接口,可以支持几十种通讯协议,Modbus只是其中的一种。

Modbus可分为Modbus RTU/ACSI、Modbus +(也叫Modbus PLUS)和Modbus TCP/IP等。

前两种是在串行链路上使用的通讯协议(串口通讯),后一种是在以太网口基于TCP/IP协议的Modbus通讯协议。

在工业控制场合,RS485总线因其接口简单、组网方便、传输距离远等特点而得到广泛应用。

关于RS485的详细说明

关于RS485的详细说明

串行口RS485通讯协议1.1通讯概述本公司系列变频器向用户提供工业控制中通用的RS485通讯接口。

通讯协议采用MODBUS标准通讯协议,该变频器可以作为从机与具有相同通讯接口并采用相同通讯协议的上位机(如PLC控制器、PC机)通讯,实现对变频器的集中监控,另外用户也可以使用一台变频器作为主机,通过RS485接口连接数台本公司的变频器作为从机。

以实现变频器的多机联动。

通过该通讯口也可以接远控键盘。

实现用户对变频器的远程操作。

本变频器的MODBUS通讯协议支持两种传送方式:RTU方式和ASCII方式,用户可以根据情况选择其中的一种方式通讯。

下文是该变频器通讯协议的详细说明。

1.2通讯协议说明1.2.1通讯组网方式(1) 变频器作为从机组网方式:图9-1 从机组网方式示意图(2) 多机联动组网方式:单主机单从机单主机多从机图9-2 多机联动组网示意图1.2.2通信协议方式该变频器在RS485网络中既可以作为主机使用,也可以作为从机使用,作为主机使用时,可以控制其它本公司变频器,实现多级联动,作为从机时,PC 机或PLC可以作为主机控制变频器工作。

具体通讯方式如下:(1)变频器为从机,主从式点对点通信。

主机使用广播地址发送命令时,从机不应答。

(2)变频器作为主机,使用广播地址发送命令到从机,从机不应答。

(3)用户可以通过用键盘或串行通信方式设置变频器的本机地址、波特率、数据格式。

(4) 从机在最近一次对主机轮询的应答帧中上报当前故障信息。

1.2.3通讯接口方式通讯为RS485接口,异步串行,半双工传输。

默认通讯协议方式采用ASCII 方式。

默认数据格式为:1位起始位,7位数据位,2位停止位。

默认速率为9600bps,通讯参数设置参见P3.09~P3.12功能码。

1.3 ASCII通讯协议字符结构:10位字符框(For ASCII)(1-7-2格式,无校验)(1-7-1格式,奇校验)(1-7-1格式,偶校验)11位字符框(For RTU)(1-8-2格式,无校验)(1-8-1格式,奇校验)(1-8-1格式,偶校验)通讯资料结构:ASCII模式通讯地址:00H:所有变频器广播(broadcast)01H:对01地址变频器通讯。

Modbus是什么?与RS485协议区别与联系有哪些

Modbus是什么?与RS485协议区别与联系有哪些

Modbus是什么?与RS485协议区别与联系有哪些概述RS485是广泛用于工业实施中的串行数据传输标准。

在实现RS485通信时,通常使用Modbus协议。

这将RS485与通过以ASCII字符进行传输进行通信的RS232协议区分开来。

要使用RS485协议处理设备,了解Modbus非常重要。

内容什么是RS485通讯?什么是半双工系统?什么是Modbus?Modbus消息Modbus消息格式串行传输模式什么是RS485通讯?什么是RS485通讯?RS485是类似于RS232的协议,用于实现串行数据通信。

两种协议使用不同的电信号来实现数据传输。

在工业环境中使用RS485接口的原因之一是它能够为连接到同一总线的多个设备提供服务。

解决在查询多个设备时需具有多个可用接口的需求。

可以通过使用总线终端器,移动开关或将小型电阻器拧到端子上来实现此目的。

(注意确保使用正确的接口,因为RS485和RS32协议不完全兼容。

)在RS232和RS485接口之间构建网关(通常会看到RS485协议直接连接到USB,GSM或以太网端口。

这种较便宜的方法消除了对使用任何其他组件的需求)使用RS485端口的设备通常采用Modbus协议。

附表总结了RS485协议的特征。

RS485在平衡线上提供半双工传输,覆盖距离可达1.2km。

什么是半双工系统?半双工系统包括一个或多个发射机和接收机,通信由发送器发出,该发送器针对特定接收器发出请求。

然后,发送方等待预定的时间长度以进行答复,或者确定接收方不会再收到任何答复。

RS485网络是基于主/从框架构建的。

主机扮演发送器的角色,向指定的从机发出请求,从机充当接收器。

主机监听响应,如果未在适当的时间范围内获得响应,则将终止通信。

什么是Modbus?Modbus消息01)Modbus消息的原理。

在Modbus RS485网络中,当主站设备向连接的从站发送查询时,通信开始。

从设备花时间监视网络中是否有专门针对它的查询。

德力西变频器RS485通讯协议

德力西变频器RS485通讯协议

德力西变频器有两种通讯协议:一种为国际上通用的标准 MODBUS 协议。

另一种为德力西公司自己开辟的类 MODBUS ASCII 格式协议。

而在德力西变频器系列中,惟独 9200 系列 RTU 程序支持标准 MODBUS 协议(只支持功能码 06 和 03),9100-SC 系列只支持标准MODBUS ASCII 协议(不支持标准MODBUS RTU 协议,只支持功能码 06 和 03),其他系列皆不支持标准 MODBUS 协议,只支持德力西公司自己开辟的类 MODBUS ASCII 格式协议。

SG+:信号正端SG-:信号负端使用RS-485串行通讯前,必须先用键盘设置变频器的“运行方式”、“波特率”、“数据格式”及“通讯地址”。

STX ADR 起始字元(1 个 ASCII 码 3AH)从机(变频器)地址变频器的地址范围为(1-31) , A必须存在。

(8位,包含2个ASCII码) 地址 A=00H 时对所有从机生效,且所有从机不回送信息,故 A=00H 时只能发运行命令操作。

(广播方式)0:键盘运行 1:端子运行2:RS-485运行 3:由多功能端子选择0: 1200bps 1: 2400bps2: 3800bps 3: 9600bps4: 19200bps 5: 38400bps0: MODBUS ASCII模式《N,7,2》1: MODBUS ASCII模式《E,7,1》2: MODBUS ASCII模式《O,7,1》3: MODBUS RTU模式《N,8,2》4: MODBUS RTU模式《E,8,1》5: MODBUS RTU模式《O,8,1》1~31运行控制方式选择波特率选择数据格式本机号码P00.00 P04.28 P04.29P04.30ADRCMDADRESSDATACRC功能码 06H保留00B :无功能 01B :正转 10B :反转 11B :改变方向保留2001H0002H(P00.02)0213H(P05.31)CMD数据包功能码(06:写一个寄存器内容 03:读出一个寄存器内容) (8位,包含2个ASCII 码)ADRESS 数据地址 (16位,包含4个ASCII 码)DATA 当功能码为06时为数据内容 (16位,包含4个ASCII 码) 当功能码为03时为数据数 (16位,包含4个ASCII 码) LRC 侦误值(8位,包含2个ASCII 码) END结束字元(2个ASCII 码, 0DH,0AH)从机(变频器)地址变频器的地址范围为(1-31) , A 必须存在。

485rtu通讯协议

485rtu通讯协议

RS-485通信协议说明采用国际标准modbus数字通信协议,可与世界上任意一款组态软件对接。

通过RS-232或485串行接口可与计算机组成多点温湿度测量系统。

二、主要技术指标注:具体功能请以“”为准三、通讯说明可通过标准DB-9接口与计算机串口相连,当传输距离为15米时,码元畸变率仅为4%;当通过标准485-232转换接口与计算机串口相连,在传输距离为1500米时码元畸变率小于等于4%,严格复合EIA(美国电子工业协会)串行总线标准。

通过标准的RS232或RS422/485通讯口,可直接接计算机通讯,国际标准MODBUS-RTU通讯协议:在使用组态软件时,须选用的设备为MODICON(莫迪康)的PLC,MODBUS-RTU地址型。

数据为整型16位。

支持MODBUS协议03H、04H、06H指令(03H、06H读写参数,04H读测量值),参数寄存器地址:参数设定范围出厂默认值通讯指令地址温度测量值/ / 04H 00H 湿度测量值/ / 04H 01H 本机地址0-255 1 03H,06H 00H 通讯波特率300-19200 9600 03H,06H 01H 湿度平移修正-20.0-20.0 0.0 03H,06H 67H ●基本参数波特率9600 数据格式:8位校验位无停止位1位数据默认1位小数,例如109表示10.9●帧结构●消息交互模式●功能码及消息结构使用Modbus协议的公共功能码功能码0X04功能说明读串口数据消息格式读串口数据主机读数据格式开始从机地址命令寄存器地址读数个数CRC校验≥5ms延迟1字节0x04 0x0000 0x0002 0xXXXX说明:读数个数是指主机需要在从机读回的数据个数,0001表示只读温度,0002表示读回温湿度两个数,温度在前,湿度在后;从机返回数据格式开始从机地址命令返回字节数温度值(高位在前,低位在后)湿度值(高位在前,低位在后CRC校验(高位在前,低位在后)≥5ms延迟1字节0X04 0x02 0x0000 0x0000 0xXXXX例1:读取温度测量值(测量值=260)发送数据为:01 04 00 00 00 01 31 CA其中,01是本机地址,04是通讯指令,00 00是寄存器起始地址,00 01表示读一个数,31 CA 是校验码。

rs485通讯

rs485通讯

RS485通讯1. 引言RS485是一种串行通信协议,用于在多个设备之间进行双向数据传输。

它是一种高性能的通讯协议,常用于工业自动化、仪器仪表、门禁系统等领域。

本文将介绍RS485通讯的基本原理、使用方法以及常见的应用场景。

2. 基本原理RS485通讯使用差分信号传输,可以抵抗电磁干扰和噪声。

它采用两条相对独立的传输线(A线和B线),通过不同的电平表示逻辑1或逻辑0。

其中,逻辑1对应线A为高电平,线B为低电平;逻辑0对应线A为低电平,线B为高电平。

通过这种方式,数据可以在多个设备之间进行可靠的传输。

3. 硬件连接在使用RS485通讯时,需要将所有设备连接到一个共享的总线上。

每个设备都需要两条连接线(A线和B线)以及一个共享的地线。

通常,可以使用终端电阻来匹配总线阻抗并提高信号质量。

4. 传输方式RS485通讯可以采用两种传输方式:全双工和半双工。

4.1 全双工通讯在全双工通讯中,设备可以同时发送和接收数据。

发送数据的设备需要将数据发送到总线上,并通过差分信号传输给其他设备。

同时,接收数据的设备可以监听总线上的数据并将其解析。

4.2 半双工通讯在半双工通讯中,设备的发送和接收操作是交替进行的。

设备在发送数据时,需要先将总线设置为发送模式,并将数据发送到总线上。

其他设备在接收数据时,将总线设置为接收模式,并监听数据。

5. 通讯协议RS485通讯可以使用多种协议进行数据交换,常见的有MODBUS、DMX512等。

这些协议定义了数据的传输格式、通讯方式和功能码等。

5.1 MODBUS协议MODBUS是一种常用的通讯协议,适用于工业自动化领域。

它定义了数据的传输格式,并提供了读写寄存器等功能。

MODBUS协议支持点对点和多点通讯。

5.2 DMX512协议DMX512是一种用于舞台灯光控制的通讯协议。

它定义了数据的传输格式和通讯方式。

DMX512通讯一般采用全双工方式进行。

6. 应用场景RS485通讯在许多领域都有广泛的应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

使用说明书 - 1 -
_
MODBUS 通讯协议说明
一.通讯说明
控制器采用RS-485总线,协议符合ModBus RTU 规约。

数据传输均采用8位数据位、1位停止位、无奇偶校验位。

波特率可设为1200-9600 bit/s 。

通讯传送分为独立的信息头,和发送的编码数据。

以下的通讯传送方式定义与RTU 通讯规约相
初始结构 = >=4字节的时间
地址码 = 1 字节
功能码 = 1 字节
数据区 = N 字节
错误校检 = 16位CRC 码
结束结构 = >=4字节的时间
地址码:地址码为通讯传送的第一个字节。

这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。

并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。

主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。

功能码:通讯传送的第二个字节。

ModBus 通讯规约定义功能号为1到127。

本控制器利用其中的一部分功能码。

作为主机请求发送,通过功能码告诉从机执行什么动作。

作为从机响应,从机发送的功能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。

如果从机发送的功能码的最高位
(比如功能码大于127),则表明从机没有响应操作或发送出错。

数据区:数据区是根据不同的功能码而不同。

CRC 码:二字节的错误检测码。

当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。

返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。

如果出错就不发送任何信息。

1 2.信息帧格式:
(1) 地址码: 地址码是信息帧的第一字节(8位),从0到255。

这个字节表明由用户设置地址的从机将接收由主机
发送来的信息。

每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送。

当从机回
送信息时,相当的地址码表明该信息来自于何处。

(2) 功能码:
主机发送的功能码告诉从机执行什么任务。

表2列出的功能码都有具体的含义及操作。

(3
数据区包含需要从机执行什么动作或由从机采集的返送信息。

这些信息可以是数值、参考地址等等。

例如,功能码告诉从机读取寄存器的值,则数据区必需包含要读取寄存器的起始地址及读取长度。

对于
不同的从机,地址和数据信息都不相同。

(4)错误校验码:
主机或从机可用校验码进行判别接收信息是否出错。

有时,由于电子噪声或其它一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或从机对在传送过程中出错的信息不起作用。


样增加了系统的安全和效率。

错误校验采用CRC-16校验方法。

CRC码低字节在前。

注:
信息帧的格式都基本相同:地址码、功能码、数据区和错误校验码。

3.错误校验
参与冗余循环码(CRC)计算的包括:地址码、功能码、数据区的字节。

冗余循环码包含2个字节,即16位二进制。

CRC码由发送设备计算,放置于发送信息的尾部。

接收信息的设备再重新计算接收到信息的CRC码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。

CRC码的计算方法是,先预置16位寄存器全为1。

再逐步把每8位数据信息进行处理。

在进行CRC码计算时只用8位数据位,起始位及停止位,如有奇偶校验位的话也包括奇偶校验位,都不参与CRC码计算。

在计算CRC码时,8位数据与寄存器的数据相异或,得到的结果向低位移一字节,用0填补最高位。

再检查最低位,如果最低位为1,把寄存器的内容与预置数相异或,如果最低位为0,不进行异或运算。

这个过程一直重复8次。

第8次移位后,下一个8位再与现在寄存器的内容相异或,这个过程与以上一样重复8次。

当所有的数据信息处理完后,最后寄存器的内容即为CRC码值。

计算CRC码的步骤为:
(1).预置16位寄存器为十六进制FFFF(即全为1)。

称此寄存器为CRC寄存器;
(2).把第一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器;
(3).把寄存器的内容右移一位(朝低位),用0填补最高位,检查最低位(注意:这时的最低位指移位前的
最低位,不是移位后的最低位);
(4).如果最低位为0:重复第3步(再次移位)
如果最低位为1:CRC寄存器与多项式A001(1010 0000 0000 0001)进行异或;
(5).重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理;
(6).重复步骤2到步骤5,进行下一个8位数据的处理;
(7).最后得到的CRC寄存器即为CRC码。

4.功能码03,读取点和返回值:
利用通讯命令,可以进行读取点(“保持寄存器”) 或返回值(“输入寄存器” )。

一次最多可读取寄存器数是15。

由于一些可编程控制器不用功能码03,所以功能码03被用作读取点和返回值。

从机响应的命令格式是从机地址、功能码、数据区及CRC码。

数据区的数据都是每二个字节高位在前,CRC码低位在前高位在后。

信息帧格式举例:
从机地址为01,寄存器地址0001H表示计数值地址。

此例中计数值为:000001
主机发送字节数举例
从机地址 1 01 发送至从机01
功能码 1 03 读取寄存器
地址代码 2 00 起始地址为0001
01
CRC码 2 30 由主机计算得到的CRC码
5C
从机响应字节数举例
从机地址 1 01 来自从机0
功能码 1 03 读取寄存器
地址代码 2 00 起始地址为0001
01
读出数据数量 1 04 long型数据长4byte
计数值数据 4 00
00
00
01 计数值4byte
CRC码 2 04 由从机计算得到的CRC码
45
表2 功能码03读取的数据及地址
5.功能码06,单点保存:
主机利用这条命令把单点数据保存到控制器的存储器。

控制器也用这个功能码向主机返送信息。

信息帧格式举例:
控制器地址为01,保存地址0002的1个值。

在此例中,数据保存结束后,控制器中地址为0008内的内容为02H。

主机发送字节数举例
从机地址 1 01 发送至从机01
功能码 1 06 单点保存
地址代码 2 00 起始地址为0002
02
写入数据04 00
00
00
64 保存的数据为64H
CRC码 2 9F 由主机计算得到的CRC码
EC
从机响应字节数举例
从机地址 1 01 来自从机01
功能码 1 06 单点保存
地址代码 2 00 起始地址为0002
02
操作结果 1 00 数据设置成功
CRC码 2 18 由主机计算得到的CRC码
28
表5 功能码06保存的数据及地址表6 个别寄存器说明
6.数据错误返回值:
如果主机发出的数据错误,则控制器向主机回送错误信息,功能码的最高位为1,即控制器返回给主机的功能码是在主机已送的功能码上加128。

从机返回的错误码的格式如下:
地址码:1字节
功能码:1字节(最高位为1)
错误码:1字节
CRC码:1字节。

相关文档
最新文档