实用资料——Modbus通信协议4

ModBus网络只是一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。表2ModBus各功能码对应的数据类型。

2 ModBus功能码与数据类型对应表

代码

功能

数据类型

01

02

03

整型、字符型、状态字、浮点型

04

整型、状态字、浮点型

05

06

整型、字符型、状态字、浮点型

08

N/A

重复“回路反馈”信息

15

16

整型、字符型、状态字、浮点型

17

字符型

1ModBus的传输方式

 ModBus系统中有2种传输模式可选择。这2种传输模式与从机PC通信的能力是同等的。选择时应视所用ModBus主机而定,每个ModBus系统只能使用一种模式,不允许2种模式混用。一种模式是ASCII(美国信息交换码),另一种模式是RTU(远程终端设备)这两种模式的定义见表3

3 ASCIIRTU传输模式的特性

特性

 

ASCII(7位)

RTU(8位)

编码系统

 

十六进制(使用ASCII可打印字符:09AF)

二进制

每一个字符的位数

开始位

1

1

数据位(最低有效位第一位)

7

8

奇偶校验(任选)

1位(此位用于奇偶校验,无校应则无该位)

1位(此位用于奇偶校验,无校应则无该位)

停止位

12

12

错误校验

LRC(即纵向冗余校验)

CRC(即循环冗余校验)

ASCII可打印字符便于故障检测,而且对于用高级语言(如Fortan)编程的主计算机及主PC很适宜。RTU则适用于机器语言编程的计算机和PC主机。

RTU模式传输的数据是8位二进制字符。如欲转换为ASCII模式,则每个RTU字符首先应分为高位和低位两部分,这两部分各含4位,然后转换成十六进制等量值。用以构成报文的ASCII字符都是十六进制字符。ASCII模式使用的字符虽是RTU模式的两倍,但ASCII数据的译玛和处理更为容易一些,此外,用RTU模式时报文字符必须以连续数据流的形式传送,用ASCII模式,字符之间可产生长达1s的间隔,以适应速度较快的机器。

4给出了以RTU方式读取整数据的例子

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值