精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

MODBUS RTU傳輸模式介紹

CHANBAEK ? 來源:菱沃鉑智能技術 ? 作者:菱沃鉑智能技術 ? 2023-07-19 15:58 ? 次閱讀

上期我們學習了,第一篇MODBUS協議基本介紹,今天我們來研究第二篇MODBUS RTU傳輸模式介紹。

第二篇 MODBUS RTU傳輸模式介紹

當設備使用 RTU(Remote Terminal Unit)模式在Modbus串行鏈路通信,消息中每個8位域都是由兩個十六進制字符組成。該模式的主要優點是較高的數據密度,在相同的波特率下比ASCII模式有更高的吞吐率。RTU模式的每個報文必須以連續的字符流傳送。

RTU模式每個字節(11位)的格式

  1. 編碼系統:8 位二進制,報文中每個 8 位字節含有兩個 4 位十六進制字符(0-9,A-F)。
  2. 每字節 bit 流:1 起始位、8 數據位,首先發送最低有效位、1 位奇偶檢驗、1 停止位。

偶校驗是要求的,其它模式(奇校驗、無校驗)也可以使用,為了保證兼容性,同時支持無校驗模式是建議的。默認校驗模式必須為偶校驗。

字符如何串行傳送:

每個字符或字節均由此順序發送(從左到右),最低有效位(LSB)…最高有效位(MSB)。

image.png

RTU模式位序列

設備配置為奇校驗、偶校驗或無校驗都可以接受,如果無奇偶校驗,就傳送一個附加的停止位以填充字符幀。

image.png

RTU模式位序列(無校驗的特殊情況)

幀檢驗域: 循環冗余檢驗(CRC)。

幀描述:

image.png

RTU報文幀

Modbus報文RTU幀

由發送設備將 Modbus 報文構造為帶有已知起始和結束標記的幀。這使設備可以在報文的開始接收新幀,并且知道何時報文結束。不完整的報文必須能夠被檢測到,而錯誤標志必須作為結果被設置。

在 RTU 模式中,報文幀由時長至少為 3.5 個字符時間的空閑間隔區分。在后續部分,這個時間區間被稱為 t3.5。

圖片整個報文幀必須以連續的字符流發送。

如果兩個字符直接的空閑間隔大于 1.5 個字符時間,則報文被認為不完整應該被接收設備丟棄,如圖:

圖片

非正常報文幀

注:RTU 接受驅動程序的實現,由于 t1.5 和 t3.5 的定時,隱含了大量的對中斷的管理。在高速通信速率下,這導致 CPU 負擔加重。因此,在通信速率等于或低于 19200bps 時,這兩個定時必須嚴格遵守;對于波特率大于 19200bps 的情形,應該使用 2 個定時的固定值:建議的字符間超時時間(t1.5)位 750us,幀間的超時時間(t1.5)位 1.750ms。

下圖表示了對 RTU 傳輸模式狀態圖的描述。“主設備”和“從設備”的不同角度均在相同的圖中表示:

圖片

1.從“初始”態到“空閑”態轉換需要 t3.5 定時超時:這保證幀間延遲。

2.“空閑”態是沒有發送和接收報文要處理的正常狀態。

3.在 RTU 模式,當沒有活動的傳輸的實際間隔打達 3.5 個字符長時,通信鏈路被認為在“空閑”態。

4.在鏈路空閑時,在鏈路上檢測到的任何傳輸的字符都被識別為幀起始。鏈路變為“活動”狀態。然后,當鏈路上沒有字符傳輸的時間間隔達到 t3.5 后,被識別為幀結束。

5.檢測到幀結束后,完成 CRC 計算和校驗。然后,分析地址域以確定幀是否發往此設備,如果不是,則丟棄此幀。為了減少接收處理時間,地址域可以在一接到就分析,而不需要等到整個幀結束。這樣,CRC 計算只需要在幀尋址到該節點(包括廣播幀)時進行。

CRC計算

在 RTU 模式包含一個對全部報文內容執行的,基于循環冗余校驗(CRC-Cyclical Redundancy Checking)算法的錯誤檢驗域。CRC域檢驗整個報文的內容。不管報文有無奇偶校驗,均執行此檢驗。

CRC 包含由兩個 8 位字節組成的一個 16 位值。

CRC 域作為報文的最后的域附加在報文之后。計算后,首先附加低字節。然后是高字節。CRC 高字節為報文發送的最后一個字節。

附加在報文后面的 CRC 的值由發送設備計算。接收設備在接收報文時重新計算 CRC 的值,并將計算結果于實際接收到的 CRC 值相比較,如果兩個值不相等,則為錯誤。

CRC 的計算,開始對一個 16位寄存器預裝全“1”,然后將報文中連續的 8位字節對其進行后續的計算。只有字符中的 8 個數據位參與到生成 CRC 的運算,起始位、停止位和校驗位不參與 CRC 計算。

CRC 生成的過程中,每個 8 位字符與寄存器中的值異或,然后結果向最低有效位(LSB)方向移動 1 位,而最高有效位(MSB)置 0.然后提取并檢查 LSB:如果LSB 為 1,則寄存器中的值與一個固定的預置值異或;如果LSB 為 0,則不進行異或操作。

這個過程將重復直到執行完 8 次移位,完成最后一次(第八次)移位及相關操作后,下一個 8 位字節與寄存器的當前值異或,然后又同上面描述過的一樣重復 8 次。當所有報文中字節都預算之后得到的寄存器中的最終值,就是 CRC。

簡單代碼如下:

image.png

image.png

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 二進制
    +關注

    關注

    2

    文章

    761

    瀏覽量

    41476
  • MODBUS
    +關注

    關注

    28

    文章

    1718

    瀏覽量

    76425
  • ASCII
    +關注

    關注

    5

    文章

    171

    瀏覽量

    34949
  • RTU
    RTU
    +關注

    關注

    0

    文章

    384

    瀏覽量

    28547
  • 傳輸模式
    +關注

    關注

    0

    文章

    9

    瀏覽量

    7001
收藏 人收藏

    評論

    相關推薦

    STM32L431RC通過命令切換到MODBUS/RTU模式,為什么RTU模式的CMF中斷一直在工作?

    我使用的芯片是STM32L431RC,用USART2和上位機通信。默認使用MODBUS/ASCII模式,CMF字符匹配中斷工作沒有問題。現在需要通過命令切換到MODBUS/RTU
    發表于 03-27 06:01

    Modbus TCP轉Modbus RTU的實現

    。串行鏈路的Modbus分為ASCII和RTU,其中RTU傳輸效率高,用得比較多。所以這里基本上以Modbus
    發表于 08-10 10:04

    基于Modbus RTU的串口調試軟件的實現

    摘 要:文中介紹Modbus RTU通訊協議的特點,闡述了該協議在VC2005編程環境下串口調試軟件的具體實現方法。并編制了相關的程序,該程序采用了模塊化思想,結構清晰,操作簡便,實現了良好
    發表于 12-18 19:18

    Labview Modbus RTU編寫心得

    由于近期編寫了一個小型的溫控,其通訊基于Modbus RTU模式,所以淺談下這次編寫過程中,遇到的問題和解決方法。
    發表于 05-06 18:27

    modbus三種通訊方式的字符介紹

    兩個字符之間發送或者接收的時間間隔不能超過1.5倍 字符傳輸時間。如果兩個字符時間間隔超過了3.5倍的字符傳輸時間,規約就認為一幀數據已經接收,新的一幀數據傳輸開始。RTU
    發表于 04-27 06:00

    Modbus-RTU協議模式學習下載

    、ASCII、TCP三種模式,其中RTU模式(即Modbus-RTU)最常用。3.協議定義: 所謂協議,就是互相之間的約定。如果不讓別人知道那就是暗號。4.協議定義...
    發表于 07-02 06:12

    Modbus_RTU的通訊方式是什么

    是ZNZS2 轉速表。首先我們要收集到該轉速表的波特率(9600)、功能碼(03:保持型寄存器 40001)、地址(3)等信息。創建通信指令介紹RTU通訊有兩種通信指令:ModbusRTU
    發表于 02-16 06:52

    介紹S7-1200 Modbus RTU主站通信組態及編程步驟

      S7-1200 支持Modbus RTU通信模式的模塊可作為Modbus RTU主站。以下以 CPU1215C DC/DC/DC和CM1
    發表于 03-15 16:13

    基于S7-200下的Modbus RTU通信協議

    我們都知道Modbus是公開通信協議,具有兩種串行傳輸模式,ASCII和RTU
    的頭像 發表于 07-05 08:58 ?5870次閱讀

    淺析無線RTU傳輸工作模式

    無線RTU傳輸模式應用有自報、兼容、查詢、以及調試四種工作模式
    發表于 09-07 09:31 ?2246次閱讀

    Modbus RTUModbus TCP的區別

    將每個字節的二進制數據轉換成固定的二位十六進制字符串,然后依次串聯,以TCP代碼的形式傳輸數據。RTU通常使用最多。 2.不同的通信方式:以太網,相應的通信模式MODBUS TCP。
    發表于 08-03 17:00 ?5.3w次閱讀

    一文詳解Modbus RTU數據幀格式

    介紹Modbus RTU數據幀格式之前,首先讓我們先了解一下Modbus的通訊模式
    發表于 04-07 09:40 ?2.4w次閱讀
    一文詳解<b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>數據幀格式

    淺談ModBus RTUModBus TCP

    ModBus RTUModBus TCP作為ModBus協議的兩個主要變體,傳統上,ModBus RT
    的頭像 發表于 12-30 14:36 ?2189次閱讀

    MODBUS ASCII傳輸模式介紹

    前面2期我們學習了,第一篇MODBUS協議基本介紹,第二篇MODBUS RTU傳輸模式
    的頭像 發表于 07-19 15:58 ?3601次閱讀
    <b class='flag-5'>MODBUS</b> ASCII<b class='flag-5'>傳輸</b><b class='flag-5'>模式</b><b class='flag-5'>介紹</b>

    簡單介紹Modbus RTU協議

    介紹modbus rtu之前,我們可以了解到,Modbus是施耐德電氣公司,于1979年發明的,是全球第一個真正用于工業現場的總線協議。
    的頭像 發表于 05-09 09:13 ?1887次閱讀
    簡單<b class='flag-5'>介紹</b><b class='flag-5'>Modbus</b> <b class='flag-5'>RTU</b>協議