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

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

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

Modbus協(xié)議上手實踐篇

冬至子 ? 來源:物聯(lián)網(wǎng)諸子?xùn)| ? 作者:諸子?xùn)| ? 2023-08-10 16:40 ? 次閱讀

我們先準(zhǔn)備個PLC通信上。

我們需要一款支持Modbus RTU通信的PLC和一根USB轉(zhuǎn)串口線。

然后電腦這邊準(zhǔn)備一個工具軟件。

圖片

1 我們確認(rèn)下PLC的串口參數(shù)

圖片

PLC當(dāng)前的串口,支持了Modbus協(xié)議。

串口參數(shù)是115200波特率,數(shù)據(jù)位為8,停止位為1,無校驗。

2 打開Modbus Poll工具。

圖片

設(shè)置參數(shù)也是115200,8,1,無即可。

3 選擇寄存器變量。

圖片

點擊圖中按鈕,即可選擇要讀寫的寄存器。

Slave ID 是從站設(shè)備的ID。設(shè)置為1,和PLC對應(yīng)上。

Function: 也就是功能碼。0X寄存器對應(yīng)的功能就是01為read.

Address: 要讀的寄存器地址。設(shè)置為0,也就是從0開始讀,剛好對應(yīng)PLC上面的輸出點。

Quantity: 寄存器個數(shù)。設(shè)置10,我們先讀10個。

Sacn Rate: 掃描周期。默認(rèn)1000ms。也就是每1000ms讀一次。

其它參數(shù)不關(guān)心,默認(rèn),然后點OK。

圖片

然后就顯示都通信上了。

我們試著拿偶數(shù)地址都設(shè)置為1看一下。

圖片

對里面的值雙擊,會出來設(shè)置值界面。因為是單獨寫,可以默認(rèn)使用05功能碼。

圖片

圖片

可以看到PLC里相應(yīng)的輸出點,也被置1了。

這就是很基本的一個Modbus RTU通信的demo。

如果你認(rèn)為到此就結(jié)束了,那可能你猜對了。

我們上手學(xué)Modbus 協(xié)議,沒必要搞那么復(fù)雜。一天收獲一點點,慢慢消化Modbus 協(xié)議。

先學(xué)會怎么使用的,再進(jìn)一步了解協(xié)議。

好了,如果前面的內(nèi)容已經(jīng)消化的,我們可以繼續(xù)往下了。如果還沒有消化的,那下面的內(nèi)容,建議你先收藏,改天再繼續(xù)看。

在剛才的實驗中,我們看到通過電腦的Modbus Poll對PLC進(jìn)行讀寫操作了。

難道我們不想知道,他們是怎么起使用的么。

Modbus Poll 有一個功能,可以顯示發(fā)送和接收的報文,對于我們學(xué)習(xí)Modbus 協(xié)議非常有幫助。

圖片

我們找到Display->Communication選項,就可以看到發(fā)送和接收的報文了。

圖片

Tx:072-01 01 00 00 00 0A BC 0D

Rx:073-01 01 02 55 01 47 6C

我們復(fù)制一個報文。

1.jpg

對于剛?cè)腴T的,不管是使用者,還是開發(fā)者,建議還是找個支持Modbus 的設(shè)備以及工具,比如Modbus Poll,進(jìn)行通信測試,看一下Modbus的報文是什么樣的,看一下讀寫的情況。

因為遇到有些入門者,自己上來就拿個串口工具,給單片機或者PLC發(fā)送數(shù)據(jù),發(fā)現(xiàn)對方怎么都不回。除了串口參數(shù)要設(shè)置正常之外,要確保你的報文是正確的Modbus 協(xié)議才可以哦。

比如讀0X寄存器,讀10個,報文為01 01 00 00 00 0A BC 0D

前面的報文01 01 00 00 00 0A 估計很多人都會了。

然后用工具或者在線計算CRC,要么計算出來是錯誤的,要么計算正常了,卻拼成這樣的報文 01 01 00 00 00 0A 0D BC。CRC的字節(jié)反了。

怎么發(fā),PLC就是不回復(fù)。

這是很多新手,入門者常犯的錯誤。

所以不要小看一個簡單的Modbus, 要怎么把它用好,還不是件簡單的事。

有時候,你的設(shè)備和對方設(shè)備進(jìn)行通信,就是有問題,你都說不清楚是你設(shè)備的問題還是對方設(shè)備的問題,就容易產(chǎn)生不必要的誤會和工作了。

圖片

Modbus Poll還提供了不同功能碼的讀寫測試。

聲明:本文內(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

    文章

    5273

    瀏覽量

    119657
  • PLC控制
    +關(guān)注

    關(guān)注

    9

    文章

    251

    瀏覽量

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

    關(guān)注

    0

    文章

    398

    瀏覽量

    28587
  • USB轉(zhuǎn)串口
    +關(guān)注

    關(guān)注

    0

    文章

    38

    瀏覽量

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

    關(guān)注

    0

    文章

    32

    瀏覽量

    2535
收藏 人收藏

    評論

    相關(guān)推薦

    Modbus協(xié)議Modbus M16程序及Modbus協(xié)議文檔幾篇

    ,在幀收完了計算有點浪費且不好控制。Modbus協(xié)議英文Modbus協(xié)議中文Modbus協(xié)議介紹含流程圖,上面crc16程序中高低位反了,有點問題
    發(fā)表于 11-11 10:12

    什么是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é)議是怎樣進(jìn)行通信的

    Modbus協(xié)議的原理是什么?Modbus協(xié)議是怎樣進(jìn)行通信的?
    發(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é)議的相關(guān)資料分享

    第一次寫專欄,暫時打算分為3吧;第一modbus協(xié)議的理論內(nèi)容;第二modbus的實現(xiàn)載體——RS485硬件部分程序?qū)崿F(xiàn)
    發(fā)表于 02-21 06:43

    Modbus協(xié)議的理解

    系統(tǒng)的兼容,最好采用通用的通訊協(xié)議。   我們可以Modbus協(xié)議進(jìn)行修改,使之能使用在自己的系統(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 ?9974次閱讀
    <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 ?646次閱讀