西門子SB AQ01模塊
SIEMENS西門子上海朕鋅電氣設備有限公司
:鐘濤
24小時銷售及:
:
手 機:
: 1824547528
地址:上海市金山區(qū)楓灣路500號
《銷售宗旨》:為客戶創(chuàng)造價值是我們永遠追求的目標!
《產(chǎn)品質(zhì)量》:原裝*,*!
《產(chǎn)品優(yōu)勢》:專業(yè)銷售 薄利多銷 信譽好,口碑好,價格低,貨期短,大量現(xiàn)貨,服務周到!
1. 概述
在現(xiàn)場應用中,很多儀表和設備僅支持Modbus RTU的通訊協(xié)議,第三方儀表可以做Modbus主站或從站,西門子的通訊模塊CP341 / CP441-2 通過Dongle(硬件狗)可以擴展該協(xié)議,S7-200 集成的口可以支持自由口通訊,通過指令庫也可以方便的實現(xiàn)Modbus RTU通訊。本文以S7-200作為Modbus 主站,CP341作為Modbus 從站,實現(xiàn)Modbus RTU通訊,闡述兩者在通訊方面的設置和注意事項。
2. 軟件環(huán)境
2.1 STEP7 V5.4 SP4
用于編寫 S7-300/400程序,此軟件需要從西門子購買,本文檔中的300的程序是使用Step7 V5.4 SP4的軟件編寫。
2.2 CP PTP Param V5.1 SP11
串行通訊模板的驅(qū)動程序,安裝此驅(qū)動后才能對PtP模板進行參數(shù)配置,并在Step7中集成通訊編程需要使用的功能塊。此驅(qū)動隨購買模板一起提供,也可以從以下的鏈接:27013524
2.3 CP PTP Modbus Slave V3.1 SP7
CP341或CP441-2用于Modbus從站時,需要安裝此驅(qū)動協(xié)議,但安裝之前必須先安裝PtP Driver,此驅(qū)動可以在購買Modbus Dongle時選擇購買,也可以從以下的鏈接:27774276
2.4 STEP7 Micro/WIN V4.0 SP6
用于S7-200編程的軟件,本文檔中的200的程序是使用Step7 Micro/win 的軟件編寫。此軟件可以從西門子中心免費,也可以從以下的鏈接。
http://www.ad.siemens.com.cn/download 自動化系統(tǒng)>>S7-200>>軟件,文檔編號S0002。
2.5 Toolbox_V32-STEP 7-Micro WIN 32 Instruction Library
S7-200實現(xiàn)Modbus RTU功能,可以使用Modbus的指令庫,要使用西門子的標準指令庫,必須先安裝指令庫的軟件包 Instruction Library,安裝后,可以在Step 7-Micro/WIN軟件的庫中找到Modbus相關的指令,該軟件包可以從以下的鏈接。http://www.ad.siemens.com.cn/download 自動化系統(tǒng)>>S7-200>>軟件,文檔編號S0010。
3. 硬件列表和接線
3.1 硬件列表
| S7-300從站 | CPU315-2DP | 6ES7 315-2AG10-0AB0 |
| CP341 RS422/485 | 6ES7 341-1CH01-0AE0 | |
| Dongle | 6ES7 870-1AB01-0YA0 | |
| PC 適配器(USB) | 6ES7 972-0CB20-0XA0 | |
| S7-200主站 | CPU 224XP | 6ES7 214-2BD23-0XB0 |
表1 硬件設備
3.2 硬件接線
3.2.1 接口定義
S7-200的通訊口為RS485物理口(9針口),CP341是RS422/485的接口類型(15針口),兩種設備的接口引腳的示意圖如下所示,更詳細的信息可以參考CP341及S7-200通信接口的手冊。

圖1 S7-200 CPU通信口引腳定義

圖2 S7-300 CP341 RS422/485 通訊口引腳定義
3.2.2 接線示意圖

圖3 硬件結(jié)構和接線示意圖
4. 組態(tài)設置和編程
4.1 S7-200做Modbus主站的設置
S7-200 CPU上的通信口在電氣上是標準的RS-485半雙工串行通信口,此串行字符通信的格式:1個起始位;7/8位數(shù)據(jù)位;1位奇/偶/無校驗;1停止位。通信波特率可以設置為1200、2400、4800、9600、19200、38400、57600或112500,符合這些格式的串行通訊設備可以和S7-200進行自由口通訊,Modbus RTU指令庫就是使用自由口編程實現(xiàn)的。
4.1.1 Modbus RTU主站庫
西門子SB AQ01模塊
使用Modbus 主站指令庫時需要注意的幾點:
- 需要S7-200的編程軟件是 Micro/WIN V4.0 SP5及以上版本;
- Modbus RTU 主站庫對CPU的版本有要求,CPU 的版本必須為 2.00 或者 2.01(即訂貨號為 6ES721*-***23-0BA*);
- Modbus主站可讀/寫的zui大數(shù)據(jù)量為120個字(指每一個 MBUS_MSG 指令);
- Modbus 主站庫支持Port0和Port1(從站庫只支持Port0口),本例中用Port0;
- 使用Modbus 庫時必須對庫存儲區(qū)進行分配,見下圖設置,而且分配的空間不能和程序中其它空間沖突,否則編譯調(diào)用會報錯。

圖4 庫存儲區(qū)設置
- Modbus主站庫支持的功能碼和地址對應關系:
Modbus 地址 讀 / 寫 Modbus 從站須支持的功能 00001~09999 讀 功能1:讀輸出點 數(shù)字量輸出 寫 功能5:寫單個輸出點 功能15:寫多個輸出點 10001~19999 讀 功能2:讀輸入點 數(shù)字量輸入 30001~39999 讀 功能4:讀輸入寄存器 輸入寄存器 40001~49999 讀 功能3:讀保持寄存器 保持寄存器 寫 功能6:寫單個寄存器 功能16:寫多個寄存器 表2需要從站支持的功能
4.1.2 S7-200 Modbus主站編程
編程時,使用SM0.0調(diào)用MBUS_CTRL完成主站的參數(shù)初始化,詳細見下表,參數(shù)的說明也可以從子程序的局部變量表中找到。

圖5 Modbus RTU 主站初始化
圖中各參數(shù)含義如下
| 編號 | 符號/含義 | 說 明 |
| a | EN / 使能 | 必須保證每一掃描周期都被使能(使用SM0.0)。 |
| b | Mode / 模式 | 為1時使能為Modbus協(xié)議;為0時恢復為PPI協(xié)議。 |
| c | Baud / 波特率 | 支持的通訊波特率為1200,2400,4800,9600,19200,38400,57600,115200。 |
| d | Parity / 校驗 | 校驗方式選擇:0=無校驗;1=奇校驗,2=偶校驗。 |
| e | Timeout / 超時 | 主站等待從站響應的時間,以毫秒為單位,典型的設置值為 1000毫秒,允許設置的范圍為1-32767。這個值必須設置足夠大以保證從站有時間響應。 |
| f | Done / 完成位 | 初始化完成,此位會自動置1。 |
| g | Error / 錯誤位 | 初始化錯誤代碼。 |
表3
調(diào)用 Modbus RTU 主站讀寫子程序MBUS_MSG,發(fā)送一個Modbus 請求。

圖6 調(diào)用Modbus RTU 主站讀寫子程序
圖中各參數(shù)含義如下
| 編號 | 符號/含義 | 說 明 |
| a | EN / 使能 | 同一時刻只能有一個讀寫功能使能。 |
| b | First / 讀寫請求位 | 每一個新的讀寫請求必須使用脈沖觸發(fā)。 |
| c | Slave / 從站地址 | 可選擇的范圍1–247。 |
| d | RW / 讀寫操作位 | 0=讀, 1=寫。 |
| e | Addr / 讀寫從站的數(shù)據(jù)地址 | 選擇讀寫的數(shù)據(jù)類型: |
| 00001 至 0xxxx - 開關量輸出 | ||
| 10001 至 1xxxx - 開關量輸入 | ||
| 30001 至 3xxxx - 模擬量輸入 | ||
| 40001 至 4xxxx - 保持寄存器。 | ||
| f | Count / 數(shù)據(jù)的個數(shù) | 通訊的數(shù)據(jù)個數(shù)(位或字的個數(shù))。 |
| g | DaptPtr / 數(shù)據(jù)指針 | 如果是讀指令,讀回的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中; |
| 如果是寫指令,要寫出的數(shù)據(jù)放到這個數(shù)據(jù)區(qū)中。 | ||
| h | Done / 完成位 | 讀寫功能完成位。 |
| i | Error / 錯誤代碼 | 只有在Done位為1時,錯誤代碼才有效。 |
表4
從上圖中可見,S7-200作為Modbus RTU主站,波特率9.6Kb/s,偶校驗,連接從站的站地址是3,數(shù)據(jù)存儲區(qū)為VB2000開始的區(qū)域。
4.2 CP341 做Modbus 從站的硬件組態(tài)
4.2.1 硬件組態(tài)

圖7 S7-300側(cè)硬件組態(tài)
4.2.2 設置Modbus參數(shù)

圖8 消息楨字符結(jié)構
按照上述操作設置參數(shù),從上圖可以看出,本例中的傳輸波特率9.6Kb/s,1位起始位,8位數(shù)據(jù)位,偶校驗位,1位停止位,從站站地址是3,主從通訊設備的字符幀格式和波特率等參數(shù)設置需要*。

圖9 RS422/485 接口組態(tài)
RS422/485接口只能一個有效,接口的選擇只需要組態(tài)而不需要在硬件上短接。
4.2.3 Modbus驅(qū)動的
當配置好Modbus通信的參數(shù)后,保存前需要向CP341odbus Slave的驅(qū)動,一旦下載完成后無需再次。
需要注意的是,在驅(qū)動時(可以在無Dongle情況下),需要將CPU停機,然后,操作過程如下所示。

圖10 Dongle時,需要CPU停機



























汤阴县|
巴彦淖尔市|
遵义县|
纳雍县|
苍溪县|
屯门区|
武定县|
淮安市|
红安县|
民勤县|
开鲁县|
新巴尔虎右旗|
武城县|
南宁市|
江安县|
平安县|
临湘市|
汤阴县|
响水县|
梨树县|
斗六市|
西城区|
大洼县|
贵阳市|
吉林市|
吉隆县|
阜城县|
兴安盟|
墨江|
灵山县|
莱芜市|
平利县|
监利县|
呼和浩特市|
墨脱县|
凌海市|
玉环县|
宜州市|
汉中市|
竹北市|
商都县|