西門子在 STEP 7-Micro/WIN SMART 中正式推出 Modbus RTU 主站/從站協議庫,Modbus RTU 指令位于 STEP7-Micro/WIN SMART 項目樹中“指令”文件夾的“庫”文件夾中。如圖1.Modbus RTU庫指令所示。
圖1.Modbus RTU庫指令
注意:
1. Modbus RTU 主站指令庫的功能是通過在用戶程序中調用預先編好的程序功能塊實現的,該庫對 CPU 集成的 RS 485 通訊口 和 CM 01 信號板有效。該指令庫將設置通信口工作在自由口模式下。
2. Modbus RTU 主站指令庫使用了一些用戶中斷功能,編其他程序時不能在用戶程序中禁止中斷。
3. Modbus RTU 主站指令庫可以同時應用于CPU 集成的 RS 485 通訊口 和 CM01 信號板,此時集成的RS 485口使用Modbus RTU Master(v2.0)中指令,CM01信號板使用Modbus RTU Master2(v2.0)中指令,如果只有一個主站則不做區分。
使用環境:
① STEP 7 Micro/WIN SMART ( 軟件版本 V2.5 )
② ModScan32
③ Modbus Slave
所完成的通信任務:
① ModScan32 接收 8 個字節數據:<-- ( S7-200 SMART 側做從站響應 ) VW1000~VW1014
② Modbus Slave 接收 8 個字節數據:<-- ( S7-200 SMART 側做主站寫 ) VW1000~VW1014
1. 打開ModScan32軟件
2. 點擊“Setup”---“Display Definition”---設定"Slave Address"為3---“Point Type”(本例程以保持型寄存器為例)---“Length”為8
如圖2所示,設置完成后點擊OK
圖2.Display Definition
3. 點擊“Connection”----“Connect”
圖3. 建立連接
① Connect選擇 Direct Connection to COM3,根據實際情況選擇不同的串口;
② 串口參數的設置與CPU保持一致
1.打開STEP 7 Micro/WIN SMART>項目樹>指令樹>庫>Modbus RTU Slave(v3.1),調用MBUS_INIT和MBUS_SLAVE,如圖4、圖5所示。
圖4. Modbus RTU Slave指令庫
圖5. MBUS_SLAVE
2.鼠標選中程序塊文件夾,單擊右鍵,下拉菜單中選擇庫存儲器,如圖6所示。
圖6.點擊庫存儲器
3.在庫存儲區分配對話框中手動輸入存儲區的起始地址。此實例為VB0開始,以使指令庫可以正常工作。確保庫存儲區與程序中其他已使用的地址不沖突。使用建議地址無法確定是否有地址重疊,所以推薦手動輸入正確的庫存儲區首地址。如圖7所示。
圖7.庫存儲區地址分配
4.編譯項目,下載程序。
通信結果如下:
圖8. 測試結果
Modbus Slave (S7 200 SMART 做主站)1. 打開Modbus Slave軟件
2. 點擊"Setup"---"Slave Definition"---"Slave"為從站地址---設定Function”(本例程以保持型寄存器為例)---"Quantity"為8---"Display"為Signed
如圖9所示,設置完成后點擊OK
圖9.Slave Definition
3. 點擊"Connection"----"Connect"
圖10. 建立連接
① Connect選擇 Serial Port;
② Mode 選擇RTU;
③Port3表示使用的串口(COM3),根據實際情況選擇不同的串口,串口參數的設置與CPU保持一致。
1.打開STEP 7 Micro/WIN SMART>項目樹>指令樹>庫>Modbus RTU Master(v2.0),調用MBUS_CTRL和MBUS_MSG,如圖11和圖12所示。
圖11. 用 SM0.0 調用 Modbus RTU 主站初始化與控制子程序
圖12. 調用Modbus RTU 主站讀寫子程序
常見的錯誤:
如果多個 MBUS_MSG 指令同時使能會造成 6 號錯誤
從站 delay 參數設的時間過長會造成主站 3 號錯誤
從站掉電或不運行,網絡故障都會造成主站 3 號錯誤
2.鼠標選中程序塊文件夾,單擊右鍵,下拉菜單中選擇庫存儲器,如圖13所示。
圖13.點擊庫存儲器
3.在庫存儲區分配對話框中手動輸入存儲區的起始地址。此實例為VB0開始,以使指令庫可以正常工作。確保庫存儲區與程序中其他已使用的地址不沖突。使用建議地址無法確定是否有地址重疊,所以推薦手動輸入正確的庫存儲區首地址。如圖14所示。
圖14.庫存儲區地址分配
4.編譯項目,下載程序。
通信測試結果將M0.1置位為1,然后在狀態圖表中創建變量,VW1000-VW1014 共8個字,監視值如圖15所示。
圖15.讀取服務器數據
- 實例 | 一步步教你S7-1200與變頻器的DP通訊 2024-12-26
- 圖解博途中如何實現DB快照功能! 2024-12-26
- 西門子S7-1200/1500配方實例程序 2024-12-26
- 如何計算S7-1200Zui大I/O和電源需求? 2024-12-26
- 如何在西門子博途中實現配方控制 2024-12-26
- S7-200 SMART從入門到精通,只要這一篇就夠了 2024-12-26
- S7-1500仿真利器:五大亮點實現更強大的仿真 2024-12-26
- 西門子S7-1500 PLC加密大全,會Zui后一種的才是高手 2024-12-26
- 如何清除S7-200SMART帶密碼的CPU內容,忘記密碼怎么辦 2024-12-26
- 實例對比博途、三菱、3S軟件的ST程序,誰更好用一點呢 2024-12-26
- 西門子精智屏的數據記錄極限實驗 2024-12-26
- S7-1500和MCGS之間的以太網通信 2024-12-26
- 西門子PLC編程技巧,簡單實用 2024-12-26
- S7-1200 Web服務器支持的AWP命令 2024-12-26
- S7-1500 PLC數據塊DB專有保護,安全又快捷 2024-12-26
聯系方式
- 電 話:18126392341
- 聯系人:梁濤
- 手 機:15267534595
- 微 信:15267534595