modbus 通信协议简单理解 · 物联网平台-威尼斯人最新

thingskit · march 12, 2020 · last by replied at july 27, 2022 · 320 hits

modbus 通讯协议,是 1979 年由美国 modicon 公司提出的,就是被称为 plc 之父的迪克·莫利先生创造的品牌。modbus 是世界上第一个用于工业现场的总线协议,可以说,它的出现标志着工业现场从模拟量时代向通讯时代迈进。

plc 之父 迪克·莫利

虽然已经过去了四十多年,但是 modbus 协议依然焕发着生命力,免费,是一个重要原因,但是它简单可靠的机制更适合工业应用,这才是它长久不衰的原因所在。modbus 是一种主 ---- 从通讯机构,因为它只定义了协议层,支持多种电气接口包括 rs-232 rs-485 甚至是以太网,特别是 rs-485 上的广泛应用,它已经成为事实上的 rs-485 通讯标准。各种智能仪表,plc,dcs 都有它的身影,你尽管放心大胆的用,是不会有人或者组织,找你麻烦问你要专利费的,因为它是完全免费的。

modbus 帧结构

modbus 的帧结构由四部分组成,看下面这段代码

01 16 1000 1234 abcd

这段代码的意思 是 向 地址 01 的 控制器 写入 1000 1234 。 就是这么简单。下面,我们来详细说明

地址域:就是指 从站的地址,比如一个变频器,或者是一个仪表,这个地址就是它的通讯地址。

功能码:就是你要做的事情,通讯的目的 就是读写数据,所以 modbus 功能码虽然很多,但是只有两个是我们常用的,就是读和写。读的功能码是 03 写的功能码是 16,注意,这里的读写都是一次性写 16 个位,也就是一个 word。

数据:就是我们传递的消息,这个对于我们来说才是最终目的。 1000 1234 就是我们传递的消息,是我们要告诉从站的内容,它又分两部分 地址 和内容。如果把从站比喻成一个大楼 地址域就是大楼的门牌号,而数据里的地址就是大楼的房间号,换成变频器 也就是 变频器的参数地址。所以这段帧 就是这样理解

告诉 01 大楼的 1000 房间 1234 往 01 变频器的 1000 参数写 1234

差错校验 是为了防止出错而做的保护,就是双方约定的各种计算方法,也就是我们在实际应用中的 偶校验 奇校验 停止位等等。 这里的 abcd 是随便写的 ,没任何意义。

no reply at the moment.
需要 sign in 后方可回复, 如果你还没有账号请点击这里 sign up
网站地图