HLP SV Modbus标准通讯协议格式

合集下载

Modbus标准通讯协议格式

Modbus标准通讯协议格式

Modbus通讯协议Modbus协议Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。

此协议支持传统的RS-232、RS-422、RS-485和以太网设备。

许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。

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

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

如果需要回应,控制器将生成应答并使用Modbus 协议发送给询问方。

Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。

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

标准的Modicon控制器使用RS232C实现串行的Modbus。

Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave 端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。

Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。

另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。

因此,Modbus协议的可靠性较好。

下面我来简单的给大家介绍一下,对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。

标准MODBUS通信协议说明书

标准MODBUS通信协议说明书

标准MODBUS协议说明书一.我公司现有产品中需要和组态软件进行通信的有二种产品:①总线探头②控制器主机。

三种产品分别使用了二种不格式的MODBUS协议。

但是其都符合MODBUS的通信格式:1.1接口标准:接口标准:TIA/EIA-485硬件连接:2线模式(非4线模式)1.2通讯格式:传输方式是指一个数据帧内一系列独立的数据结构以及用于传输数据的有限规则,下面定义了与MODBUS 协议RTU方式相兼容的传输方式。

每个字节的位:•1个起始位•8个数据位(低有效位在前)•无奇偶校验位•1个停止位错误检测(Error checking):CRC(循环冗余校验)1.3通讯速率:9600bps。

1.4通讯方式:主从方式。

1.5 要求通信波特率可以从9600 4800 1200 600中任意选择。

二.总线探头通信格式说明2.1主机发送格式地址编码功能码寄存器地址数据个数CRC高位CRC低位Address Function AddrH AddrL NumH NumL CRCH CRCL 2.2从机应答格式地址编码功能码字节数数据CRC高位CRC低位CRCH CRCL Address Function byte Data0H,Data0L………………………………………………………. DataNH,DataNL2. 3 格式说明实例假设总线探头地址为01 探头采用值为1组态软件发送数据:01 03 00 65 00 01 CRCL CRCH探头返回数据:01 03 02 00 01 CRCL CRCH3.协议使用说明:3.1关于设置:○1仪器地址设置由按键在菜单设置完成,设置范围1到247,一般默认为1。

.具体操作详见具体仪器使用说明书。

○2传输波特率设置由按键在菜单设置完成,设置范围600、1200、2400、4800、9600、一般默认为9600。

具体操作详见相关仪器使用说明书。

modbus协议范本

modbus协议范本

Modbus协议范本
一、通信协议
Modbus是一种串行通信协议,用于连接工业电子设备。

它定义了主从设备之间的通信方式和数据格式,使得不同厂商生产的设备能够相互通信。

二、数据格式
Modbus协议采用ASCII码或二进制码进行数据传输。

在ASCII码格式中,每个字节都表示为一个ASCII字符,而在二进制码格式中,每个字节都表示为8位二进制数。

三、命令与应答
Modbus协议采用命令/应答的方式进行通信。

主设备发送一个命令,从设备接收并执行该命令,然后返回一个应答。

命令和应答都遵循一定的格式和协议。

四、校验方式
Modbus协议提供了两种校验方式:奇偶校验和CRC校
验。

奇偶校验方式通过在数据字节后添加一个校验位来确保数据的正确性。

CRC校验方式则使用一个循环冗余检查算法来确保数据的正确性。

五、数据通信方式
Modbus协议支持两种数据通信方式:同步通信和异步通信。

同步通信要求主设备和从设备在通信时保持同步,而异步通信则不需要同步。

六、连接方式
Modbus协议支持多种连接方式,包括RS-485、RS-422、RS-232等。

这些连接方式适用于不同的应用场景和设备配置。

七、传输速率
Modbus协议支持多种传输速率,包括9.6kbps、19.2kbps、4800bps等。

根据不同的应用场景和设备配置,可以选择合适的传输速率来确保通信的稳定性和可靠性。

modbus通讯协议模板

modbus通讯协议模板

Modbus通讯协议是一种在工业领域广泛使用的通信协议,用于在设备之间传输数据。

Modbus协议有多个变体,包括Modbus RTU(串行通信)和Modbus TCP(基于TCP/IP的通信)。

以下是一个简单的Modbus通讯协议模板,供参考:Modbus RTU 通讯协议模板:1. 起始符:Modbus RTU通讯以一帧二进制数据开始。

在串行通信中,通常使用起始符标志通讯的开始。

常见的起始符是11位的空闲时间。

2. 设备地址:Modbus RTU协议中,每个设备都有一个唯一的地址。

设备通过地址来区分通信的目标。

3. 功能码:描述要执行的操作的功能码。

常见功能码包括读取保持寄存器、写入单个寄存器、读取输入寄存器等。

4. 数据:数据字段包含读取或写入的数据。

数据的格式取决于功能码和具体的操作。

5. CRC 校验:使用CRC (循环冗余校验)进行数据校验,以确保通讯的完整性。

CRC通常包括两个字节。

6. 停止位:在Modbus RTU通讯中,停止位表示一个数据帧的结束。

通常有一个停止位。

Modbus TCP 通讯协议模板:1. Modbus TCP 头部:Modbus TCP通讯以TCP/IP帧开始。

头部包含源端口、目标端口等信息。

2. Modbus TCP 协议标识符:标识TCP报文中的Modbus协议。

通常为0。

3. 长度字段:描述Modbus数据的长度,以字节为单位。

4. 设备地址:Modbus TCP中,设备地址也包含在TCP报文的数据字段中。

5. 功能码:描述要执行的操作的功能码,与Modbus RTU相同。

6. 数据:数据字段包含读取或写入的数据。

数据的格式取决于功能码和具体的操作。

7. CRC 或校验字段:在Modbus TCP中,通常使用CRC或其他校验方法来确保通讯的完整性。

这是一个简化的模板,实际的Modbus通讯可能会涉及更多的细节和特定的实现。

使用Modbus协议时,请根据具体情况参考Modbus协议规范和设备文档。

modbus协议标准格式

modbus协议标准格式

modbus协议标准格式
Modbus协议是一种通信协议,用于在工业控制系统中实现设备之间的数据交换。

它定义了一套标准的消息格式,以确保不同设备之间的互操作性。

Modbus协议的标准格式如下:
1. 帧头(Header):帧头包含了源地址和目标地址等信息,用于识别消息的发送者和接收者。

2. 功能码(Function Code):功能码定义了要执行的特定操作,例如读取或写入数据。

3. 数据域(Data Field):数据域包含了具体要传输的数据,可以是读取的寄存器值或要写入的值。

4. 错误校验(Error Check):错误校验字段用于检测数据传输中是否发生错误,常用的校验方式有循环冗余校验(CRC)和简单校验和(Checksum)。

5. 帧尾(Footer):帧尾标识着消息的结束,通常是一个或多个字节的标识符。

根据具体的Modbus协议类型和使用的物理层,标准格式可能会有一些变化。

其中最常见的是Modbus RTU和Modbus TCP,它们在帧格式和传输方式上略有差异。

总之,Modbus协议的标准格式定义了消息的结构,使得不同设备之间能够进行有效的数据交换。

modbus通讯协议格式详解

modbus通讯协议格式详解

modbus通讯协议格式详解Modbus是一种常用的通信协议,用于在工业自动化系统中不同设备之间进行通信。

下面是Modbus通信协议的详解。

1. Modbus协议类型:- Modbus ASCII:使用ASCII字符进行数据传输,每个字节使用两个ASCII字符表示。

- Modbus RTU:使用二进制编码进行数据传输,每个字节使用8个二进制位表示。

2. Modbus通信格式:- 帧起始符:通常为冒号(ASCII字符)或启动位(RTU模式)。

- 地址字段:定义要与之通信的设备地址。

- 功能码:指示所需执行的操作类型。

- 数据域:包含要传输或接收的数据。

- 校验和:用于验证帧数据的完整性,通常是通过计算和比较CRC校验值或校验和字节来实现的。

3. Modbus功能码:- 读取数据:用于读取设备的状态或数据。

- 功能码0x01(读取线圈状态):用于读取数字输出或线圈的状态。

- 功能码0x02(读取输入状态):用于读取数字输入或线圈的状态。

- 功能码0x03(读取保持寄存器):用于读取设备的保持寄存器的值。

- 功能码0x04(读取输入寄存器):用于读取设备的输入寄存器的值。

- 写入数据:用于写入设备的状态或数据。

- 功能码0x05(写单个线圈):用于写入单个数字输出或线圈的状态。

- 功能码0x06(写单个寄存器):用于写入单个保持寄存器的值。

- 功能码0x0F(写多个线圈):用于写入多个数字输出或线圈的状态。

- 功能码0x10(写多个寄存器):用于写入多个保持寄存器的值。

4. Modbus数据格式:- 线圈状态:用于表示开关状态的数据,以位为单位(0表示关,1表示开)。

- 输入状态:用于表示输入设备状态的数据,以位为单位。

- 保持寄存器:用于存储设备状态或数据的数据,以字为单位。

- 输入寄存器:用于存储输入设备状态或数据的数据,以字为单位。

总结:Modbus通信协议定义了一套通用的格式,用于在工业自动化系统中进行设备之间的通信。

标准modbus通讯协议

标准modbus通讯协议

标准modbus通讯协议Modbus通讯协议是一种用于工业自动化领域的通讯协议,它是一种串行通讯协议,广泛应用于工业控制领域。

Modbus通讯协议具有简单、易实现、可靠等特点,因此备受工程师和技术人员的青睐。

本文将对标准Modbus通讯协议进行详细介绍,包括其基本原理、通讯方式、协议格式等内容,以帮助读者更好地理解和应用Modbus通讯协议。

Modbus通讯协议的基本原理是基于主从结构的通讯方式,通讯的主要对象是寄存器。

在Modbus通讯协议中,主要包括Modbus主站和Modbus从站两种设备。

主站负责向从站发送请求,从站接收主站的请求并作出相应的响应。

Modbus通讯协议的通讯方式包括RTU、ASCII和TCP/IP三种方式,其中RTU是最常用的一种方式,它采用二进制方式进行数据传输,通讯速度快,效率高。

在Modbus通讯协议中,通讯的数据格式一般包括地址码、功能码、数据、校验码等部分。

地址码用于标识设备的地址,功能码用于标识请求的功能,数据部分包括请求或响应的数据内容,校验码用于校验数据的完整性。

在Modbus通讯协议中,常用的功能码包括读取线圈状态、读取输入状态、读取保持寄存器、读取输入寄存器等,这些功能码能够满足不同的通讯需求。

Modbus通讯协议的应用范围非常广泛,它可以应用于各种工业控制系统中,如PLC控制系统、传感器设备、仪表设备等。

通过Modbus通讯协议,不同厂家生产的设备可以实现互联互通,实现设备之间的数据交换和共享,极大地方便了工程师和技术人员的工作。

总的来说,标准Modbus通讯协议是一种简单、可靠的工业通讯协议,它在工业自动化领域有着广泛的应用。

通过本文的介绍,相信读者对Modbus通讯协议有了更深入的了解,能够更好地应用于实际工程项目中。

希望本文能够对读者有所帮助,谢谢阅读!。

常用modbus 通信命令格式

常用modbus 通信命令格式

常用modbus 通信命令格式Modbus通信是一种基于串行通信协议的工业自动化和控制系统的通信标准。

它被广泛应用于工业自动化、楼宇自控和电力系统等领域。

Modbus通信协议有三种主要类型:Modbus RTU、Modbus ASCII和Modbus TCP/IP。

其中,Modbus RTU是一种基于串行二进制编码的通信协议,常用于串行通信线路。

Modbus RTU通信命令格式如下:1. 设备地址:1字节,表示主站与从站之间的设备地址。

范围从0到255。

2. 功能码:1字节,表示通信操作的类型。

例如,读取保持寄存器、读取输入寄存器、写入多个寄存器等。

3. 数据长度:1字节,表示接下来要传输的数据长度。

4. 数据:根据功能码的不同,数据字段包含相应的数据。

例如,在读操作中,数据字段包含寄存器的起始地址和寄存器数量;在写操作中,数据字段包含要写入的寄存器的值。

5. 校验码:1字节,用于检测传输过程中的错误。

常用的校验方法有奇偶校验、CRC校验等。

以下是一个Modbus RTU通信命令的示例:0x01 0x03 0x00 0x00 0x00 0x0A 0x01 0x00 0x01 0x00 0x00 0x01 0x00 0x00 0x01 0x00 0x01其中,0x01表示设备地址;0x03表示功能码(读取保持寄存器);0x00表示数据长度;0x00 0x01 0x00 0x01表示寄存器的起始地址和数量;0x01表示CRC校验码。

需要注意的是,Modbus RTU通信命令的具体格式可能因厂商和设备类型而有所不同。

在实际应用中,需要根据设备说明书和通信协议来确定正确的通信命令格式。

modbus协议格式

modbus协议格式

modbus协议格式Modbus协议格式。

Modbus协议是一种用于工业自动化领域的通信协议,它是一种串行通信协议,用于在不同设备之间进行数据传输。

Modbus协议格式定义了数据的传输格式和通信规则,保证了不同设备之间的数据交换的准确性和可靠性。

本文将介绍Modbus协议格式的相关内容,包括数据帧格式、功能码、地址表示等内容。

1. 数据帧格式。

Modbus协议使用了一种简单的数据帧格式,包括地址域、功能码、数据域和校验域。

其中,地址域用于表示设备地址,功能码用于表示数据的读写类型,数据域用于存储具体的数据内容,校验域用于检验数据的准确性。

数据帧格式简单清晰,易于实现和解析,是Modbus协议的一大特点。

2. 功能码。

Modbus协议定义了一系列的功能码,用于表示不同的数据读写类型。

常用的功能码包括读保持寄存器、写单个寄存器、读输入寄存器等。

不同的功能码对应着不同的数据操作,可以满足不同设备之间的数据交换需求。

3. 地址表示。

在Modbus协议中,设备地址是一个重要的概念。

每个设备都有一个唯一的地址,用于在总线上进行识别和通信。

地址表示的方式包括十进制表示和十六进制表示,不同的设备可以根据需要选择合适的地址表示方式。

4. 数据传输规则。

Modbus协议规定了数据的传输规则,包括数据的封装、传输顺序、校验方法等。

在数据传输过程中,需要保证数据的完整性和准确性,避免数据丢失和损坏。

传输规则的严格执行保证了数据的可靠传输。

5. 应用范围。

Modbus协议被广泛应用于工业自动化领域,包括工业控制、仪器仪表、传感器、执行器等设备之间的通信。

它简单易懂的数据帧格式和丰富的功能码使得它成为工业领域的通信标准之一。

总结。

Modbus协议格式是一种简单而有效的通信协议,它定义了数据的传输格式和通信规则,保证了不同设备之间的数据交换的准确性和可靠性。

了解和掌握Modbus协议格式对于工业自动化领域的从业人员来说是非常重要的。

modbus通讯协议格式详解

modbus通讯协议格式详解

modbus通讯协议格式详解Modbus是一种常用的通讯协议,广泛应用于工业自动化领域。

它是一种主从式通信协议,简单易懂,方便实用。

本文将详细介绍Modbus通讯协议的格式及其相关内容。

一、Modbus协议简介Modbus协议是由Modicon(一家法国自动化制造公司)于1979年开发的,用于PLC(可编程逻辑控制器)与外部设备之间的通信。

它具有开放性、简单性和可靠性等特点,逐渐成为工业自动化领域最重要的通讯协议之一。

二、Modbus通信架构Modbus通信架构主要分为两种模式:串行通信模式和以太网通信模式。

其中,串行通信模式包括RS-232、RS-485、RS-422等,常用于较短距离的通信;以太网通信模式则使用TCP/IP协议,可实现远程通信。

三、Modbus数据格式Modbus通信协议采用了简洁明了的二进制数据格式,分为查询报文和响应报文。

1. 查询报文格式Modbus查询报文包含了多个字段,包括从站地址、功能码、数据起始地址、数据数量、CRC校验等。

- 从站地址:标识通信中的设备或模块。

- 功能码:定义了读取或写入操作的种类。

- 数据起始地址:指定要读取或写入的数据在从站中的起始位置。

- 数据数量:指定要读取或写入的数据的个数。

- CRC校验:用于校验报文的完整性。

2. 响应报文格式Modbus响应报文与查询报文的格式类似,但会包含更多的字段,如错误码、数据内容等。

四、Modbus功能码详解Modbus功能码定义了读取或写入操作的种类,主要包括读读取线圈状态、读取输入状态、读取保持寄存器、读取输入寄存器、写单个线圈、写单个寄存器等。

其中,读取线圈状态和读取输入状态对应的功能码分别为01和02;读取保持寄存器和读取输入寄存器对应的功能码分别为03和04;写单个线圈和写单个寄存器对应的功能码分别为05和06。

此外,还有一些其他的功能码,用于读写多个寄存器等操作。

五、Modbus通信流程Modbus通信流程较为简单,一般包括以下几个步骤:1. 主站发送查询报文给从站;2. 从站收到查询报文后,进行相应的处理;3. 从站将处理结果封装成响应报文,发送给主站;4. 主站收到响应报文后,解析出结果,并进行相应的处理。

modbus通讯协议格式

modbus通讯协议格式

modbus通讯协议格式Modbus通讯协议格式。

Modbus通讯协议是一种用于工业控制领域的串行通信协议,它被广泛应用于自动化控制系统中。

本文将对Modbus通讯协议的格式进行详细介绍,以便读者更好地理解和应用该协议。

1. Modbus通讯协议的基本概念。

Modbus通讯协议是一种主从式通讯协议,它包括一个主站和多个从站。

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

在Modbus通讯协议中,主站和从站之间通过串行通信进行数据交换,通常采用RS-232、RS-485或者Ethernet等通讯方式。

2. Modbus通讯协议的数据格式。

Modbus通讯协议的数据格式包括了功能码、数据地址、数据值等信息。

其中,功能码用于指示从站应执行的操作,比如读取数据、写入数据等;数据地址用于指定要读取或写入的数据的地址;数据值则是要读取或写入的实际数值。

在Modbus通讯中,数据格式通常采用16位或32位的寄存器来进行数据交换。

3. Modbus通讯协议的报文结构。

在Modbus通讯协议中,通讯的数据是通过报文进行传输的。

Modbus报文包括了地址域、功能码、数据域和校验码等部分。

地址域用于指定从站的地址,功能码用于指示要执行的操作,数据域则包含了要读取或写入的数据,校验码用于对报文的完整性进行校验。

通过对报文结构的解析,主站和从站可以进行有效的数据交换。

4. Modbus通讯协议的应用场景。

Modbus通讯协议广泛应用于工业控制领域,比如工业自动化、楼宇自动化、能源管理系统等。

在这些应用场景中,Modbus通讯协议可以实现不同设备之间的数据交换和控制,从而实现系统的集成和优化。

此外,Modbus通讯协议还可以通过网关设备与其他通讯协议进行互联,实现不同系统之间的数据共享和协同控制。

5. Modbus通讯协议的发展趋势。

随着工业互联网的发展,Modbus通讯协议也在不断演进和完善。

新的Modbus 通讯协议版本不断推出,以满足工业控制系统对于高效、安全、可靠通讯的需求。

Modbus标准通讯协议格式【最新】

Modbus标准通讯协议格式【最新】

Modbus通讯协议下表是Modbus的功能格式:1、读可读写数字量寄存器(线圈状态):计算机发送命令:[设备地址] [命令号01] [起始寄存器地址高8位] [低8位] [读取的寄存器数高8位] [低8位] [CRC校验的低8位] [CRC校验的高8位]例:[11][01][00][13][00][25][CRC低][CRC高]意义如下:<1>设备地址:在一个485总线上可以挂接多个设备,此处的设备地址表示想和哪一个设备通讯。

例子中为想和17号(十进制的17是十六进制的11)通讯。

<2>命令号01:读取数字量的命令号固定为01。

<3>起始地址高8位、低8位:表示想读取的开关量的起始地址(起始地址为0)。

比如例子中的起始地址为19。

<4>寄存器数高8位、低8位:表示从起始地址开始读多少个开关量。

例子中为37个开关量。

<5>CRC校验:是从开头一直校验到此之前。

在此协议的最后再作介绍。

此处需要注意,CRC校验在命令中的高低字节的顺序和其他的相反。

设备响应:[设备地址] [命令号01] [返回的字节个数][数据1][数据2]...[数据n][CRC 校验的低8位] [CRC校验的高8位]例:[11][01][05][CD][6B][B2][0E][1B][CRC低][CRC高]意义如下:<1>设备地址和命令号和上面的相同。

<2>返回的字节个数:表示数据的字节个数,也就是数据1,2...n中的n的值。

<3>数据1...n:由于每一个数据是一个8位的数,所以每一个数据表示8个开关量的值,每一位为0表示对应的开关断开,为1表示闭合。

比如例子中,表示20号(索引号为19)开关闭合,21号断开,22闭合,23闭合,24断开,25断开,26闭合,27闭合...如果询问的开关量不是8的整倍数,那么最后一个字节的高位部分无意义,置为0。

modelbus协议格式

modelbus协议格式

Modbus 协议是一种串行通信协议,用于在工业自动化领域中进行设备之间的数据交换。

它是一种开放的、标准化的协议,被广泛应用于各种工业设备中。

Modbus 协议的基本格式包括以下几个部分:
1.帧头:用于标识一个Modbus 帧的开始,通常为2 个字节。

2.地址:表示要通信的设备地址,通常为1 个字节。

3.功能码:表示要执行的操作类型,通常为1 个字节。

4.数据:包含要传输的数据,长度可以为0 到252 个字节。

5.校验:用于检测数据传输的错误,通常为2 个字节。

例如,一个简单的Modbus 请求帧的格式如下:
plaintext
其中:
•01:表示设备地址为1。

•03:表示功能码为读取保持寄存器。

•00 00:表示要读取的寄存器地址为0。

•00 06:表示要读取的寄存器数量为6。

•CRC:表示校验码。

需要注意的是,Modbus 协议有多种变体,例如ASCII 模式和RTU 模式,它们在数据传输方式和帧格式上略有不同。

此外,不同的设备可能会对Modbus 协议进行一些自定义的扩展,因此在实际应用中需要根据具体情况进行相应的调整。

Modbus RTU 标准通讯协议格式

Modbus RTU 标准通讯协议格式

HLP_SV Modbus RTU 标准通讯协议格式通信资料格式Address Function Data CRC check8 bits 8 bits N×8bits 16bits1)Address通讯地址:1-2472)Function:命令码8-bit命令01 读线圈状态上位机发送数据格式:ADDRESS 01 ADDRH ADDRL NUMH NUML CRC注: ADDR: 00000 --- FFFF(ADDR=线圈地址-1);NUM: 0010-----0040 (NUM为要读线圈状态值的二进制数位数)正确时变频器返回数据格式:ADDRESS 01 BYTECOUNT DA TA1 DA TA2 DA TA3 DA TAN CRC注: BYTECOUNT:读取的字数错误时变频器返回数据格式:ADDRESS 0X81 Errornum CRC注: Errornum为错误类型代码如:要检测变频器的输出频率应发送数据:01 01 00 30 00 10 3D C9(16进制)变频器返回数据:01 01 02 00 20 B8 24(16进制)发送数据:0030hex(线圈地址49)返回的数据位为“0020”(16进制),高位与低位互换,为2000。

即输出频率为303(Max Ref)的50%。

关于2000对应50%,具体见图1。

03读保持寄存器上位机发送数据格式:ADDRESS 03 ADDRH ADDRL NUMH NUML CRC注:ADDR: 0 --- 0XFFFF;NUM: 0010-----0040 (NUM为要读取数据的字数)ADDR=Parameter Numbe r×10-1正确时变频器返回数据格式:ADDRESS 03 BYTECOUNT DA TA1 DA TA 2 DA TA 3 DA TAN CRC 注: BYTECOUNT:读取的字节数错误时变频器返回数据格式:ADDRESS 0X83 Errornum CRC如:要读变频器参数303的设定值应发送数据:01 03 0B D5 00 02 95 BC (16进制)Parameter 303(3029)=0BD5HEX变频器返回数据:“:”01 03 04 00 00 EA 60 B5 7B返回的数据位为“00 00 EA 60”(16进制)转换为10进制数为60000,表示303设置值为60.000※当参数值为双字时,NUM的值必须等于2。

modbus通讯协议

modbus通讯协议

modbus通讯协议协议名称:Modbus通讯协议一、引言Modbus通讯协议是一种用于工业自动化领域的通信协议,它允许不同设备之间进行数据交换。

本协议旨在规范Modbus通讯协议的格式和规则,确保各设备之间能够正确地进行数据通信。

二、协议概述Modbus通讯协议采用主从结构,其中主机负责发送请求,从机负责响应请求。

协议支持多种数据类型和功能码,包括读取和写入寄存器、读取和写入线圈等。

通信方式可以是串行或以太网。

三、协议格式1. 物理层Modbus通讯协议可以在串行通信和以太网通信中使用。

- 串行通信:使用RS-232、RS-485等串行接口,通信速率可根据实际需求进行配置。

- 以太网通信:使用TCP/IP协议栈,通信速率可根据网络带宽进行配置。

2. 数据帧格式Modbus通讯协议采用二进制数据帧格式,每个数据帧由多个字节组成。

- 串行通信数据帧:起始位(1位) + 数据位(8位) + 奇偶校验位(1位) + 停止位(1位)- 以太网通信数据帧:TCP/IP数据报文格式3. 寄存器地址Modbus通讯协议中的寄存器地址用于标识设备中的不同数据寄存器或线圈。

- 线圈地址:0x0000 - 0xFFFF- 输入寄存器地址:0x0000 - 0xFFFF- 保持寄存器地址:0x0000 - 0xFFFF- 输入状态地址:0x0000 - 0xFFFF4. 功能码Modbus通讯协议定义了多种功能码,用于不同的操作类型。

- 读取线圈状态:功能码0x01- 读取输入状态:功能码0x02- 读取保持寄存器:功能码0x03- 读取输入寄存器:功能码0x04- 写单个线圈:功能码0x05- 写单个保持寄存器:功能码0x06- 写多个线圈:功能码0x0F- 写多个保持寄存器:功能码0x10四、协议规则1. 请求与响应- 请求帧:主机发送请求帧给从机,包含功能码、起始地址和数据长度等信息。

- 响应帧:从机接收请求帧后,根据功能码执行相应操作,并将结果封装到响应帧中发送给主机。

海利普通信手册

海利普通信手册
科技无限 • 倡导未来
海利普变频器
MODBUS 通信手册
Version: 1.0
海利普 MODBUS 通信手册


一、海利普变频器支持的通讯协议 .................................................................................. 1 二、通讯协议选择与通信格式设置 .................................................................................. 2 2.1 HLP-A/P/SJ/SK/GA 系列 ..................................................................................... 2 2.2 HLP-C+系列 ..................................................................................................... 2 2.3 HLP-SV/NV/B/C100/A100/SK100/SK180/SP100/SL100 系列 .................................. 3 三、MODBUS 通讯协议 .................................................................................................. 4 3.1 适用性 ............................................................................................................. 4 3.2 协议概述 .......................................................................................................... 4 3.3 MODBUS 协议帧说明 ......................................................................................... 4 3.3.1 MODBUS ASCII 帧说明 .......................................................................................................... 4 3.3.2 MODBUS RTU 帧说明 ............................................................................................................ 5 3.4 HLP-A 平台通信帧示例....................................................................................... 5 3.4.1 MODBUS ASCII 示例 .............................................................................................................. 5 3.4.2 MODBUS RTU 示例 .............................................................................................................. 11 3.5 HLP-B 平台通信帧示例......................................................................................14 3.5.1 MODBUS RTU 示例 .............................................................................................................. 14 四、三菱 FX 系列 PLC 与海利普变频器 MODBUS 通信 ......................................................20 4.1 系统组成 .........................................................................................................20 4.1.1 硬件组成.............................................................................................................................. 20 4.1.2 硬件接线.............................................................................................................................. 20 4.2 编程 ...............................................................................................................20 4.2.1 特殊辅助继电器 ................................................................................................................. 20 4.2.2 特殊数据寄存器 ................................................................................................................. 21 4.2.3 与 HLP-A 平台 MODBUS RTU 通讯示例程序 ..................................................................... 22 4.2.4 与 HLP-B 平台 MODBUS RTU 通讯示例程序 ..................................................................... 28 五、西门子 S7-200 与海利普变频器 MODBUS 通信 ..........................................................34 5.1 系统组成 .........................................................................................................34 5.1.1 硬件组成.............................................................................................................................. 34 5.1.2 硬件接线.............................................................................................................................. 34 5.1.3 S7-200 的 Modbus 库指令 .................................................................................................. 34 5.2 编程 ...............................................................................................................36 5.2.1 与 HLP-A 平台 MODBUS RTU 通讯示例程序 ..................................................................... 36 5.2.2 与 HLP-B 平台 MODBUS RTU 通讯示例程序 ..................................................................... 41

modbus通讯协议

modbus通讯协议

modbus通讯协议协议名称:Modbus通讯协议一、引言Modbus通讯协议是一种用于工业自动化领域的通信协议,用于实现不同设备之间的数据交换和通信。

本协议旨在规范Modbus通讯协议的格式、规则和数据传输方式,以确保设备之间的互操作性和数据的可靠性。

二、协议格式1. 物理层Modbus通讯协议使用串行通信或以太网通信作为物理层。

串行通信使用RS-485标准,以太网通信使用TCP/IP协议。

2. 数据帧格式Modbus通讯协议使用了一种简单的数据帧格式,包括起始字符、设备地址、功能码、数据区和校验码。

- 起始字符:每个数据帧以一个起始字符(冒号)开头,用于标识数据帧的开始。

- 设备地址:设备地址用于标识通信中的源设备和目标设备。

- 功能码:功能码用于指示设备执行的特定功能,如读取数据、写入数据等。

- 数据区:数据区包含了需要传输的数据。

- 校验码:校验码用于验证数据的完整性,常用的校验算法有CRC和LRC。

3. 数据传输方式Modbus通讯协议支持两种数据传输方式:请求-应答方式和广播方式。

- 请求-应答方式:源设备发送一个请求数据帧给目标设备,目标设备接收到请求后进行处理,并返回一个应答数据帧给源设备。

- 广播方式:源设备发送一个广播数据帧给所有设备,所有设备都可以接收到广播数据帧,但只有目标设备会进行处理,其他设备不会返回应答。

三、功能码Modbus通讯协议定义了一系列的功能码,用于指示设备执行不同的功能。

1. 读取数据功能码- 读取线圈状态:功能码为01,用于读取设备的线圈状态。

- 读取输入状态:功能码为02,用于读取设备的输入状态。

- 读取保持寄存器:功能码为03,用于读取设备的保持寄存器。

- 读取输入寄存器:功能码为04,用于读取设备的输入寄存器。

2. 写入数据功能码- 写单个线圈:功能码为05,用于写入单个线圈的状态。

- 写单个保持寄存器:功能码为06,用于写入单个保持寄存器的值。

modbus协议格式

modbus协议格式

modbus协议格式Modbus是一种通信协议,常用于工业自动化领域中的数据传输。

该协议定义了一种以主从架构进行通信的方式,其中主设备(通常是一个控制器)通过发送命令来读取或写入从设备(如传感器、执行器等)的数据。

下面是Modbus协议的格式。

Modbus协议包括了不同的功能码,每个功能码对应一种操作。

常用的功能码包括读取和写入寄存器、读取和写入多个寄存器等。

以下是Modbus协议的格式:1. 通讯起始位:一个起始位用于标记通讯的开始。

通常是一个高电平信号。

2. 从设备地址位:一个8位的二进制数,用于标识从设备的地址。

每个从设备都有一个唯一的地址。

3. 功能码:一个8位的二进制数,用于标识所需执行的操作。

例如,功能码03表示读取多个寄存器的值。

4. 数据位:根据功能码的不同,数据位的格式也会有所不同。

在读取寄存器的操作中,数据位表示了要读取的寄存器地址以及寄存器数量。

在写入寄存器的操作中,数据位表示了寄存器地址和要写入的值。

5. CRC校验:一个16位的循环冗余校验码,用于检测数据传输过程中是否出现错误。

发送方会计算CRC校验码并将其附加到消息的末尾,接收方在接收消息后也会重新计算CRC校验码并与接收到的校验码进行比较,如果两者不一致,则说明数据传输过程中出现了错误。

6. 通讯结束位:一个结束位用于标记通讯的结束。

通常是一个低电平信号。

总体来说,Modbus协议的格式是比较简单且易于理解的。

通过定义好的功能码和数据位,主设备可以以统一的方式与不同的从设备进行通讯,实现数据的读取和写入操作。

同时,通过CRC校验码的使用,可以有效地检测和纠正数据传输过程中的错误,提高通讯的可靠性。

需要注意的是,Modbus协议有两种常用的传输方式:串行和以太网。

串行通信是通过RS485或RS232等物理层接口进行数据传输的,而以太网通信则是通过TCP/IP协议在局域网或广域网中进行数据传输的。

不同的通信方式会影响到数据帧的封装和物理层的传输。

[原创]通讯格式-传输方式及MODBUS协议简介

[原创]通讯格式-传输方式及MODBUS协议简介

MODBUS协议、通讯格式、传输方式MODBUS简介MODBUS是一种单主站的主/从通信模式。

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

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

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

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

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

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

实际也就是发送与接收双方商量一下,定好规则,发送方想要接收方做某件事,就发送某种格式的信息给接收方,接收方收到信息后,按照事先约定好的规则分析信息,执行命令。

MODBUS 的通讯规范:起始符 + 设备地址 + 功能代码 + 数据 + 校验和 + 结束符通讯格式通讯格式设置举例:9600,o,8,1 即:波特率为9600;校验方式为奇校验;数据位为八位;停止位为一位;------------------------------------------------------------1、波特率:波特率是每秒钟传输的数据位数;什么是位数呢?计算机处理的语言是"0"和"1"组合而成的信息,即机器语言!一个"0"或是一个"1"就是一个位;设置波特率的作用?如果把波特率设为9600,即一秒钟之内能够传输9600个"0"或是"1",它决定了通讯的数据传输速度。

常用的波特率数值有:2400、4800、9600、19200、38400、57600、115200;其值越大,通讯传输速度越高,那么是不是把波特率的数值设置的越大越好呢?当然不是,它要根据现场传输条件来决定,波特率设置的越大,要承担的通讯失败风险越大。

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

HLP_SV Modbus RTU 标准通讯协议格式通信资料格式Address Function Data CRC check8 bits 8 bits N×8bits 16bits1)Address通讯地址:1-2472)Function:命令码8-bit命令01 读线圈状态上位机发送数据格式:ADDRESS 01 ADDRH ADDRL NUMH NUML CRC注: ADDR: 00000 --- FFFF(ADDR=线圈地址-1);NUM: 0010-----0040 (NUM为要读线圈状态值的二进制数位数)正确时变频器返回数据格式:ADDRESS 01 BYTECOUNT DATA1 DATA2 DATA3 DATAN CRC注: BYTECOUNT:读取的字数错误时变频器返回数据格式:ADDRESS 0X81 Errornum CRC注: Errornum为错误类型代码如:要检测变频器的输出频率应发送数据:01 01 00 30 00 10 3D C9(16进制)变频器返回数据:01 01 02 00 20 B8 24(16进制)发送数据:0030hex(线圈地址49)返回的数据位为“0020”(16进制),高位与低位互换,为2000。

即输出频率为303(Max Ref)的50%。

关于2000对应50%,具体见图1。

03读保持寄存器上位机发送数据格式:ADDRESS 03 ADDRH ADDRL NUMH NUML CRC注:ADDR: 0 --- 0XFFFF;NUM: 0010-----0040 (NUM为要读取数据的字数)ADDR=Parameter Numbe r×10-1正确时变频器返回数据格式:ADDRESS 03 BYTECOUNT DATA1 DATA 2 DATA 3 DATAN CRC 注: BYTECOUNT:读取的字节数错误时变频器返回数据格式:ADDRESS 0X83 Errornum CRC如:要读变频器参数303的设定值应发送数据:01 03 0B D5 00 02 95 BC (16进制)Parameter 303(3029)=0BD5HEX变频器返回数据:“:”01 03 04 00 00 EA 60 B5 7B返回的数据位为“00 00 EA 60”(16进制)转换为10进制数为60000,表示303设置值为60.000※当参数值为双字时,NUM的值必须等于2。

否则无法读取或读取错误。

05 写单个线圈状态上位机发送数据格式:ADDRESS 05ADDRH ADDRL DATAH DA TAL CRC注:ADDR: 0 ---- 0XFFFF(ADDR=线圈地址-1);DATA=0000HEX(OFF) OR FF00(ON) HEX正确时变频器返回数据格式:ADDRESS 05 DATAH DATAL BYTECOUNT CRC错误时变频器返回数据格式:ADDRESS 0X85 Errornum CRC如:要使写参数为写入RAM和EEPROM应发送数据:01 05 00 40 FF 00 CRC(16进制)变频器返回数据:01 05 FF 00 00 01 CRC(16进制)发送数据:0040hex(线圈地址65)06 写单个保持寄存器值(只能写参数值为单个字的参数)上位机发送数据格式:ADDRESS 06 ADDRH ADDRL DA TAH DATAL CRC注:ADDR: ADDR=Parameter Numbe r×10-1正确时变频器返回数据格式:ADDRESS 06 ADDRH ADDRL DA TAH DA TAL CRC错误时变频器返回数据:ADDRESS 0X86 Errornum CRC如:要对变频器参数101写入1应发送数据:01 06 00 03 F1 00 01 19 BD(16进制)变频器返回数据:01 06 03 F1 00 01 19 BD(16进制)PARAMETER 101(1009)=03F1 HEX返回的数据位为“0001”(16进制)转换为10进制为“1”表示101设置值为10F 写多个线圈状态上位机发送数据格式ADDRESS 0F ADDRH ADDRL NUMH NUML COUNT DATAH1DATAL1 DATA2H DATA2L ------- DA TANH DA TANL CRC注:ADDR: 0 -------- 0XFFFF (ADDR=线圈地址-1); NUM: 0010-----0040 (NUM为要写值的二进制数的位数) ; COUNT: NUM / 8正确时变频器返回数据格式:ADDRESS 0F ADDRH ADDRL NUMH NUML CRC错误时变频器返回数据格式:ADDRESS 0X8F Errornum CRC如:变频器运行,频率是参数303的40%应发送数据:01 0F 00 00 00 20 04 7C 04 9A 19 37 43(16进制)变频器返回数据:01 0F 00 00 00 20 54 13(16进制)运行命令:0000 0100 0111 1100=047C HEX速度命令:4000 HEX=100% Speed40% of 4000 HEX=199A HEX10 写多个保持寄存器(只能写单个参数的值)上位机发送数据格式ADDRESS 0x10 ADDRH ADDRL NUMH NUML BYTECOUNTDATAH1 DATAL1 DATA2H DATA2L ------- DA TANH DA TANL CRC注:ADDR: 0 ------ 0XFFFF:ADDR=Parameter Numbe r×10-1;NUM: 0-2 (NUM 为要写的字的字数)COUNT=NUM*2正确时变频器返回数据格式ADDRESS 0x10 ADDRH ADDRL NUMH NUML CRC错误时变频器返回数据格式:ADDRESS 0X90 Errornum CRC如要同时对参数303写入60.000(Parameter 303(3029)=0BCB HEX)应发送数据:01 10 0B CB 00 02 04 00 00 EA 60 82 34(16进制)变频器返回数据:01 10 0B CB 00 02 32 12(16进制)发送的要写入16进制数据“00 00 EA 60”转换为10进制数为60000表示对参数303写入的数据分别为60.000※注意:NUM的值必须写对,否则返回的数据可能出错通信错误代码(Errornum)说明:00 参数号码不存在01 不能写入已定义的参数02 参数的值超出该参数的上限03 子索引不存在04 该参数不是数组类型05 数据类型与已定义参数的数据类型不同06 仅用于复位07 不可改变11 不许写17 在变频器当前模式下不能更改已定义参数的数据某些参数只能在电机关闭时才能更改18 其它错误64 无效的数据地址65 无效的长度66 无效的数据长度和值67 无效的参数130 已定义参数没有总线连接131 出厂设定值已被选定数据,不能更改功能码说明线圈功能码说明线圈地址名称R/W 说明1-16 变频器控制字R,W 见附表17-32 变频器转速或设定频率R,W 见附表33-48 变频器状态字R49-64 变频器输出频率R65 参数写控制R,W 0 –参数写入RAM:1-参数写入RAM 和EEPROM66-65536 保留4)DATA:资料内容n×8-bit资料5)CRC:侦误值附表:变频器控制字:位位=0 位=100 预置最小参考值01 预置最大参考值02 直流制动03 惯性停机04 快停05 冻结输出频率06 加减速停车起动07 复位08 点动09 加减速1 加减速210 数据无效数据有效11 无功能12 无功能13 选择最小安装14 选择最大安装15 反转变频器状态字:位位=0 位=100 控制准备完毕01 驱动准备完毕02 惯性停机03 错误04 无用05 无用06 无用07 无警告警告08 速度!=参考值速度=参考值09 本地控制串行通信10 频率范围溢出频率限制正常11 电机正常运行1213 电压警告14 电流限定15 热警告读数组参数310[2](index=2)发送:01 06 00 08 00 02 CRC“0002”Index的值接收:01 06 00 08 00 02 CRC发送:01 03 0C 1B 00 01 CRC接收:01 03 02 00 00 CRC写数组参数310[2](index=2)发送:01 06 00 08 00 02 CRC“0002”Index的值接收:01 06 00 08 00 02 CRC发送:01 10 0C 1B 00 01 02 00 00 CRC接收:01 10 0C 1B 00 01 CRC读写带数组的数必须先发01 06 00 08 Index(High) Index(Low) CRC ,再按读,写数据的格式发送数据HLP_SV通讯协议格式通信资料格式由一个起始字节(STX)开始,这个起始字节为STX=02(十六进制)。

随后紧跟资料的长度(LGE)的字节和表示变频器地址的字节(ADR)。

然后是一些数据字节。

最后由一个数据控制字节(BCC)来结束。

STX LGE ADR DATA BCC1)资料长度资料长度是数据字节的数目和地址字节(ADDR)加数据字节(DA TA)再加BCC字节的总和。

4个数据字节的资料长度为:LGE=4+1+1=612个数据字节的资料长度为:LGE=12+1+1=14包含文本的资料长度为:10+n字节。

其中,10代表固定字节,n是随着文本的长度而变化的。

2)变频器地址(ADDR):1-2473)数据控制字节(BCC)将前面所有的数据进行异或运算。

4)数据字节数据字节的资料格式有三种类型:PKE IND PWE high PWE low PCD1 PCD2参数块过程块过程块由4个字节(2个字)的数据块组成,包括:控制字和参考值状态字和当前输出频率(从从机到主机)PCD1 PCD2过程块文本块,用于通过数据块读写文本。

PKE IND Ch1 Ch2 …Chn PCD1 PCD2文本块过程块参数命令与应答(AK)12-15位用于传送主机到从机的参数命令和从机答复主机的应答。

参数命令主——从位号:15 14 13 12 参数命令0 0 0 0 无命令0 0 0 1 读参数值0 0 1 0 在RAM中写参数值(字类型)0 0 1 1 在RAM中写参数值(双字类型)1 1 0 1 在RAM和EEPROM中写参数值(双字类型)1 1 1 0 在RAM和EEPROM中写参数值(字类型)1 1 1 1 读/写文本应答从——主位号:15 14 13 12 应答命令0 0 0 0 无应答0 0 0 1 参数值已传送(字类型)0 0 1 0 参数值已传送(双字类型)0 1 1 1 命令不能执行1 1 1 1 文本已传送如果命令不能被执行,则从机发送应答:0111‘命令不能执行’并且在参数值(PWE)中给定以下的错误报告。

相关文档
最新文档