天天看點

s7-200與計算機modbus通訊案例,S7-200實作Modbus通信範例(絕對精華)

《S7-200實作Modbus通信範例(絕對精華)》由會員分享,可線上閱讀,更多相關《S7-200實作Modbus通信範例(絕對精華)(11頁珍藏版)》請在人人文庫網上搜尋。

1、實用标準文檔說明:使用下面的例程你可以在 S7-200CPU之間設定一個簡單的 Modbus 通訊。這個例子是關于Modbus功能碼6的(寫從站保持寄存器),也可以作為其他所支援的功能碼:1,2, 3, 4, 5, 15 和16的基本參數設定步驟。要求:要使用 Modbus 協定必須先在 STEP 7 Micro/Win上安裝指令庫 。Modbus 主站協定隻支援 STEP 7 Micro/Win V4.0 SP5及其以上版本.。1. 硬體設定2. 參數比對3. 指令庫的存儲位址4保持寄存器值得傳輸1. 硬體設定例程中的Modbus通訊是在兩個 S7-200 CPU的0号通訊口間進行的(最好每。

2、個CPU都 有兩個通訊口)。在主站側也可以選擇相應庫檔案 MBUS_CTRL_P1 和MBUS_MSG_P1 通過1号通訊口通信。 通訊口 1與Micro/WIN 建立PG或PC連接配接,兩個CPU的通訊口 0通過PPI電纜進行連接配接(電纜的針腳連接配接為2,3,7,8)。文案大全圖 012. 參數比對對于MODBUS 通訊,主站側需要程式庫 MBUS_CTRL 和MBUS_MSG, 從站側需要程式庫 MBUS_INIT and MBUS_SLAVE 。在Micro/WIN中您需要為主站和從站建立一個項目,程式與參數設定見圖.02。必須要保證主站與從站的Baud ”和Parity的參數設定要一緻,并且程。

3、序塊MBUS_MSG中的Slave位址要與程式塊MBUS_INIT中的Addr所設定的一緻 (見圖.02)。Micro/WIN “系統塊”中設定的0通訊口的波特率與 MODBUS協定無關(Mode = 1)圖.02F面的表格列出了程式塊各個參數選項及其意義主站MBUS_CTRLrENModGttPPlJMODBUS珈隹輸速率kbps1 200, 2400, 4300, 9600,1 9200, 38400. 57600.115200Parity校驗悅擇A無粳驗1=奇校箍偶枝驗Innieout從站的牟世咆應時間msDone”完成”标吉位Error錯餞代碼1)表011) 參看STEP 7 Micr。

4、o/WIN 幫助:MODBUS 主站執行 MBUS_MSG 時的錯誤代碼MBUS_MSG。MBUS_MSGN使能F rstif富詩求位Slavs區站地吐m渎或羅0W羌1二寫Aidf荷寫從诂妁數誓位址CL.伍三如基輔出Q0.0. Q15.71001 ,.10120-T 1曙“ Q15.730001 . 30092 -模也墾輸入 AIWO . AIW&24uoui . 4jyuy -保持寄存墨2Douit恂貳字第1-蔔綁(Owof. 1 nrsfi) wnrris (3xxaDataPh溶诘區起處施址揩針Dore完肅标志位ErroV表021)參看STEP 7 Micro/WIN 幫助:MODBUS。

5、 主站執行 MBUS_MSG 時的錯誤代碼MBUS_MSG。從站MBUS_INIT參數2選變ENMode0=PPE11=MODBUSAddr從站位址aud播輸遠車ktap1 200h 2400, 4000, 9800, 1 9200, 30400. 57SOO 11 5200Parity0況校號站奇按驗上偶校撿Delay逾時時間msMaMlQ可便比的數輸入辎出點效(VfaxAl可佞壓的模擔量輸入點數MaxHoid礫将哥薦器字的培式藪量2)HoldStart保持寄存器的起始位址(4C001)DoneError錯保件碼表032) 最大的位址取決于所用CPU的類型及其最大值。3) 參看STEP 7 。

6、Micro/WIN 幫助:“ MODBUS 從站協定的錯誤代碼”。MBUS_SLAVE表043)參看STEP 7 Micro/WIN 幫助:“ MODBUS 從站協定的錯誤代碼”。3. 庫的存儲位址項目完成後必須要在 Micro/WIN中定義庫的存儲位址,當定義完存儲區後,要保證在任何情況下不能再被其它程式所使用(主站側:DataPtr + Count 從站側:HoldStart +MaxHold)。圖.034保持寄存器值的傳輸将程式下載下傳到相應的 CPU後,可以在狀态表中給主站側的V存儲區指派,然後監視從站的變化。當主站的10.0使能後,VW2中的内容就被發送到從站并寫入從站的VW2 。保持寄。

7、存器值的傳輸見圖.04。指針DataPtr 代表了 V區被讀的起始位址。參數Count 表明了位址Addr = 4xxxx(保持寄存器)以字為機關被讀的個數。主站中被讀取的 V存儲區被寫入位址為Addr = 40002 (RW = 1)的保持寄存器中。保持寄存器是以字為機關工作的,它與從站的V區位址對應。指針HoldStart明确了與保持寄存器起始位址40001相對應的V存儲區的初始位址。可以這樣計算從站的 V區目标指針:2 * (Addr - 40001) + HoldStart = 2 * (40002 - 40001) + &VB0 = &VB2另外,要保證MaxHold定義的資料區能夠。

8、包含主站側所要寫入的資料區MaxHold = Addr - 40001 + Cou nt = 40002 - 40001 + 1 = 2Fig. 04關于 STEP 7 Micro/WIN MOBDUS庫的更多資訊可以參看S7-200系統手冊(EntryID 1109582) 和 STEP 7 Micro/WIN 幫助。如何在 STEP 7 Micro/WIN中找到Modbus RTU協定和USS協定操作庫?說明:在 STEP 7 Micro/WIN中,Modbus RTU協定和USS協定操作庫位于操作樹的“庫”為V3.2或更高版本。檔案夾中。MODBUS 函數庫要求 STEP 7 Micro。

9、/WIN圖1:添加函數庫這些庫是附加函數庫,并非組态軟體STEP 7 Micro/WIN的組成部分。您如果需要使用Modbus RTU 協定,必須購買“ SIMATIC STEP 7 Micro/WIN ADDON: Fun ctio n Library V1.1 (USS + MODBUS) for STEP 7 Micro/WIN 32” 軟體。這個可選附加函數庫的訂貨号是6ES7830-2BC00-0YX0安裝順序:先安裝“ STEP 7 Micro/WIN 32 Toolbox V1.0 ” (包括庫),然後安裝“ STEP 7 Micro/WIN ”。注意:這個函數庫包含可以在STEP 7 Micro/WINV3.2中使用的 Modbus RTU協定庫和USS協定庫。如果您安裝了 STEP 7 Micro/WIN V4.0 SP5或者更高版本,那麼操作庫中就會包含下列函數:Modbus RTU Master V1.2對應端口 0 和端口 1Modbus RTU Slave V1.0對應端口 0USS protocol V2.3對應端口 0 和端口 1。