ModBus通信协议

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

11ModBus通信协议及通信调试22目录一Modbus协议三Modbus数据包的分析四简单Linux操作命令九常见问题分析讲解3Modbus协议•Modbus协议是应用于电子控制器上的一种通用语言。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控•ModBus通信采用主从方式,在同一个网络中有一个主设备及最多达255台从设备,从设备的地址编码为1~255。通常情况下,主设备只与1台从设备通信,但当主设备发出的地址码为0即采用广播方式时,可以将消息发送给所有的从设备•ModBus一次通信其发送和接收的数据包由若干帧组成,协议正是定义了这些帧的意义,控制器只要按照协议解释其接收和发送的帧数据,就能与在同一网络中采用同样协议的控制器实现通信4Modbus协议•ModBus协议有两种通信模式:ASCII模式和RTU(远程终端单元)模式。ASCII模式是将一个字节分为两个ASCII字符发送,而RTU模式以十六进制传送数据,一个字节就是一帧,因而数据传送的效率高于ASCII模式,大多数工业控制器采用RTU模式。目前我们接触过的采用ASCII模式的设备只有SHAFER的气液联动阀的电子控制单元。•在同一个网络中,无论主机还是从机,都必须采用相同的通信模式及相同的传输速率。如:9600,N,8,15Modbus协议•ModBus协议有两种通信模式:ASCII模式和RTU(远程终端单元)模式。ASCII模式是将一个字节分为两个ASCII字符发送,而RTU模式以十六进制传送数据,一个字节就是一帧,因而数据传送的效率高于ASCII模式,大多数工业控制器采用RTU模式。目前我们接触过的采用ASCII模式的设备只有SHAFER的气液联动阀的电子控制单元。•在同一个网络中,无论主机还是从机,都必须采用相同的通信模式及相同的传输速率。如:9600,N,8,16Modbus协议-询问—应答7Modbus协议-询问—应答•TheQuery:Thefunctioncodeinthequerytellstheaddressedslavedevicewhatkindofactiontoperform.Thedatabytescontainanyadditionalinformationthattheslavewillneedtoperformthefunction.Forexample,functioncode03willquerytheslavetoreadholdingregistersandrespondwiththeircontents.Thedatafieldmustcontaintheinformationtellingtheslavewhichregistertostartatandhowmanyregisterstoread.Theerrorcheckfieldprovidesamethodfortheslavetovalidatetheintegrityofthemessagecontents.8Modbus协议-询问—应答•TheResponse:Iftheslavemakesanormalresponse,thefunctioncodeintheresponseisanechoofthefunctioncodeinthequery.Thedatabytescontainthedatacollectedbytheslave,suchasregistervaluesorstatus.Ifanerroroccurs,thefunctioncodeismodifiedtoindicatethattheresponseisanerrorresponse,andthedatabytescontainacodethatdescribestheerror.Theerrorcheckfieldallowsthemastertoconfirmthatthemessagecontentsarevalid.99目录一Modbus协议三Modbus数据包的分析四简单Linux操作命令九常见问题分析讲解10Modbus数据包的分析-功能码03•QUERYRESPONSESlaveAddress:01SlaveAddress:01Function:03Function:03StartingAddressHi:00ByteCount:02StartingAddressLo:01DataHi:00No.ofRegistersHi:00DataLo:06No.ofRegistersLo:01ErrorCheck:3846ErrorCheck:d5ca11Modbus数据包的分析-功能码02•Q:010200C40016----•R:010203ACDB35----•QUERYRESPONSESlaveAddress:01SlaveAddress:01Function:02Function:02StartingAddressHi:00ByteCount:03StartingAddressLo:C4Data(Inputs10204–10197):ACNo.ofRegistersHi:00Data(Inputs10212–10205):DBNo.ofRegistersLo:16Data(Inputs10218–10213):35ErrorCheck:----ErrorCheck:----12Modbus数据包的分析-功能码02•Q:010200C40016----•R:010203ACDB35----•十六进制十进制•C4196•十六进制二进制10204–10197•AC1010110010212–10205•DB1101101110218–10213(10220–10213)•35001101011313目录一Modbus协议三Modbus数据包的分析四简单Linux操作命令九常见问题分析讲解14简单的Linux操作命令-VI编辑器•VI指令主要用来编辑Linux操作系统中的文件,它包含两种模式:编辑模式、命令模式。从编辑模式到命令模式按ESC键即可。15简单的Linux操作命令-VI编辑器•在VI编辑器中相应指令如下:1.编辑模式:a在当前光标后插入字符i在当前光标前插入字符o在当前光标后插入一行x删除当前字符dd删除当前行r(R)替代当前字符2.命令模式:q!不保存:wq!保存16简单的Linux操作命令-文件的传输FTP•FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。17简单的Linux操作命令-文件的传输FTPFTP命令简介:1、FTP目的IP地址FTP服务器的登陆2、DIR/LS显示文件信息3、GET文件名(下载到当前目录)下载文件4、PUT文件名上传文件5、BYE退出6、HELP帮助18简单的Linux操作命令-文件的传输FTPFTP命令简介:1、FTP目的IP地址FTP服务器的登陆2、DIR/LS显示文件信息3、GET文件名(下载到当前目录)下载文件4、PUT文件名上传文件5、BYE退出6、HELP帮助19简单的Linux操作命令-文件的传输FTP•传输模式FTP的传输有两种方式:ASCII、二进制。•ASCII传输方式假定用户正在拷贝的文件包含的简单ASCII码文本,如果在远程机器上运行的不是Linux,当文件传输时ftp通常会自动地调整文件的内容以便于把文件解释成另外那台计算机存储文本文件的格式。但是常常有这样的情况,用户正在传输的文件包含的不是文本文件,它们可能是程序,数据库,字处理文件或者压缩文件。在拷贝任何非文本文件之前,用binary命令告诉ftp逐字拷贝。20简单的Linux操作命令-文件的传输FTP•传输模式FTP的传输有两种方式:ASCII、二进制。•二进制传输模式在二进制传输中,保存文件的位序,以便原始和拷贝的是逐位一一对应的。即使目的地机器上包含位序列的文件是没意义的。如在ASCII方式下传输二进制文件,即使不需要也仍会转译。这会损坏数据。(ASCII方式一般假设每一字符的第一有效位无意义,因为ASCII字符组合不使用它。如果传输二进制文件,所有的位都是重要的。)2121目录一Modbus协议三Modbus数据包的分析四简单Linux操作命令九常见问题分析讲解22常见问题分析讲解-常见问题•设备问题1、笔记本串口损坏。2、485-232转换器损坏。3、设备本身问题。4、水晶头问题•线路问题1、现场设备到端子2、端子到MOXA串口•配置问题1、OASyS配置(CONNECTION/RTU)2、MOXA配置(rc.local文件)23谢谢!

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功