S7-1200 與 S7-300 PN S7 通信例程
本文為S7-1200 與 S7-300 PN 之間 S7 通信的幾種可能情況分別提供了例程:
1. 同一項目中S7-1200 與 S7-300 PN 口之間 S7 通信,S7-1200 作為 S7 通信客戶端,S7-300 PN 作為服務器;
2. 同一項目中S7-1200 與 S7-300 PN 口之間 S7 通信,S7-1200 作為 S7 通信服務器,S7-300 PN 作為客戶端;
3. 不同項目中S7-1200 與 S7-300 PN 口之間 S7 通信,S7-1200 作為 S7 通信客戶端,S7-300 PN 作為服務器,雙方 CPU 都采用 TIA V14 SP1 編程組態(tài);
4. 不同項目中S7-1200 與 S7-300 PN 口之間 S7 通信,S7-1200 作為 S7 通信服務器,S7-300 PN 作為客戶端,雙方 CPU 都采用 TIA V14 SP1 編程組態(tài);
5. 不同項目中S7-1200 與 S7-300 PN 口之間 S7 通信,S7-1200 作為 S7 通信客戶端,S7-300 PN 作為服務器,S7-1200 使用STEP7 V14 SP1 編程組態(tài),S7-300PN 使用 STEP 7 V5.6 編程組態(tài);
6. 不同項目中S7-1200 與 S7-300 PN 口之間 S7 通信,S7-1200 作為 S7 通信服務器,S7-300 PN 作為客戶端,S7-1200 使用STEP7 V14 SP1 編程組態(tài),S7-300PN 使用 STEP 7 V5.6 編程組態(tài)。
1.同一項目中S7-1200 與 S7-300 PN 口之間 S7 通信(S7-1200 作為 S7 通信客戶端,S7-300 PN 作為服務器)
1.使用環(huán)境:
① S7-1200 V4.2
② S7-300PN V3.2
③ STEP7 V14 SP1
2.實現(xiàn)功能:
例程用于演示同一項目中S7-1200 與 S7-300 PN 口之間的S7通信,項目中 S7-1200 CPU 作為 S7 通信的客戶端,S7-300PN 作為 S7 通信的服務器。
① S7-1200 CPU調(diào)用 PUT 指令將本地數(shù)據(jù)區(qū) DB10 塊中的 10 個字節(jié)的數(shù)據(jù)傳送到 S7-300 CPU的數(shù)據(jù)區(qū) DB10 塊中。
② S7-1200 CPU調(diào)用 GET 指令讀取S7-300 CPU的數(shù)據(jù)區(qū) DB11 塊中10 個字節(jié)的數(shù)據(jù)存儲到本地數(shù)據(jù)區(qū) DB 11 塊中。
S7 通信服務器設置:
S7-300PN 作為 S7 通信的服務器無需編寫 S7 通信程序。
S7-1200_S7_Communication_With_S7-300PN_S7-1200_As_Client.zap14
2.同一項目中S7-1200 與 S7-300 PN 口之間 S7 通信(S7-1200 作為 S7 通信服務器,S7-300 PN 作為客戶端)
1.使用環(huán)境:
① S7-1200 V4.2
② S7-300PN V3.2
③ STEP7 V14 SP1
2.實現(xiàn)功能:
例程用于演示同一項目中S7-1200 與 S7-300 PN 口之間的S7通信,項目中 S7-1200 CPU 作為 S7 通信的服務器,S7-300PN 作為 S7 通信的客戶端。
① S7-300PN CPU調(diào)用 PUT 指令將本地數(shù)據(jù)區(qū) DB11 塊中的 10 個字節(jié)的數(shù)據(jù)傳送到 S7-1200 CPU的數(shù)據(jù)區(qū) DB11 塊中。
② S7-300PN CPU調(diào)用 GET 指令讀取S7-1200 CPU的數(shù)據(jù)區(qū) DB10 塊中10 個字節(jié)的數(shù)據(jù)存儲到本地數(shù)據(jù)區(qū) DB 10 塊中。
S7 通信服務器設置:
S7-1200 作為 S7 通信的服務器無需編寫 S7 通信程序,但是需要在 CPU 屬性"防護與安全 > 連接機制"中激活"允許來自遠程對象的 PUT/GET 通信訪問"。
S7-1200_S7_Communication_With_S7-300PN_S7-1200_As_Server.zap14
3.不同項目中S7-1200 與 S7-300 PN 口之間 S7 通信(S7-1200 作為 S7 通信客戶端,S7-300 PN 作為服務器)
1.使用環(huán)境:
① S7-1200 V4.2
② S7-300PN V3.2
③ STEP7 V14 SP1
2.實現(xiàn)功能:
例程用于演示不同項目中S7-1200 與 S7-300 PN 口之間的S7通信,項目中 S7-1200 CPU 作為 S7 通信的客戶端,S7-300PN 作為 S7 通信的服務器。
① S7-1200 CPU調(diào)用 PUT 指令將本地數(shù)據(jù)區(qū) DB10 塊中的 10 個字節(jié)的數(shù)據(jù)傳送到 S7-300 CPU的數(shù)據(jù)區(qū) DB10 塊中。
② S7-1200 CPU調(diào)用 GET 指令讀取S7-300 CPU的數(shù)據(jù)區(qū) DB11 塊中10 個字節(jié)的數(shù)據(jù)存儲到本地數(shù)據(jù)區(qū) DB 11 塊中。
S7 通信服務器設置:
S7-300PN 作為 S7 通信的服務器無需編寫 S7 通信程序。
注意:
S7-1200 項目中創(chuàng)建 S7 連接時,需要在網(wǎng)絡視圖中為"S7_連接"的屬性"常規(guī) > 地址詳細信息"中將伙伴 CPU 的 TSAP 設置為 03.02 。
S7-1200 項目:Different_Projects_S7-1200_As_Client.zap14
S7-300PN項目:Different_Projects_S7-300_As_Server.zap14
4.不同項目中S7-1200 與 S7-300 PN 口之間 S7 通信(S7-1200 作為 S7 通信服務器,S7-300 PN 作為客戶端)
1.使用環(huán)境:
① S7-1200 V4.2
② S7-300PN V3.2
③ STEP7 V14 SP1
2.實現(xiàn)功能:
例程用于演示不同項目中S7-1200 與 S7-300 PN 口之間的S7通信,項目中 S7-1200 CPU 作為 S7 通信的服務器,S7-300PN 作為 S7 通信的客戶端。
① S7-300PN CPU調(diào)用 PUT 指令將本地數(shù)據(jù)區(qū) DB11 塊中的 10 個字節(jié)的數(shù)據(jù)傳送到 S7-1200 CPU的數(shù)據(jù)區(qū) DB11 塊中。
② S7-300PN CPU調(diào)用 GET 指令讀取S7-1200 CPU的數(shù)據(jù)區(qū) DB10 塊中10 個字節(jié)的數(shù)據(jù)存儲到本地數(shù)據(jù)區(qū) DB 10 塊中。
S7 通信服務器設置:
S7-1200 作為 S7 通信的服務器無需編寫 S7 通信程序,但是需要在 CPU 屬性"防護與安全 > 連接機制"中激活"允許來自遠程對象的 PUT/GET 通信訪問"。
S7-1200 項目:Different_Projects_S7-1200_As_Server.zap14
S7-300PN項目:Different_Projects_S7-300_As_Client.zap14
5.不同項目中S7-1200 與 S7-300 PN 口之間 S7 通信(S7-1200 作為 S7 通信客戶端,S7-300 PN 作為服務器)
1.使用環(huán)境:
① S7-1200 V4.2
② S7-300PN V3.2
③ S7-1200 V4.2 使用STEP7 V14 SP1編程組態(tài);S7-300PN V3.2 使用 STEP 7 V5.6 編程組態(tài)。
2.實現(xiàn)功能:
例程用于演示不同項目中S7-1200 與 S7-300 PN 口之間的S7通信,項目中 S7-1200 CPU 作為 S7 通信的客戶端,S7-300PN 作為 S7 通信的服務器。
① S7-1200 CPU調(diào)用 PUT 指令將本地數(shù)據(jù)區(qū) DB10 塊中的 10 個字節(jié)的數(shù)據(jù)傳送到 S7-300 CPU的數(shù)據(jù)區(qū) DB10 塊中。
② S7-1200 CPU調(diào)用 GET 指令讀取S7-300 CPU的數(shù)據(jù)區(qū) DB11 塊中10 個字節(jié)的數(shù)據(jù)存儲到本地數(shù)據(jù)區(qū) DB 11 塊中。
S7 通信服務器設置:
S7-300PN 作為 S7 通信的服務器無需編寫 S7 通信程序。
注意:
S7-1200 項目中創(chuàng)建 S7 連接時,需要在網(wǎng)絡視圖中為"S7_連接"的屬性"常規(guī) > 地址詳細信息"中將伙伴 CPU 的 TSAP 設置為 03.02 。
S7-1200 項目:S7-1200_As_Client.zap14
S7-300PN項目:S7-300_As_Server.zip
6.不同項目中S7-1200 與 S7-300 PN 口之間 S7 通信(S7-1200 作為 S7 通信服務器,S7-300 PN 作為客戶端)
1.使用環(huán)境:
① S7-1200 V4.2
② S7-300PN V3.2
③ S7-1200 V4.2 使用STEP7 V14 SP1編程組態(tài);S7-300PN V3.2 使用 STEP 7 V5.6 編程組態(tài)。
2.實現(xiàn)功能:
例程用于演示不同項目中S7-1200 與 S7-300 PN 口之間的S7通信,項目中 S7-1200 CPU 作為 S7 通信的服務器,S7-300PN 作為 S7 通信的客戶端。
① S7-300PN CPU調(diào)用 PUT 指令將本地數(shù)據(jù)區(qū) DB11 塊中的 10 個字節(jié)的數(shù)據(jù)傳送到 S7-1200 CPU的數(shù)據(jù)區(qū) DB11 塊中。
② S7-300PN CPU調(diào)用 GET 指令讀取S7-1200 CPU的數(shù)據(jù)區(qū) DB10 塊中10 個字節(jié)的數(shù)據(jù)存儲到本地數(shù)據(jù)區(qū) DB 10 塊中。
S7 通信服務器設置:
S7-1200 作為 S7 通信的服務器無需編寫 S7 通信程序,但是需要在 CPU 屬性"防護與安全 > 連接機制"中激活"允許來自遠程對象的 PUT/GET 通信訪問"。
S7-1200 項目:S7-1200_As_Server.zap14
S7-300PN項目:S7-300_As_Client.zip
免責聲明
本例程僅供參考,程序中的CPU版本、類型可能與用戶實際使用不同,用戶可能需要先對例子程序做修改和調(diào)整,才能將其用于測試。本例程的作者和擁有者對于該例程的功能性和兼容性不負任何責任,使用該例程的風險完全由用戶自行承擔。由于它是免費的,所以不提供任何擔保,錯誤糾正和熱線支持,用戶不必為此聯(lián)系西門子技術支持與服務部門。