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

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 梯形圖實例 >> 正文

實例講解PLC實現modbus通訊

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

1. 硬件設置

程序中的 Modbus 通訊是在兩個 S7-200 CPU 的 0 號通訊口間進行的(最好每個 CPU 都有兩個通訊口)。在主站側也可以用相應庫文件 "MBUS_CTRL_P1" 和 "MBUS_MSG_P1"通過1號通訊口通信。通訊口 1 用 Micro/WIN 與 PG 或 PC 建立連接,兩個 CPU 的通訊口 0 通過 Profibus 纜進行連接(電纜的針腳 連接為3,3,8,8 -> 見圖 01)。另外,需要確定邏輯地M相連 。

 

 

 

2. 參數匹配

對于 MODBUS 通訊,主站側需要程序庫 "MBUS_CTRL" 和 "MBUS_MSG",從站側需要程序庫 "MBUS_INIT" and "MBUS_SLAVE"。

在 Micro/WIN 中您需要為主站和從站新建一個項目,程序與參數設置見圖.02。

必須要保證主站與從站的“Baud”和 “Parity” 的參數設置要一致,并且程序塊 "MBUS_MSG" 中的 "Slave" 地址要與程序塊 "MBUS_INIT" 中的 "Addr" 所設置的一致 (見圖. 02)。

在 Micro/WIN“系統塊”中設置的通訊口 0 的波特率與 MODBUS 協議無關 ("Mode" = "1")。

 

 

 

下面的表格列出了程序塊各個參數選項及其含義。

主站

MBUS_CTRL

 

 

 

 

 

 

MBUS_MSG

 

 

 

 

 

 

 

 

 

 

 

 

從站

MBUS_INIT

 

 

 

MBUS_SLAVE

 

 

 

3. 庫的存儲地址

項目完成后必須要在 Micro/WIN 中定義庫的存儲地址,當定義完存儲區后, 要保證在任何情況下不能再被

其它程序所使用 (主站側: "DataPtr" + "Count" 從站側:"HoldStart" + "MaxHold")。

 

 

 

4. 保持寄存器值的傳輸

將程序下載到相應的 CPU 后,可以在狀態表中給主站側的 V 存儲區賦值,然后從站側監視數值的變化。

當主站的 I0.0 使能后,VW2 中的內容就被發送到從站并寫入從站的 VW2 。

保持寄存器值的傳輸見圖. 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" 定義的數據區內 :

MaxHold >= Addr - 40001 + Count = 40002 - 40001 + 1 = 2

Tags:梯形圖實例,Modbus,西門子plc  
責任編輯:admin
請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
1分 2分 3分 4分 5分

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