通過CM1243-5實(shí)現(xiàn)S7-1200與S7-300之間的S7通信
使用 STEP7 V12,CM1243-5 的 DP 通信接口可以做 S7 通信的客戶端或服務(wù)器;S7-1200 僅支持 S7 單邊通信;CM1243-5 與 S7-300 之間的 S7 通信僅需在作為客戶端的一邊進(jìn)行組態(tài)連接和編程,而服務(wù)器端只需要準(zhǔn)備好通信數(shù)據(jù)塊即可。
以下例子描述了 CM1243-5 與 S7-300 之間的 S7 通信的兩種方式:
一、CM1243-5 與 S7-300 CPU 集成 DP 接口的 S7 通信;
二、CM1243-5 與 CP342-5 之間的 S7 通信。
一、CM1243-5 與 S7-300 CPU 集成 DP 口的 S7 通信
硬件和軟件需求
硬件:
① 1臺(tái) 1215C + 1臺(tái) CM1243-5
② 1臺(tái) CPU315-2DP
③ DP 接頭及 DP電纜
④ PC(帶以太網(wǎng)卡)
⑤ 以太網(wǎng)電纜,PC adapter 編程電纜
軟件:
① TIA PORTAL V12 SP1 Update2
所完成的通信任務(wù):
CM1243-5 作為客戶端創(chuàng)建 S7 連接,將數(shù)據(jù)塊 DB3 中的10個(gè)字節(jié)發(fā)送到 CPU315-2DP 的數(shù)據(jù)塊 DB1 中;同時(shí),讀取 CPU315-2DP 數(shù)據(jù)塊 DB2 中的10個(gè)字節(jié)存儲(chǔ)到 1215C 的數(shù)據(jù)塊 DB4 中。
CM1243-5 作為客戶端
1. 使用 STEP7 V12 軟件新建一個(gè)項(xiàng)目并完成硬件配置
在項(xiàng)目樹“設(shè)備和網(wǎng)絡(luò)”>“網(wǎng)絡(luò)視圖”視圖下,創(chuàng)建兩個(gè)設(shè)備的 PROFIBUS 連接。用鼠標(biāo)點(diǎn)中 PLC1 上的 CM1243-5 DP 通信口的粉色小方框,然后拖拽出一條線到 PLC2 上的 CPU315-2DP 通信口上,松開鼠標(biāo),連接建立。
2. 組態(tài) S7 連接
打開“網(wǎng)絡(luò)視圖”配置網(wǎng)絡(luò),首先點(diǎn)中左上角的“連接”圖標(biāo),選擇“S7 連接”,然后選中 PLC1 上的 CPU,鼠標(biāo)右鍵選擇“添加新連接”。如圖1所示。
圖1. 添加 S7 連接
然后在“創(chuàng)建新連接”窗口中,選擇“PLC2”,并在右側(cè)窗口中選擇本地接口“CM1243-5,DP 接口”,最后再點(diǎn)擊“添加”建立 S7 連接。如圖2所示。
圖2. 建立 S7 連接
“S7_連接_1”為建立的連接,選中連接,在屬性的“常規(guī)”條目中可查看該 S7 連接的相關(guān)信息。如圖3所示。
圖3. S7 連接信息
點(diǎn)擊“特殊連接屬性”,確認(rèn) S7 連接由 PLC1 主動(dòng)建立連接(即 PLC1 為客戶端)。如圖4所示。
圖4. PLC1 作為客戶端
配置完網(wǎng)絡(luò)連接,編譯保存并下載。在線后可查看通信連接狀態(tài)。如圖5所示。
圖5. 通信連接狀態(tài)
3. 軟件編程
分別在 PLC1 中創(chuàng)建發(fā)送數(shù)據(jù)塊 DB3 和接收數(shù)據(jù)塊 DB4 ,在 PLC2 中創(chuàng)建接收數(shù)據(jù)塊 DB1 和發(fā)送數(shù)據(jù)塊 DB2 ,均定義為10字節(jié)的長度,并在 DB 塊的“屬性”中取消“優(yōu)化的塊訪問”,編譯并保存。如圖6所示。
圖6. DB 塊屬性設(shè)置
在 PLC1 的 OB1 主程序中,從“指令”>“通信”>“S7 通信”下,調(diào)用 GET、PUT 通信指令,編譯保存并下載。程序調(diào)用如圖7所示。
圖7. 程序調(diào)用
CALL “PUT” | , %DB1 | //調(diào)用 PUT,使用背景DB塊:DB1 |
REQ | :=%M0.5 | //系統(tǒng)時(shí)鐘 1秒脈沖 |
ID | :=W#16#100 | //連接號(hào),要與連接配置中一致,創(chuàng)建連接時(shí)的本地連接號(hào) |
DONE | :=%M2.0 | // 為1時(shí),發(fā)送完成 |
ERROR | :=%M2.1 | // 為1時(shí),有故障發(fā)生 |
STATUS | :=%MW4 | // 狀態(tài)代碼 |
ADDR_1 | :=P#DB1.DBX0.0 BYTE 10 | // 發(fā)送到通信伙伴數(shù)據(jù)區(qū)的地址 |
SD_1 | :=P#DB3.DBX0.0 BYTE 10 | // 本地發(fā)送數(shù)據(jù)區(qū) |
CALL “GET” | , %DB2 | //調(diào)用 GET,使用背景DB塊:DB2 |
REQ | :=%M0.5 | //系統(tǒng)時(shí)鐘 1秒脈沖 |
ID | :=W#16#100 | //連接號(hào),要與連接配置中一致,創(chuàng)建連接時(shí)的本地連接號(hào) |
NDR | :=%M2.2 | //為1時(shí),接收到新數(shù)據(jù) |
ERROR | :=%M2.3 | //為1時(shí),有故障發(fā)生 |
STATUS | :=%MW6 | //狀態(tài)代碼 |
ADDR_1 | :=P#DB2.DBX0.0 BYTE 10 | //從通信伙伴數(shù)據(jù)區(qū)讀取數(shù)據(jù)的地址 |
RD_1 | :=P#DB4.DBX0.0 BYTE 10 | //本地接收數(shù)據(jù)地址 |
4. 監(jiān)控結(jié)果
通過在 S7-1200 側(cè)編程進(jìn)行 S7 通信,實(shí)現(xiàn)兩個(gè) CPU 之間的數(shù)據(jù)交換,監(jiān)控結(jié)果如圖8所示。
圖8. 監(jiān)控結(jié)果
二、CM1243-5 與 CP342-5 的 S7 通信
硬件和軟件需求
硬件:
① 1臺(tái) 1215C + 1臺(tái) CM1243-5
② 1臺(tái) CPU314C + 1臺(tái) CP342-5
③ DP 接頭及 DP電纜
④ PC(帶以太網(wǎng)卡)
⑤ 以太網(wǎng)電纜,PC adapter 編程電纜
軟件:
① TIA PORTAL V12 SP1 Update2
所完成的通信任務(wù):
① CM1243-5 作為客戶端創(chuàng)建 S7 連接,將數(shù)據(jù)塊 DB3 中的10個(gè)字節(jié)發(fā)送到 CPU314C 的數(shù)據(jù)塊 DB1 中;同時(shí),讀取 CPU314C 數(shù)據(jù)塊 DB2 中的10個(gè)字節(jié)存儲(chǔ)到 1215C 的數(shù)據(jù)塊 DB4 中。
② CP342-5 作為客戶端創(chuàng)建 S7 連接,將數(shù)據(jù)塊 DB3 中的10個(gè)字節(jié)發(fā)送到 1215C 的數(shù)據(jù)塊 DB1 中;同時(shí),讀取 1215C 數(shù)據(jù)塊 DB2 中的10個(gè)字節(jié)存儲(chǔ)到 CPU314C 的數(shù)據(jù)塊 DB4 中。
① CM1243-5 作為客戶端
1. 使用 STEP7 V12 軟件新建一個(gè)項(xiàng)目并完成硬件配置
在項(xiàng)目樹“設(shè)備和網(wǎng)絡(luò)”>“網(wǎng)絡(luò)視圖”視圖下,創(chuàng)建兩個(gè)設(shè)備的 PROFIBUS 連接。用鼠標(biāo)點(diǎn)中 PLC1 上的 CM1243-5 DP 通信口的粉色小方框,然后拖拽出一條線到 PLC2 上的 CP342-5 通信口上,松開鼠標(biāo),連接建立。
2. 組態(tài) S7 連接
打開“網(wǎng)絡(luò)視圖”配置網(wǎng)絡(luò),首先點(diǎn)中左上角的“連接”圖標(biāo),選擇“S7 連接”,然后選中 PLC1 上的 CPU,鼠標(biāo)右鍵選擇“添加新連接”。如圖9所示。
圖9. 添加 S7 連接
然后在“創(chuàng)建新連接”窗口中,選擇“PLC2”,并在右側(cè)窗口中選擇本地接口“CM1243-5,DP 接口”,最后再點(diǎn)擊“添加”建立 S7 連接。如圖10所示。
圖10. 建立 S7 連接
“S7_連接_1”為建立的連接,選中連接,在屬性的“常規(guī)”條目中可查看該 S7 連接的相關(guān)信息。如圖11所示。
圖11. S7 連接信息
點(diǎn)擊“特殊連接屬性”,確認(rèn) S7 連接由 PLC1 主動(dòng)建立連接(即 PLC1 為客戶端)。如圖12所示。
圖12. PLC1 作為客戶端
配置完網(wǎng)絡(luò)連接,編譯保存并下載。在線后可查看通信連接狀態(tài)。如圖13所示。
圖13. 通信連接狀態(tài)
3. 軟件編程
分別在 PLC1 中創(chuàng)建發(fā)送數(shù)據(jù)塊 DB3 和接收數(shù)據(jù)塊 DB4 ,在 PLC2 中創(chuàng)建接收數(shù)據(jù)塊 DB1 和發(fā)送數(shù)據(jù)塊 DB2 ,均定義為10字節(jié)的長度,并在 DB 塊的“屬性”中取消“優(yōu)化的塊訪問”,編譯并保存。如圖14所示。
圖14. DB 塊屬性設(shè)置
在 PLC1 的 OB1 主程序中,從“指令”>“通信”>“S7 通信”下,調(diào)用 GET、PUT 通信指令,編譯保存并下載。程序調(diào)用如圖15所示。
圖15. 程序調(diào)用
CALL “PUT” | , %DB1 | //調(diào)用 PUT,使用背景DB塊:DB1 |
REQ | :=%M0.5 | //系統(tǒng)時(shí)鐘 1秒脈沖 |
ID | :=W#16#100 | //連接號(hào),要與連接配置中一致,創(chuàng)建連接時(shí)的本地連接號(hào) |
DONE | :=%M2.0 | // 為1時(shí),發(fā)送完成 |
ERROR | :=%M2.1 | // 為1時(shí),有故障發(fā)生 |
STATUS | :=%MW4 | // 狀態(tài)代碼 |
ADDR_1 | :=P#DB1.DBX0.0 BYTE 10 | // 發(fā)送到通信伙伴數(shù)據(jù)區(qū)的地址 |
SD_1 | :=P#DB3.DBX0.0 BYTE 10 | // 本地發(fā)送數(shù)據(jù)區(qū) |
CALL “GET” | , %DB2 | //調(diào)用 GET,使用背景DB塊:DB2 |
REQ | :=%M0.5 | //系統(tǒng)時(shí)鐘 1秒脈沖 |
ID | :=W#16#100 | //連接號(hào),要與連接配置中一致,創(chuàng)建連接時(shí)的本地連接號(hào) |
NDR | :=%M2.2 | //為1時(shí),接收到新數(shù)據(jù) |
ERROR | :=%M2.3 | //為1時(shí),有故障發(fā)生 |
STATUS | :=%MW6 | //狀態(tài)代碼 |
ADDR_1 | :=P#DB2.DBX0.0 BYTE 10 | //從通信伙伴數(shù)據(jù)區(qū)讀取數(shù)據(jù)的地址 |
RD_1 | :=P#DB4.DBX0.0 BYTE 10 | //本地接收數(shù)據(jù)地址 |
4. 監(jiān)控結(jié)果
通過在 S7-1200 側(cè)編程進(jìn)行 S7 通信,實(shí)現(xiàn)兩個(gè) CPU 之間的數(shù)據(jù)交換,監(jiān)控結(jié)果如圖16所示。
圖16. 監(jiān)控結(jié)果
② CP342-5 作為客戶端
1. 使用 STEP7 V12 軟件新建一個(gè)項(xiàng)目并完成硬件配置
在項(xiàng)目樹“設(shè)備和網(wǎng)絡(luò)”>“網(wǎng)絡(luò)視圖”視圖下,創(chuàng)建兩個(gè)設(shè)備的 PROFIBUS 連接。用鼠標(biāo)點(diǎn)中 PLC1 上的 CM1243-5 DP 通信口的粉色小方框,然后拖拽出一條線到 PLC2 上的 CP342-5 通信口上,松開鼠標(biāo),連接建立。
2. 組態(tài) S7 連接
打開“網(wǎng)絡(luò)視圖”配置網(wǎng)絡(luò),首先點(diǎn)中左上角的“連接”圖標(biāo),選擇“S7 連接”,然后選中 PLC2 上的 CPU,鼠標(biāo)右鍵選擇“添加新連接”。如圖17所示。
圖17. 添加 S7 連接
然后在“創(chuàng)建新連接”窗口中,選擇“PLC1”,并在右側(cè)窗口中選擇本地接口“CP342-5_1”,最后再點(diǎn)擊“添加”建立 S7 連接。如圖18所示。
圖18. 建立 S7 連接
“S7_連接_1”為建立的連接,選中連接,在屬性的“常規(guī)”條目中可查看該 S7 連接的相關(guān)信息。如圖19所示。
圖19. S7 連接信息
點(diǎn)擊“特殊連接屬性”,確認(rèn) S7 連接由 PLC2 主動(dòng)建立連接(即 PLC2 為客戶端)。如圖20所示。
圖20. PLC2 作為客戶端
配置完網(wǎng)絡(luò)連接,編譯保存并下載。在線后可查看通信連接狀態(tài)。如圖21所示。
圖21. 通信連接狀態(tài)
3. 軟件編程
分別在 PLC1 中創(chuàng)建發(fā)送數(shù)據(jù)塊 DB1 和接收數(shù)據(jù)塊 DB2 ,在 PLC2 中創(chuàng)建接收數(shù)據(jù)塊 DB3 和發(fā)送數(shù)據(jù)塊 DB4 ,均定義為10字節(jié)的長度,并在 DB 塊的“屬性”中取消“優(yōu)化的塊訪問”,編譯并保存。如圖22所示。
圖22. DB 塊屬性設(shè)置
在 PLC2 的 OB1 主程序中,從“指令”>“通信”>“S7 通信”>“其它”下,調(diào)用 GET_S、PUT_S 通信指令,編譯保存并下載。程序調(diào)用如圖23所示。
圖23. 程序調(diào)用
CALL “PUT” | , %DB1 | //調(diào)用 PUT,使用背景DB塊:DB1 |
REQ | :=%M0.5 | //系統(tǒng)時(shí)鐘 1秒脈沖 |
ID | :=W#16#1 | //連接號(hào),要與連接配置中一致,創(chuàng)建連接時(shí)的本地連接號(hào) |
DONE | :=%M2.0 | // 為1時(shí),發(fā)送完成 |
ERROR | :=%M2.1 | // 為1時(shí),有故障發(fā)生 |
STATUS | :=%MW4 | // 狀態(tài)代碼 |
ADDR_1 | :=P#DB1.DBX0.0 BYTE 10 | // 發(fā)送到通信伙伴數(shù)據(jù)區(qū)的地址 |
SD_1 | :=P#DB3.DBX0.0 BYTE 10 | // 本地發(fā)送數(shù)據(jù)區(qū) |
CALL “GET” | , %DB2 | //調(diào)用 GET,使用背景DB塊:DB2 |
REQ | :=%M0.5 | //系統(tǒng)時(shí)鐘 1秒脈沖 |
ID | :=W#16#1 | //連接號(hào),要與連接配置中一致,創(chuàng)建連接時(shí)的本地連接號(hào) |
NDR | :=%M2.2 | //為1時(shí),接收到新數(shù)據(jù) |
ERROR | :=%M2.3 | //為1時(shí),有故障發(fā)生 |
STATUS | :=%MW6 | //狀態(tài)代碼 |
ADDR_1 | :=P#DB2.DBX0.0 BYTE 10 | //從通信伙伴數(shù)據(jù)區(qū)讀取數(shù)據(jù)的地址 |
RD_1 | :=P#DB4.DBX0.0 BYTE 10 | //本地接收數(shù)據(jù)地址 |
4. 監(jiān)控結(jié)果
通過在 314C 側(cè)編程進(jìn)行 S7 通信,實(shí)現(xiàn)兩個(gè) CPU 之間的數(shù)據(jù)交換,監(jiān)控結(jié)果如圖24所示。
圖24. 監(jiān)控結(jié)果
審核編輯:劉清
-
以太網(wǎng)
+關(guān)注
關(guān)注
40文章
5459瀏覽量
172354 -
plc
+關(guān)注
關(guān)注
5016文章
13376瀏覽量
464705 -
cpu
+關(guān)注
關(guān)注
68文章
10899瀏覽量
212614 -
S7-300
+關(guān)注
關(guān)注
8文章
225瀏覽量
34352 -
S7-1200
+關(guān)注
關(guān)注
11文章
331瀏覽量
18038
原文標(biāo)題:通過CM1243-5實(shí)現(xiàn)S7-1200與S7-300之間的S7通信
文章出處:【微信號(hào):gh_a8b121171b08,微信公眾號(hào):機(jī)器人及PLC自動(dòng)化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論