以下文章來源于跟我學PLC吧,作者凌云
一、 導讀
Modbus 通信是一種應用廣泛的通信協議 ,在變頻器、智能儀表或是其他的一些智能設備上應用的一種通用通信協議,本文以S7-200SMART系列PLC作為Modbus主站,以西門子V20變頻器和歐姆龍E5EZ的智能溫控儀表作為從站為例,為大家分享如何使用自定義的Modbus RTU的通信程序塊,來實現快速高效的Modbus通信程序設計。同時在本文的結尾會為大家提供參考程序和打包好的Modbus RTU通信塊的庫指令,后續大家可以把該庫指令添加到自己軟件中的庫指令中,方便后續直接使用。
二、自定義Modbus通信塊指令介紹
如下圖所示為一條自定義的Modbus通信塊指令,在進行Modbus通信時,不管有多少個從站,都只需要使用一條該指令,使用時配合數據塊對通信數據的定義即可。
三、通信程序的設計
(1) 硬件需求與接線
(2) 控制要求說明
實現對西門子V20變頻器的運行控制,速度調節、運行狀態反饋、運行速度反饋、輸出電流和輸出電壓監控,實現對歐姆龍E5EZ的當前溫度值PV值監控和設定值SV的調整。根據V20變頻器說明書和歐姆龍E5EZ說明書得到對應通信的Modbus 寄存器地址如下圖所示。
注:通信參數設置可根據V20變頻器說明書和歐姆龍E5EZ說明書來設置,對于V20變頻器可通過設置為鏈接宏Cn11快速完成通信參數的設置,需要注意的是要變頻器和智能儀表必須要設置相同的數據位,停止位、起始位、奇偶校驗位和波特率。
(3) 在數據頁中定義通信數據
在數據頁中以10個字節為單位定義通信需要數據和讀寫數據存儲的地址,如圖所示:
(4)通信程序
調用自定義的Modbus通信塊指令,完成通信程序的設計,程序如下圖所示:
調用的庫指令需要為其分配庫存儲器地址,該自定義的Modbus通信塊占用594個字節的地址,分配如下圖所示,分配時需要保證分配的庫存儲器地址在程序的其他地方未被使用。
V20控制程序,主要用于完成對V20變頻器的控制命令給定和速度給定的換算程序,程序如下圖所示:
四、結語
使用該自定義的Modbus 通信塊指令,可以無需考慮Modbus通信庫指令的使用和通信輪詢的設計方法,只需要定義好需要通信的數據區域即可。
-
plc
+關注
關注
5016文章
13369瀏覽量
464673 -
通信
+關注
關注
18文章
6062瀏覽量
136268 -
MODBUS
+關注
關注
28文章
1819瀏覽量
77203 -
指令
+關注
關注
1文章
611瀏覽量
35791
原文標題:
文章出處:【微信號:gkongbbs,微信公眾號:工控論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論