日本欧美一区-日本欧美一区二区三区片-日本强好片久久久久久AAA-日本-区一区二区三区A片-日本人伦一区二区三区-日本人妻A片成人免费看

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> PLC基礎(chǔ)入門教程 >> 正文

Modbus RTU 從站常見問題

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2022-09-09

2.6 Modbus RTU 從站常見問題

Modbus 從站的網(wǎng)絡(luò)地址與 S7-200 的 CPU 網(wǎng)絡(luò)地址有什么關(guān)系?

沒有關(guān)系。支持網(wǎng)絡(luò)通信的通信協(xié)議必須有其自己的網(wǎng)絡(luò)尋址規(guī)定。 Modbus 從站的地址只是它在 Modbus 網(wǎng)絡(luò)上的地址,而通常所說的 S7-200 CPU 地址是 CPU 在西門子的 PPI 網(wǎng)絡(luò)上的站地址。S7-200 CPU 的大部分通信功能都通過 PPI 網(wǎng)絡(luò)完成,例如編程、網(wǎng)絡(luò)讀寫通信等。

如何理解 Modbus 地址與功能碼的區(qū)別?

Modbus 地址與 Modbus 的功能碼是兩個(gè)層次的概念。

根據(jù) Modbus 通信協(xié)議,Modbus 數(shù)據(jù)的地址使用 00xxx、10xxx、30xxx 和 40xxx 的形式,分別表示數(shù)字量輸出、數(shù)字量輸入、模擬量輸入等數(shù)據(jù)地址。在使用 S7-200 的指令庫時(shí),Modbus 數(shù)據(jù)地址與 S7-200 的 I/O 和數(shù)據(jù)存儲(chǔ)區(qū)地址間有特定的對(duì)應(yīng)關(guān)系。

有些設(shè)備表明它支持 Modbus RTU 通信協(xié)議,但也詳細(xì)提供了讀寫數(shù)據(jù)的詳細(xì)通信幀格式,其中包括如何指定 Modbus 站的地址,需要讀寫數(shù)據(jù)類型、長度等等。數(shù)據(jù)幀有特定字節(jié)指出此指令讀寫的數(shù)據(jù)類型和地址,此字節(jié)的數(shù)據(jù)內(nèi)容即所謂"功能碼",如功能 1 指定讀取單個(gè)/多個(gè)數(shù)字量輸出點(diǎn)的值。

支持 Modbus 協(xié)議的設(shè)備或軟件,使用時(shí)用戶直接設(shè)置或看到的應(yīng)當(dāng)是 Modbus 數(shù)據(jù)地址。Modbus 地址所訪問的數(shù)據(jù),是通過各種"功能"讀寫而來。功能碼是 Modbus 地址的底層。如果 Modbus 通信的一方提供的所謂 Modbus 協(xié)議只有功能碼,則需要注意了解此功能號(hào)與 Modbus 地址間的對(duì)應(yīng)關(guān)系。

Modbus 指令庫啟動(dòng)后,如何通過同一個(gè)通信端口進(jìn)行 CPU 監(jiān)控?

Modbus 指令庫使用的是 CPU 的自由口通信功能,工作在自由口模式下的通訊口不能使用 Micro/WIN 的 PPI 編程通信監(jiān)控。如果通信口都已經(jīng)被占用,可以考慮:

  • 加一個(gè)通信模塊(如 EM 277、CP 243-1、EM 241 等)擴(kuò)展出一個(gè)編程通信口
  • 中止自由口模式,可以將 CPU 上的模式開關(guān)從 RUN 撥到 STOP;或者保持處于 RUN 狀態(tài),用程序停止指令庫的 Modbus 模式(參見指令庫應(yīng)用)

為何有些 HMI 軟件使用 Modbus RTU 讀取S7-200中的實(shí)數(shù)會(huì)出現(xiàn)錯(cuò)誤?

有些HMI軟件使用Modbus RTU通信協(xié)議時(shí),處理存儲(chǔ)在數(shù)據(jù)保持寄存器中的實(shí)數(shù)(浮點(diǎn)數(shù))的方式與西門子的實(shí)數(shù)保存格式不同。西門子的PLC遵循"高字節(jié)低地址、低字節(jié)高地址"的規(guī)律。

Modbus RTU的保持寄存器總是以"字(雙字節(jié))"為單位,而一個(gè)實(shí)數(shù)需要4個(gè)字節(jié)(雙字)表示。HMI軟件在處理時(shí)可能會(huì)把保持寄存器的兩個(gè)"字"互換位置,造成不能識(shí)別以西門子格式表示的實(shí)數(shù)。如果HMI軟件一方無法處理這種實(shí)數(shù),則可在S7-200 CPU中編程將存入數(shù)據(jù)緩沖區(qū)(保持寄存器區(qū))的實(shí)數(shù)的高字和低字互換。

為何有的HMI軟件用Modbus RTU可以讀取作為從站的S7-200的內(nèi)容,但不能寫入?

可能此軟件使用了Modbus功能15(寫多個(gè)離散量)或類似功能(功能 16)。S7-200從站協(xié)議遵守"以整字節(jié)地址邊界(如Q0.0、Q2.0)開始、以8的整數(shù)倍為位個(gè)數(shù)"的規(guī)約。如果HMI軟件未嚴(yán)格執(zhí)行此規(guī)律就可能發(fā)生寫入錯(cuò)誤的情況。

S7-200是否支持 Modbus ASCII 模式?

S7-200可以支持上述模式,但是沒有現(xiàn)成的指令庫,需要用戶自己編程。

項(xiàng)目編譯后為何出現(xiàn)很多錯(cuò)誤?

使用指令庫時(shí),若編譯后出現(xiàn)很多錯(cuò)誤,一般是因?yàn)槲粗付◣熘噶顢?shù)據(jù)存儲(chǔ)區(qū)。

分配庫指令數(shù)據(jù)區(qū)

調(diào)用STEP 7 - Mciro/WIN32 V3.2 Instruction Library(指令庫)需要分配庫指令數(shù)據(jù)區(qū)(Library Memory)。庫指令數(shù)據(jù)區(qū)是相應(yīng)庫的子程序和中斷程序所要用到的變量存儲(chǔ)空間。

如果在編程時(shí)不分配庫指令數(shù)據(jù)區(qū),編譯時(shí)會(huì)產(chǎn)生許多相同的錯(cuò)誤(錯(cuò)誤18)。

操作步驟(以Modbus RTU庫指令為例):

在指令樹的Project(項(xiàng)目)中,以鼠標(biāo)右鍵單擊Program Block(程序塊),在彈出的快捷菜單中選擇Library Memory。如圖2所示:

圖2

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

圖3.缺省情況下是從VB0開始,但因?yàn)榕cModbus的保持寄存區(qū)沖突,所以手動(dòng)改為VB2000。按"Suggest Address"按鈕也可以自動(dòng)分配。

可以使用Suggest Address(推薦地址)設(shè)置數(shù)據(jù)區(qū),但要注意編程軟件設(shè)置的數(shù)據(jù)區(qū)地址,只考慮到了其他一般尋址,而未考慮到諸如Modbus數(shù)據(jù)保持寄存器區(qū)等的設(shè)置。應(yīng)當(dāng)確保不與其他任何已使用的數(shù)據(jù)區(qū)重疊、沖突。不應(yīng)重復(fù)按Suggest Address按鈕,否則也會(huì)造成混亂。

在STEP 7-Micro/WIN32 V3.1中,有分配庫指令數(shù)據(jù)區(qū)時(shí)有不同的操作方法,需要在Symbol Table(符號(hào)表)中設(shè)置一個(gè)首地址。我們強(qiáng)烈建議使用當(dāng)時(shí)最新的編程版本。

 

 

S7-200 CPU的Port1是否可以支持Modbus RTU協(xié)議?

可以。用戶可以自己編程實(shí)現(xiàn)。

在S7-200的"Tips and Tricks"幫助文檔中,Tip041是Modbus RTU從站程序,用戶可以參考。

S7-200是否可以組成Modbus RTU通信網(wǎng)絡(luò)?如何組網(wǎng)?

S7-200可以組成RS-485基礎(chǔ)上的Modbus RTU網(wǎng)絡(luò)。如果通信對(duì)象是不同標(biāo)準(zhǔn)的通信口,可能還需要轉(zhuǎn)換。
參見:RS-485網(wǎng)絡(luò)組成

Tags:Modbus,RTU,常見問題  
責(zé)任編輯:admin
相關(guān)文章列表
Modbus RTU與Modbus TCP的區(qū)別
如何看懂Modbus數(shù)據(jù)幀?Modbus RTU數(shù)據(jù)幀格式
Modbus協(xié)議中寄存器40001,30001是什么意思?
MODBUS協(xié)議用03功能碼為什么既能讀又能寫寄存器地址?
梯形圖實(shí)例 儀表與西門子PLC Modbus通訊實(shí)例稱重儀表 指令MBUS_M
西門子plc與modbus設(shè)備進(jìn)485通信詳解(modbus多機(jī)輪詢)讀取儀表
手把手帶你搞懂Modbus通信協(xié)議 報(bào)文格式詳解
寄存器PLC地址與寄存器modbus協(xié)議地址 三菱FX系列西門子s7系列pl
Modbus協(xié)議基本知識(shí) Modbus地址范圍對(duì)應(yīng)表
Modbus-RTU協(xié)議解析
MODBUS常用功能碼學(xué)習(xí)及實(shí)例 modbus報(bào)文格式
Modbus如何遠(yuǎn)距離傳輸? Modbus物聯(lián)網(wǎng)
Modbus和RS485的關(guān)系是什么?
Modbus RS485接線方法  modbus接線方法 終端電阻
MODBUS調(diào)試工具(modscan32)使用說明-MODBUS調(diào)試工具(modscan32)如
RS-485終端電阻怎么接?485終端電阻接法解析
modbus通訊 RS-485終端電阻的重要性
Modbus功能碼詳解 讀取線圈、保持寄存器
modbus協(xié)議地址和常用功能碼,modbus詳解
Modbus功能碼介紹
Modbus網(wǎng)關(guān)的概念/功能/作用/特點(diǎn)
Modbus-RTU通訊協(xié)議03功能碼詳解——小白一看就會(huì)的協(xié)議解析
西門子plc SMART200 通過Modbus讀取溫濕度傳感器數(shù)據(jù)梯形圖實(shí)例
實(shí)現(xiàn)PLC與多臺(tái)變頻器的MODBUS/RTU通信   MODBUS協(xié)議報(bào)文格式
西門子plc modbus地址詳解
s7-200與計(jì)算機(jī)modbus通訊案例,西門子S7-200 Smart Modbus通信介
Modbus通訊協(xié)議簡介
電力儀表怎么設(shè)置modbus ,電力-MODBUS_RTU通訊規(guī)約
MODBUS規(guī)約報(bào)文解析
modbus rtu六種功能碼詳細(xì)解析
請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

還可以輸入 200 個(gè)字
[ 查看全部 ] 網(wǎng)友評(píng)論
推薦文章
最新推薦
關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
返回頂部
刷新頁面
下到頁底
晶體管查詢