S7-1200 CPU 與 S7-200 SMART S7通信(S7-1200 作為服務(wù)器)
S7-200 SMART CPU 固件版本 V2.0 及其以上,本體集成的 PROFINET 通信接口支持 S7 通信,可以通過向?qū)Щ蚴褂?GET/PUT 指令兩種方式實現(xiàn),最多可以建立 16 個 S7 連接,其中包括:8 個客戶端,8 個服務(wù)器。
S7-1200 CPU 本體集成的 PROFINET 通信接口可以做 S7 通信的服務(wù)器。S7-1200 僅支持 S7 單邊通信,做客戶端僅需單邊組態(tài)連接和編程,而做服務(wù)器端則只需準(zhǔn)備好通信的數(shù)據(jù)即可。S7-1200 作為S7服務(wù)器,可以使用 6 個動態(tài)連接資源。
本文以 S7-200 SMART 作客戶端通過向?qū)У姆绞脚c S7-1200 進(jìn)行 S7 通信為例,加以說明。
硬件和軟件需求及所完成的通信任務(wù)
硬件:
① S7-200 SMART 標(biāo)準(zhǔn) CPU 固件版本 V2.5 (文檔中S7-ST40 DC/DC/DC 訂貨號:6ES7288-1ST40-0AA0)
② S7-1200 CPU 固件版本 V4.4(文檔中S7-1215 DC/DC/DC 訂貨號:6ES7215-1AG40-0XB0)
③ PC (帶以太網(wǎng)卡),TP電纜(以太網(wǎng)電纜)
軟件:
① STEP7-MicroWIN SMART V2.5
② TIA STEP7 V16
所完成的通信任務(wù):
① S7-200 SMART 將 VB0 開始的連續(xù) 20 個字節(jié)中的數(shù)據(jù)發(fā)送到 S7-1200 通信數(shù)據(jù)區(qū) DB8 中的 20 個字節(jié)中。
② S7-200 SMART 讀取 S7-1200 DB9 中的 20 個字節(jié)數(shù)據(jù)并存儲在 VB100 開始的連續(xù) 20 個字節(jié)中。
S7-1200側(cè)組態(tài)和編程
1. 新建項目
在項目中,添加 S7-1215 DC/DC/DC,并為其添加子網(wǎng)和分配 IP 地址,如圖 1 所示。
圖1 S7-1215 DC/DC/DC
2. 創(chuàng)建 DB
依據(jù)要求,創(chuàng)建 DB 數(shù)據(jù)區(qū),并建立相應(yīng)數(shù)組,分別命名為 Write、Read,如圖 2 所示。
圖2 創(chuàng)建 DB
3. 創(chuàng)建DB1
S7-200 SMART 作為 S7 客戶端只能訪問服務(wù)器的V區(qū),而S7-1200沒有V區(qū), V 區(qū)對應(yīng) S7-1200 中 DB1,且只能對應(yīng) DB1 ,所以需要把 DB9 中數(shù)據(jù)傳送到 DB1,而將DB1的數(shù)據(jù)傳送到DB8,進(jìn)而間接實現(xiàn) S7-200 SMART 對 S7-1200 DB8、 DB9 寫和讀的操作;創(chuàng)建 DB1 并建立相關(guān)變量,如圖 3 所示。
圖3 創(chuàng)建 DB1
4. 優(yōu)化的塊訪問
數(shù)據(jù)塊的屬性中,需要選擇非優(yōu)化的塊訪問(把默認(rèn)的勾取消掉),DB1 需要此操作,DB8、DB9 無需此操作,如圖 4 所示。注意:需要編譯后,才可看到偏移量。
圖4 優(yōu)化的塊訪問
5. 關(guān)聯(lián)變量
將 DB8、DB9 中需要寫和讀的變量與 DB1 中的數(shù)據(jù)進(jìn)行關(guān)聯(lián),如圖 5 所示。
圖5 關(guān)聯(lián)變量
6. 連接機(jī)制
S7-1200 作為服務(wù)器進(jìn)行 S7 通信,對于 CPU V4.0以后的固件版本,需要勾選“允許來自遠(yuǎn)程對象的PUT/GET通信訪問”,否者,無法建立通信,如圖 6 所示。
圖6 連接機(jī)制
注意:
S7-200 SMART 中 V 區(qū)對應(yīng)于 S7-1200 中 DB1,且只能對應(yīng) DB1。
S7-200 SMART側(cè)組態(tài)和編程
1. 系統(tǒng)塊
雙擊“系統(tǒng)塊”,設(shè)置 S7-200 SMART CPU 的 IP 地址,如圖 7 所示。
圖7 系統(tǒng)塊
2. 向?qū)?/strong>
使用向?qū)Чδ苓M(jìn)行 GET/PUT 通信編程,并添加兩個操作,分別命名為 Read 、Write,完成后點擊“下一個”,如圖 8 所示。
圖8 向?qū)?/p>
3. 配置Read數(shù)據(jù)
通過選擇操作類型 GET、設(shè)置遠(yuǎn)程 CPU 的 IP 地址、設(shè)置本地 CPU 數(shù)據(jù)區(qū)、設(shè)置遠(yuǎn)程 CPU 數(shù)據(jù)區(qū)配置 Read 數(shù)據(jù),操作完成后,點擊“下一個”,其含義為:S7-200 SMART 讀取 S7-1200 DB1 中以 DB1.DBB0 為起始地址的連續(xù)20 個字節(jié)數(shù)據(jù)并存儲在以 VB100 開始的連續(xù) 20 個字節(jié)中,如圖 9 所示。
圖9 配置 Read 數(shù)據(jù)
4. 配置Write數(shù)據(jù)
通過選擇操作類型 PUT、設(shè)置遠(yuǎn)程 CPU 的 IP 地址、設(shè)置本地 CPU 數(shù)據(jù)區(qū)、設(shè)置遠(yuǎn)程 CPU 數(shù)據(jù)區(qū)配置 Wrtie 數(shù)據(jù),操作完成后,點擊“下一個”,其含義為:S7-200 SMART 將 VB0 開始的連續(xù) 20 個字節(jié)中的數(shù)據(jù)發(fā)送到 S7-1200 通信數(shù)據(jù)區(qū) DB1 中以 DB1.DBB20 開始的連續(xù) 20 個字節(jié)中,如圖 10 所示。
圖10 配置 Write 數(shù)據(jù)
5. 存儲區(qū)分配
在這里指定 V 存儲區(qū)中放置組態(tài)的起始地址,建議使用較大數(shù)值,以免和其他數(shù)據(jù)沖突,操作完成后,點擊“下一個”,如圖 11 所示。
圖11 存儲區(qū)分配
6. 組件
在這里可以看到組態(tài)后自動生成的組件,點擊“生成”,完成GET/PUT向?qū)渲茫鐖D 12 所示。
圖12 組件
7. 編程
在 Main 函數(shù)中調(diào)用 NET_EXE 子程序,并分配相關(guān)引腳參數(shù),如圖 13 所示。
圖13 編程
至此,S7-200 SMART 作客戶端與 S7-1200 進(jìn)行 S7 通信的組態(tài)和編程就完成了。
通信測試
連接狀態(tài)
S7 連接成功的建立是調(diào)用 PUT/GET 指令的基礎(chǔ),S7 連接成功建立后,方能正確執(zhí)行 PUT/GET 指令。在 TIA 軟件的網(wǎng)絡(luò)視圖中,轉(zhuǎn)至在線,可以監(jiān)控 S7 連接狀態(tài),如圖 14 所示。
圖14 S7 連接狀態(tài)
數(shù)據(jù)交互
通過在線監(jiān)控查看兩者之間的數(shù)據(jù)交互是否正確,如圖 15 、圖 16 所示,
圖15 DB8 數(shù)據(jù)
圖16 DB9 數(shù)據(jù)
審核編輯:劉清
評論
查看更多