《Modbus通信协议qbs.docx》由会员分享,可在线阅读,更多相关《Modbus通信协议qbs.docx(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Modbbus通通信协议议摘要:工业业控制已已从单机机控制走走向集中中监控、集集散控制制,如今今已进入入网络时时代,工工业控制制器连网网也为网网络管理理提供了了方便。Modbus就是工业控制器的网络协议中的一种。关键词:Moddbuss协议;串行通通信;LLRC校校验;CCRC校校验;RRS-2232CC一、Moodbuus 协协议简介介Modbbus 协议是是应用于于电子控控制器上上的一种种通用语语言。通通过此协协议,控控制器相相互之间间、控制制器经由由网络(例例如以太太网)和和其它设设备之间间可以通通信。它它已经成成为一通通用工业业标准。有有了它,不不同厂商商生产的的控制设设备可以以连成工
2、工业网络络,进行行集中监监控。此协议定定义了一一个控制制器能认认识使用用的消息息结构,而不管管它们是是经过何何种网络络进行通通信的。它它描述了了一控制制器请求求访问其其它设备备的过程程,如果果回应来来自其它它设备的的请求,以以及怎样样侦测错错误并记记录。它它制定了了消息域域格局和和内容的的公共格格式。当在一MModbbus网网络上通通信时,此此协议决决定了每每个控制制器须要要知道它它们的设设备地址址,识别别按地址址发来的的消息,决决定要产产生何种种行动。如如果需要要回应,控控制器将将生成反反馈信息息并用MModbbus协协议发出出。在其其它网络络上,包包含了MModbbus协协议的消消息转换换
3、为在此此网络上上使用的的帧或包包结构。这这种转换换也扩展展了根据据具体的的网络解解决节地地址、路路由路径径及错误误检测的的方法。1、在MModbbus网网络上转转输标准的MModbbus口口是使用用一RSS-2332C兼兼容串行行接口,它它定义了了连接口口的针脚脚、电缆缆、信号号位、传传输波特特率、奇奇偶校验验。控制制器能直直接或经经由Moodemm组网。控制器通通信使用用主从技术术,即仅仅一设备备(主设设备)能能初始化化传输(查查询)。其其它设备备(从设设备)根根据主设设备查询询提供的的数据作作出相应应反应。典典型的主主设备:主机和和可编程程仪表。典典型的从从设备:可编程程控制器器。主设备可
4、可单独和和从设备备通信,也也能以广广播方式式和所有有从设备备通信。如如果单独独通信,从从设备返返回一消消息作为为回应,如如果是以以广播方方式查询询的,则则不作任任何回应应。Moodbuus协议议建立了了主设备备查询的的格式:设备(或或广播)地地址、功功能代码码、所有有要发送送的数据据、一错错误检测测域。从设备回回应消息息也由MModbbus协协议构成成,包括括确认要要行动的的域、任任何要返返回的数数据、和和一错误误检测域域。如果果在消息息接收过过程中发发生一错错误,或或从设备备不能执执行其命命令,从从设备将将建立一一错误消消息并把把它作为为回应发发送出去去。2、在其其它类型型网络上上转输在其它
5、网网络上,控控制器使使用对等等技术通通信,故故任何控控制都能能初始和和其它控控制器的的通信。这这样在单单独的通通信过程程中,控控制器既既可作为为主设备备也可作作为从设设备。提提供的多多个内部部通道可可允许同同时发生生的传输输进程。在消息位位,Moodbuus协议议仍提供供了主从原则则,尽管管网络通通信方法法是“对对等”。如如果一控控制器发发送一消消息,它它只是作作为主设设备,并并期望从从从设备备得到回回应。同同样,当当控制器器接收到到一消息息,它将将建立一一从设备备回应格格式并返返回给发发送的控控制器。3、查询询回应应周期(1)查查询查询消息息中的功功能代码码告之被被选中的的从设备备要执行行何
6、种功功能。数数据段包包含了从从设备要要执行功功能的任任何附加加信息。例例如功能能代码003是要要求从设设备读保保持寄存存器并返返回它们们的内容容。数据据段必须须包含要要告之从从设备的的信息:从何寄寄存器开开始读及及要读的的寄存器器数量。错错误检测测域为从从设备提提供了一一种验证证消息内内容是否否正确的的方法。(2)回回应如果从设设备产生生一正常常的回应应,在回回应消息息中的功功能代码码是在查查询消息息中的功功能代码码的回应应。数据据段包括括了从设设备收集集的数据据:象寄寄存器值值或状态态。如果果有错误误发生,功功能代码码将被修修改以用用于指出出回应消消息是错错误的,同同时数据据段包含含了描述述
7、此错误误信息的的代码。错错误检测测域允许许主设备备确认消消息内容容是否可可用。二、两种种传输方方式控制器能能设置为为两种传传输模式式(ASSCIII或RTTU)中中的任何何一种在在标准的的Moddbuss网络通通信。用用户选择择想要的的模式,包包括串口口通信参参数(波波特率、校校验方式式等),在在配置每每个控制制器的时时候,在在一个MModbbus网网络上的的所有设设备都必必须选择择相同的的传输模模式和串串口参数数。ASCIII模式式:地址功能代码码数据数量量数据1.数据nLRC高高字节LRC低低字节回车换行RTU模模式地址功能代码码数据数量量数据1.数据nCRC高高字节CRC低低字节所选的A
8、ASCIII或RRTU方方式仅适适用于标标准的MModbbus网网络,它它定义了了在这些些网络上上连续传传输的消消息段的的每一位位,以及及决定怎怎样将信信息打包包成消息息域和如如何解码码。在其它网网络上(象象MAPP和Moodbuus PPluss)Moodbuus消息息被转成成与串行行传输无无关的帧帧。1、ASSCIII模式当控制器器设为在在Moddbuss网络上上以ASSCIII(美国国标准信信息交换换代码)模模式通信信,在消消息中的的每个88Bitt字节都都作为两两个ASSCIII字符发发送。这这种方式式的主要要优点是是字符发发送的时时间间隔隔可达到到1秒而而不产生生错误。代码系统统 十
9、六进制制,ASSCIII字符00.9,AA.F 消息中的的每个AASCIII字符符都是一一个十六六进制字字符组成成 每个字节节的位 1个起始始位 7个数据据位,最最小的有有效位先先发送 1个奇偶偶校验位位,无校校验则无无 1个停止止位(有有校验时时),22个Biit(无无校验时时) 错误检测测域 LRC(纵向冗冗长检测测) 2、RTTU模式式当控制器器设为在在Moddbuss网络上上以RTTU(远远程终端端单元)模模式通信信,在消消息中的的每个88Bitt字节包包含两个个4Biit的十十六进制制字符。这这种方式式的主要要优点是是:在同同样的波波特率下下,可比比ASCCII方方式传送送更多的的数
10、据。代码系统统 8位二进进制,十十六进制制数0.99,A.FF 消息中的的每个88位域都都是一个个两个十十六进制制字符组组成 每个字节节的位 1个起始始位 8个数据据位,最最小的有有效位先先发送 1个奇偶偶校验位位,无校校验则无无 1个停止止位(有有校验时时),22个Biit(无无校验时时) 错误检测测域 CRC(循环冗冗长检测测) 三、Moodbuus消息息帧两种传输输模式中中(ASSCIII或RTTU),传传输设备备以将MModbbus消消息转为为有起点点和终点点的帧,这这就允许许接收的的设备在在消息起起始处开开始工作作,读地地址分配配信息,判判断哪一一个设备备被选中中(广播播方式则则传给
11、所所有设备备),判判知何时时信息已已完成。部部分的消消息也能能侦测到到并且错错误能设设置为返返回结果果。1、ASSCIII帧使用ASSCIII模式,消消息以冒冒号(:)字符符(ASSCIII码 33AH)开开始,以以回车换换行符结结束(AASCIII码 0DHH,0AAH)。其它域可可以使用用的传输输字符是是十六进进制的00.9,AA.F。网网络上的的设备不不断侦测测“:”字字符,当当有一个个冒号接接收到时时,每个个设备都都解码下下个域(地地址域)来来判断是是否发给给自己的的。消息中字字符间发发送的时时间间隔隔最长不不能超过过1秒,否否则接收收的设备备将认为为传输错错误。一一个典型型消息帧帧如
12、下所所示:起始位设备地址址功能代码码数据LRC校校验结束符1个字符符2个字符符2个字符符n个字符符2个字符符2个字符符图2 AASCIII消息息帧2、RTTU帧使用RTTU模式式,消息息发送至至少要以以3.55个字符符时间的的停顿间间隔开始始。在网网络波特特率下多多样的字字符时间间,这是是最容易易实现的的(如下下图的TT1-TT2-TT3-TT4所示示)。传传输的第第一个域域是设备备地址。可可以使用用的传输输字符是是十六进进制的00.9,AA.F。网网络设备备不断侦侦测网络络总线,包包括停顿顿间隔时时间内。当当第一个个域(地地址域)接接收到,每每个设备备都进行行解码以以判断是是否发往往自己的的
13、。在最最后一个个传输字字符之后后,一个个至少33.5个个字符时时间的停停顿标定定了消息息的结束束。一个个新的消消息可在在此停顿顿后开始始。整个消息息帧必须须作为一一连续的的流转输输。如果果在帧完完成之前前有超过过1.55个字符符时间的的停顿时时间,接接收设备备将刷新新不完整整的消息息并假定定下一字字节是一一个新消消息的地地址域。同同样地,如如果一个个新消息息在小于于3.55个字符符时间内内接着前前个消息息开始,接接收的设设备将认认为它是是前一消消息的延延续。这这将导致致一个错错误,因因为在最最后的CCRC域域的值不不可能是是正确的的。一典典型的消消息帧如如下所示示:起始位设备地址址功能代码码数
14、据CRC校校验结束符T1-TT2-TT3-TT48Bitt8Bittn个8BBit16BiitT1-TT2-TT3-TT4图3 RRTU消消息帧3、地址址域消息帧的的地址域域包含两两个字符符(ASSCIII)或88Bitt(RTTU)。可可能的从从设备地地址是00.2477 (十十进制)。单个个设备的的地址范范围是11.2477。主设设备通过过将要联联络的从从设备的的地址放放入消息息中的地地址域来来选通从从设备。当当从设备备发送回回应消息息时,它它把自己己的地址址放入回回应的地地址域中中,以便便主设备备知道是是哪一个个设备作作出回应应。地址0是是用作广广播地址址,以使使所有的的从设备备都能认认
15、识。当当Moddbuss协议用用于更高高水准的的网络,广广播可能能不允许许或以其其它方式式代替。4、如何何处理功功能域消息帧中中的功能能代码域域包含了了两个字字符(AASCIII)或或8Biits(RRTU)。可可能的代代码范围围是十进进制的11.2555。当然然,有些些代码是是适用于于所有控控制器,有有此是应应用于某某种控制制器,还还有些保保留以备备后用。当消息从从主设备备发往从从设备时时,功能能代码域域将告之之从设备备需要执执行哪些些行为。例例如去读读取输入入的开关关状态,读读一组寄寄存器的的数据内内容,读读从设备备的诊断断状态,允允许调入入、记录录、校验验在从设设备中的的程序等等。当从设
16、备备回应时时,它使使用功能能代码域域来指示示是正常常回应(无误)还是有有某种错错误发生生(称作作异议回回应)。对对正常回回应,从从设备仅仅回应相相应的功功能代码码。对异异议回应应,从设设备返回回一等同同于正常常代码的的代码,但但最重要要的位置置为逻辑辑1。例如:一一从主设设备发往往从设备备的消息息要求读读一组保保持寄存存器,将将产生如如下功能能代码:0 0 0 00 0 0 11 1 (十六六进制003H) 对正常回回应,从从设备仅仅回应同同样的功功能代码码。对异异议回应应,它返返回:1 0 0 00 0 0 11 1 (十六六进制883H) 除功能代代码因异异议错误误作了修修改外,从从设备将
17、将一独特特的代码码放到回回应消息息的数据据域中,这这能告诉诉主设备备发生了了什么错错误。主设备应应用程序序得到异异议的回回应后,典典型的处处理过程程是重发发消息,或或者诊断断发给从从设备的的消息并并报告给给操作员员。5、数据据域 数据域是是由两个个十六进进制数集集合构成成的,范范围000.FF。根根据网络络传输模模式,这这可以是是由一对对ASCCII字字符组成成或由一一RTUU字符组组成。 从主设备备发给从从设备消消息的数数据域包包含附加加的信息息:从设设备必须须用于进进行执行行由功能能代码所所定义的的所为。这这包括了了象不连连续的寄寄存器地地址,要要处理项项的数目目,域中中实际数数据字节节数
18、。例如,如如果主设设备需要要从设备备读取一一组保持持寄存器器(功能能代码003),数数据域指指定了起起始寄存存器以及及要读的的寄存器器数量。如如果主设设备写一一组从设设备的寄寄存器(功功能代码码10十十六进制制),数数据域则则指明了了要写的的起始寄寄存器以以及要写写的寄存存器数量量,数据据域的数数据字节节数,要要写入寄寄存器的的数据。 如果没有有错误发发生,从从从设备备返回的的数据域域包含请请求的数数据。如如果有错错误发生生,此域域包含一一异议代代码,主主设备应应用程序序可以用用来判断断采取下下一步行行动。在某种消消息中数数据域可可以是不不存在的的(0长长度)。例例如,主主设备要要求从设设备回
19、应应通信事事件记录录(功能能代码00B十六六进制),从从设备不不需任何何附加的的信息。 6、错误误检测域域 标准的MModbbus网网络有两两种错误误检测方方法。错错误检测测域的内内容视所所选的检检测方法法而定。 ASCIII 当选用AASCIII模式式作字符符帧,错错误检测测域包含含两个AASCIII字符符。这是是使用LLRC(纵纵向冗长长检测)方方法对消消息内容容计算得得出的,不不包括开开始的冒冒号符及及回车换换行符。LLRC字字符附加加在回车车换行符符前面。 RTU 当选用RRTU模模式作字字符帧,错错误检测测域包含含一166Bitts值(用两个个8位的的字符来来实现)。错误误检测域域的
20、内容容是通过过对消息息内容进进行循环环冗长检检测方法法得出的的。CRRC域附附加在消消息的最最后,添添加时先先是低字字节然后后是高字字节。故故CRCC的高位位字节是是发送消消息的最最后一个个字节。 7、字符符的连续续传输当当消息在在标准的的Moddbuss系列网网络传输输时,每每个字符符或字节节以如下下方式发发送(从从左到右右): 最低有效效位.最高高有效位位 使用ASSCIII字符帧帧时,位位的序列列是: 有奇偶校校验启始位1234567奇偶位停止位无奇偶校校验启始位1234567停止位停止位图4. 位顺序序(ASSCIII) 使用RTTU字符符帧时,位位的序列列是: 有奇偶校校验启始位12
21、345678奇偶位停止位无奇偶校校验启始位12345678停止位停止位图4. 位顺序序(RTTU) 四、错误误检测方方法标准的MModbbus串串行网络络采用两两种错误误检测方方法。奇奇偶校验验对每个个字符都都可用,帧帧检测(LLRC或或CRCC)应用用于整个个消息。它它们都是是在消息息发送前前由主设设备产生生的,从从设备在在接收过过程中检检测每个个字符和和整个消消息帧。 用户要给给主设备备配置一一预先定定义的超超时时间间间隔,这这个时间间间隔要要足够长长,以使使任何从从设备都都能作为为正常反反应。如如果从设设备测到到一传输输错误,消消息将不不会接收收,也不不会向主主设备作作出回应应。这样样超
22、时事事件将触触发主设设备来处处理错误误。发往往不存在在的从设设备的地地址也会会产生超超时。1、奇偶偶校验 用户可以以配置控控制器是是奇或偶偶校验,或或无校验验。这将将决定了了每个字字符中的的奇偶校校验位是是如何设设置的。如果指定定了奇或或偶校验验,“1”的的位数将将算到每每个字符符的位数数中(AASCIII模式式7个数数据位,RRTU中中8个数数据位)。例例如RTTU字符符帧中包包含以下下8个数数据位: 1 1 0 00 0 1 00 1 整个“11”的数数目是44个。如如果便用用了偶校校验,帧帧的奇偶偶校验位位将是00,便得得整个“11”的个个数仍是是4个。如如果便用用了奇校校验,帧帧的奇偶
23、偶校验位位将是11,便得得整个“11”的个个数是55个。 如果没有有指定奇奇偶校验验位,传传输时就就没有校校验位,也也不进行行校验检检测。代代替一附附加的停停止位填填充至要要传输的的字符帧帧中。2、LRRC检测测 使用ASSCIII模式,消消息包括括了一基基于LRRC方法法的错误误检测域域。LRRC域检检测了消消息域中中除开始始的冒号号及结束束的回车车换行号号外的内内容。 LRC域域是一个个包含一一个8位位二进制制值的字字节。LLRC值值由传输输设备来来计算并并放到消消息帧中中,接收收设备在在接收消消息的过过程中计计算LRRC,并并将它和和接收到到消息中中LRCC域中的的值比较较,如果果两值不
24、不等,说说明有错错误。 LRC方方法是将将消息中中的8BBit的的字节连连续累加加,丢弃弃了进位位。 LRC简简单函数数如下: stattic unssignned chaar LLRC(aucchMssg,uusDaataLLen) unsiigneed ccharr *aauchhMsgg ; /* 要进行行计算的的消息 */ unsiigneed sshorrt uusDaataLLen ; /* LLRC 要处理理的字节节的数量量*/ unnsiggnedd chhar uchhLRCC = 0 ; /* LRRC 字字节初始始化 */ whille (usDDataaLenn-) /
25、* 传送送消息 */ uchLLRC += *auuchMMsg+ ; /* 累加加*/ retuurn (uunsiigneed ccharr)(-(ccharr_ucchLRRC) ; 3、CRRC检测测 使用RTTU模式式,消息息包括了了一基于于CRCC方法的的错误检检测域。CCRC域域检测了了整个消消息的内内容。 CRC域域是两个个字节,包包含一116位的的二进制制值。它它由传输输设备计计算后加加入到消消息中。接接收设备备重新计计算收到到消息的的CRCC,并与与接收到到的CRRC域中中的值比比较,如如果两值值不同,则则有误。 CRC是是先调入入一值是是全“11”的116位寄寄存器,然然
26、后调用用一过程程将消息息中连续续的8位位字节各各当前寄寄存器中中的值进进行处理理。仅每每个字符符中的88Bitt数据对对CRCC有效,起起始位和和停止位位以及奇奇偶校验验位均无无效。 CRC产产生过程程中,每每个8位位字符都都单独和和寄存器器内容相相或(OOR),结结果向最最低有效效位方向向移动,最最高有效效位以00填充。LLSB被被提取出出来检测测,如果果LSBB为1,寄寄存器单单独和预预置的值值或一下下,如果果LSBB为0,则则不进行行。整个个过程要要重复88次。在在最后一一位(第第8位)完完成后,下下一个88位字节节又单独独和寄存存器的当当前值相相或。最最终寄存存器中的的值,是是消息中中
27、所有的的字节都都执行之之后的CCRC值值。 CRC添添加到消消息中时时,低字字节先加加入,然然后高字字节。 CRC简简单函数数如下: unsiigneed sshorrt CCRC116(ppuchhMsgg, uusDaataLLen) unsiigneed ccharr *ppuchhMsgg ; /* 要进行行CRCC校验的的消息 */ unsiigneed sshorrt uusDaataLLen ; /* 消消息中字字节数 */ unsiigneed ccharr ucchCRRCHii = 0xFFF ; /* 高CCRC字字节初始始化 */ unsiigneed ccharr u
28、cchCRRCLoo = 0xFFF ; /* 低CCRC 字节初初始化 */ unsiigneed uuInddex ; /* CCRC循循环中的的索引 */ whille (usDDataaLenn-) /* 传输输消息缓缓冲区 */ uInddex = uuchCCRCHHi *ppuchhMsggg+ ; /* 计算CCRC */ uchCCRCHHi = ucchCRRCLoo aucchCRRCHiiuIIndeex ; uchCCRCLLo = auuchCCRCLLouuInddex ; retuurn (ucchCRRCHii 8 | uuchCCRCLLo) ; /* CC
29、RC 高位字字节值表表 */ stattic unssignned chaar aauchhCRCCHi = 0x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 00x011, 00xC00, 0x800, 00x411, 00x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 0x000, 00xC11, 00x811, 00x400, 00x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 0x800, 0
30、0x411, 00x011, 00xC00, 00x800, 00x411, 00x000, 00xC11, 00x811, 00x400, 0x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 00x000, 00xC11, 0x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 00x011, 00xC00, 00x800, 00x411, 0x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 00x000,
31、00xC11, 0x811, 00x400, 00x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 0x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 00x011, 00xC00, 0x800, 00x411, 00x000, 00xC11, 00x811, 00x400, 00x000, 00xC11, 00x811, 00x400, 0x011, 00xC00, 00x800, 00x411, 00x011, 00xC00, 00x800,
32、00x411, 00x000, 00xC11, 0x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 00x000, 00xC11, 00x811, 00x400, 0x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 00x011, 00xC00, 0x800, 00x411, 00x000, 00xC11, 00x811, 00x400, 00x000, 00xC11, 00x811, 00x400, 0x011, 00xC00, 00x800, 00x411, 00x000,
33、00xC11, 00x811, 00x400, 00x011, 00xC00, 0x800, 00x411, 00x011, 00xC00, 00x800, 00x411, 00x000, 00xC11, 00x811, 00x400, 0x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 00x011, 00xC00, 0x800, 00x411, 00x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 0x000, 00xC11, 00x811,
34、00x400, 00x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 0x800, 00x411, 00x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 0x011, 00xC00, 00x800, 00x411, 00x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 0x800, 00x411, 00x000, 00xC11, 00x811, 00x400, 00x000, 00xC11, 00x811, 00x400, 0x011,
35、00xC00, 00x800, 00x411, 00x011, 00xC00, 00x800, 00x411, 00x000, 00xC11, 0x811, 00x400, 00x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 0x000, 00xC11, 00x811, 00x400, 00x011, 00xC00, 00x800, 00x411, 00x011, 00xC00, 0x800, 00x411, 00x000, 00xC11, 00x811, 00x400 ; /* CCRC低低位字节节值表*/ stat
36、tic chaar aauchhCRCCLo = 0x000, 00xC00, 00xC11, 00x011, 00xC33, 00x033, 00x022, 00xC22, 00xC66, 00x066, 0x077, 00xC77, 00x055, 00xC55, 00xC44, 00x044, 00xCCC, 00x0CC, 00x0DD, 00xCDD, 0x0FF, 00xCFF, 00xCEE, 00x0EE, 00x0AA, 00xCAA, 00xCBB, 00x0BB, 00xC99, 00x099, 0x088, 00xC88, 00xD88, 00x188, 00x199,
37、 00xD99, 00x1BB, 00xDBB, 00xDAA, 00x1AA, 0x1EE, 00xDEE, 00xDFF, 00x1FF, 00xDDD, 00x1DD, 00x1CC, 00xDCC, 00x144, 00xD44, 0xD55, 00x155, 00xD77, 00x177, 00x166, 00xD66, 00xD22, 00x122, 00x133, 00xD33, 0x111, 00xD11, 00xD00, 00x100, 00xF00, 00x300, 00x311, 00xF11, 00x333, 00xF33, 0xF22, 00x322, 00x366,
38、 00xF66, 00xF77, 00x377, 00xF55, 00x355, 00x344, 00xF44, 0x3CC, 00xFCC, 00xFDD, 00x3DD, 00xFFF, 00x3FF, 00x3EE, 00xFEE, 00xFAA, 00x3AA, 0x3BB, 00xFBB, 00x399, 00xF99, 00xF88, 00x388, 00x288, 00xE88, 00xE99, 00x299, 0xEBB, 00x2BB, 00x2AA, 00xEAA, 00xEEE, 00x2EE, 00x2FF, 00xEFF, 00x2DD, 00xEDD, 0xECC,
39、 00x2CC, 00xE44, 00x244, 00x255, 00xE55, 00x277, 00xE77, 00xE66, 00x266, 0x222, 00xE22, 00xE33, 00x233, 00xE11, 00x211, 00x200, 00xE00, 00xA00, 00x600, 0x611, 00xA11, 00x633, 00xA33, 00xA22, 00x622, 00x666, 00xA66, 00xA77, 00x677, 0xA55, 00x655, 00x644, 00xA44, 00x6CC, 00xACC, 00xADD, 00x6DD, 00xAFF
40、, 00x6FF, 0x6EE, 00xAEE, 00xAAA, 00x6AA, 00x6BB, 00xABB, 00x699, 00xA99, 00xA88, 00x688, 0x788, 00xB88, 00xB99, 00x799, 00xBBB, 00x7BB, 00x7AA, 00xBAA, 00xBEE, 00x7EE, 0x7FF, 00xBFF, 00x7DD, 00xBDD, 00xBCC, 00x7CC, 00xB44, 00x744, 00x755, 00xB55, 0x777, 00xB77, 00xB66, 00x766, 00x722, 00xB22, 00xB33
41、, 00x733, 00xB11, 00x711, 0x700, 00xB00, 00x500, 00x900, 00x911, 00x511, 00x933, 00x533, 00x522, 00x922, 0x966, 00x566, 00x577, 00x977, 00x555, 00x955, 00x944, 00x544, 00x9CC, 00x5CC, 0x5DD, 00x9DD, 00x5FF, 00x9FF, 00x9EE, 00x5EE, 00x5AA, 00x9AA, 00x9BB, 00x5BB, 0x999, 00x599, 00x588, 00x988, 00x888
42、, 00x488, 00x499, 00x899, 00x4BB, 00x8BB, 0x8AA, 00x4AA, 00x4EE, 00x8EE, 00x8FF, 00x4FF, 00x8DD, 00x4DD, 00x4CC, 00x8CC, 0x444, 00x844, 00x855, 00x455, 00x877, 00x477, 00x466, 00x866, 00x822, 00x422, 0x433, 00x833, 00x411, 00x811, 00x800, 00x400 ; ModBBus网网络是一一个工业业通信系系统,由由带智能能终端的的可编程程序控制制器和计计算机通通过公用
43、用线路或或局部专专用线路路连接而而成。其其系统结结构既包包括硬件件、亦包包括软件件。它可可应用于于各种数数据采集集和过程程监控。下下表1是是ModdBuss的功能能码定义义。 表1 MModBBus功功能码 功能码名称作用01读取线圈圈状态取得一组组逻辑线线圈的当当前状态态(ONN/OFFF)02读取输入入状态取得一组组开关输输入的当当前状态态(ONN/OFFF)03读取保持持寄存器器在一个或或多个保保持寄存存器中取取得当前前的二进进制值04读取输入入寄存器器在一个或或多个输输入寄存存器中取取得当前前的二进进制值05强置单线线圈强置一个个逻辑线线圈的通通断状态态06预置单寄寄存器把具体二二进值
44、装装入一个个保持寄寄存器07读取异常常状态取得8个个内部线线圈的通通断状态态,这88个线圈圈的地址址由控制制器决定定,用户户逻辑可可以将这这些线圈圈定义,以以说明从从机状态态,短报报文适宜宜于迅速速读取状状态08回送诊断断校验把诊断校校验报文文送从机机,以对对通信处处理进行行评鉴09编程(只只用于4484)使主机模模拟编程程器作用用,修改改PC从从机逻辑辑10控询(只只用于4484)可使主机机与一台台正在执执行长程程序任务务从机通通信,探探询该从从机是否否已完成成其操作作任务,仅仅在含有有功能码码9的报报文发送送后,本本功能码码才发送送11读取事件件计数可使主机机发出单单询问,并并随即判判定操
45、作作是否成成功,尤尤其是该该命令或或其他应应答产生生通信错错误时12读取通信信事件记记录可是主机机检索每每台从机机的MoodBuus事务务处理通通信事件件记录。如如果某项项事务处处理完成成,记录录会给出出有关错错误13编程(1184/3844 4884 5584)可使主机机模拟编编程器功功能修改改PC从从机逻辑辑14探询(1184/3844 4884 5584)可使主机机与正在在执行任任务的从从机通信信,定期期控询该该从机是是否已完完成其程程序操作作,仅在在含有功功能133的报文文发送后后,本功功能码才才得发送送15强置多线线圈强置一串串连续逻逻辑线圈圈的通断断16预置多寄寄存器把具体的的二进
46、制制值装入入一串连连续的保保持寄存存器17报告从机机标识可使主机机判断编编址从机机的类型型及该从从机运行行指示灯灯的状态态18(8844和MIICROO 844)可使主机机模拟编编程功能能,修改改PC状状态逻辑辑19重置通信信链路发生非可可修改错错误后,是是从机复复位于已已知状态态,可重重置顺序序字节20读取通用用参数(584L)显示扩展展存储器器文件中中的数据据信息21写入通用用参数(584L)把通用参参数写入入扩展存存储文件件,或修修改之22664保留作扩扩展功能能备用65772保留以备备用户功功能所用用留作用户户功能的的扩展编编码731119非法功能能1201277保留留作内部部作用1282555保留用于异常常应答ModBBus网网络只是是一个主主机,所所有通信信都由他他发出。网网络可支支持2447个之之多的远远程从属属控制器器,但实实际所支支持的从从机数要要由所用用通信设设备决定定。采用用这个系系统,各各PC可可以和中中心主机机交换信信息而不不影响各各PC执执行本身身的控制制任务。表表2是MModBBus各各功能码