00.Modbus序言篇——什么是Modbus[转载]

什么是Modbus ,Modbus能做什么。

笔者尝试用一个系列分多篇文章进行讲述,带你了解身边的Modbus。

第一篇我们先来个序言篇,先来聊聊Modbus。

创作不易,转载请注明出处。订阅号诸子东(物联网诸子东)原创作品。

按照笔者的风格,上来自然不会直接讲枯燥的概念和协议,格式等。这些网上一搜一大把的内容,笔者尽量少重复。

我们先不要直接讲Modbus协议,先聊聊家常,然后趁Modbus不注意,再去学它,就容易记住了。

Modbus协议,是1979年,Modicon公司发明的。而Modicon,也可以说就是现在的施耐德了。

别的设备支持不支持Modbus不知道,施耐德PLC肯定可以支持Modbus协议。

那时候网络,计算机都还不发达,设备之间的通信,主要还是基于串口。

那Modbus协议发明主要是用来干嘛的呢。

那我们就先看Modicon是干嘛的。

Modicon公司是搞PLC的。那PLC又是什么呢。

接地气地讲,PLC是一种控制器,内部可编程。反正就是工业领域生产非常重要的东西。

像PLC,传感器等,就会有各种各样的数据,比如,门的开和关,灯的亮和灭,温度,湿度,流量,产量计数,压力,速度,位移等,各种各样的数据。

往现在来说,你手机上有个APP,APP上有个按钮,你一操作,你家的灯就开了。

在当时来看,一台控制器怎么知道另一台控制器的数据呢。

总不能这么唐突的去要数据吧。

好,如果只是灯的开关,可以用一根电线将两个控制器接起来,十个开关就接十根线。

只要这根线有电,说明灯是亮的,线没有电,灯就是灭的。

但温度呢,总不能让一个控制器靠近另一个控制器,你摸一下我烫不烫,冷不冷,渴不渴?

还有压力值呢,总不能让一个控制器去踩压着另一个控制器的背,官人,你看这脚力合适不合适?

这不是有串口么,能不能把这些数据,都通过这个串口来传输呢。

发明一种协议,然后可以在串口上进行数据交互,

真的是好办法呀,这样一来,对于主控制器来说,省事多了,就这么办吧。

发明协议要有仪式感,我们总得给它起个名字吧。我们先开个会讨论一下吧。

“要不我们就直接叫它ModiconModbus吧”

“系不系傻,Modbus这个名字就是我们发明的,怎么能叫Modicon Modbus呢,再重新讨论”

“首先这个是一种总线协议,肯定得以bus结尾吧。”

“嗯,没错,那就以bus结尾吧”

“叫Modicon-bus如何?”

“不行,得有我们老外的风格,这名字一看就很中式。”

“取名字的前半部分?叫Modibus协议?”

“莫弟拔丝?读着有点绕口吧。”

“Modbus呢,莫得拔丝,好写又好记。”

“同意”

“同意”

“Good”

“大拇指,大拇指,大拇指”。

于是,伟大的Modbus协议的名字诞生了。

那这个协议要怎么用呢。

现在摆在面前有两个设备,一个是主设备,一个是从控制器,主设备和从控制器通过串口接在一起了,所有的数据都在从控制器上了。

是从控制器主动把数据发给主设备呢,还是主设备来要数据呢。

如果是从控制器主动发数据,但是好像不知道主设备到底要啥数据呢。

要不就设计为,由主设备主动发起请求来要数据。从控制器收到命令之后,再把相应的数据返回。

所以,Modbus协议,就设计为一种基于主站主动请求的协议了

这样所有的数据需求,全部为主设备进行管理和规划,什么时候读什么数据。

就这样,有了Modbus协议之后,就解决了各控制器之间的数据交互问题。包括之后的HMI,电脑等设备,也都可以通过Modbus协议与PLC, 控制器进行数据读取交互。

刚发明Modbus的时候,那时候主要还是使用串口通信。网络还没有完善的年代,想找一个支持以太网的PLC几乎不现实。

当然,后面随着TCP/IP的发展,工业的进步,出现了网络通信。Modbus也可以在以太网上通信了,在以太网上的通信,我们一般叫它Modbus TCP。

既然有TCP,就会有人问,那我能不能走UDP呢。

于是,Modbus UDP也就有了。

其实Modbus TCP和Modbus UDP的报文格式是一样的。只不过一个走的是TCP,一个走的是UDP。

那串口的Modbus 叫什么名字呢。

一般来说,串口的Modbus 协议叫Modbus RTU协议。

RTU,也就是 Remote Terminal Unit。远程终端单元。

要知道,在上个世纪80年代,对于远程的概念,可不是像我们这样天南地北的距离。

两个设备,超过一米,都能叫远程了。

大概的意思就是,我人在门口,我能通过HMI或者主控制器,对房间里的温度,灯等进行监测和控制,就属于远程操作了。

毕竟每一个事物的存在,都是有它的背景和依据的。

那为什么串口的协议,还会有Modbus ASCII协议呢。

这个我有点编不下去了,容我想一想。

一般来说,数据是由位组成的,然后由八个位组成一个字节,两个字节组成一个字。

而数据传输和存储呢,最小单元为字节。


然后串口通信,它也很特殊,如果你要发一个字节,还要加什么起始位,校验位,停止位等凑够一定条件,才能满将一个字节发送出去。少一个位都不行。


那ASCII发明的的其中一个理由是,当通信链路或者设备无法满足RTU模式时,则使用ASCII模式。

我猜测呀,可能当时某些特定用途的单片机或CPU,在设计串口功能的时候,基于种种原因,要抛开起始位,校验位,停止位之后,完了,少处理了一个位,留给数据位只有7个位了。

怎么办呢,要把7个位改成8个位,芯片都推倒重新来,代价太大了。

难道这个芯片就不能用了么。有什么通信或数据只要7个位就够了的?

还真巧,还真有的,那就是ASCII数据。

ASCII,也就是我们常说的字符数据。字符嘛,大小写字母,加上一些常用字符,数量加起来少于127的。也就是用7个位就可以了。

那是不是可以发明一种ASCII通信协议,每一个数组只占7位。然后Modbus ASCII协议就出来了。

我们看一下Modbus协议大概有多少。


最后,我们留一道选择题给大家。

以下哪个配置是有问题的。


A  使用modbus ascii 协议,波特率38400,数据位8,校验位为奇,停止为1.

B  使用modbus rtu 协议,波特率19200 ,数据位8,校验位为偶,停止为1.

C  使用modbus ascii 协议,波特率57600,数据位7,校验位为无,停止位2。

D  使用modbus rtu 协议,波特率115200,数据位7,校验位为偶,停止位1

答案将在下一篇揭晓。

本篇为序言篇,笔者会在未来一段里,完成该系列文章的创作,如果想进一步继续了解和学习Modbus的同学,朋友,不妨关注本订阅号或推荐给你的同学,老表,同事等。

当然,Modbus只是第一个按系列写的,后续也许也会考虑出更多和物联网相关的专题系列进行创作,笔者会尽量秉承通俗,风趣的风格进行创作。

笔者是业余时间进行的创作,更新速度可能比较慢,客官可以先回顾下往期文章。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容

  • 一、Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制...
    lx_jian阅读 45,937评论 2 14
  • 一、Modbus 协议简介 ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或...
    漠漠彡阅读 84,668评论 2 20
  • 每个仪表都有自己独特的通讯协议,常见的有modbus通讯协议 、RS-232通讯协议、RS-485通讯协议 、HA...
    时间之友阅读 2,439评论 0 1
  • Modbus主要分为Modbus TCP和Modbus RTU/ASCII两种方式。 Modbus 串行消息帧格式...
    腊鸡爱学习阅读 23,636评论 0 0
  • 概述 Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化部门的一部分,现在Mo...
    得奕阅读 1,853评论 1 0