夜城直播_夜城直播app官方正版下载_夜城直播高品质美女在线视频互动社区

S7-200 SMART Modbus RTU主站編程

2024/8/6 1:02:55 人評(píng)論 次瀏覽 分類(lèi):PLC應(yīng)用  文章地址:http://prosperiteweb.com/tech/5714.html

SIMATIC S7?200 SMART

1、Modbus通信概述

Modbus協(xié)議作為一個(gè)標(biāo)準(zhǔn)的工業(yè)協(xié)議,其最簡(jiǎn)單的串行通信部分僅規(guī)定了在串行線路的基本數(shù)據(jù)傳輸格式,在OSI七層協(xié)議模型中只到1層和2層。Modbus具有兩種串行傳輸模式,ASCII和RTU。它們定義了數(shù)據(jù)如何打包、解碼的不同方式。支持Modbus協(xié)議的設(shè)備一般都支持RTU格式。

Modbus是一種單主站的主/從通信模式。Modbus網(wǎng)絡(luò)上只能有一個(gè)主站存在,主站在Modbus網(wǎng)絡(luò)上沒(méi)有地址,從站的地址范圍為0-247,其中0為廣播地址。


Modbus通信標(biāo)準(zhǔn)協(xié)議可以通過(guò)各種傳輸方式傳播,如RS232C、RS485、光纖、無(wú)線電等。
詳細(xì)的協(xié)議和規(guī)范,請(qǐng)?jiān)L問(wèn)Modbus組織的網(wǎng)站:http://www.modbus.org

1.1 Modbus主站尋址

Modbus數(shù)據(jù)區(qū)地址為五到六位數(shù),包含了數(shù)據(jù)類(lèi)型和地址值。

不同的Modbus數(shù)據(jù)區(qū)地址通過(guò)不同的功能碼來(lái)讀取或者寫(xiě)入,Modbus數(shù)據(jù)區(qū)地址定義如下:

◆00001至09999是離散量輸出(線圈)
◆10001至19999是離散量輸入(觸點(diǎn))
◆30001至39999是輸入寄存器(通常是模擬量輸入)
◆40001至49999和400001至465535是保持寄存器
所有Modbus數(shù)據(jù)區(qū)地址均從xxxx1(或者xxxxx1)開(kāi)始,不同的設(shè)備支持不同的數(shù)據(jù)類(lèi)型和地址范圍。

1.2 Modbus主站讀取和寫(xiě)入功能

Modbus主站指令使用Modbus數(shù)據(jù)區(qū)地址讀取或?qū)懭隡odbus數(shù)據(jù),相應(yīng)的從站設(shè)備必須要支持對(duì)應(yīng)的功能碼,如表1所示。

表1  Modbus數(shù)據(jù)區(qū)地址對(duì)應(yīng)Modbus從站需要支持的功能碼

Modbus數(shù)據(jù)區(qū)地址對(duì)應(yīng)Modbus從站需要支持的功能碼

S7-200 SMART CPU通過(guò)串行端口進(jìn)行Modbus RTU通信,借助STEP 7?Micro/WIN SMART軟件中的庫(kù)指令,簡(jiǎn)化了與Modbus設(shè)備的通信。


2、Modbus RTU庫(kù)

Modbus RTU庫(kù)
圖1 西門(mén)子標(biāo)準(zhǔn)指令庫(kù)(STEP 7-Micro/WIN SMART)


STEP 7-Micro/WIN SMART支持主站和從站設(shè)備通過(guò)RS485(集成端口0和可選信號(hào)板端口1)和RS232(僅限可選信號(hào)板端口1)進(jìn)行Modbus通信, S7-200 SMART最多可以配置2個(gè)Modbus RTU主站。軟件本身集成了指令庫(kù),如圖1所示。


3、Modbus RTU主站功能編程

調(diào)用Modbus RTU主站初始化和控制子程序。

調(diào)用主站初始化MBUS_CTRL指令
圖2  調(diào)用主站初始化MBUS_CTRL指令


①使用SM0.0調(diào)用MBUS_CTRL完成主站的初始化,并啟動(dòng)其功能控制:


表2 MBUS_CTRL指令參數(shù)意義

MBUS_CTRL指令參數(shù)意義

②調(diào)用Modbus RTU主站讀寫(xiě)子程序MBUS_MSG,發(fā)送一個(gè)Modbus請(qǐng)求:

調(diào)用主站讀寫(xiě)子程序MBUS_MSG指令
圖3  調(diào)用主站讀寫(xiě)子程序MBUS_MSG指令


表3 MBUS_MSG指令參數(shù)意義

MBUS_MSG指令參數(shù)意義

③庫(kù)存儲(chǔ)器分配

Modbus Master指令庫(kù)需要一個(gè)286個(gè)字節(jié)的全局V存儲(chǔ)區(qū)。
調(diào)用STEP 7-Micro/WIN SMART指令庫(kù)需要分配庫(kù)指令數(shù)據(jù)區(qū)。該數(shù)據(jù)區(qū)是相應(yīng)庫(kù)的子程序和中斷程序所要用到的變量存儲(chǔ)空間。
如果在編程時(shí)不分配庫(kù)指令數(shù)據(jù)區(qū),編譯時(shí)會(huì)產(chǎn)生許多相同的錯(cuò)誤。

操作步驟:

a、在指令樹(shù)的Project(項(xiàng)目)中,以鼠標(biāo)右鍵單擊Program Block(程序塊),在彈出的快捷菜單中選擇Library Memory(庫(kù)存儲(chǔ)器…)。如圖4所示:

“庫(kù)存儲(chǔ)器”按鈕
圖4 “庫(kù)存儲(chǔ)器”按鈕


b、在彈出的選項(xiàng)卡中設(shè)置庫(kù)指令數(shù)據(jù)區(qū),如圖5所示

庫(kù)存儲(chǔ)器地址分配
圖5 庫(kù)存儲(chǔ)器地址分配


4、注意事項(xiàng)

①S7 200 SMART CPU一共支持兩個(gè)Modbus RTU主站。如果您在項(xiàng)目中使用兩個(gè)主站,則要確保MBUS_CTRL/MBUS_MSG和MB_CTRL2/ MBUS_MSG2成對(duì)使用,并采用不同的端口號(hào)做區(qū)分,如果只有一個(gè)主站則使用任意一對(duì)指令均可以。

②S7-200 SMART CPU支持的Modbus消息為每條最多240個(gè)字節(jié)(1920位或120個(gè)寄存器)的數(shù)據(jù)。


③通常Modbus協(xié)議的保持寄存器范圍在40001到49999之間,這個(gè)范圍對(duì)于多數(shù)應(yīng)用來(lái)說(shuō)已經(jīng)足夠了,但有些Modbus從站保持寄存器區(qū)的地址會(huì)超出該范圍,此時(shí)主站協(xié)議庫(kù)也支持400001到465536的地址范圍,如果Modbus從站地址在該范圍內(nèi),只需在調(diào)用MBUS_MSG / MBUS_MSG2時(shí)給Addr參數(shù)賦相應(yīng)的值即可,如416768。


④庫(kù)存儲(chǔ)器分配,可以自定義起始地址,或者使用 “建議地址” 設(shè)置數(shù)據(jù)區(qū),但要注意應(yīng)當(dāng)確保該地址不與其他任何已使用的數(shù)據(jù)區(qū)重疊、沖突,這些數(shù)據(jù)區(qū)既包括一般尋址,還應(yīng)該考慮間接尋址訪問(wèn)的地址。


⑤Modbus數(shù)據(jù)區(qū)地址和S7-200 SMART存儲(chǔ)區(qū)地址的映射舉例。

Modbus數(shù)據(jù)區(qū)地址和S7-200 SMART存儲(chǔ)區(qū)地址的映射舉例

共有訪客發(fā)表了評(píng)論 網(wǎng)友評(píng)論

  客戶姓名:
郵箱或QQ:
驗(yàn)證碼: 看不清楚?