男女午夜激情_www.天堂av.com_亚洲综合小说区_亚洲欧美自拍视频_成年精品_久久www免费人成—看片_激情综合五月天_久久高潮视频_最新国产成人ab网站_国产精品卡一

當前位置:機電之家首頁 >> PLC技術>> PLC文案資料 >> PLC論文 >> S7-200 如何實現Modbus通信?
S7-200 如何實現Modbus通信?

下面的例程說明了在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號通訊口間進行的(最好每個CPU都有兩個通訊口)。在主站側也可以選擇相應庫文件 "MBUS_CTRL_P1" 和 "MBUS_MSG_P1"通過1號通訊口通信。通訊口1與Micro/WIN建立PG或PC連接,兩個CPU的通訊口0通過PPI電纜進行連接(電纜的針腳 連接為2,3,7,8)。

( 26 KB )
圖. 01

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")。

( 40 KB )
圖. 02

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

主站

MBUS_CTRL
 

參數 意義 選項
EN 使能  
Mode 協議選擇 0=PPI, 1=MODBUS
Baud 傳輸速率 kbps 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
Parity 校驗選擇 0=無校驗, 1=奇校驗, 2=偶校驗
Timeout 從站的最長響應時間 ms  
Done “完成”標志位  
Error 錯誤代碼 1)
表 01

1) 參看STEP 7 Micro/WIN 幫助: "MODBUS主站執行MBUS_MSG時的錯誤代碼MBUS_MSG" 。

MBUS_MSG
 

參數 意義 選項
EN 使能  
First 讀寫請求位  
Slave 從站地址  
RW "讀" 或 "寫" 0=讀, 1=寫
Addr 讀寫從站的數據地址 0 .. 128 = 數字量輸出 Q0.0 .. Q15.7
 1001 .. 10128 = 數字量輸入 I0.0 .. Q15.7
 30001 .. 30092 = 模擬量輸入 AIW0 .. AIW62
 40001 .. 49999 = 保持寄存器 2
Count 位或字的個數 (0xxxx, 1xxxx) / words (3xxxx, 4xxxx)  
DataPtr V存儲區起始地址指針  
Done '完成' 標志位  
Error 錯誤代碼 1)
表 02

1)參看STEP 7 Micro/WIN 幫助: "MODBUS主站執行MBUS_MSG時的錯誤代碼MBUS_MSG" 。

從站

MBUS_INIT
 

參數 意義 選項
EN 使能  
Mode 協議選擇 0=PPI, 1=MODBUS
Addr 從站地址  
Baud 傳輸速率 kbps 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
Parity 校驗 0=無校驗, 1=奇校驗, 2=偶校驗
Delay 超時時間 ms  
MaxIQ 可使用的數字輸入輸出點數 2)
MaxAI 可使用的模擬量輸入點數 2)
MaxHold 保持寄存器字的最大數量 2)
HoldStart 保持寄存器的起始地址(40001)  
Done 完成標志位  
Error 錯誤代碼 3)
表 03

2) 最大的地址取決于所用CPU的類型及其最大值。
3)參看STEP 7 Micro/WIN 幫助: “MODBUS從站協議的錯誤代碼”。

MBUS_SLAVE
 

參數 意義 選項
EN 使能  
Done 完成標志位  
Error 錯誤代碼 3)
表 04

3)參看STEP 7 Micro/WIN 幫助: “MODBUS從站協議的錯誤代碼” 。

3. 庫的存儲地址
項目完成后必須要在Micro/WIN中定義庫的存儲地址,當定義完存儲區后, 要保證在任何情況下不能再被其它程序所使用 (主站側: "DataPtr" + "Count" 從站側: "HoldStart" + "MaxHold")。

 

( 137 KB )
圖. 03

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

( 38 KB )
Fig. 04

作者:未知 點擊:337次 [打印] [關閉] [返回頂部]
本文標簽:S7-200 如何實現Modbus通信?
* 由于無法獲得聯系方式等原因,本網使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《S7-200 如何實現Modbus通信?》相關權利人與機電之家網取得聯系。
電子樣本

SN系列樣冊
:鞏經理
:13915946763
:南京塞姆泵業有限公司
個人求購

王經理 【求購】  西湖輪胎  2026-3-20
蘇紅慶 【求購】  工業除濕機  2026-3-20
金喜 【求購】  線纜  2026-3-20
林杰 【求購】  自粘結鐵芯  2026-3-20
任建波 【求購】  鋰電鉆  2026-3-20
劉經理 【求購】  吊具電纜總...  2026-3-20
潘梟 【求購】  高強鋼焊絲  2026-3-19
李經理 【求購】  丹弗斯液壓...  2026-3-18
VIP公司推薦

主站蜘蛛池模板: 宿松县| 涿鹿县| 井冈山市| 石屏县| 洛浦县| 张家港市| 泾阳县| 陆川县| 大庆市| 毕节市| 乐昌市| 长宁县| 平江县| 石林| 浮山县| 泌阳县| 湖南省| 岳阳市| 绥滨县| 三亚市| 清水河县| SHOW| 康乐县| 鲁山县| 临城县| 城口县| 定结县| 东丽区| 营口市| 宝鸡市| 宜良县| 怀化市| 海盐县| 六安市| 大同市| 麻栗坡县| 淮南市| 新郑市| 深圳市| 镇康县| 观塘区|