Modbus 通讯协议的原理和标准

合集下载

MODBUS协议最简单又是最直白的解释

MODBUS协议最简单又是最直白的解释

Modbus是一种单主站的主/从通信模式。

Modbus网络上只能有一个主站存在,主站在Modbus网络上没有地址,从站的地址范围为0 - 247,其中0 为广播地址,从站的实际地址范围为1 - 247。

Modbus通信标准协议可以通过各种传输方式传播,如RS232C、RS485、光纤、无线电等。

Modbus具有两种串行传输模式,ASCII 和RTU。

它们定义了数据如何打包、解码的不同方式。

支持Modbus 协议的设备一般都支持RTU 格式。

通信双方必须同时支持上述模式中的一种。

上面说的是官话,下面是我说的大白话:modbus协议也只是通讯协议的一种,没什么神秘的,通讯协议包括两个方面:一、通讯格式,即:波特率,检验方式,数据位,停止位波特率:一秒钟传送的位数,也就是通讯速率;比如波特率为9600,即,一秒种可以传送9600个位数,位的概念看下面的数据位介绍校验方式:奇校验或偶校验或无校验,目的是判断传输过程中是否有错误!它只是用于判断一个字符(比如八个位或是七个位组成一个字符)传输是否有错误。

但是它并不能完全能够判断传输是否有错。

比如偶校验,在检验送八个“11111111”时,如果到达接收方,由于干扰而变成了“10111101”,“1”的个数仍然是偶数,接收方就判断不出来传送的字符已经错误!数据位:传输一个字符由几个位组成,计算机的基本单位就是“位”,其值非“0”即“1”,又如传送A,定义通讯格式时,是定义的八位,其传送的数据可能就是:00001010;停止位:传输一个字符有几个停止位,用天判断某个字符是否传输结束,以便开始接收下一个字符。

通讯格式的作用是规范发送方与接收方的传输格式,如果双方通讯格式不一样,接收方就不可能正确判断发送方发来的东西是什么。

比如,接收方设置的波特率是10(一秒只接收十个位)位,而发送方的波特率是20(一秒发送二十个位),那么发送方一秒种发送的20个字符,接收方就不可能都收到,只能接收到10个,造成通讯出错。

Modbus通讯协议详解

Modbus通讯协议详解

Modbus通讯协议详解一、引言Modbus通讯协议是一种常用的串行通信协议,广泛应用于工业自动化领域。

本文将详细解析Modbus通讯协议的基本原理、数据格式、通信流程以及常见问题。

二、基本原理1. Modbus通讯协议采用主从结构,主要包括一个主站和多个从站。

主站负责发起通信请求,从站负责响应请求并返回数据。

2. Modbus通讯协议基于传统的串行通信方式,支持RS-232、RS-485等物理层接口。

3. Modbus通讯协议采用简单的请求/响应模式,主站发送请求帧,从站响应并返回数据帧。

三、数据格式1. Modbus通讯协议的数据单元被称为“寄存器”,分为输入寄存器(Input Register)、保持寄存器(Holding Register)、线圈(Coil)和离散输入(Discrete Input)四种类型。

2. 输入寄存器用于从站向主站传输只读数据,保持寄存器用于双向传输读写数据,线圈用于从站向主站传输开关量数据,离散输入用于主站向从站传输只读开关量数据。

3. Modbus通讯协议采用16位的数据单元标识符,用于标识寄存器的类型和地址。

4. 数据帧包括起始符、设备地址、功能码、数据区、错误校验等字段。

四、通信流程1. 主站向从站发送请求帧,请求帧包括设备地址、功能码、数据区等字段。

2. 从站接收到请求帧后,根据功能码执行相应的操作,并将结果存储在数据区中。

3. 从站发送响应帧,响应帧包括设备地址、功能码、数据区等字段。

4. 主站接收到响应帧后,解析数据区中的结果,并进行相应的处理。

五、常见问题1. Modbus通讯协议的数据传输是基于字节的,因此在不同字节序的系统中需要进行字节序转换。

2. Modbus通讯协议的速率、数据位、停止位和校验位等参数需要保持一致,否则通信将无法建立。

3. Modbus通讯协议的设备地址是唯一的,主站通过设备地址来区分不同的从站。

4. Modbus通讯协议的功能码定义了不同的操作类型,主站通过功能码来指定所需的操作。

Modbus通讯协议

Modbus通讯协议

Modbus通讯协议Modbus是一种常用的通讯协议,用于在工业自动化系统中传输数据。

它被广泛应用于监控、控制和数据采集等领域。

本文将介绍Modbus通讯协议的基本原理和应用。

Modbus通讯协议是一种主从式通讯协议,通常由一个主站和多个从站组成。

主站负责控制和管理通信过程,从站则负责传输和响应数据。

主站和从站之间通过串口、以太网或其他通讯方式进行数据的传输。

Modbus通讯协议基于简单高效的ASCII或RTU格式,可以在多种不同通讯介质上使用。

其中,ASCII格式使用7位或8位ASCII码传输数据,而RTU格式使用二进制码传输数据。

这两种格式都具有灵活性和可靠性,且易于实现和维护。

主站和从站之间的通讯过程通常分为寻址、请求和响应三个步骤。

首先,主站通过地址指定所需通讯的从站。

然后,主站发送请求命令给指定的从站。

从站接收到请求命令后,进行数据处理并返回响应给主站。

最后,主站接收到响应后进行相应的处理。

Modbus通讯协议支持多种数据类型,包括线圈、寄存器、输入线圈和输入寄存器。

线圈用于表示开关状态,寄存器用于存储数据。

这些数据类型可以通过Modbus协议进行读写操作,以满足数据采集和控制的需求。

Modbus通讯协议具有许多优点。

首先,它是一种开放的通讯协议,被广泛应用于不同的设备和系统中。

其次,Modbus通讯协议简单易用,具有较低的开发和维护成本。

另外,Modbus通讯协议支持大量并发连接,可以在多个从站之间同时传输数据。

Modbus通讯协议被广泛应用于工业自动化系统中。

例如,它可以用于工业控制器和人机界面之间的通讯,实现远程监控和控制。

此外,Modbus通讯协议也被用于能源管理系统、楼宇自动化系统和物流管理系统等领域。

尽管Modbus通讯协议在工业自动化领域具有许多优点,但也存在一些缺点。

例如,Modbus通讯协议的传输速率相对较低,无法满足高速数据传输的需求。

另外,Modbus通讯协议的安全性相对较低,容易受到恶意攻击。

modbus通讯协议与485

modbus通讯协议与485

modbus通讯协议与4851. 介绍本文将介绍modbus通讯协议与485总线的相关知识。

modbus通讯协议是一种常用于工业领域的通讯协议,而485总线是一种可靠的工业通讯标准。

我们将探讨它们的基本原理、工作方式以及一些常见应用。

2. modbus通讯协议modbus通讯协议是一种基于串行通信的协议,广泛应用于工业自动化领域。

它可以通过RS-485、RS-232等物理层接口进行通讯。

modbus通讯协议被设计用于在主机和从机之间传输数据,其中主机负责发起通讯请求,而从机负责响应请求并提供相应的数据。

2.1 modbus协议的工作方式modbus通讯协议采用了主从结构,主机作为通讯的发起者,从机作为通讯的接收者。

通讯的数据传输基于请求-响应模式,主机发送一个请求,从机收到请求后发送响应。

请求和响应的内容包括功能码、数据地址以及数据内容等。

2.2 modbus协议的功能码modbus协议定义了一系列功能码,用于标识通讯的目的和操作类型。

其中常用的功能码包括读取线圈状态、读取输入状态、读取保持寄存器以及写入单个寄存器等。

3. 485总线485总线是一种常用的工业通讯标准,它可以支持多个设备共享同一条通讯线路。

485总线采用差分信号传输方式,能够有效抵抗干扰从而提高通讯的可靠性和稳定性。

3.1 485总线的工作原理485总线采用全双工通讯方式,可以同时进行发送和接收数据。

它通过差分信号来传输数据,其中正线和负线分别承载两个相反的信号。

这种差分传输方式使得485总线能够有效地抵抗电磁干扰和噪声的影响。

3.2 485总线的优势485总线具有以下几个优势: - 长距离传输:485总线可以支持较长的通讯距离,最高可达1200米。

- 多设备共享:多个设备可以通过485总线连接在一起,共享同一条通讯线路。

- 抗干扰能力强:485总线采用差分传输方式,能够有效地抵抗电磁干扰和噪声。

4. modbus通讯协议与485总线的应用modbus通讯协议与485总线的结合被广泛应用于工业自动化领域。

Modbus通讯协议详解

Modbus通讯协议详解

Modbus通讯协议详解协议简介:Modbus是一种通信协议,用于在自动化系统中传输数据。

它是一种简单、开放、易于实现的协议,广泛应用于工业控制领域。

本文将详细介绍Modbus通讯协议的结构、功能以及使用方法。

一、协议结构Modbus协议由两个主要部分组成:应用层和传输层。

1. 应用层应用层定义了数据的格式和传输方式。

它包括以下几个部分:- 功能码:用于标识数据传输的类型,如读取数据、写入数据等。

- 数据地址:用于指定要读取或写入的数据的位置。

- 数据长度:用于指定要读取或写入的数据的长度。

- 数据值:要读取或写入的实际数据。

2. 传输层传输层定义了数据的传输方式。

Modbus协议支持多种传输方式,包括串行通信和以太网通信。

其中,串行通信使用RS-232、RS-485等物理层协议,以太网通信使用TCP/IP协议。

二、功能码Modbus协议定义了一系列功能码,用于标识数据传输的类型。

以下是一些常用的功能码:1. 读取线圈状态(功能码:01)该功能码用于读取线圈的状态,即开关量的状态。

通过指定起始地址和数量,可以一次性读取多个线圈的状态。

2. 读取输入状态(功能码:02)该功能码用于读取输入的状态,即传感器的状态。

通过指定起始地址和数量,可以一次性读取多个输入的状态。

3. 读取保持寄存器(功能码:03)该功能码用于读取保持寄存器的值,即模拟量的值。

通过指定起始地址和数量,可以一次性读取多个保持寄存器的值。

4. 读取输入寄存器(功能码:04)该功能码用于读取输入寄存器的值,即模拟量的值。

通过指定起始地址和数量,可以一次性读取多个输入寄存器的值。

5. 写单个线圈(功能码:05)该功能码用于写入单个线圈的状态,即开关量的状态。

通过指定线圈地址和状态值,可以实现对单个线圈的写入操作。

6. 写单个保持寄存器(功能码:06)该功能码用于写入单个保持寄存器的值,即模拟量的值。

通过指定寄存器地址和值,可以实现对单个保持寄存器的写入操作。

Modbus_MODBUS_TCP_协议解读

Modbus_MODBUS_TCP_协议解读

TCP/IP IETF RFC 793 IP IETF RFC 791
Ethernet II /802.3 IEEE 802.2 以太网物理层
TIA/EIA-485-A
SUPCON
Modbus应用协议
Modbus是一种简单客户机/服务器应用协议 客户机能够向服务器发送请求。 服务器分析请求,处理请求,向客户机发送应答。
从站 地址 1 字节 功能码 1 字节 数据 0 至 252 字节 CRC 2 字节
CRC 低位 CRC 高位
ASCII模式:信息中的每个8 Bit字节需2个ASCII字符,其 优点是准许字符的传输间隔达到1 s而不产生错误;
起始 1个 字符 : 地址 2 个字符 功能码 2 个字符 数据 0 至 2x252 个字符 LRC 2 个字符 结束 2 个字符 CR、LF
主站 从站 …… …… …… 从站 从站 …… 从站 从站
SUPCON
主站工作状态图
SUPCON
从站工作状态图
SUPCON
主/从通信的三种典型情况
SUPCON 串行链路上的Modbus地址规则
Modbus寻址空间有256个不同地址 地址0为广播地址 Modbus主节点没有地址,子节点必须有一个唯一的地址

7 6 5 4 3 2 1
ISO/OSI 模型
应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 Modbus应用协议 空 空 空 空 Modbus串行链路协议 EIA/TIA-485 (或 EIA/TIA232)
Modbus 主站/从站 EIA/TIA-485
(或 EIA/TIA-232)
0 1——247 248——255
广播地址

Modbus通讯协议详解

Modbus通讯协议详解

Modbus通讯协议详解一、引言Modbus通讯协议是一种常用于工业控制系统中的通信协议,它基于主从结构,用于实现不同设备之间的数据交换。

本文将详细介绍Modbus通讯协议的基本原理、通信方式、数据格式以及常见应用场景。

二、协议原理Modbus通讯协议是基于串行通信的协议,它使用简单的请求/响应模式进行数据交换。

协议包括两种通信方式:Modbus ASCII和Modbus RTU。

Modbus ASCII使用ASCII码表示数据,而Modbus RTU使用二进制码表示数据。

协议规定了数据的传输格式、通信命令、错误检测等。

三、通信方式1. Modbus ASCII通信方式Modbus ASCII通信方式使用ASCII码表示数据,每个字节使用两个ASCII字符表示,其中包括一个校验和。

通信过程中,主站发送请求命令,从站接收并处理请求,然后从站发送响应。

请求和响应之间使用回车换行符进行分隔。

2. Modbus RTU通信方式Modbus RTU通信方式使用二进制码表示数据,每个字节使用8位二进制表示。

通信过程中,主站发送请求命令,从站接收并处理请求,然后从站发送响应。

请求和响应之间使用帧间隔进行分隔。

四、数据格式1. Modbus ASCII数据格式Modbus ASCII数据格式由起始字符、从站地址、功能码、数据区、校验和和结束字符组成。

起始字符是冒号,结束字符是回车换行符。

校验和是通过对除起始字符和校验和本身外的所有字符进行异或运算得到的。

2. Modbus RTU数据格式Modbus RTU数据格式由从站地址、功能码、数据区、CRC校验和组成。

CRC校验和是通过对从站地址、功能码和数据区的所有字节进行CRC校验运算得到的。

五、常见应用场景Modbus通讯协议广泛应用于工业自动化领域,常见的应用场景包括:1. 监控系统:通过Modbus通讯协议,可以实现对各种传感器、仪表的数据采集和监控。

2. 控制系统:Modbus通讯协议可用于实现对各种执行器、控制器的控制和调节。

modbus标准通讯

modbus标准通讯

modbus标准通讯Modbus标准通讯。

Modbus是一种用于工业控制系统的通信协议,它是一种串行通信协议,可以用于连接各种自动化设备。

Modbus协议最初由Modicon公司开发,现在已经成为工业自动化领域中最常用的通信协议之一。

在本文中,我们将介绍Modbus标准通讯的基本原理、通讯方式、应用场景以及相关的技术细节。

首先,让我们来了解一下Modbus通讯的基本原理。

Modbus通讯采用主从结构,通常由一个主站和多个从站组成。

主站负责发起通讯请求,而从站则负责响应请求并执行相应的操作。

通讯过程中,主站向从站发送命令,并等待从站的响应。

从站接收到命令后,执行相应的操作,并将执行结果发送给主站。

整个通讯过程采用简单、高效的方式进行,使得Modbus成为了工业控制系统中的通讯标准。

在Modbus通讯中,有两种常见的通讯方式,分别是RTU模式和ASCII模式。

RTU模式采用二进制编码进行数据传输,通讯速度较快,适用于长距离通讯。

而ASCII模式则采用ASCII码进行数据传输,通讯速度较慢,但具有一定的数据可读性。

通常情况下,用户可以根据实际的通讯需求选择合适的通讯方式。

Modbus通讯在工业自动化领域有着广泛的应用场景。

它可以用于连接PLC、传感器、执行器等自动化设备,实现设备之间的数据交换和控制。

同时,Modbus通讯还可以用于监控系统、数据采集系统等领域,为工业控制系统的建设提供了便利。

除了基本的通讯原理和通讯方式外,Modbus通讯还涉及到一些技术细节。

比如通讯协议的帧格式、数据传输的校验方式、地址寻址方式等。

这些技术细节对于实际的通讯应用非常重要,用户需要充分了解这些内容,才能更好地应用Modbus通讯协议。

综上所述,Modbus标准通讯协议是工业控制系统中常用的通讯协议之一,它具有简单、高效的特点,适用于各种自动化设备之间的数据交换和控制。

通过本文的介绍,希望读者能够更加深入地了解Modbus通讯协议,为实际的工业控制应用提供帮助。

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

Modbus 通讯协议的原理和标准工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。

Modbus 就是工业控制器的网络协议中的一种。

一、Modbus 协议简介Modbus 协议是应用于电子控制器上的一种通用语言。

通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。

它已经成为一通用工业标准。

有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。

它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。

它制定了消息域格局和内容的公共格式。

当在一Modbus 网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。

如果需要回应,控制器将生成反馈信息并用Modbus 协议发出。

在其它网络上,包含了Modbus 协议的消息转换为在此网络上使用的帧或包结构。

这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。

1、在Modbus 网络上转输标准的Modbus 口是使用一RS-232C 兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。

控制器能直接或经由Modem 组网。

控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。

其它设备(从设备)根据主设备查询提供的数据做出相应反应。

典型的主设备:主机和可编程仪表。

典型的从设备:可编程控制器。

主设备可单独和从设备通信,也能以广播方式和所有从设备通信。

如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。

Modbus 协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。

从设备回应消息也由Modbus 协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。

如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。

2、在其它类型网络上转输在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。

这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。

提供的多个内部通道可允许同时发生的传输进程。

在消息位,Modbus 协议仍提供了主—从原则,尽管网络通信方法是“对等”。

如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。

同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。

3、查询—回应周期(1)查询查询消息中的功能代码告之被选中的从设备要执行何种功能。

数据段包含了从设备要执行功能的任何附加信息。

例如功能代码03 是要求从设备读保持寄存器并返回它们的内容。

数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。

错误检测域为从设备提供了一种验证消息内容是否正确的方法。

(2)回应如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。

数据段包括了从设备收集的数据:象寄存器值或状态。

如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。

错误检测域允许主设备确认消息内容是否可用。

二、两种传输方式控制器能设置为两种传输模式(ASCII 或RTU)中的任何一种在标准的Modbus 网络通信。

用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。

ASCII 模式RTU 模式所选的ASCII 或RTU 方式仅适用于标准的Modbus 网络,它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。

在其它网络上(象MAP 和Modbus Plus)Modbus 消息被转成与串行传输无关的帧。

1、ASCII 模式当控制器设为在Modbus 网络上以ASCII(美国标准信息交换代码)模式通信,在消息中的每个8Bit字节都作为两个ASCII 字符发送。

这种方式的主要优点是字符发送的时间间隔可达到1 秒而不产生错误。

代码系统·十六进制,ASCII 字符0...9,A...F·消息中的每个ASCII 字符都是一个十六进制字符组成每个字节的位·1 个起始位·7 个数据位,最小的有效位先发送·1 个奇偶校验位,无校验则无CRC 域是两个字节,包含一16 位的二进制值。

它由传输设备计算后加入到消息中。

接收设备重新计算收到消息的CRC,并与接收到的CRC 域中的值比较,如果两值不同,则有误。

CRC 是先调入一值是全“1”的16 位寄存器,然后调用一过程将消息中连续的8 位字节各当前寄存器中的值进行处理。

仅每个字符中的8Bit数据对CRC有效,起始位和停止位以及奇偶校验位均无效。

CRC 产生过程中,每个8 位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0 填充。

LSB 被提取出来检测,如果LSB 为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。

整个过程要重复8 次。

在最后一位(第8 位)完成后,下一个8 位字节又单独和寄存器的当前值相或。

最终寄存器中的值,是消息中所有的字节都执行之后的CRC 值。

CRC 添加到消息中时,低字节先加入,然后高字节。

CRC 简单函数如下:unsigned short CRC16(puchMsg, usDataLen)unsigned char *puchMsg ; /* 要进行CRC 校验的消息*/unsigned short usDataLen ; /* 消息中字节数*/{unsigned char uchCRCHi = 0xFF ; /* 高CRC 字节初始化*/unsigned char uchCRCLo = 0xFF ; /* 低CRC 字节初始化*/unsigned uIndex ; /* CRC 循环中的索引*/while (usDataLen--) /* 传输消息缓冲区*/{uIndex = uchCRCHi ^ *puchMsgg++ ; /* 计算CRC */uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex} ;uchCRCLo = auchCRCLo[uIndex] ;}return (uchCRCHi << 8 | uchCRCLo) ;}/* CRC 高位字节值表*/static unsigned char auchCRCHi[] = {0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40} ;/* CRC 低位字节值表*/static char auchCRCLo[] = {0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42,0x43, 0x83, 0x41, 0x81, 0x80, 0x40} ;ModBus 网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。

相关文档
最新文档