第5章Modbus通信协议PPT课件下载推荐.ppt

上传人:b****1 文档编号:14024511 上传时间:2022-10-17 格式:PPT 页数:40 大小:775.50KB
下载 相关 举报
第5章Modbus通信协议PPT课件下载推荐.ppt_第1页
第1页 / 共40页
第5章Modbus通信协议PPT课件下载推荐.ppt_第2页
第2页 / 共40页
第5章Modbus通信协议PPT课件下载推荐.ppt_第3页
第3页 / 共40页
第5章Modbus通信协议PPT课件下载推荐.ppt_第4页
第4页 / 共40页
第5章Modbus通信协议PPT课件下载推荐.ppt_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

第5章Modbus通信协议PPT课件下载推荐.ppt

《第5章Modbus通信协议PPT课件下载推荐.ppt》由会员分享,可在线阅读,更多相关《第5章Modbus通信协议PPT课件下载推荐.ppt(40页珍藏版)》请在冰豆网上搜索。

第5章Modbus通信协议PPT课件下载推荐.ppt

通过协议中的功能代码传输总线命令,实现主站和从站之间的信息交换。

主要特点:

物理接口使用RS-232C、RS-422、RS-485组成主从访问的单主控制网络;

主站轮询从站时,从站回应相应信息。

主站也可对所有从站进行广播通信。

通过通信报文结构完成对从节点操作。

5.1.2Modbus的传输网络1.在标准Modbus网络上传输Modicon协议最早采用的标准串行接口是RS-232C。

现在可采用RS-422、RS-485、光纤等。

主机可对某从机查询,该从机返回信息作为响应。

若出现差错或从机无法执行要求动作时,从机会向主机发送差错信息。

主机也可对所有从机广播查询,从机对于主机的广播查询无响应返回。

在标准Modbus网络上,Modbus协议有两种模式:

ASCIIRTU(RemoteTerminalUnit)一个Modbus通信网络上只能有一种模式,不允许两种模式混用。

2.在其它类型网络上传输有些Modbus控制器可使用内置接口或网络适配器,在ModbusPlus或者以太网上通信。

在这些网络上,控制器间采用对等(p2p)技术,任一控制器可发起向其它的数据传送。

在不同传输过程中,某一控制器既可作从机,也可作主机。

形成客户机/服务器模式。

5.1.3Modbus的查询回应周期查询(Query):

主设备发起的数据传输回应(Response):

从设备对主设备查询作出的回复,主设备可单独和某从设备通信,也能以广播方式和所有从设备通信。

单独查询某从设备,则相应从设备执行查询请求的功能,并返回一消息作为回应;

以广播方式查询,则所有从设备执行查询请求的功能,但不用作任何回应。

如果在查询消息接收过程中产生差错,或从设备不能完成请求的功能,从设备回应差错消息。

主设备接收到回复,或在一定时限内未收到回复,将根据设定程序进行相应举措。

5.1.4Modbus的两种传输模式ASCII模式和RTU模式,任何一种都能在标准Modbus网络通信。

用户根据需要选择想要的传输模式。

同一Modbus网络上的所有设备都必须选择相同传输模式和串口参数(波特率、校验方式等)。

ASCII模式消息中每个8位字节都要用两个ASCII字符表示并以异步方式传输。

优点:

字符发送时间间隔可达1秒而不产生差错。

编码系统十六进制,ASCII字符09,AF消息中每个ASCII字符包含一个十六进制字符,每个字节的位1个起始位7个数据位,最小的有效位先发送1个奇偶校验位,无校验则无该位1个停止位(有校验时),或2个停止位(无校验时)差错检测域LRC(LongitudinalRedundancyCheck,纵向冗余校验),RTU模式消息中每个8位字节都是原始的十六进制字符(包含2个),无需编码,以异步方式传输。

在同样波特率下,可比ASCII模式传送更多的数据。

编码系统8位二进制,十六进制数09,AF消息中每个8位由两个十六进制字符组成,每个字节的位1个起始位8个数据位,最小的有效位先发送1个奇偶校验位,无校验则无该位1个停止位(有校验时),或2个停止位(无校验时)差错检测域CRC(CyclicalRedundancyCheck,循环冗余校验),5.2Modbus消息帧格式,5.2.1消息帧包含的信息每个消息帧包含4类信息,按发送的先后顺序分别为(字节数指未编码原始信息字节数):

地址(1字节)功能码(1字节)数据段(n字节,n0)差错检测码(ASCII:

1字节;

RTU:

2字节)消息帧中包含以上有关信息的区域分别称为地址域、功能域、数据域、差错检测域。

1.地址域地址信息一个字节。

可能的从设备地址是1247。

主设备通过将要联络的从设备的地址放入消息中的地址域来选通从设备。

当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出的回应。

ASCII模式时,地址域包含2字节;

RTU模式时,地址域1字节。

地址0用作广播地址。

2.功能域功能代码是一个字节。

可能的代码范围是1255。

其中有些代码适用于所有控制器,有些应用于某种控制器,还有些保留以备后用。

功能码中较常使用的是1、2、3、4、5、6号功能码,可实现对PLC数字量和模拟量的读写操作。

ASCII模式时,功能域包含2字节;

RTU模式时,功能域1字节。

当消息从主设备发往从设备时,功能代码域将告之从设备需要执行哪些行为。

当从设备回应时,使用功能代码域指示是正常回应(执行无误)还是异常回应(产生错误)。

对正常回应,从设备仅回应相应的功能代码。

对异常回应,从设备返回与正常代码相同的代码,但要在其最高位置1。

例如:

一从主设备发往从设备的消息要求读一组保持寄存器,使用功能码03H。

如果正常执行,从设备回应功能码03H;

如果异议,从设备回应功能码83H。

异常回应时,除了修改功能码,从设备还将一个描述具体差错的代码放到回应消息的数据域中,这能告诉主设备具体发生了什么差错。

主设备应用程序得到异常的回应后,典型的处理过程是重发消息,或者诊断发给从设备的消息并报告给操作员。

3.数据域数据域由字节组成,每个字节的取值范围是00FFH。

根据传输模式,数据域可以由一对对ASCII字符或由一个个RTU字符组成。

主设备请求消息帧的数据域为从设备执行请求功能时要使用附加信息。

如果执行过程中无差错,从设备返回的消息帧数据域包含请求的数据;

如果有差错,此域包含异常代码。

在某种消息中数据域可以没有(0长度)。

如主设备请求不需附加信息时。

4.差错检测域ASCII模式时,差错检测值是采用LRC方法对消息内容计算后得出的LRC校验码,1字节长度,故ASCII模式的差错检测域包含2个ASCII字符。

RTU模式时,差错检测值使采用CRC方法对消息内容计算得出的CRC校验码,2字节长度,所以RTU模式的差错检测域是2字节长度。

5.2.2差错检测方法ASCII传输模式采用LRC帧检测RTU模式采用CRC帧检测帧检测应用于整个消息,在消息发送前由发送方产生的,接受方在接收过程中检测。

1.奇偶校验在每一组字符帧的数据后添加奇偶校验位,使码元中总的1的个数为奇数或偶数。

ASCII模式是7个数据位,RTU是8个数据位。

例如,RTU字符帧数据为11000101奇偶校验只能检测出传输过程中字符帧1的个位数出错。

如果不指定奇偶校验,传输不进行校验,要传输字符帧中的奇偶校验位用一附加停止位填充替代。

奇校验:

使数据位+校验位总的1的个数为奇数。

1,偶校验:

使数据位+校验位总的1的个数为偶数。

0,2.LRC校验ASCII模式时,消息帧包括了一基于LRC校验方法的差错检测域。

LRC域检测根据地址域、功能域和数据域内容计算得到(不包括开始的冒号符及后面的回车换行符)。

LRC域包含了一个字节信息(LRC值)。

LRC值由发送方计算并以两个ASCII码字符形式放到消息帧中发送;

接收方在接收消息后同样计算LRC,并将结果和接收消息中LRC域中的LRC值比较,两值不等,说明有差错。

LRC基本算法:

将消息中的地址信息(1字节)、功能码信息(1字节)、数据信息(n字节)连续累加,丢弃超出8位的部分,只保留一个字节。

实际上,Modbus网络的发送方在对信息码元累加后,还要取其补码。

将补码转换成两个ASCII字符,填入ASCII模式的消息帧格式,高位在前,低位在后。

Modbus网络接收方,在接收到消息帧中所有字符后,将地址域、功能域、数据域、差错校验域的ASCII代码信息还原成原始信息码后,求所有数据单元字节和,丢弃超出8位的部分。

如果累加结果是0,认为该消息帧的传输正常无差错,否则传输失败。

地址域、功能域、数据域消息未经ASCII编码的原始值(16进制)0203002A00083.CRC校验,02H+03H+00H+FAH+00H+08H=107H,07H,F9H,F9,5.2.3消息帧格式无论什么模式,传输设备都要将Modbus消息转为有起点和终点的帧。

这能使接收方获知每条消息何时开始,何时结束。

1.ASCII模式的帧格式消息以冒号:

字符(ASCII码3AH)作为消息帧的起始。

以回车CR(ASCII码0DH)、换行LF(ASCII码0AH)作为消息帧的结束。

字符间发送时间间隔不能超过1秒,否则接收方认为传输错误。

2.RTU模式的帧格式消息以至少3.5个字符时间的停顿间隔为开始和结束。

1个字符时间是RTU模式时传输一个字符所需时间,与传输格式和波特率有关。

RTU模式用时间间隔作为消息帧的起始和结束标志,传输信息是未经过编码的原始码元。

整个消息帧必须作为一个连续信息流传输。

如果一帧内部有超过1.5个字符时间的停顿,接收方将丢弃接收到的不完整消息,并假定下一字节是一个新消息的地址域。

如果一个新消息是在小于1.5个字符时间内接着前个消息开始,接收方将认为它是前一消息的延续。

3.Modbus网络传输举例设在Modbus网络上,主机向地址为06H的从机发出查询,请求读取从地址006BH开始的3个16位寄存器数据。

分析收发过程,并写出两种模式的帧。

1.主机查询过程查找功能码表,完成该行为的功能码是03H寄存器的地址和数量都属于主机发给从机的包含在数据域中的附加信息,在Modbus中都用双字节表示。

寄存器地址006BH,寄存器数量0003H。

主机要向从机发送6个字节的原始数据:

06H03H00H6BH00H03H。

发送前主机还要计算LRC校验码(ASCII模式),或CRC校验码(RTU模式),放入查询消息帧的校验域。

计算LRC校验码06H+03H+00H+6BH+00H+03H=77HNOT(77H)+1=89H对应的ASCII码是:

38H(8),39H(9)。

2.从机回应过程从机在检测到消息帧的起始(ASCII模式:

,RTU模式3.5个字符时间),并确认收到的查询地址是本机地址后,接收全部消息帧的信息。

在检测到消息帧的结束(ASCII模式CR,LF;

RTU模式至少1.5个字符时间),发收过程结束。

从机在接受过程中,对接收的每个字符进行奇偶校验(如果设定),如有差错,接收过程结束,从机开始等待接收新的消息帧。

ASCII模式时,消息帧全部正常接收完,从机将ASCII码信息转换为原数据信息(包括地址、功能、数据和LRC校验)。

从机计算校验码,与接收到校验进行比较,判断接收过程是否有差错。

字符奇偶校验、帧校验均无差错时,从机才有可能对主机正常回应,否则是异常回应,或无回应。

正常响应,从机的回应消息帧中功能代码还是接收到的代码;

否则该代码的最高位会置1,表示异常回应。

设备地址仍为从机地址值。

“返回字节数”表明了附在数据区中的字节数的返回数量(06H)。

返回的数据是双字节,分为高低字节。

02H2BH00H00H00H63H计算LRC校验码06H+03H+06H+02H+2BH+00H+00H+00H+63H=9FHNOT(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1