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通讯协议MODBUS是一种串行通信协议,用于连接不同类型的现场设备。
它通常用于工业自动化领域,特别是在监控和控制方面。
MODBUS协议是由MODICON公司(现在是施耐德电气公司的一部分)开发的,早期用于其PLC(可编程逻辑控制器)系统。
MODBUS485通讯协议是MODBUS协议的一种,它使用RS485串行通信电平来工作。
RS485串行通信电平可以实现更长的通讯距离和更高的通讯速度。
因此,使用MODBUS485协议的设备可以使远程设备之间的通讯更加方便和高效。
单独传感器标准MODBUS485通讯协议的定义单独传感器是指只有一种功能的传感器设备。
例如,一个温度传感器只能测量温度,不能测量其他物理量。
单独传感器标准MODBUS485通讯协议是一个专门针对单独传感器设备的通讯协议。
该协议定义了单独传感器设备与主设备(如PLC)之间的通信规则和通信数据格式。
它规定了在RS485串行电平上通信时,如何进行数据的交互和传输,并确保数据的可靠性和完整性。
该协议中规定的通讯数据格式如下:•起始位:一个低电平信号,表示数据传输的开始;•设备地址:一个8位二进制数,标识传感器设备的地址;•功能码:一个8位二进制数,标识主设备要执行的功能;•数据域:根据功能码的不同,包含不同的数据内容;•校验码:根据前面数据域的内容生成的校验码,用于检查数据的正确性;•终止位:一个高电平信号,表示数据传输的结束。
单独传感器标准MODBUS485通讯协议的应用单独传感器标准MODBUS485通讯协议被广泛应用于现场传感器设备的控制和监测中。
例如,温度传感器、湿度传感器、压力传感器等单独传感器设备,可以使用该协议与主设备进行通信。
对于工程师来说,掌握该协议是非常重要的。
因为通讯协议的不同会影响到传感器与主设备之间的通信效率和数据正确性。
同时,了解该协议还可以帮助工程师进行现场设备的诊断和故障排除。
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通讯协议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协议区别与联系有哪些概述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通讯协议
德力西变频器有两种通讯协议:一种为国际上通用的标准 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通讯协议
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通讯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通讯在许多领域都有广泛的应用。
RS-485和Modbus通信协议及工作原理
RS-485和Modbus通信协议及工作原理在(工业控制)、电力通讯、(智能)仪表等领域,通常情况下是采用串口(通信)的方式进行数据交换。
最初采用的方式是(RS)232接口,由于(工业)现场比较复杂,各种(电气)设备会在环境中产生比较多的电磁千扰,会导致(信号)传输错误。
1979年施耐德电气制定了一个用于工业现场的总线协议Modbus协议,现在工业中使用RS485通信场合很多都采用Modbus 协议,所以今天我们来了解下RS485通信和Modbus通信协议。
什么是串口通信串口通信(Serial Communication),是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。
这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并目可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输。
(RS-485)协议概述RS-485和RS-232一样,都是审行通信标准,现在的标准名称是(TI)A485/EIA-485-A,但是人们会习惯称为RS485标准,RS-485常用在工业、自动化、汽车和建筑物管理等领域。
RS-485总线弥补了RS-232通信距离短,速率低的缺点,RS-485的速率可高达10Mbit/s,理论通讯距离可达1200米;RS-485和RS-232的单端传输不一样是差分传输,使用一对双绞线,其中一根线定义为A,另一个定义为B。
通常情况下,RS485的信号在传送出去之前会先分解成正负对称的两条线路(即我们常说的A、B信号线),当到达接收端后,再将信号相减还原成原来的信号。
拓扑结构RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,多采用的是两线制接线方式,这种接线方式为总线拓扑结构,在同一总线上最多可以挂接32个节点RS-485总线同12C总线一样支持主从模式,支持点对点单从机模式,也支持多从机模式,不支持多主机模式。
德力西变频器RS485通讯协议
德力西变频器RS485通讯协议一.德力西变频器通讯协议简介德力西变频器有两种通讯协议:一种为国际上通用的标准MODBUS协议。
另一种为德力西公司自己开发的类MODBUS ASCII格式协议。
而在德力西变频器系列中,只有9200系列RTU程序支持标准MODBUS协议(只支持功能码06和03),9100-SC系列只支持标准MODBUS ASCII协议(不支持标准MODBUS RTU协议,只支持功能码06和03),其他系列皆不支持标准MODBUS协议,只支持德力西公司自己开发的类MODBUS ASCII格式协议。
二.德力西变频器标准MODBUS协议说明1. RS-485串行通讯端子定义如下:SG+:信号正端SG-:信号负端使用RS-485串行通讯前,必须先用键盘设置变频器的“运行方式”、“波特率”、“数据格式”及“通讯地址”。
2.标准MODBUS通讯格式说明3.通讯协议参数地址定义:4.举例例1、正转启动1号变频器ASCII模式 RTU模式主机发送数据包回复数据包主机发送数据包回例2、设定1号变频器频率(存储)要设定1#变频器的频率的值为50.00HZ。
方法如下:50.00去掉小数点为5000D=1388HASCII模式 RTU模式主机发送数据包回复数据包主机发送数据包回例4、查询1号变频器运行频率1#变频器在运行状态下查询它的“输出频率”。
方法如下:输出频率的参数标号为P05.00 0500D=01F4H若1#变频器的“输出频率”为50.00HZ。
5000D=1388HASCII模式 RTU模式主机发送数据包回复数据包主机发送数据包回三.德力西变频器类MODBUS ASCII格式协议说明1.RS-485串行通讯端子定义如下:SG+:信号正端SG-:信号负端使用RS-485串行通讯前,必须先用键盘设置变频器的“运行方式”、“波特率”、“数据格式”及“通讯地址”。
2.采用异步传输:一台主机发送,可多台从机(变频器)接收,没接到主机请求,从机不能主动发送信息。
RS485与Modbus通信协议教程
RS485与Modbus通信协议教程1979年施耐德电气订立了一个用于工业现场的总线协议Modbus协议,现在工业中使用RS485通信场合很多都采纳Modbus协议,所以今日我们来了解下RS485通信和Modbus通信协议。
【一】/前言在工业掌控、电力通讯、智能仪表等领域,通常情况下是采纳串口通信的方式进行数据交换。
最初采纳的方式是RS232接口,由于工业现场比较多而杂,各种电气设备会在环境中产生比较多的电磁干扰,会导致信号传输错误。
1979年施耐德电气订立了一个用于工业现场的总线协议Modbus协议,现在工业中使用RS485通信场合很多都采纳Modbus协议,所以今日我们来了解下RS485通信和Modbus通信协议。
【二】/RS485通信1、实际上在RS485之前RS232就已经诞生,但是RS232也有不足:1)接口的信号电平值较高,达到十几V,简单损坏接口电路的芯片,而且和TTL电平不兼容,因此和单片机电路接起来的话必需加转换电路。
2)接口使用的信号线与其他设备形成共地模式的通信,这种共地模式传输简单产生干扰,并且抗干扰性能也比较弱。
3)传输距离、速率都有限,最多只能通信几十米;只能两点之间进行通信,不能够实现多机联网通信。
2、针对RS232接口以上不足,显现了RS485等新的接口标准,RS485具备以下的特点:1)逻辑“1”以两线间的电压差为+(2—6)V表示;逻辑“0”以两线间的电压差为(2—6)V表示。
接口信号电平比RS232降低了,不易损坏电路的芯片,且该电平与TTL电平兼容,可便利与TTL电路连接。
2)RS485通信速度快,数据最高传输速率为10Mbps以上;其内部的物理结构,采纳的是平衡驱动器和查分接收器的组合,抗干扰本领大大加添。
3)传输距离最远可达到1200米左右,但传输速率和传输距离是成反比的,只有在100KB/s以下的传输速率,才能达到最大的通信距离,假如需要传输更远距离可以使用中继。
rs485通讯协议有哪些
竭诚为您提供优质文档/双击可除rs485通讯协议有哪些篇一:Rs485通讯协议介绍第九章串行口Rs485通讯协议9.1通讯概述本公司系列变频器向用户提供工业控制中通用的Rs485通讯接口。
通讯协议采用modbus标准通讯协议,该变频器可以作为从机与具有相同通讯接口并采用相同通讯协议的上位机(如plc控制器、pc机)通讯,实现对变频器的集中监控,另外用户也可以使用一台变频器作为主机,通过Rs485接口连接数台本公司的变频器作为从机。
以实现变频器的多机联动。
通过该通讯口也可以接远控键盘。
实现用户对变频器的远程操作。
本变频器的modbus通讯协议支持两种传送方式:Rtu方式和ascii方式,用户可以根据情况选择其中的一种方式通讯。
下文是该变频器通讯协议的详细说明。
9.2通讯协议说明9.2.1通讯组网方式(1)变频器作为从机组网方式:单主机多从机图9-1从机组网方式示意图单主机单从机(2)多机联动组网方式:-107-图9-2多机联动组网示意图9.2.2通信协议方式该变频器在Rs485网络中既可以作为主机使用,也可以作为从机使用,作为主机使用时,可以控制其它本公司变频器,实现多级联动,作为从机时,pc机或plc可以作为主机控制变频器工作。
具体通讯方式如下:(1)变频器为从机,主从式点对点通信。
主机使用广播地址发送命令时,从机不应答。
(2)变频器作为主机,使用广播地址发送命令到从机,从机不应答。
(3)用户可以通过用键盘或串行通信方式设置变频器的本机地址、波特率、数据格式。
(4)从机在最近一次对主机轮询的应答帧中上报当前故障信息。
9.2.3通讯接口方式通讯为Rs485接口,异步串行,半双工传输。
默认通讯协议方式采用ascii方式。
默认数据格式为:1位起始位,7位数据位,2位停止位。
默认速率为9600bps,通讯参数设置参见p3.09~p3.12功能码。
9.3ascii通讯协议字符结构:10位字符框(Forascii)(1-7-2格式,无校验)(1-7-1格式,奇校验)-108-(1-7-1格式,偶校验)11位字符框(ForRtu)(1-8-2格式,无校验)(1-8-1格式,奇校验)(1-8-1格式,偶校验)通讯资料结构:ascii模式-109-通讯地址:00h:所有变频器广播(broadcast)01h:对01地址变频器通讯。
安可信RS485通讯协议(V1.2)
HTX48501操作手册该产品的功能是负责把控制器的信号转换为标准的modbus协议信号。
一、硬件接口该产品使用RS485接口与modbus协议的主站进行通信。
RS485接口采用3线进行通信,分别为A,B,PGND。
二、软件接口使用modbus标准协议对可燃气体报警系统的信号进行解析。
使用到modbus协议的功能代码为1,2,3,4,5。
三、Modbus协议说明1.传输协议modbus传输模式:RTU波特率:9,600bps传输字节特性:起始位:1位数据位(最小位优先):8位奇偶校验:奇校验停止位:1位错误校验:CRC校验2.协议解析该协议支持两种数据访问模式,分别为位地址和寄存器地址(16位)。
a.地址表示该从modbus设备的通信地址(该地址的范围为1~247),该地址由控制器进行设置。
b.c.数据访问地址数据访问地址:就是访问的寄存器起始地址。
各种类型数据的具体起始访问地址(十进制表示)如下:x000:探测器的浓度x064:探测器的状态x128:模块的开关状态x168:控制器状态控制器中最多允许接入128个探测器,64个外部模块,4个内部模块。
地址以十进制数进行表示,千位为X,表示x的值可以为1~9。
其它位数的值固定。
数据访问地址的增量为2,比如:x000表示1号探测器,x001也表示1号探测器,x002和x003表示2号探测器。
(即访问地址除以2然后加1就是具体设备的编号)。
d.数据数据:通信发送要处理的实际数据。
注意:应答数据不能够超过255个字节。
e.CRC校验Modbus协议采用16位的CRC校验。
3.设备状态说明探测器状态如下:0:探头短路1:探头断线2:探头老化3:其它故障4:未标定5:零点变化7:无响应9:探头自检a:正常d:预报警e:低限报警f:高限报警4.modbus消息例子a.读取模块的开关状态实例1:发送:表示1,2,3,4号模块都断开。
实例2:应答:表示模块2闭合,内部模块3断开,模块4~6闭合。
485通信和modbus协议
{ TI = 0; //手动清零发送中断标志位
flagOnceTxd = 1; //设置单次发送完成标志
}
} /***********************main.c 文件程序源代码*************************/
cntbkp = cntRxd; idletmr = 0; } else { if (idletmr < 30) //接收计数器未改变,即总线空闲时,累积空闲时间 {
idletmr += ms; if (idletmr >= 30) //空闲时间超过 30ms 即认为一帧命令接收完毕 {
cmdArrived = 1; //设置命令到达标志 } } } } else { cntbkp = 0; } } void InterruptUART() interrupt 4 //UART 中断服务函数 { if (RI) //接收到字节 { RI = 0; //手动清零接收中断标志位 if (cntRxd < sizeof(bufRxd)) //接收缓冲区尚未用完时, { bufRxd[cntRxd++] = SBUF; //保存接收字节,并递增计数器 } } if (TI) //字节发送完毕
#include <intrins.h> sbit RS485_DIR = P1^7; //RS485 方向选择引脚
bit flagOnceTxd = 0; //单次发送完成标志,即发送完一个字节
bit cmdArrived = 0; //命令到达标志,即接收到上位机下发的命令
unsigned char cntRxd = 0; unsigned char pdata bufRxd[40]; //串口接收缓冲区
Modbus通讯协议简介
Modbus协议一、Modbus 通讯协议简介:Modbus协议是基于RS485硬件接口的通讯协议,它可以实现点对多点的网络化控制。
具体的协议内容可参考GB/Z 19582,协议分为RTU协议和ASCII协议。
本公司所提供之基于Modbus的产品皆遵循RTU协议,允许一台主机(Master)和多台从机(Slave)之间进行数据交换。
通讯方式采用问答式(即主机提出请求命令,从机接收后分析是否符合通讯规约,若是则做应答)。
二、主从机之间的通讯规约:主机发送的每一帧数据应包含如下信息(16 进制)从机地址 命令字 信息字 校验码从机地址(1 个字节):从机设备号,主机利用从机地址来识别进行通讯的从机设备。
表明由用户设置地址的从机将接收由主机发送来的信息。
在一个Modbus网络中每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应。
命令字(1 个字节): 主机发送的功能码,通知从机执行什么任务。
信息字(N 个字节): 包括进行两机通讯中的各种数据地址、数据长度、数据信息。
校验码(2 个字节): 用于检测数据通讯错误,采用循环冗余CRC16校验。
三、通讯参数的设置:通讯地址:设置通讯网络中从机地址号,可以设置为1~247。
(默认值为1)通讯速度:设置通讯网络中通讯速度,可选择通讯波特率为9600、19200、38400、57600、115200。
(默认值为19200)数据格式:设置通讯网络中数据格式:1个起始位,8个数据位,1个停止位,1个偶校验位。
通讯协议:ModBus RTU通讯协议。
四、报文格式说明命令字03H:读取参数值主机请求:地址 命令字 参数地址 数据长度 校验码从机响应:地址 命令字 字节长度 参数值 校验码命令字04H:读取测量值主机请求:地址 命令字 数据地址 数据长度 校验码从机响应:地址 命令字 字节长度 数据信息 校验码命令字08H:诊断主机请求:地址 命令字 子功能 数据 校验码从机回送:地址 命令字 子功能 数据 校验码命令字10H:修改参数值主机请求:地址 命令字 参数地址 数据长度 字节长度 参数值 校验码从机响应:地址 命令字 参数地址 数据长度 校验码五、例程读取主测量值指令主机发送 01H 04H 00H 01H 00H 02H 20H 0BH 读取测量值注:01H为编码器通讯地址,04H为命令字,00 01H为数据地址,00 02H为数据长度,20 0BH为校验码.从机响应 01H 04H 04H 00H 00H 01H 00H FAH 14H注:01H为编码器通讯地址,04H为命令字,04H为数据字节长度,00 00 01 00H为数据,FA 14H为校验码.附:只有在标定模式下时,读取测量值会发送读取圈数的指令,数据地址为00 03H.读取参数指令主机发送 01H 03H 00H 44H 00H 02H 84H 1EH 读取工作模式参数值 注:01H为编码器通讯地址,03H为命令字,00 44H为数据地址,00 02H为数据长度,84 1EH为校验码.从机响应 01H 04H 04H 00H 00H 00H 00H FBH 84H注:01H为编码器通讯地址,04H为命令字,04H为数据字节长度,00 00 00 00H为参数值,FB 84H为校验码.修改参数指令主机发送 01H 10H 00H 44H 00H 02H 04H 00H 00H 00H 00H F6H 6CH 修改工作模式参数值 注:01H为编码器通讯地址,10H为命令字,00 44H为参数地址,00 02H为数据长度,04H为数据字节长度,00 00 00 00H为参数值,F6 6CH为校验码.从机响应 01H 10H 00H 44H 00H 02H 01H DDH注:01H为编码器通讯地址,10H为命令字,00 44H为参数地址,00 02H为数据长度,01 DDH为校验码.※ 正常工作状态时,使用Modbus RTU协议,只能发送读取主测量值指令。
RS485通讯协议简介
通讯概述本公司系列变频器向用户提供工业控制中通用的RS485通讯接口。
通讯协议采用MODBUS标准通讯协议,该变频器可以作为从机与具有相同通讯接口并采用相同通讯协议的上位机(如PLC控制器、PC机)通讯,实现对变频器的集中监控,另外用户也可以使用一台变频器作为主机,通过RS485接口连接数台本公司的变频器作为从机。
以实现变频器的多机联动。
通过该通讯口也可以接远控键盘。
实现用户对变频器的远程操作。
本变频器的MODBUS通讯协议支持两种传送方式:RTU方式和ASCII方式,用户可以根据情况选择其中的一种方式通讯。
下文是该变频器通讯协议的详细说明。
通讯协议说明9.2.1通讯组网方式(1) 变频器作为从机组网方式:图9-1 从机组网方式示意图(2) 多机联动组网方式:RS485图9-2 多机联动组网示意图9.2.2通信协议方式该变频器在RS485网络中既可以作为主机使用,也可以作为从机使用,作为主机使用时,可以控制其它本公司变频器,实现多级联动,作为从机时,PC 机或PLC可以作为主机控制变频器工作。
具体通讯方式如下:(1)变频器为从机,主从式点对点通信。
主机使用广播地址发送命令时,从机不应答。
(2)变频器作为主机,使用广播地址发送命令到从机,从机不应答。
(3)用户可以通过用键盘或串行通信方式设置变频器的本机地址、波特率、数据格式。
(4) 从机在最近一次对主机轮询的应答帧中上报当前故障信息。
9.2.3通讯接口方式通讯为RS485接口,异步串行,半双工传输。
默认通讯协议方式采用ASCII 方式。
默认数据格式为:1位起始位,7位数据位,2位停止位。
默认速率为9600bps,通讯参数设置参见~功能码。
ASCII通讯协议字符结构:10位字符框(For ASCII)11位字符框(For RTU)通讯资料结构:ASCII模式校验码:ASCII模式:双字节ASCII码。
计算方法:对于消息发送端,LRC的计算方法是将要发送消息中“从机地址”到“运行数据”没有转换成ASCII码的全部字节连续累加,结果丢弃进位,得到的8位字节按位取反,后再加1(转换为补码),最后转换成ASCII码,放入校验区,高字节在前,低字节在后。
RS485通讯型温湿度(MODBUS)通讯协议手册
1、概述1.1 引言通讯规约详细描述了本机通讯的读、写命令格式及信息和数据的定义,以便第三方开发使用。
1. 2 电气特点及符合标准1) 连接上位机的主通信接口,采用标准串行RS485通讯口,使用接线端子。
2) 信息传输方式为异步方式,字节格式为起始位1位,数据位8位,停止位1位,无校验。
3) 数据传输速率1200b/s, 2400b/s, 4800b/s, 9600b/s, 19200b/s可选,缺省为9600b/s。
4) 符合MODUBS RTU 协议标准。
2、MODBUS RTU通信协议详述2.1 协议基本规则以下规则确定在回路控制器和其他串行通信回路中设备的通信规则。
1)所有RS485通讯回路都应遵照主/从方式。
依照这种方式,数据可以在一个主站(如:PC)和多个子站(如:TH11S)之间传递。
任何一次通讯都不能从子站开始。
2)主站将初始化和控制在RS485通讯回路上传递的所有信息。
3)所有回路上的传送均分为两种方式:A) 主/从传送B) 从/主传送4)在RS485回路上的所有通讯都以“信息帧”方式传递。
如果主站或子站接收到含有未知命令的信息帧,则不予以响应“信息帧”就是一个由字节构成的字符串(最多255个字节),是由信息头和发送的编码数据构成标准的异步串行数据,该通讯方式也与RTU通讯规约相兼容。
2.2信息帧结构描述每个信息帧组成如下:3、字节格式通讯传输为异步方式,并以字节为单位。
在主站和子站之间传递的每一个字节帧都是10位(无校验位)的串行数据流。
字节帧格式:4、命令报文格式4. 1读数据:主站发送返回:5如:带符号整数范围 -32768---32767上传数据需除十,正数的范围为16进制0X0000-0X7FFF,负数采用正数的补码方式传输,其范围为16进制0X8000-0XFFFF,如:湿度上传16进制 0X0311,对应十进制785,表示78.5%温度上传16进制 0X00FF,对应十进制255,表示25.5℃温度上传16进制 0XFF9B,对应十进制100(0XFFFF-0XFF9B=0X64), 表示-10.0℃6、网络采样定时H-THS温湿度传感器中,上位机读取数据每次间隔时间不小于500ms,推荐值1s。
概念:modbus协议、RS232或者RS485
概念:modbus协议、RS232或者RS485modbus协议和RS232或者RS485之间不是⼀回事。
Modbus是通讯协议,⽽RS232、RS485只能代表通讯的物理介质层和链路层。
Modbus协议⽀持传统的RS-232、RS-422、RS-485和以太⽹设备。
许多⼯业设备,包括PLC,DCS,智能仪表等都在使⽤Modbus协议作为他们之间的通讯标准。
三者区别如下:1,Modbus 协议:为更好地普及和推动Modbus在基于以太⽹上的分布式应⽤,⽬前施耐德公司已将Modbus协议的所有权移交给IDA(Interface for DistributedAutomation,分布式⾃动化接⼝)组织,并成⽴了Modbus-IDA组织,为Modbus今后的发展奠定了基础。
在中国,Modbus已经成为国家标准GB/T19582-2008。
据不完全统计:截⽌到2007年,Modbus的节点安装数量已经超过了1000万个。
Modbus协议是应⽤于电⼦控制器上的⼀种通⽤语⾔。
通过此协议,控制器相互之间、控制器经由⽹络(例如以太⽹)和其它设备之间可以通信。
它已经成为⼀通⽤⼯业标准。
有了它,不同⼚商⽣产的控制设备可以连成⼯业⽹络,进⾏集中监控。
此协议定义了⼀个控制器能认识使⽤的消息结构,⽽不管它们是经过何种⽹络进⾏通信的。
它描述了⼀控制器请求访问其它设备的过程,如何回应来⾃其它设备的请求,以及怎样侦测错误并记录。
它制定了消息域格局和内容的公共格式。
当在⼀Modbus⽹络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产⽣何种⾏动。
如果需要回应,控制器将⽣成反馈信息并⽤Modbus协议发出。
在其它⽹络上,包含了Modbus协议的消息转换为在此⽹络上使⽤的帧或包结构。
这种转换也扩展了根据具体的⽹络解决节地址、路由路径及错误检测的⽅法。
此协议⽀持传统的RS-232、RS-422、RS-485和以太⽹设备。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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字节。