18luck网站

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

西門子S7-200係列PLC的MODBUS通信功能 指令MBUS_CTRL

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2022-03-12

在上一篇文章中我們(men) 說到了MODBUS RTU 協議的信息幀的格式,同時也跟到大家提到了如何通過從(cong) 站設備提供的通信說明中的信息幀格式及地址去準備相應的數據,那麽(me) 今天我們(men) 主要說一下S7-200係列PLC中MODBUS RTU庫指令意思。

在S7-200SMART係列PLC中的庫指令中集成了MODBUS RTU通信的庫指令,庫指令中包含了S7-200SMART係列PLC作為(wei) 主站功能的庫指令及S7-200SMART係列PLC作為(wei) 從(cong) 站功能的庫指令(如下圖所示)

 

在這裏我們(men) 主要介紹下主站的庫指令,主站的庫指令中根據所使用的通信口的個(ge) 數不一樣分為(wei) 兩(liang) 個(ge) ,若使用時PLC的本體(ti) 的RS485端口需要作為(wei) modbus的主站功能,而擴展的RS485的信號板又需要作為(wei) MODBUS的主站的功能,那麽(me) 前者使用第一個(ge) 主站庫的指令,後者可以使用第二個(ge) 主站庫指令,每個(ge) 主站庫指令中都有兩(liang) 個(ge) 指令,分別為(wei) 初始化指令MBUS_CTRL ,數據讀寫(xie) 發送請求指令MBUS_MSG指令。下麵我們(men) 對這兩(liang) 個(ge) 指令的意思以及指令上的管腳進行一些說明:

MBUS_CTRL指令

 

EN:初始化指令使能端,需要保持每個(ge) 掃描周期都接通

Mode:通信協議的選擇,若需選擇MODBUS RTU通信,這需要保持該位為(wei) 1狀態,所以此處可以使用SM0.0接通。

Baud:通信波特率的設置

Parity:奇偶校驗的選擇,0表示無校驗,1表示奇校驗,2表示偶校驗

Port :端口號設置,若使用PLC本體(ti) 上的RS485端口,則應選擇為(wei) 0(注意S7-200PLC中的庫指令中的MBUS_CTRL沒有此管腳)

Timeout: 該參數用於(yu) 確定 Modbus 從(cong) 站設備是否對主站發出請求做出響應。若達到設定值後,還未獲得從(cong) 站的響應,則PLC認為(wei) 從(cong) 站出問題,同時MBUS-MSG指令中的故障代碼存儲(chu) 器中會(hui) 存儲(chu) 相應的故障代碼,同時完成位的狀態為(wei) 1.

Done:完成位,當初始化完成後,該位的狀態為(wei) 1,編寫(xie) 程序時,可以根據這個(ge) 完成位來判斷初始化是否完成,完成後可以用於(yu) 激活MBUS_MSG指令進行數據請求的發送,(需要注意是:初始化完成後,至少需要過一個(ge) 掃描周期後,才能去激活MBUS-MSG指令,否則可能通信不成功)

Error:故障代碼存儲(chu) 器(使用一個(ge) 字節進行存儲(chu) ),當初始化出現錯誤後,在故障存儲(chu) 器中會(hui) 產(chan) 生一個(ge) 代碼,查看指令幫助中的代碼說明,可以查看到可能出錯的原因是什麽(me) 。

MBUS_MSG指令

 

EN:指令的使能

MBUS_MSG指令使用時一定要注意的一點就是,同一個(ge) 掃描周期內(nei) ,隻能由一條MBUS_MSG的EN端的狀態為(wei) 1.如果在一個(ge) 掃描周期內(nei) 出現2條及2條以上的MBUS_MSG的EN端的狀態為(wei) 1的情況。則MBUS_MSG指令中的故障代碼的值會(hui) 為(wei) 6,通信會(hui) 不成功。

First:觸發請求,僅(jin) 保持一個(ge) 掃描周期的時長 ,因此在使用時需要使用沿脈衝(chong) 進行觸發。

Slave:從(cong) 站站號,根據從(cong) 站中設置的地址進行填寫(xie)

RW:讀寫(xie) 操作選擇,0表示讀,1表示寫(xie) ,若控製變頻器運行,使用寫(xie) 的功能,若需要讀取變頻器的電流等需要用讀的命令。

Addr:起始的MODBUS寄存器地址,此地址使用時一定要正確編寫(xie) 。

MODBUS寄存器的地址,根據功能碼的不一樣,主要有4種類型的表示方式,分別為(wei) 0XXXX(讀寫(xie) 線圈狀態),1XXXX(讀開關(guan) 輸入狀態),3XXXX(讀輸入寄存器),4XXXX(讀寫(xie) 保持寄存器)四種類型,對於(yu) 第四種類型4XXXX的類型,地址可以擴展,擴展為(wei) 4XXXXX六位數的類型格式。

各功能碼對應的MODBUS地址寄存器類型如下圖所示,而每種地址的起始地址都是從(cong) 0001開始,而且都是以十進製數進行表示的。

 

地址類型確認後,如何來確定輸入的地址呢?

該地址的確定與(yu) 在上篇文章中提到的MODBUS RTU信息幀格式中的Data內(nei) 容有關(guan) ,Data的內(nei) 容包括兩(liang) 部分內(nei) 容,一部分內(nei) 容為(wei) 數據區的地址,一部為(wei) 數據區的內(nei) 容,則此處的MODBUS寄存器的地址與(yu) 數據區的地址有關(guan) 。如圖所示:

 

此處中的數據區的地址,指的是寄存器地址,從(cong) 圖中可以看到他的範圍是從(cong) 十六進製數的0000到十六進製數的FFFF,因此從(cong) 這我們(men) 可以看到功能碼為(wei) 06,對應的寄存器地址是0000的時候,那麽(me) 在我們(men) MBUS_MSG指令中的Adder的地址應填寫(xie) 為(wei) 40001(因為(wei) 都是表示的第一個(ge) 地址,需要一一對應上)。

根據這個(ge) 計算方法,我們(men) 可以寫(xie) 出 在上一篇文章中提到的控製變頻器運行的寄存器地址對應都MBUS_MSG指令中Adder的地址為(wei) :

 

功能碼為(wei) 06,所以類型為(wei) 4XXXX的類型,地址為(wei) 16# 3200,相對於(yu) 16#0000來講,偏移了12800.(此為(wei) 十進製數)所以對應到MBUS_MSG指令中的地址為(wei) 在1的基礎上上偏移12800,即12801,而功能碼06對應的類型為(wei) 4,所以我們(men) 在使用時應在MBUS_MSG指令的Adder出填寫(xie) 412801這個(ge) 地址。

Count:讀寫(xie) 的格式,表示從(cong) adder這個(ge) 管腳指的的地址開始的連續多少個(ge) 地址進行數據的讀寫(xie) 。

Dataptr:讀寫(xie) 數據存放的地址,使用指針的方式表示,實際地址以十六位的方式表示,假設使用的地址是&VB100。前麵的指令管腳定義(yi) 的是對變頻器運行命令的控製,則當把16#1001寫(xie) 入到VW100中,則電機正轉運行,若把16#1003寫(xie) 入到VW100中,則表示的是反轉運行。若是讀取的功能,假設MBUS_MSG指令中adder為(wei) 413077,count為(wei) 2,Dataptr為(wei) &VB102, 則表示把413077這個(ge) 地址中的數據讀取出來存放於(yu) VW102,把413078的數據讀取出來存放於(yu) VW104中。

Done:完成位。當執行完成後,該為(wei) 位1,因此當出現需要使用多個(ge) MBUS_MSG指令是,可以使用每個(ge) 指令的Done來實現輪詢的功能。

Error:故障代碼存儲(chu) 器,方便查詢通信故障。

通過本篇文章,希望大家對MODBUS的庫指令有進一步的了解

Tags:西門子S7-200,MODBUS通信,指令  
責任編輯:admin
相關文章列表
西門子S7-200係列PLC中斷指令第一部分 梯形圖實例
西門子PLC置位、複位指令
西門子PLC地址下降沿檢測指令功能說明及應用實例   NEG指令應用舉
西門子PLC的bcd_di指令
西門子PLC  S7 PLC移位寄存器指令(SHRB)
西門子PLC整數乘法指令(MUL_I)和整數除法指令(DIV_I)
西門子PLC整型數比較指令,CMP指令
西門子plc中R複位線圈指令符號與狀態字
西門子plc數據塊傳送指令的用法舉例
西門子plc有記憶接通延時定時器指令的用法舉例 梯形圖實例
西門子plc堆棧指令的用法梯形圖實例
西門子plc指令英文全稱及含義中文說明
西門子plc S7-200PLC中斷指令介紹 開關中斷、連接分離中斷
西門子PLC字整數與雙字整數之間的轉換、雙整數與實數之間的轉換
西門子PLC整數與雙整數加減法指令簡介 西門子plc指令
西門子s7-200與絕對型編碼器的接線方式
西門子plc編程軟件中MOV_W、MOV_B、SHR_B的含義
西門子S7-200PLC通過Modbus庫與智能儀表通訊
西門子S7-200CN與台達DVP14SS2之間的Modbus通訊連接mbus_msg
S7-200係列PLC其它常用指令
三菱plc條件跳轉控製指令使用方法
西門子S7-200型PLC的暫停指令
西門子S7-200型PLC的看門狗指令WDR
西門子PLC S7-200係列PLC的自然對數和指數指令
西門子PLC S7-200係列PLC的三角函數運算指令
三菱PLC 三菱FX係列PLC的條件跳轉指令[CJ(FNC00)]
三菱PLC 三菱FX係列PLC的二進製浮點數的開平方指令與三角函數運算
三菱FX係列PLC的二進製浮點數的四則運算指令
三菱PLC 三菱FX係列PLC的外部設備( SER)指令
三菱FX係列PLC的時鍾運算指令
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

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