<li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 電子開發網

      電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
      搜索: 您現在的位置: 電子開發網 >> 電子開發 >> PLC基礎入門教程 >> 正文

      分分鐘玩轉通訊!西門子plc的Modbus通訊MBUS_CTRL 、MBUS_MSG和MBUS_INIT、MBUS_SLAVE指令

      作者:佚名    文章來源:本站原創    點擊數:    更新時間:2023-01-18

      Modbus通訊標準協議可以通過各種傳輸方式傳播,如RS-232C、RS-485、光纖、無線電等。Modbus具有兩種串行傳輸模式,ASC2和RTU模式。支持Modbus協議的一般都支持RTU模式,通信雙方(主站和從站)必須同時支持上述模式中的一種。一般都使用RTU模式。

      Modbus是一種單主站的主/從通信模式,Modbus網絡上只能有一個主站存在(注意和PPI協議的區別),主站在Modbus網絡上沒有地址,從站的地址范圍為0-247,其中0為廣播地址,從站的實際地址范圍為1-247。

      主站  

      NO.1 初始化

      使用MODBUS通訊協議,必須首先初始化程序,使用MBUS_CTRL可初始化、監視或禁用Modbus通訊,在使用MBUS_MSG指令之前,必須正確執行MBUS_CTRL指令。指令完成后立即設定'完成'位,才能繼續執行下一條指令。在每次掃描且 EN輸入打開時執行該指令。

       

      MBUS_CTRL指令必須在每次掃描時(包括首次掃描)被調用,


                          MBUS_CTRL指令        


      Mode('模式')輸入數值選擇通訊協議。輸入值1(可用SM0.0替代或者直接用數值1)將CPU端口分配給Modbus協議并啟用該協議。輸入值0將CPU端口分配給PPI系統協議并禁用Modbus協議。

      Baud (波特率)一般選擇9600。

      Parity (奇偶校驗) 參數被設為與Modbus從站奇偶校驗相匹配。所有設置使用一個起始位和一個停止位。一般選擇偶校驗2.

      Timeout('超時')參數設為等待來自從站應答的毫秒時間數。'超時'數值可以設置的范圍為1毫秒到32767毫秒。典型值是1000毫秒(1秒)(一般都設定為1000)

      。'超時'參數應該設置的足夠大,以便從站有時間對所選的波特率作出應答。

      '超時'參數用于確定Modbus從站是否對請求做出應答。'超時'值確定Modbus主設備在發送了請求的最后一個字符后,將要等待多長時間才會有應答的第一個字符。如果在'超時'規定的時間內至少收到應答的一個字符,Modbus主設備將從Modbus從站接收到整個應答。

      Done(完成) MBUS_CTRL指令完成時,'完成'輸出打開。

      Error(錯誤) 輸出包含執行該指令的結果。下表定義了在執行MBUS_CTRL指令時會產生的錯誤條件。指定一個字節來存放錯誤代碼。

      錯誤代碼         說明

      0       無錯誤

      1       奇偶校驗選擇無效

      2       波特率選擇無效

      3       超時選擇無效

      4       模式選擇無效

      初始化完成!

       

       

       

       NO.2 啟動Modbus協議

      讀操作

      MBUS_MSG(端口0使用)指令(或用于端口1的MBUS_MSG_P1)用于啟動對Modbus從站的請求并處理應答。

      當EN輸入和'首次'輸入打開時,BUS_MSG指令啟動對Modbus從站的請求。發送請求、等待應答、并處理應答通常需要多次掃描。EN輸入必須打開以啟用請求的發送,并應該保持打開直到'完成'位(M10.1)被置位。


      MBUS_MSG指令 


      First(首次啟動),在有新請求要發送時才打開以進行一次掃描,通過一個邊沿檢測元素(例如上升沿)打開,這將導致請求被傳送一次。

      Slave(從站地址) 從站的地址,允許的范圍是0到247,地址0是廣播地址,只能用于寫請求。不存在對地址0的廣播請求的應答。從站的實際地址范圍為1-247(從站的地址(Slave)在1-247范圍內任選一個數即可,但需要和從站程序中的地址對應,否則通訊失敗)。主站在Modbus網絡上沒有地址。

      RW('讀寫') 指定是用來讀取還是寫入該消息。'讀寫'參數允許使用下列兩個值。

      0  讀

      1        寫

      Addr (地址) 是指向讀取或寫入的起始Modbus地址,'地址'的指定取值范圍基于Modbus從站支持的地址。一般都取40001。

      Count (計數) 指定在該請求中讀取或寫入的數據元素的數目,MBUS_MSG指令將讀取或寫入最大120個字或1920個位(240字節的數據)。'計數'的實際限值將取決于Modbus從站中的限制。

      DataPtr(地址指針) 指向S7-200 CPU的V存儲器中與讀取或寫入請求相關的數據的間接地址指針。DataPtr值作為間接地址指針傳遞到MBUS_MSG。例如,如果要寫入Modbus從站的數據從S7-200 CPU中的地址VW200開始,則DataPtr的數值將會是&VB200 (VB200的地址)。指針必須始終是VB類型,即使它們指向字數據。

       

      Done(完成位) 輸出在發送請求和接收應答時關閉。'完成'輸出在應答完成或MBUS_MSG指令因錯誤而中止時打開。完成信息存入輔助寄存器中(如M10.1)

      Error(錯誤) 輸出僅當'完成'輸出打開時有效,反饋錯誤代碼,存入輔助位寄存器中(如MB6)

      MBUS_MSG。

      錯誤代碼         說明

      0       無錯誤

      1       應答時奇偶校驗錯誤:僅當使用偶校驗或奇校驗時才會發生。傳輸被干擾,可能會收到不正確的數據。該錯誤通常是由電氣故障(例如錯誤接線或者影響通訊的電噪聲)引起的。

      2       未使用

      3       接收超時:在'超時'時間內,沒有來自從站的應答。可能有以下一些原因:與從站的電氣連接有問題、主設備和從站設置為不同的波特率/奇偶校驗設置,以及錯誤的從站地址。

      4       請求參數出錯:一個或多個輸入參數(從站、讀寫、地址或計數)被設置為非法值。檢查文檔中輸入參數的允許值。

      5       Modbus主設備未啟用:在調用MBUS_MSG前,每次掃描時都調用MBUS_CTRL。

      6       Modbus忙于處理另一個請求:一次只能激活一條MBUS_MSG指令。

      7       應答時出錯: 收到的應答與請求不相關。這表示從站中出現了某些錯誤,或者錯誤的從站應答了請求。

      8       應答時CRC錯誤: 傳輸被干擾,可能會收到不正確的數據。該錯誤通常是由電氣故障(例如錯誤接線或者影響通訊的電噪聲)引起的。

      101  從站不支持在該地址處所請求的功能:請參閱'使用Modbus主設備指令'幫助主題中的所需Modbus從站功能支持表。

      102  從站不支持數據地址:'地址'加上'計數'所要求的地址范圍超出了從站所允許的地址范圍。

      103  從站不支持數據類型:該'地址'類型不被從站支持。

      104  從站故障

      105  從站已接受消息但應答延遲:這是MBUS_MSG的錯誤,用戶程序應在稍后重新發送請求。

      106  從站忙,因此拒絕消息:可以再次嘗試相同的請求,以獲得應答。

      107  從站因未知原因而拒絕消息。

      108  從站存儲器奇偶校驗錯誤:從站中有錯誤。

       

      低位編號的錯誤代碼(1到8)是由MBUS_MSG指令檢測到的錯誤。這些錯誤代碼通常指示與MBUS_MSG指令的輸入參數有關的問題,或接收來自從站的應答時出現的問題。奇偶校驗和CRC錯誤指示存在應答但是數據未正確接收。這通常是由電氣故障(例如連接有問題或者電噪聲)引起的。

      高位編號的錯誤代碼(從101開始)是由Modbus從站返回的錯誤。這些錯誤指示從站不支持所請求的功能,或者所請求的地址(或數據類型或地址范圍)不被Modbus從站支持。

       

      由于一次只能激活一條MBUS_MSG指令。所以在第一條MBUS_MSG指令完成后,啟動第二條指令,同時必須復位第一條指令。如果啟用了多條MBUS_MSG指令,則將處理所執行的第一條MBUS_MSG指令,之后的所有MBUS_MSG指令將中止并產生錯誤代碼6。


       


      寫操作

      M10.0動作之后啟動第二條MBUS_MSG指令(寫指令)(所謂通訊就是主/從的讀、寫或者讀寫的交互過程),將主站的數據寫入到從站的處理器中。


      MBUS_MSG指令 


      Slave(從站地址) 同讀操作不變,地址與從站相一致。

      RW寫1,啟動“寫”功能。

      Addr 不能與“讀”地址重合。

      Count 同上。

      DataPtr 同上,不能與讀操作地址重復。

      Done 同上,存儲器不能重復。

      Error 同上,位寄存器最好不要重復。

      寫操作完成后,置位讀操作,復位寫操作。


      讀寫循環執行


       

      數據傳送,(進行對話)

      MOV_B指令 



      從站

      MBUS_INIT指令被用于啟用和初始化或禁止Modbus通訊。在使用MBUS_SLAVE指令之前,必須正確執行MBUS_INIT指令。指令完成后立即設定'完成'位,才能繼續執行下一條指令。


      MBUS_INIT指令 


      Mode(模式) 為1,啟用Modbus協議。

      Addr(地址) 與主站的尋址對應一致。

      Baud (波特率)一般選擇9600。

      Parity (奇偶校驗) 參數被設為與Modbus從站奇偶校驗相匹配。所有設置使用一個起始位和一個停止位。一般選擇偶校驗2.(和主站保持一致)

      Delay('延時')參數通過將指定的毫秒數增加至標準Modbus信息超時的方法延長標準Modbus信息結束超時條件。該參數的典型數值在有線網絡上應為0。

      MaxIQ 參數將供Modbus地址0xxxx和1xxxx使用的I和Q點數設為0至128之間的數值。建議使用的MaxIQ數值是128,該數值可在S7-200中存取所有的I和Q點。

      MaxAI參數將供Modbus地址3xxxx使用的字輸入(AI)寄存器數目設為0至32之間的數值。

      建議使用的MaxAI數值如下,這些數值可允許存取所有的S7-200模擬輸入:(根據CPU型號選擇數值)

      0用于CPU 221

      16用于CPU 222

      32用于CPU 224、224XP、226和226XM。

      MaxHold 參數設定供Modbus地址4xxxx使用的V存儲器中的字保持寄存器數目。例如,為了允許主設備存取2000個字節的V存儲器,將MaxHold 設為1000個字的數值(保持寄存器)。

      HoldStart參數是V存儲器中保持寄存器的起始地址,Modbus主設備可存取V內存MaxHold個字數,從HoldStart開始。

      Done(完成)MBUS_INIT指令完成時,'完成'輸出打開。

      Error(錯誤)'錯誤'輸出字節包含執行指令的結果。

      錯誤代碼         說明

      0       無錯誤

      1       內存范圍錯誤

      2       非法波特率或奇偶校驗

      3       非法從屬地址

      4       非法Modbus參數值

      5       保持寄存器與Modbus從屬符號重疊

      6       收到奇偶校驗錯誤

      7       收到CRC錯誤

      8       非法功能請求/功能不受支持

      9       請求中的非法內存地址

      10     從屬功能未啟用


      MBUS_SLAVE指令被用于為Modbus主設備發出的請求服務。

      如果'完成'關閉,錯誤參數不會改變。


      MBUS_SLAVE從站指令 


       



      40001至4xxxx是映射至V存儲器的保持寄存器。

      所有Modbus地址均以1為基位。

      下表顯示映射至S7-200地址的Modbus地址。

      4xxxx        HoldStart+2 x (xxxx-1)。

      40011   1000+2*(11-1)=1020 。


      接收數據


       

      Tags:modbus通訊,西門子plc,指令  
      責任編輯:admin
      相關文章列表
      一篇文章徹底搞定西門子PLC存儲器精華知識(圖文并茂,良心整理)
      西門子plc S7-200Smart_西門子S7-200 SMART編程實例,整數運算指
      西門子plc smart軟元件寄存器存儲器_西門子PLC先從S7-200 SMART 
      西門子plc smart模擬量常見問題_西門子S7-200SMART 模擬量等常見
      西門子SMART PLC 常見問題,必備知識點!西門子plc smart常見問題
      西門子plc smart選型_西門子Smart 200 PLC實際項目中的選型應用
      西門子plc RS觸發器指令的分類與用法 _ SR觸發器用法
      西門子plc S7-200  FOR語句循環問題_西門子FOR循環
      西門子PLC 200Smart 編程中如何用FOR循環指令輕松實現多個數據按
      西門子Plc計數器指令的程序代碼示例_產品數量檢測梯形圖
      西門子s7-200系列plc實例:搶答器控制程序,三路搶答器設計
      西門子PLC模擬量轉換scale模塊公式代碼分析S_ITR  模擬量子程序計
      西門子PLC S7-200模擬量的線性化處理_ 4到20ma模擬量轉換公式
      西門子plc 讀實時時鐘READ_ RTC( Read real time clock 讀實時時
      西門子plc 指令SHRB 移位寄存器指令用法例子
      用西門子PLC設計天塔之光控制系統梯形圖實例
      西門子PLC數據處理指令_循環左移、循環右移、寄存器移位SHRB
      西門子plc S7-200系列PLC整數加減乘除指令入門教程_算術運算
      西門子plc變量存儲器知識_西門子S7-200的VB、VW和VD
      西門子plc寄存器的vb vw vd 數據長度及關系
      西門子plc變量存儲器v0.0與VB0、VD0、VW0的關系
      西門子200PLC中AIW0是什么意思_模擬量通道地址_模擬量地址
      西門子plc S7-200PLC的地址分配_開關量地址模擬量輸入輸出地址分
      西門子plc s7-200如何用模擬量編程_EM235模擬量編程梯形圖
      西門子plc程序梯形圖實例:led數碼管顯示9-5控制系統
      西門子S7-200系列PLC遞增與遞減指令用法
      西門子plc指令和三菱plc指令大全_西門子、三菱指令大全
      西門子PLC 200SMART型號大全,S7-200 SMART各個CPU 模塊及輸入輸
      學好西門子S7-200 smart PLC基礎知識必備 映像區和數據類型,定時
      西門子S7-200PLC傳送數據MOV_B,MOV_W,MOV_DW,MOV_R指令詳解
      請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
      1分 2分 3分 4分 5分

      還可以輸入 200 個字
      [ 查看全部 ] 網友評論
      推薦文章
      最新推薦
      關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
      返回頂部
      刷新頁面
      下到頁底
      晶體管查詢
      主站蜘蛛池模板: 亚洲综合一区二区| 亚洲综合伊人久久大杳蕉| 亚洲国产综合91精品麻豆| 91综合久久婷婷久久| 在线精品国产成人综合| 久久综合日本熟妇| 精品综合久久久久久888蜜芽| 四月婷婷七月婷婷综合| 99久久综合久中文字幕| 色综合天天综合婷婷伊人| 色777狠狠狠综合| 狠狠色丁香久久婷婷综合五月| 国产综合色香蕉精品五月婷| 丁香五月亚洲综合深深爱| 色婷婷综合久久久久中文字幕| 亚洲综合无码一区二区| 精品久久综合1区2区3区激情 | 久久93精品国产91久久综合| 久久婷婷激情综合色综合俺也去 | 99久久国产综合精品女同图片| 亚洲综合av一区二区三区不卡| 亚洲综合国产精品| 国产色综合久久无码有码| 国产精品激情综合久久| 91精品国产91久久综合| 狠狠人妻久久久久久综合蜜桃 | 亚洲国产日韩成人综合天堂| 狠狠色狠狠色很很综合很久久| 国产精品亚洲综合久久 | 无码国内精品久久综合88| 91综合精品网站久久| 亚洲欧洲国产综合| 自拍 偷拍 另类 综合图片| 伊人久久久大香线蕉综合直播 | 青青草原综合久久大伊人导航| 色综合视频一区二区三区| 美腿丝袜亚洲综合| 91综合精品网站久久| 色婷婷久久综合中文久久一本` | 久久久久国产综合AV天堂| 亚洲国产精品成人综合久久久|