0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

聊聊Modbus協(xié)議的缺點

冬至子 ? 來源:dotNet工控上位機 ? 作者:新閣教育付工 ? 2023-04-25 15:33 ? 次閱讀

作為工控人,Modbus通訊協(xié)議想必都不陌生,Modbus通訊協(xié)議可以說是工業(yè)自動化領(lǐng)域應(yīng)用最為廣泛的通訊協(xié)議,因為它的開放性、可擴充性和標準化,使它成為通用工業(yè)標準。

Modbus協(xié)議的優(yōu)點我覺得不用多說,這篇文章,主要是想跟大家聊聊Modbus協(xié)議的缺點。

凡事都有雙面性,任何協(xié)議都有自身的不足之處,Modbus有缺點,并不意味它就是一個不好的協(xié)議,希望大家理性看待。

1、讀取數(shù)據(jù)量的限制

下面這張圖表示的是ModbusRTU協(xié)議03功能碼的數(shù)據(jù)格式:

圖片

從圖中我們可以看到從站返回數(shù)據(jù)的數(shù)據(jù)個數(shù)(字節(jié)計數(shù))只占了一個字節(jié)。

由于字節(jié)計數(shù)只占用1個字節(jié),導(dǎo)致讀取輸入/保持寄存器時,一次性最多只能讀取127個寄存器,這個對于某些數(shù)據(jù)量非常大的場合,就需要讀取多次,才能讀取到所有的數(shù)據(jù),這樣通信效率必然會降低。

2、不支持寄存器位的寫入

Modbus常用的8個功能碼當中,是沒有針對寄存器的位寫入的。所以當我們需要給某個寄存器的某個位置位或者復(fù)位時,就會變得非常麻煩。

我們一般的處理方式有兩種:

第一種方式:我們需要先讀取這個寄存器的值,然后再將這個值的某個位處理之后,將處理后的值進行寫入,相當于需要交互兩次才可以實現(xiàn),并且這種方式從某種角度上來說是不安全的。

第二種方式:我們可以用一個寄存器代替一個位,寫入1表示為True,寫入0表示為False,這種方式可以單次交互實現(xiàn),但是會浪費很多內(nèi)存空間。

Modbus協(xié)議是1979年誕生,現(xiàn)在已經(jīng)應(yīng)用在成千上萬個設(shè)備當中了,我相信發(fā)明者肯定也知道這樣的問題,但是無法統(tǒng)一去更改。

也許某一天Modbus協(xié)議可以解決這兩個問題......

也許有的人會說Modbus協(xié)議存在安全漏洞,我覺得Modbus協(xié)議作為工業(yè)現(xiàn)場應(yīng)用,它的目的是實現(xiàn)數(shù)據(jù)交互,在不聯(lián)網(wǎng)的環(huán)境下,沒有攻擊就沒有傷害。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5270

    瀏覽量

    119646
  • RTU
    RTU
    +關(guān)注

    關(guān)注

    0

    文章

    398

    瀏覽量

    28582
  • 工業(yè)自動化
    +關(guān)注

    關(guān)注

    17

    文章

    2156

    瀏覽量

    67125
  • ModBus通信
    +關(guān)注

    關(guān)注

    0

    文章

    32

    瀏覽量

    2535
收藏 人收藏

    評論

    相關(guān)推薦

    Modbus協(xié)議中文版

    modbus協(xié)議中文版
    發(fā)表于 09-18 10:58

    什么是Modbus協(xié)議?如何寫穩(wěn)定的Modbus代碼?

    什么是Modbus協(xié)議?Modbus協(xié)議有哪些分類?使用Modbus時有哪些注意事項?如何寫穩(wěn)定的Modbus代碼?
    發(fā)表于 07-02 06:54

    modbus協(xié)議筆記

    1 Modbus協(xié)議概要? Modbus通信協(xié)議由Modicon公司(現(xiàn)在的施耐德電氣Schneider Electric)于1979年為可編程邏輯控制(即PLC)通信而發(fā)表。目前,Modbu
    發(fā)表于 07-02 07:17

    Modbus協(xié)議是什么?Modbus協(xié)議主要有哪些應(yīng)用?

    請問一下Modbus協(xié)議是什么?Modbus協(xié)議主要有哪些應(yīng)用?
    發(fā)表于 07-15 12:04

    Modbus協(xié)議的特點是什么

    Modbus協(xié)議的特點是什么?Modbus協(xié)議有哪幾類功能碼?
    發(fā)表于 09-26 08:13

    Modbus協(xié)議是怎樣進行通信的

    Modbus協(xié)議的原理是什么?Modbus協(xié)議是怎樣進行通信的?
    發(fā)表于 09-28 06:48

    Modbus協(xié)議地址與協(xié)議層次

    Modbus協(xié)議地址是什么意思?Modbus協(xié)議層次有何優(yōu)勢?
    發(fā)表于 09-28 06:27

    Modbus協(xié)議是什么

    Modbus協(xié)議是什么?MODBUS功能碼有哪些?MODBUS協(xié)議有哪幾種傳輸模式?
    發(fā)表于 09-29 07:06

    Modbus是什么?Modbus協(xié)議有哪些優(yōu)點

    Modbus是什么?Modbus協(xié)議有哪些優(yōu)點?Modbus協(xié)議包括哪些?
    發(fā)表于 09-30 08:40

    Modbus協(xié)議的理解

    系統(tǒng)的兼容,最好采用通用的通訊協(xié)議。   我們可以Modbus協(xié)議進行修改,使之能使用在自己的系統(tǒng)中。Modbus協(xié)議包括ASCII、RTU、TCP等,并沒有規(guī)定物理層。此協(xié)議定義了控
    發(fā)表于 05-05 16:47

    Modbus協(xié)議簡介及其特點

    Modbus協(xié)議是什么,Modbus協(xié)議的特點,本文針對Modbus協(xié)議的概況加以闡述。
    發(fā)表于 11-02 15:00 ?4618次閱讀

    Modbus協(xié)議是什么

    Modbus協(xié)議旨在用于串行設(shè)備和應(yīng)用程序。
    的頭像 發(fā)表于 07-26 10:33 ?9966次閱讀
    <b class='flag-5'>Modbus協(xié)議</b>是什么

    modbus協(xié)議應(yīng)用指南

    modbus協(xié)議
    發(fā)表于 12-04 09:45 ?5次下載

    Modbus協(xié)議網(wǎng)關(guān)是什么?Modbus協(xié)議網(wǎng)關(guān)的功能

    Modbus協(xié)議網(wǎng)關(guān)是一種專門用于工業(yè)自動化環(huán)境中的網(wǎng)絡(luò)設(shè)備,其主要功能是實現(xiàn)不同通信協(xié)議之間的轉(zhuǎn)換,尤其是將基于Modbus協(xié)議的設(shè)備或系統(tǒng)與使用其他協(xié)議的設(shè)備、控制系統(tǒng)或信息系統(tǒng)連
    的頭像 發(fā)表于 04-11 15:51 ?642次閱讀

    Modbus協(xié)議的工作原理、優(yōu)缺點及應(yīng)用

    在當今工業(yè)物聯(lián)網(wǎng)(IIoT)的浪潮中,Modbus協(xié)議無疑是連接傳統(tǒng)工業(yè)設(shè)備與現(xiàn)代信息技術(shù)的橋梁。作為一位工業(yè)物聯(lián)網(wǎng)的資深工程師,我深感有責任向傳統(tǒng)行業(yè)解釋這一重要協(xié)議的工作原理、優(yōu)缺點以及廣泛
    的頭像 發(fā)表于 05-21 17:06 ?1177次閱讀
    <b class='flag-5'>Modbus協(xié)議</b>的工作原理、優(yōu)<b class='flag-5'>缺點</b>及應(yīng)用