18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 梯形圖實例 >> 正文

主站從站實例_兩台西門子plc S7-200實現MODBUS RTU通訊_mbus_init指令說明

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2023/3/5

兩(liang) 台S7-200通過Modbus實現通訊

從(cong) 站設置:

需要使用MBUS_INIT、MBUS_SLAVE即可;

MBUS_INIT指令被用於(yu) 啟用和初始化或禁止Modbus通訊。(這一步在程序的前麵,配置類的程序基本都放在程序前麵)。在S7-200中,通訊的程序塊調用都需要設定完成為(wei) ,確保通訊的完整性,隻有把完整的數據格式發送或接收,才可以實現通訊,因此完成位是必須要有的。在每次掃描且EN輸入打開時執行該指令。應當在每次通訊狀態改變時執行 MBUS_INIT指令。一般程序設計僅(jin) 在首次掃描時執行。功能塊圖如下:

 

MODE:模式選擇位,1表示將port0指定給Modbus協議並啟用協議;0表示將port0指定給PPI;

!!!注意:指定給Modbus後,該端口不可以下載上傳(chuan) 程序,因此在程序設計中,可以加入控製位,串聯給I點即可,例程中未加入,可以自己嚐試;

Addr:從(cong) 站地址1~247;

Baud:波特率設置1200、2400、4800、9600、19200、38400、57600或 115200;

Parity:校驗位0- 無校驗,1- 奇數校驗,2- 偶數校驗;

Delay:時延,通過將指定的毫秒數增加至標準 Modbus信息超時的方法延長標準Modbus信息結束超時條件。該參數的典型數值在有線網絡上應為(wei) 0。如果您在使用帶有糾錯功能的調製解調器,將時延設為(wei) 50至100毫秒的數值。如果您在使用擴展頻譜無線電,將時延設為(wei) 10至100毫秒的數值。數值可以是0至32767毫秒。

MaxIQ:參數將供 Modbus地址 00xxxx 和 01xxxx 使用的I和Q點數設為(wei) 0至128之間的數值。數值0禁止所有向輸入和輸出的讀取。建議使用的MaxIQ數值是128,該數值可在S7-200中存取所有的I和Q點。

MaxAI:參數將供 Modbus地址 03xxx 使用的字輸入(AI)寄存器數目設為(wei) 0至32之間的數值。數值0禁止模擬輸入的讀數。建議使用的 MaxAI數值如下,這些數值可允許存取所有的S7-200模擬輸入。0 用於(yu) CPU 221,16 用於(yu) CPU 222,32 用於(yu) CPU 224、 226 和 226XM;

MaxHold:參數設定供 Modbus地址04xxx使用的V內(nei) 存中的字保持寄存器數目。例如,為(wei) 了允許主設備存取200字節的V內(nei) 存,將MaxHold設為(wei) 100個(ge) 字的數值(保持寄存器);

HoldStart: 參數是V內(nei) 存中保持寄存器的起始地址。該數值一般被設為(wei) VB0,因此 HoldStart 參數被設為(wei) &VB0(VB0地址)。其他V內(nei) 存地址可指定為(wei) 保持寄存器的起始地址,以便在項目的其他地方使用VB0。Modbus主設備可存取V內(nei) 存MaxHold個(ge) 字數,從(cong) HoldStart開始。

Done:完成標誌位;

Error:錯誤代碼,字節;

MBUS_SLAVE 指令被用於(yu) 為(wei) Modbus主設備發出的請求服務,並且必須在每次掃描時執行,以便允許該指令檢查和回答Modbus請求。在每次掃描且EN輸入開啟時執行該指令。MBUS_SLAVE指令無輸入參數。當MBUS_SLAVE指令對Modbus請求作出應答時, " 完成"輸出打開。如果沒有需要服務的請求時, "完成"輸出關(guan) 閉。"錯誤"輸出包含執行該指令的結果。該輸出隻有在"完成"打開時才有效。如果"完成"關(guan) 閉,錯誤參數不會(hui) 改變。

 

通俗講法:將程序寫(xie) 在這個(ge) 地方就可以了。

測試Network程序:

 

主站設置:

主站的設置通過MBUS_CTRL和MBUS_MSG子程序實現通訊;

MBUS_CTRL如下

 

Mode模式:為(wei) 1 時,使能 Modbus 協議功能;為(wei) 0 時恢複為(wei) 係統 PPI 協議

Baud波特率:支持的通訊波特率為(wei) 1200240048009600192003840057600115200

Parity校驗:校驗方式選擇

0=無校驗

1=奇較驗

2=偶較驗

Timeout超時:主站等待從(cong) 站響應的時間,以毫秒為(wei) 單位,典型的設置值為(wei) 1000 毫秒(1 秒),允許設置的範圍為(wei) 1 - 32767

注意: 這個(ge) 值必須設置足夠大以保證從(cong) 站有時間響應。

Done完成位:初始化完成,此位會(hui) 自動置1。可以用該位啟動 MBUS_MSG 讀寫(xie) 操作(見例程)

Error初始化錯誤代碼(隻有在 Done 位為(wei) 1時有效):

0 無錯誤

1 校驗選擇非法

2 波特率選擇非法

3 模式選擇非法

MBUS_MSG:

 

EN使能:同一時刻隻能有一個(ge) 讀寫(xie) 功能(即 MBUS_MSG)使能

注意:建議每一個(ge) 讀寫(xie) 功能(即 MBUS_MSG)都用上一個(ge) MBUS_MSG 指令的 Done 完成位來激活,以保證所有讀寫(xie) 指令循環進行(見例程)。

First讀寫(xie) 請求位:每一個(ge) 新的讀寫(xie) 請求必須使用脈衝(chong) 觸發

Slave從(cong) 站地址:可選擇的範圍 1 - 247

RW從(cong) 站地址:0 讀, 1 寫(xie)

注意:

1. 開關(guan) 量輸出和保持寄存器支持讀和寫(xie) 功能

2. 開關(guan) 量輸入和模擬量輸入隻支持讀功能

Addr讀寫(xie) 從(cong) 站的數據地址:

選擇讀寫(xie) 的數據類型

00001 0xxxx - 開關(guan) 量輸出

10001 1xxxx - 開關(guan) 量輸入

30001 3xxxx - 模擬量輸入

40001 4xxxx - 保持寄存器

Count數據個(ge) 數

通訊的數據個(ge) 數(位或字的個(ge) 數)

注意: Modbus主站可讀/寫(xie) 的最大數據量為(wei) 120個(ge) 字(是指每一個(ge) MBUS_MSG 指令)

DataPtr數據指針:1. 如果是讀指令,讀回的數據放到這個(ge) 數據區中

2. 如果是寫(xie) 指令,要寫(xie) 出的數據放到這個(ge) 數據區中

Done完成位讀寫(xie) 功能完成位

Error錯誤代碼:

隻有在 Done 位為(wei) 1時,錯誤代碼才有效

0 無錯誤

1 響應校驗錯誤

2 未用

3 接收超時(從(cong) 站無響應)

4 請求參數錯誤(slave address, Modbus address, count, RW

5 Modbus/自由口未使能

6 Modbus正在忙於(yu) 其它請求

7 響應錯誤(響應不是請求的操作)

8 響應CRC校驗和錯誤

-

101 從(cong) 站不支持請求的功能

102 從(cong) 站不支持數據地址

103 從(cong) 站不支持此種數據類型

104 從(cong) 站設備故障

105 從(cong) 站接受了信息,但是響應被延遲

106 從(cong) 站忙,拒絕了該信息

107 從(cong) 站拒絕了信息

108 從(cong) 站存儲(chu) 器奇偶錯誤

常見的錯誤:

  • 如果多個 MBUS_MSG 指令同時使能會造成 6 號錯誤
  • 庫存儲區被程序其它地方複用,有時也會造成6 號錯誤
  • 從站 delay 參數設的時間過長會造成主站 3 號錯誤
  • 從站掉電或不運行,網絡故障都會造成主站 3 號錯誤

例程:

 

 

 

 

Tags:MBUS_INIT,指令,西門子plc,s7-200  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 相關文章列表
    西門子S7-200 PLC的MBUS_INIT指令
    西門子plc S7-200SMART 實時時鍾如何在昆侖通態MCGS觸摸屏上顯示
    西門子plc Smart 200主從站之間RS485通訊實例_從站主站讀寫程序
    西門子plc 200smart模擬量運用接線及梯形圖(熱電阻RTD、熱電偶T
    西門子PLC S7-200 smart模擬量擴展模塊及接線方式
    西門子S7-200PLC有哪些擴展模塊?西門子plc擴展模塊該怎麽用?
    西門子plc S7-200的4到20ma模擬量轉換公式,Scale_I_to_R和Scale
    西門子PLC S7-200與變頻器模擬量控製_西門子MM440變頻器
    西門子plc  變頻器端子啟停與通信設定頻率詳解(附梯形圖程序)
    西門子plc S7-200SMART PLC與HD20變頻器模擬量控製,S_RTI和S_IT
    詳解西門子200smartPLC以太網組網及編程_西門子plc 200Smart以太
    西門子PLC S7-200指令詳解——比較指令_plc比較指令
    西門子plc S7-200多個寄存器累加程序梯形圖實例
    西門子plc S7-200 PLC的左移和右移指令梯形圖實例
    西門子plc之間的通訊_兩台西門子S7-200 SMART PLC如何通過Modbus
    西門子PLC怎麽入門?6個程序啟保停、一鍵啟停、燈自動閃爍、立方
    學習西門子PLC?西門子PLC的這些知識你知道後才能更容易
    分分鍾玩轉通訊!西門子plc的Modbus通訊MBUS_CTRL 、MBUS_MSG和M
    一篇文章徹底搞定西門子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  模擬量子程序計
    請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    推薦文章
    最新推薦
    關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁麵
    下到頁底
    晶體管查詢