永宏PLC 华南总代商   大客户热线:13425124451

销售:张小姐:18126538285  商务 QQ:2734279883

商务:王小姐:18126438385  技术热线:400-850-1221


关于永宏PLC MODBUS 规约中文说明书

分享到:
点击次数:984 更新时间:2020年08月04日08:08:55 打印此页 关闭



关于永宏PLC MODBUS

规约中文说明书

说明:该文档是产品说明书的一部分,考虑到国内没有看到详细的MODBUS规约中文说明书,所以就把自己产品说明书的一部分内容译出来,作为MDOBUS规约中文说明书。该说明书不是完整的MODBUS规约,但是却涵盖的几乎所有常用内容。

MODBUS规约

MODBUS规约是MODICOM公司开发的一个为很多厂商支持的开放规约

Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。

当在Modbus网络上通信时,永宏PLC-深圳总代理商  此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus协议发出。在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。



标准的Modbus口是使用RS-232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem组网。

控制器通信使用主—从技术,即仅设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据做出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。



主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。

从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和错误检测域。如果在消息接收过程中发生错误,或从设备不能执行其命令,从设备将建立错误消息并把它作为回应发送出去。

在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。



在消息位,Modbus协议仍提供了主—从原则,尽管网络通信方法是“对等”。如果控制器发送消息,它只是作为主设备,并期望从从设备得到回应。同样,当控制器接收到消息,它将建立一从设备回应格式并返回给发送的控制器。

.主设备查询

查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。例如功能代码03是要求从设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。错误检测域为从设备提供了一种验证消息内容是否正确的方法。



.从设备回应

如果从设备产生正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据:像寄存器值或状态。如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。

每个MODBUS帧都包括地址域  功能域  数据域 错误检测域

RTU方式

地址

功能代码

数据数量

数据1

...

数据n

CRC高字节

CRC低字节



地址域  功能域   数据域               错误检测域

 

帧定界 :MODBUS RTU方式下,每两个字符之间发送或者接收的时间间隔不能超过1.5倍 字符传输时间。如果两个字符时间间隔超过了3.5倍的字符传输时间,规约就认为一帧数据已经接收,新的一帧数据传输开始。

 

 

 


常用的多为MODBUS协议格式

支持命令

我们支持所有MODBUS功能码,仅选取常用几个说明

01H READ COIL STATUS

03H READ HOLDING REGISTERS

05H FORCE SINGLE COIL

06H PRESET SINGLE REGISTER 

0FH FORCE MULTIPLE COILS

10H FORCE MULTIPLE REGISTERS

1、读继电器状态

功能码: 01

MODBUS 请求

功能码

1 BYTE

0X01

起始地址

2 BYTE

0X0000 TO 0XFFFF

读取数量

2 BYTE

1 TO 2000(0X7D0)

MODBUS 响应

功能码

1  BYTE

0X01

字节计数

1  BYTE

N

线圈状态

n  BYTE

n  =N or N+1

N =读取数量/8   如果余数不为0 N=N+1

错误 响应

功能码

1  BYTE

0X01+ 0X80

错误代码

1  BYTE

0x1 or 0x2 or 0x3 or 0x4

举例

请求

响应

域名称

数据(hex

域名称

数据(hex

功能码

01

功能码

01

起始地址高(字节)

00

字节计数

03

起始地址低(字节)

13

27h)~20状态

CD

读取数量高(字节)

00

35h)~28状态

6B

读取数量低(字节)

13

38h)~36状态

05

 

 

2、读保持寄存器

功能码: 03

MODBUS 请求

功能码

1 BYTE

0X03

起始地址

2 BYTE

0X0000 TO 0XFFFF

读取数量

2 BYTE

1 TO 125(0X7D)

MODBUS 响应

功能码

1  BYTE

0X03

字节计数

1  BYTE

N*2

输入状态

N*2  BYTE


 

错误 响应

功能码

1  BYTE

0X03+ 0X80

错误代码

1  BYTE

0x1 or 0x2 or 0x3 or 0x4

 

举例

请求

响应

域名称

数据(hex

域名称

数据(hex

功能码

03

功能码

03

起始地址高(字节)

00

字节计数

06

起始地址低(字节)

6B

寄存器高(108

02

读取数量高(字节)

00

寄存器低(108

2B

读取数量低(字节)

03

寄存器高(109

00


寄存器低(109

00

寄存器高(110

00

寄存器低(110

64

 

 

3、设置单个继电器

功能码: 05

说明:设置单个继电器。

MODBUS 请求

功能码

1 BYTE

0X05

设置地址

2 BYTE

0X0000 TO 0XFFFF

设置内容

2 BYTE

0x0000 OR 0XFF00

0x0000 释放继电器

0xff00  吸合继电器

 

MODBUS 响应

功能码

1 BYTE

0X05

设置地址

2 BYTE

0X0000 TO 0XFFFF

设置内容

2 BYTE

0x0000 OR 0XFF00

 错误 响应

功能码

1  BYTE

0X05+ 0X80

错误代码

1  BYTE

0x1 or 0x2 or 0x3 or 0x4

举例(吸合6号继电器)

请求

响应

域名称

数据(hex

域名称

数据(hex

功能码

05

功能码

05

设置地址高(字节)

00

设置地址高(字节)

00

设置地址低(字节)

05

设置地址低(字节)

05

设置内容高(字节)

FF

设置内容高(字节)

FF

设置内容低(字节)

00

设置内容低(字节)

FF




4、 设置单个保持寄存器

功能码: 06

MODBUS 请求

功能码

1 BYTE

0X06

设置地址

2 BYTE

0X0000 TO 0XFFFF

设置内容

2 BYTE

0x0000 to  0XFF00

MODBUS 响应

功能码

1 BYTE

0X06

设置地址

2 BYTE

0X0000 TO 0XFFFF

设置内容

2 BYTE

0x0000 to 0XFF00

错误 响应

功能码

1  BYTE

0X06+ 0X80

错误代码

1  BYTE

0x1 or 0x2 or 0x3 or 0x4

 

举例

设置8号保持寄存器内容为25

请求

响应

域名称

数据(hex

域名称

数据(hex

功能码

06

功能码

06

设置地址高(字节)

00

设置地址高(字节)

00

设置地址低(字节)

08

设置地址低(字节)

08

设置内容高(字节)

00

设置内容高(字节)

00

设置内容低(字节)

19

设置内容低(字节)

19




5、设置多个继电器

功能码:0X0F

MODBUS 请求

功能码

1 BYTE

0X0F

设置起始地址

2 BYTE

0X0000 TO 0XFFFF

设置长度

2 BYTE

0X0000 TO 0X7B0

字节计数

1 BYTE

N

设置内容

N  BYTE



 

错误 响应

功能码

1  BYTE

0X0F+ 0X80

错误代码

1  BYTE

0x1 or 0x2 or 0x3 or 0x4

 

举例

设置继电器

 

请求

响应

域名称

数据(hex

域名称

数据(hex

功能码

0F

功能码

0F

设置地址高(字节)

00

设置地址高(字节)

00

设置地址低(字节)

13

设置地址低(字节)

13

设置数量高(字节)

00

设置数量高(字节)

00

设置数量低(字节)

0A

设置数量低(字节)

0A

字节计数

02


设置内容低(字节)

CD

设置内容低(字节)

01


 

6、设置多个保持寄存器

功能码: 0X10

 

MODBUS 请求

功能码

1 BYTE

0X10

设置起始地址

2 BYTE

0X0000 TO 0XFFFF

设置长度

2 BYTE

0X0000 TO 0X7B0

字节计数

1 BYTE

N*2

设置内容

N*2  BYTE


 

 

MODBUS 响应

功能码

1 BYTE

0X10

设置起始地址

2 BYTE

0X0000 TO 0XFFFF

设置长度

2 BYTE

0X0000 TO 0X7B0

 



上一条:深圳永宏PLC销售中心 可提供技术支持 下一条:永宏PLC用蓝牙下载程序/不需要用通讯线