許昌市西門子6ES7214-2BD23-0XB8
S7通信是S7系列PLC基于MPI、PROFIBUS、ETHERNET網(wǎng)絡的一種優(yōu)化的通信協(xié)議,主要用于S7-300/400PLC之間的通信。
經(jīng)過測試發(fā)現(xiàn)S7-1200與S7-200 SMART PLC 之間的S7通信也是可以成功的,S7-1200側編程調用PUT/GET指令或者S7-200 SMART側編程調用PUT/GET指令都是可以的。
注意:
1.S7-200 SMART CPU 與S7-1200 之間的S7通信未經(jīng)西門子官方測試,本文檔僅供客戶測試使用,使用該種通信方式所產(chǎn)生的任何危險需要有客戶自己承擔!
2.S7-200 SMARTPLC V2.0 版本才開始支持PUT/GET通信,V1.0版本的CPU需要升級固件后方可支持PUT/GET。
3.本文只介紹了S7-1200側調用PUT/GET指令編程方式(S7-200 SMART CPU作為服務器方,無需編程),未介紹S7-200 SMART側編程調用PUT/GET方式。
本文以采用1個CPU1215C(6ES7215-1AG40-0AB0),1個S7-200 SMART PLC為例,介紹它們之間的S7通信。
硬件:
① S7-1200 CPU
② S7-200 SMART CPU (固件V2.0)
③ PC (帶以太網(wǎng)卡)
④ TP以太網(wǎng)電纜
軟件:
① STEP7 V13 SP1
② STEP 7 Micro/WIN SMART V2.1
所完成的通信任務:
① S7-1200 將通信數(shù)據(jù)區(qū) DB1 中的200 個字節(jié)發(fā)送到 S7-200 SMART的VB 數(shù)據(jù)區(qū)。
② S7-1200 讀取 S7-200 SMART中的VB數(shù)據(jù)區(qū)存儲到S7-1200 的數(shù)據(jù)區(qū)DB2 。
1. 使用TIA V13 軟件新建一個項目,添加1個S7-1200站點并為其分配網(wǎng)絡和IP地址 ,如圖1.所示。
圖1. TIA 軟件中添加S7-1200站點
2. TIA 軟件的網(wǎng)絡視圖中為S7-1200 CPU 添加一個新連接,如圖2.所示。
圖2.S7-1200 添加新連接
在彈出"創(chuàng)建新連接"對話框中選擇"未指定",然后點擊"添加"按鈕,添加新連接,如圖3.所示。
圖3.選擇未指定連接
需要為新創(chuàng)建的連接指定連接伙伴方的IP地址和TSAP,設置方法如圖4.,圖5.所示。
注意:S7-200 SMART 側的TSAP 只能設置為03.00 或者03.01 。
圖4. 設置連接伙伴方IP地址
圖5. 設置連接伙伴方TSAP地址
1 .創(chuàng)建發(fā)送數(shù)據(jù)塊DB1(接收區(qū)數(shù)據(jù)塊DB2類似),數(shù)據(jù)塊定義為200個字節(jié)的數(shù)組且數(shù)據(jù)塊的屬性中需要取消"優(yōu)化的塊訪問"選項,如圖6. 所示。
圖6. 創(chuàng)建數(shù)據(jù)塊并取消優(yōu)化訪問
2.發(fā)送數(shù)據(jù)塊與接收數(shù)據(jù)塊創(chuàng)建完成后,即可在OB1中調用PUT/GET指令,進行S7通信了,如圖7.所示。
圖7.調用PUT/GET指令
表1.PUT 指令參數(shù)說明
CALL “PUT” |
, %DB3 |
//調用 PUT,使用背景DB塊:DB3 |
REQ |
:=%M0.0 |
//上升沿觸發(fā)程序塊的調用 |
ID |
:=W#16#0100 |
//連接號,要與連接配置中一致,創(chuàng)建連接時的連接號,見圖1.標記7 |
DONE |
:=%M2.0 |
// 為1時,發(fā)送完成 |
ERROR |
:=%M2.1 |
// 為1時,有故障發(fā)生 |
STATUS |
:=%MW4 |
// 狀態(tài)代碼 |
ADDR_1 |
:=P#DB1.DBX0.0 BYTE 200 |
// 發(fā)送到通信伙伴數(shù)據(jù)區(qū)的地址,對應S7-200 SMART VB0-VB199 |
SD_1 |
:=P#DB1.DBX0.0 BYTE 200 |
// 本地發(fā)送數(shù)據(jù)區(qū) |
表2.GET指令參數(shù)說明
CALL “GET” |
, %DB4 |
//調用 GET,使用背景DB塊:DB4 |
REQ |
:=%M0.1 |
//系統(tǒng)時鐘 2秒脈沖 |
ID |
:=W#16#0100 |
//連接號,要與連接配置中一致,創(chuàng)建連接時的連接號,見圖1.標記7 |
NDR |
:=%M2.2 |
//為1時,接收到新數(shù)據(jù) |
ERROR |
:=%M2.3 |
//為1時,有故障發(fā)生 |
STATUS |
:=%MW6 |
//狀態(tài)代碼 |
ADDR_1 |
:=P#DB1.DBX200.0 BYTE 200 |
//從通信伙伴數(shù)據(jù)區(qū)讀取數(shù)據(jù)的地址,對應S7-200 SMART VB200-VB399 |
RD_1 |
:=P#DB2.DBX0.0 BYTE 200 |
//本地接收數(shù)據(jù)地址 |
綜合以上步驟,已經(jīng)完成了S7-1200 硬件和軟件部分的編程,下載只需要將程序下載到S7-1200 PLC 即可。
1.連接狀態(tài)監(jiān)控
S7連接成功的建立是調用PUT/GET指令的基礎,S7連接成功建立后,方能正確執(zhí)行PUT/GET指令。
在TIA 軟件的網(wǎng)絡視圖中,將軟件切換到在線模式,可以監(jiān)控S7連接狀態(tài),如圖8.所示。
圖8.監(jiān)控S7連接狀態(tài)
S7連接成功建立后,S7-1200 觸發(fā)PUT/GET指令,通過TIA 軟件監(jiān)控表和STEP 7 Micro/WIN SMART 軟件的狀態(tài)表,可以監(jiān)控數(shù)據(jù)通信是否正常。
注意:S7-200 SMART中V區(qū)對應于DB1,即在PUT指令中使用的通信伙伴數(shù)據(jù)區(qū)ADDR_1=P#DB1.DBX0.0 BYTE 200在S7-200 SMAR中對于為VB0~VB199。
本文檔中S7-200 SMART 做S7通訊的服務器,占用S7-200 SMART PLC 的服務器連接資源,S7-200 SMART PLC 本身不需要編寫通訊程序。
S7-1200 與S7-200 SMART S7 通訊的另外一種方法是S7-200 SAMRT PLC做客服端,S7-1200做服務器。該方式需要S7-200 SMART調用PUT/GET指令,S7-1200側不需要編寫通訊程序。
該方式比較簡單,本文檔不做介紹。
許昌市西門子6ES7214-2BD23-0XB8