S7-1200 CPU 與 S7-300 PN/S7-400 S7 通信(S7-1200 作為服務(wù)器)
S7-1200 CPU 與 S7-300 CPU 之間的以太網(wǎng)通信通過 S7 通信來實現(xiàn)。當(dāng) S7-300 作為客戶端,S7-1200 作為服務(wù)器,需在客戶端單邊組態(tài)連接和編程,而作為服務(wù)器端的 S7-1200 只需準(zhǔn)備好通信的數(shù)據(jù)以及V4.0 版本以上CPU需要激活連接機制。
注意:如果在 S7-1200 一側(cè)使用 DB 塊作為通信數(shù)據(jù)區(qū),必須將 DB 塊定義成非優(yōu)化塊,否則會造成通信失敗。
此外本文也可以作為 S7-1200 與 S7-400 PN/CP 之間的 S7 通信文檔。
硬件和軟件需求及所完成的通信任務(wù)
所需條件:
① S7-1215 DC/DC/DC V4.4 / CPU 314C-2 PN/DP,V3.3
② TIA Portal V17 Professional / STEP7 V5.6 SP2 HF7
所完成的通信任務(wù):
① S7-300 CPU 讀取 S7-1200 CPU中 DB1 的 10 個字節(jié)數(shù)據(jù)到 S7-300 的 DB3 中。
② S7-300 CPU 將本地 DB4 中 10 個字節(jié)的數(shù)據(jù)寫到 S7-1200 CPU 的 DB2 中。
S7-1200 與 S7-300 PN 之間 S7 通訊,可以分 3 種情況來操作,具體如下:
- 第一種情況:S7-1200 與 S7-300 PN 在同一項目中操作
- 第二種情況:S7-1200 與 S7-300 PN 不在一個項目中的操作(兩個 TIA Portal 項目)
- 第三種情況:S7-1200 與 S7-300 PN 不在一個項目中的操作(S7-1200 在 TIA Portal 項目,S7-300 PN 在 STEP7 項目)
一. 第一種情況(S7-1200 與 S7-300 在同一項目中操作)
使用 TIA Portal 在同一個項目中,新建一個 S7-300 站點,一個 S7-1200 站點,然后做 S7 通訊。
1.1 S7-300 側(cè)和S7-1200 側(cè)通信的編程,連接參數(shù)及通信參數(shù)的配置
1. 使用 TIA Portal 軟件新建一個項目并完成硬件配置
在 TIA Portal 的 “Portal 視圖” 中選擇 “創(chuàng)建新項目” 創(chuàng)建一個新項目。
2. 添加硬件并命名PLC
然后進(jìn)入 “項目視圖”,在“項目樹” 下雙擊 “添加新設(shè)備”,在對話框中選擇所使用的 S7-300 CPU 添加到機架上,命名為 PLC_1,如圖 1 所示。
圖 1. 添加新設(shè)備
為了編程方便,使用 CPU 屬性中定義的時鐘位,定義方法如下:
在 “項目樹” > “PLC_1” > “設(shè)備組態(tài)” 中,選中 CPU ,然后在下面的屬性窗口中,“屬性” > “時鐘存儲器” 下,將時鐘位定義在 MB0,如圖2所示。時鐘位程序主要使用 M0.3,它是以 2Hz 的速率在 0 和 1 之間切換的一個位,可以使用它去自動激活發(fā)送任務(wù)。
圖 2. 時鐘位
3. 為 PROFINET 通信口分配以太網(wǎng)地址
在 “設(shè)備視圖”中點擊 CPU 上代表 PROFINET 通信口的綠色小方塊,在下方會出現(xiàn) PROFINET 接口的屬性,在 “以太網(wǎng)地址” 下分配 IP 地址為 192.168.0.2 ,子網(wǎng)掩碼為 255.255.255.0,如圖 3 所示。
圖 3. 分配 IP 地址
4.使用 TIA Portal 軟件添加新設(shè)備并命名 PLC_2
與 PLC_1 在同一個項目中,在“項目樹” 下雙擊 “添加新設(shè)備”,在對話框中選擇所使用的 S7-1200 CPU 添加到機架上,命名為 PLC_2,如圖 4 所示。
圖 4. 添加新設(shè)備
5. 為 PROFINET 通信口分配以太網(wǎng)地址
在 “設(shè)備視圖”中點擊 CPU 上代表 PROFINET 通信口的綠色小方塊,在下方會出現(xiàn) PROFINET 接口的屬性,在 “以太網(wǎng)地址” 下分配 IP 地址為 192.168.0.1 ,子網(wǎng)掩碼為 255.255.255.0,如圖 5 所示。
圖 5. 分配 IP 地址
6. 激活 CPU 連接機制屬性
激活允許來自遠(yuǎn)程對象的 PUT/GET 通信訪問,參見連接機制。
7. 創(chuàng)建 CPU 的邏輯網(wǎng)絡(luò)連接
在網(wǎng)絡(luò)視圖下,用鼠標(biāo)點中 S7-300 上的 PROFINET 通信口的綠色小方框,然后拖拽出一條線,到另外一個 S7-1200 上的 PROFINET 通信口上,松開鼠標(biāo),PN/IE_1的子網(wǎng)連接就建立起來了,如圖 6 所示。
圖 6. 網(wǎng)絡(luò)視圖
1.2 S7-300 側(cè)組態(tài) S7 連接,連接參數(shù)說明
1. 網(wǎng)絡(luò)組態(tài)
(1)打開 “網(wǎng)絡(luò)視圖” 配置網(wǎng)絡(luò),首先點中左上角的“連接”圖標(biāo),選擇“S7 連接”,然后選中 S7-300 CPU,右鍵選擇“添加新連接”添加新的連接,如圖 7 所示。
圖 7. 添加連接
(2) 然后在“添加新連接”窗口中,選擇“PLC_2[CPU1215C DC/DC/DC]”,然后點擊“添加”建立 S7 連接,如圖 8 所示。
圖 8. 選擇連接伙伴
(3)在信息欄里顯示連接已添加,如圖 9 所示,點擊"關(guān)閉"即可。
圖 9. 創(chuàng)建新連接
(4)在“網(wǎng)絡(luò)視圖”中,鼠標(biāo)選中剛剛生成的"S7_連接_1",在屬性的常規(guī)選項卡中的"常規(guī)"欄,可查看創(chuàng)建的連接名稱和連接路徑,如圖 10 所示。
圖 10. S7 連接常規(guī)信息
(5)在屬性的常規(guī)選項卡中的"本地 ID"欄,可查看連接的 ID 號,如圖 11 所示。
圖 11. 連接 ID 號
(6)在屬性的常規(guī)選項卡中的"特殊連接屬性"欄,可查看特殊連接屬性,如圖 12 所示。
圖 12. 連接屬性
(7)在屬性的常規(guī)選項卡中的"地址詳細(xì)信息"欄,可查看連接的 TSAP 號,如圖 13 所示。
圖 13. 查看通訊雙方的 TSAP 號
2. 檢查連接狀態(tài)
(1)配置完網(wǎng)絡(luò)連接,分別對 S7-300 和 S7-1200 編譯保存并下載。下載完成后,可點擊"轉(zhuǎn)至在線"按鈕,在“網(wǎng)絡(luò)視圖”的“連接”選項卡中查看連接狀態(tài),如圖 14 所示,本地連接名稱“S7_連接_1”左側(cè)有綠色標(biāo)志,則表示組態(tài)的連接已經(jīng)成功建立。
圖 14. 通訊連接已建立
(2)如果出現(xiàn)如圖 15 所示的情況,本地連接名稱“S7_連接_1”左側(cè)有紅色標(biāo)志,則說明連接沒有建立,請檢查網(wǎng)線的連接、IP 地址等。
圖 15. 通訊連接未建立
1.3 S7-300 側(cè)和 S7-1200 側(cè)軟件編程
1. S7-300 側(cè)軟件編程
(1)創(chuàng)建并定義 S7-300 的接收數(shù)據(jù)區(qū) DB 塊。
通過“項目樹”>“PLC_1”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB 塊,點擊“確定”鍵,定義接收數(shù)據(jù)區(qū)為 10 個字節(jié)的數(shù)組,如圖 16,17 所示。
圖 16. 創(chuàng)建接收數(shù)據(jù)區(qū) DB 塊
圖 17. 定義接收數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組
(2)創(chuàng)建并定義 S7-300 的發(fā)送數(shù)據(jù)區(qū) DB 塊。
通過“項目樹”>“PLC_1”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB 塊,點擊“確定”鍵,定義發(fā)送數(shù)據(jù)區(qū)為 10 個字節(jié)的數(shù)組,如圖 18,19 所示。
圖 18. 創(chuàng)建發(fā)送數(shù)據(jù)區(qū) DB 塊
圖 19. 定義發(fā)送數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組
(3)在 OB1 中,從“指令” >“通信” >“S7 通信”下,調(diào)用 GET、PUT 通信指令,程序調(diào)用如圖 20 所示。
圖 20. 程序調(diào)用功能
(4)GET 功能塊使用背景數(shù)據(jù)塊 DB1,管腳說明如下:
參數(shù)說明:
輸入接口參數(shù):
REQ | : 系統(tǒng)時鐘 2Hz 的脈沖,在上升沿啟動發(fā)送作業(yè) |
ID | : 連接號,要與連接配置中一致,創(chuàng)建連接時的連接號,如圖 11 所示 |
ADDR_1 | :指向伙伴 CPU 發(fā)送地址區(qū)域 |
SD_1 | :指向本地 CPU 接收地址區(qū)域 |
輸出接口參數(shù):
NDR | :接收到新數(shù)據(jù)時,該位置 1 |
ERROR | :通信過程中有錯誤發(fā)生,該位置 1 |
STATUS | :有錯誤發(fā)生時,會顯示錯誤代碼 |
(5)PUT功能塊使用背景數(shù)據(jù)塊 DB2,管腳說明如下:
參數(shù)說明:
輸入接口參數(shù):
REQ | : 系統(tǒng)時鐘 2Hz 的脈沖,在上升沿啟動發(fā)送作業(yè) |
ID | : 連接號,要與連接配置中一致,創(chuàng)建連接時的連接號,如圖 11 所示 |
ADDR_1 | :指向伙伴 CPU 接收地址區(qū)域 |
SD_1 | :指向本地 CPU 發(fā)送地址區(qū)域 |
輸出接口參數(shù):
DONE | :發(fā)送數(shù)據(jù)完成時,該位置 1 |
ERROR | :通信過程中有錯誤發(fā)生,該位置 1 |
STATUS | :有錯誤發(fā)生時,會顯示錯誤代碼 |
2. S7-1200 側(cè)軟件編程
(1)創(chuàng)建并定義 S7-1200 的發(fā)送數(shù)據(jù)區(qū) DB 塊。
通過“項目樹”>“PLC_2”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB 塊,在 DB 塊的“屬性->常規(guī)->屬性”中,取消勾選“優(yōu)化的塊訪問”,點擊“確定”鍵,定義發(fā)送數(shù)據(jù)區(qū)為 10 個字節(jié)的數(shù)組,如圖 21,22,23 所示。
圖 21. 創(chuàng)建接收數(shù)據(jù)區(qū) DB 塊
圖 22. 設(shè)置發(fā)送數(shù)據(jù)區(qū) DB 塊屬性
圖 23. 定義發(fā)送數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組
(2)創(chuàng)建并定義 S7-1200 的接收數(shù)據(jù)區(qū) DB 塊。
通過“項目樹”>“PLC_2”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB 塊,在 DB 塊的“屬性->常規(guī)->屬性”中,取消勾選“優(yōu)化的塊訪問”,點擊“確定”鍵,定義接收數(shù)據(jù)區(qū)為 10 個字節(jié)的數(shù)組,如圖 24,25,26 所示。
圖 24. 創(chuàng)建接收數(shù)據(jù)區(qū) DB 塊
圖 25. 設(shè)置接收數(shù)據(jù)區(qū) DB 塊屬性
圖 26. 定義接收數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組
1.4 下載程序并監(jiān)控通信結(jié)果
下載兩個 CPU 中的程序,實現(xiàn)兩個 CPU 之間數(shù)據(jù)交換,監(jiān)控結(jié)果如圖 27 所示。
圖 27. 監(jiān)控結(jié)果
二. 第二種情況(S7-1200 與 S7-300 不在同一個 TIA Portal 項目)
使用 TIA Portal 在一個項目中,新建一個 S7-300 站點,在另一個項目中,新建一個 S7-1200 站點,然后做 S7 通訊。
2.1 S7-300 側(cè)通信的編程,連接參數(shù)及通信參數(shù)的配置
1. 使用 TIA Portal 軟件新建一個項目并完成硬件配置
在 TIA Portal 的 “Portal 視圖” 中選擇 “創(chuàng)建新項目” 創(chuàng)建一個新項目。
2. 添加硬件并命名 PLC
然后進(jìn)入 “項目視圖”,在“項目樹” 下雙擊 “添加新設(shè)備”,在對話框中選擇所使用的 S7-300 CPU 添加到機架上,命名為 PLC_1,如圖 28 所示。
圖 28. 添加新設(shè)備
為了編程方便,使用 CPU 屬性中定義的時鐘位,定義方法如下:
在 “項目樹” > “PLC_1” > “設(shè)備組態(tài)” 中,選中 CPU ,然后在下面的屬性窗口中,“屬性” > “時鐘存儲器” 下,將時鐘位定義在 MB0,如圖 29 所示。時鐘位程序主要使用 M0.3,它是以 2Hz 的速率在 0 和 1 之間切換的一個位,可以使用它去自動激活發(fā)送任務(wù)。
圖 29. 時鐘位
3. 為 PROFINET 通信口分配以太網(wǎng)地址
在 “設(shè)備視圖”中點擊 CPU 上代表 PROFINET 通信口的綠色小方塊,在下方會出現(xiàn) PROFINET 接口的屬性,在 “以太網(wǎng)地址” 下分配IP 地址為 192.168.0.2 ,子網(wǎng)掩碼為 255.255.255.0,選擇子網(wǎng)“PN/IE_1”,如圖 30 所示。
圖 30. 分配 IP 地址
2.2 S7-1200 側(cè)通信的編程,連接參數(shù)及通信參數(shù)的配置
1.使用 TIA Portal 軟件新建項目,添加新設(shè)備并命名 PLC_2
在 TIA Portal 的 “Portal 視圖” 中選擇 “創(chuàng)建新項目” 創(chuàng)建一個新項目。然后進(jìn)入 “項目視圖”,在“項目樹” 下雙擊 “添加新設(shè)備”,在對話框中選擇所使用的 S7-1200 CPU 添加到機架上,命名為 PLC_2,如圖 31 所示。
圖 31. 添加新設(shè)備
2. 為 PROFINET 通信口分配以太網(wǎng)地址
在 “設(shè)備視圖”中點擊 CPU 上代表 PROFINET 通信口的綠色小方塊,在下方會出現(xiàn) PROFINET 接口的屬性,在 “以太網(wǎng)地址” 下分配 IP 地址為 192.168.0.1 ,子網(wǎng)掩碼為 255.255.255.0,選擇子網(wǎng)“PN/IE_1”,如圖 32 所示。
圖 32. 分配 IP 地址
3. 激活 CPU 連接機制屬性
激活允許來自遠(yuǎn)程對象的 PUT/GET 通信訪問,參見連接機制。
2.3 S7-300 側(cè)通信的編程,連接參數(shù)及通信參數(shù)的配置
1. 網(wǎng)絡(luò)組態(tài)
(1)打開 “網(wǎng)絡(luò)視圖” 配置網(wǎng)絡(luò),首先點中左上角的“連接”圖標(biāo),選擇“S7 連接”,然后選中 S7-300 CPU,右鍵選擇“添加新連接”添加新的連接,如圖 33 所示。
圖 33. 添加連接
(2) 然后在“添加新連接”窗口中,選擇“未指定”,然后點擊“添加”建立 S7 連接,如圖 34 所示。
圖 34. 選擇連接伙伴
(3)在信息欄里顯示連接已添加,如圖 35 所示,點擊"關(guān)閉"即可。
圖 35. 創(chuàng)建新連接
(4)在“網(wǎng)絡(luò)視圖”中,鼠標(biāo)選中剛剛生成的"S7_連接_1",在屬性的常規(guī)選項卡中的"常規(guī)"欄,設(shè)置伙伴方的 IP 地址,如本例中的 192.168.0.1,如圖 36 所示。
圖 36. S7 連接常規(guī)信息
(5)在屬性的常規(guī)選項卡中的"本地 ID "欄,可查看連接的 ID 號,如圖 37 所示。
圖 37. 連接 ID 號
(6)在屬性的常規(guī)選項卡中的"特殊連接屬性"欄,可查看特殊連接屬性,如圖 38 所示。
圖 38. 連接屬性
(7)在屬性的常規(guī)選項卡中的"地址詳細(xì)信息"欄,可定義伙伴方的 TSAP 號,如圖 39 所示。
圖 39. 定義伙伴方的 TSAP 號
注意:S7-1200 預(yù)留給 S7 連接兩個 TSAP 地址:03.01 和 03.00
2. 檢查連接狀態(tài)
(1)配置完網(wǎng)絡(luò)連接,分別對 S7-300 和 S7-1200 編譯保存并下載。下載完成后,可點擊"轉(zhuǎn)至在線"按鈕,在“網(wǎng)絡(luò)視圖”的“連接”選項卡中查看連接狀態(tài),如圖 40 所示,本地連接名稱“S7_連接_1”左側(cè)有綠色標(biāo)志,則表示組態(tài)的連接已經(jīng)成功建立。
圖 40. 通訊連接已建立
(2)如果出現(xiàn)如圖 41 所示的情況,本地連接名稱“S7_連接_1”左側(cè)有紅色標(biāo)志,則說明連接沒有建立,請檢查網(wǎng)線的連接、IP 地址等。
圖 41. 通訊連接未建立
2.4 S7-300 側(cè)和 S7-1200 側(cè)軟件編程
1. S7-300 側(cè)軟件編程
(1)創(chuàng)建并定義 S7-300 的接收數(shù)據(jù)區(qū) DB 塊。
通過“項目樹”>“PLC_1”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB 塊,點擊“確定”鍵,定義接收數(shù)據(jù)區(qū)為 10 個字節(jié)的數(shù)組,如圖 42,43 所示。
圖 42. 創(chuàng)建接收數(shù)據(jù)區(qū) DB 塊
圖 43. 定義接收數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組
(2)創(chuàng)建并定義 S7-300 的發(fā)送數(shù)據(jù)區(qū) DB 塊。
通過“項目樹”>“PLC_1”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB 塊,點擊“確定”鍵,定義發(fā)送數(shù)據(jù)區(qū)為 10 個字節(jié)的數(shù)組,如圖 44,45 所示。
圖 44. 創(chuàng)建發(fā)送數(shù)據(jù)區(qū) DB 塊
圖 45. 定義發(fā)送數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組
(3)在 OB1 中,從“指令” >“通信” >“S7 通信”下,調(diào)用 GET、PUT 通信指令,程序調(diào)用如圖 46 所示。
圖 46. 程序調(diào)用功能
(4)GET 功能塊使用背景數(shù)據(jù)塊 DB1,管腳說明如下:
參數(shù)說明:
輸入接口參數(shù):
REQ | : 系統(tǒng)時鐘 2Hz 的脈沖,在上升沿啟動發(fā)送作業(yè) |
ID | : 連接號,要與連接配置中一致,創(chuàng)建連接時的連接號,如圖 37 所示 |
ADDR_1 | :指向伙伴 CPU 發(fā)送地址區(qū)域 |
SD_1 | :指向本地 CPU 接收地址區(qū)域 |
輸出接口參數(shù):
NDR | :接收到新數(shù)據(jù)時,該位置 1 |
ERROR | :通信過程中有錯誤發(fā)生,該位置 1 |
STATUS | :有錯誤發(fā)生時,會顯示錯誤代碼 |
(5)PUT 功能塊使用背景數(shù)據(jù)塊 DB2,管腳說明如下:
參數(shù)說明:
輸入接口參數(shù):
REQ | : 系統(tǒng)時鐘 2Hz 的脈沖,在上升沿啟動發(fā)送作業(yè) |
ID | : 連接號,要與連接配置中一致,創(chuàng)建連接時的連接號,如圖 37 所示 |
ADDR_1 | :指向伙伴 CPU 接收地址區(qū)域 |
SD_1 | :指向本地 CPU 發(fā)送地址區(qū)域 |
輸出接口參數(shù):
DONE | :發(fā)送數(shù)據(jù)完成時,該位置 1 |
ERROR | :通信過程中有錯誤發(fā)生,該位置 1 |
STATUS | :有錯誤發(fā)生時,會顯示錯誤代碼 |
2. S7-1200 側(cè)軟件編程
(1)創(chuàng)建并定義 S7-1200 的發(fā)送數(shù)據(jù)區(qū) DB 塊。
通過“項目樹”>“PLC_2”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB 塊,在 DB 塊的“屬性->常規(guī)->屬性”中,取消勾選“優(yōu)化的塊訪問”,點擊“確定”鍵,定義發(fā)送數(shù)據(jù)區(qū)為 10 個字節(jié)的數(shù)組,如圖 47,48,49 所示。
圖 47. 創(chuàng)建接收數(shù)據(jù)區(qū) DB 塊
圖 48. 設(shè)置發(fā)送數(shù)據(jù)區(qū) DB 塊屬性
圖 49. 定義發(fā)送數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組
(2)創(chuàng)建并定義 S7-1200 的接收數(shù)據(jù)區(qū) DB 塊。
通過“項目樹”>“PLC_2”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB 塊,在 DB 塊的“屬性->常規(guī)->屬性”中,取消勾選“優(yōu)化的塊訪問”,點擊“確定”鍵,定義接收數(shù)據(jù)區(qū)為 10 個字節(jié)的數(shù)組,如圖 50,51,52 所示。
圖 50. 創(chuàng)建接收數(shù)據(jù)區(qū) DB 塊
圖 51. 設(shè)置接收數(shù)據(jù)區(qū) DB 塊屬性
圖 52. 定義接收數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組
2.5 下載程序并監(jiān)控通信結(jié)果
下載兩個 CPU 中的程序,實現(xiàn)兩個 CPU 之間數(shù)據(jù)交換,監(jiān)控結(jié)果如圖 53 所示。
圖 53. 監(jiān)控結(jié)果
三. 第三種情況(S7-1200 在TIA Portal 項目中,S7-300 在 STEP7 項目中)
使用 STEP7,新建一個 S7-300 站點,使用 TIA Portal,新建一個 S7-1200 站點,然后做 S7 通訊。
3.1 S7-300 側(cè)通信的編程,連接參數(shù)及通信參數(shù)的配置
1. 創(chuàng)建 PLC 項目
在STEP7 中創(chuàng)建一個項目并插入 CPU314C-2PN/DP 站。操作步驟如下:
(1) 打開 STEP7,在“File” 菜單中選擇“New…” 選項,如圖 54 所示。
圖 54. 新建項目
(2) 在彈出的創(chuàng)建新項目窗口里輸入項目名為“ 300S7Client”,然后點擊“ OK”按鈕,如圖 55 所示。
圖 55. 輸入項目名稱
(3) 在 300S7Client 下點擊右鍵“ Insert New Object”,選擇“ SIMATIC 300 Station”,如圖 56 所示。
圖 56. 插入 S7-300 站點
(4) 雙擊“ Hardware”打開硬件組態(tài),如圖 57 所示。
圖 57. 硬件組態(tài)
(5) 插入S7-300 導(dǎo)軌,如圖 58 所示。
圖 58. 插入S7-300 導(dǎo)軌
(6) 插入S7-300 CPU,與實際CPU 一致:6ES7 314-6EH04-0AB0 V3.3,如圖 59 所示。
圖 59. 插入S7-300 CPU
(7) 在彈出的“ Properties-Ethernet interface PN-IO”對話框的“ Parmeters”選項卡中為以太網(wǎng)接口設(shè)置 IP 地址192.168.0.2 和子網(wǎng)掩碼 255.255.255.0,如圖 60 所示。
圖 60. 設(shè)置IP地址和子網(wǎng)掩碼
(8) 點擊“ New...”新建子網(wǎng),如圖 61 所示。
圖 61. 新建子網(wǎng)
(9) “ New subnet Industrial Ethernet”對話框下Name: Ethernet(1),如圖 62 所示。
圖 62. 子網(wǎng)名稱
(10) 新建 子網(wǎng)后,點擊“ OK”,如圖 63 所示。
圖 63. 確認(rèn)子網(wǎng)
(11) 點擊“ Save and Compile”按鈕。編譯保存硬件組態(tài)信息,如圖 64 所示。
圖 64. 保存并編譯硬件組態(tài)
3.2 S7-1200 側(cè)通信的編程,連接參數(shù)及通信參數(shù)的配置
1. 使用 TIA Portal 軟件新建一個項目并完成硬件配置
在 TIA Portal 的 “Portal 視圖” 中選擇 “創(chuàng)建新項目”。
2. 添加硬件并命名 PLC
然后進(jìn)入 “項目視圖”,在“項目樹” 下雙擊 “添加新設(shè)備”,在對話框中選擇所使用的 S7-1200 CPU 添加到機架上,命名為 PLC_2,如圖 65 所示。
圖 65. 添加新設(shè)備
3. 為 PROFINET 通信口分配以太網(wǎng)地址
在 “設(shè)備視圖”中點擊 CPU 上代表 PROFINET 通信口的綠色小方塊,在下方會出現(xiàn) PROFINET 接口的屬性,在 “以太網(wǎng)地址” 下分配 IP 地址為 192.168.0.1 ,子網(wǎng)掩碼為 255.255.255.0,選擇子網(wǎng)“PN/IE_1”,如圖 66 所示。
圖 66. 分配 IP 地址
4. 激活 CPU 連接機制屬性
激活允許來自遠(yuǎn)程對象的 PUT/GET 通信訪問,參見連接機制。
5. 下載組態(tài)
對 CPU 硬件組態(tài)進(jìn)行保存編譯下載。
3.3 S7-300 側(cè)通信的編程,連接參數(shù)及通信參數(shù)的配置
1. 網(wǎng)絡(luò)組態(tài)
(1)點擊快捷菜單中的 Configure Network 按鈕進(jìn)入 Netpro 視圖,如圖 67 所示。
圖 67. 點擊 Configure Network 按鈕
(2)在 Netpro 視圖的 CPU 上點右鍵選擇 Insert New Connection 添加新連接,如圖 68 所示。
圖 68. 添加新連接
(3)通訊伙伴選擇非指定(Unspecified),通訊類型選擇 S7 connection,如圖 69 所示。
圖 69. 選擇通信伙伴和通信類型
(4)點擊“OK”按鈕后,在彈出的屬性窗口中勾選單端組態(tài)(Establish an active connection),并填寫通信伙伴的 IP 地址,注意 Local ID 編號,本例保持默認(rèn)值 1,如圖 70 所示。之后點擊地址詳細(xì)按鈕(Address Details...)。
圖 70. S7 連接屬性
(5)在地址詳細(xì)信息對話框中填寫通信伙伴 CPU 的機架號和槽號,槽號設(shè)置為 0 或 1。點擊“OK”按鈕,如圖 71 所示。
圖 71. S7 地址詳細(xì)信息
(6)選中 CPU,先編譯再下載,如圖 72 所示。
圖 72. 編譯下載
2. 檢查連接狀態(tài)
(1)下載完成后,可點擊"激活連接狀態(tài)"按鈕,查看連接狀態(tài),如圖 73 所示,則表示組態(tài)的連接已經(jīng)成功建立。
圖 73. 連接已建立
(2)如果出現(xiàn)如圖 74 所示的情況,則說明連接沒有建立,請檢查網(wǎng)線的連接、IP 地址等。
圖 74. 連接未建立
3.4 S7-300 側(cè)和 S7-1200 側(cè)軟件編程
1. S7-300 側(cè)軟件編程
1.1 添加指令塊
(1)查看SIMATIC Manager> Blocks,生成了 OB1,如圖 75 所示。
圖 75. 查看 Blocks
(2) 雙擊OB1 進(jìn)入,如圖 76 所示。
圖 76. 點擊 OB1
(3) 需要的功能塊,如圖 77 所示。
圖 77. 查找功能塊
(4) 插入FB14 GET,如圖 78 所示
圖 78. 插入FB14
(5) 添加背景 DB,如圖 79 所示。
圖 79. 添加背景 DB
注意:
功能塊 FB15 PUT 的插入方法和 FB14 GET 相同。
如果是 S7-400 PN/CP,需要插入 SFB 14 GET 與 SFB 15 PUT,位置如圖 80 所示。
圖 80. SFB 14/SFB 15
1.2 創(chuàng)建并定義 S7-300 的接收數(shù)據(jù)區(qū) DB 塊。
(1)添加Data Block,如圖 81 所示。
圖 81. 添加數(shù)據(jù)塊
(2) 添加共享DB3,作為接收數(shù)據(jù)區(qū),如圖 82 所示。
圖 82. 定義接收數(shù)據(jù)塊
(3) 添加變量,類型為數(shù)組,如圖 83 所示。
圖 83. 修改數(shù)據(jù)類型
(4) 添加10個BYTE 的數(shù)組變量,如圖 84 所示。
圖 84. 定義變量
1.3 創(chuàng)建并定義 S7-300 的發(fā)送數(shù)據(jù)區(qū) DB 塊。
(1)添加Data Block,如圖 85 所示。
圖 85. 添加數(shù)據(jù)塊
(2) 添加共享DB4,作為發(fā)送數(shù)據(jù)區(qū),如圖 86 所示。
圖 86. 定義發(fā)送數(shù)據(jù)塊
(3) 添加變量,類型為數(shù)組,如圖 87 所示。
圖 87. 修改數(shù)據(jù)類型
(4) 添加 10個BYTE 的數(shù)組變量,如圖 88 所示。
圖 88. 定義變量
1.4 定義時鐘存儲器
(1)在 S7-300 項目的 Hardware 中,右鍵點擊 CPU,選擇 Object Properties>Cycle/Clock Memory,勾選“Clock memory”,輸入Memory byte,如圖 89 所示。
圖 89. 使用時鐘存儲器
1.5 填寫 GET 和 PUT 指令的引腳,程序調(diào)用如圖 90 所示.
圖 90. 程序調(diào)用功能
(1)GET 功能塊使用背景數(shù)據(jù)塊 DB1,管腳說明如下:
參數(shù)說明:
輸入接口參數(shù):
REQ | : 系統(tǒng)時鐘 2Hz 的脈沖,在上升沿啟動發(fā)送作業(yè) |
ID | : 連接號,要與連接配置中一致,創(chuàng)建連接時的連接號,如圖 70 所示 Local ID |
ADDR_1 | :指向伙伴 CPU 發(fā)送地址區(qū)域 |
SD_1 | :指向本地 CPU 接收地址區(qū)域 |
輸出接口參數(shù):
NDR | :接收到新數(shù)據(jù)時,該位置 1 |
ERROR | :通信過程中有錯誤發(fā)生,該位置 1 |
STATUS | :有錯誤發(fā)生時,會顯示錯誤代碼 |
(2)PUT 功能塊使用背景數(shù)據(jù)塊 DB2,管腳說明如下:
參數(shù)說明:
輸入接口參數(shù):
REQ | : 系統(tǒng)時鐘 2Hz 的脈沖,在上升沿啟動發(fā)送作業(yè) |
ID | : 連接號,要與連接配置中一致,創(chuàng)建連接時的連接號,如圖 70 所示 Local ID |
ADDR_1 | :指向伙伴 CPU 接收地址區(qū)域 |
SD_1 | :指向本地 CPU 發(fā)送地址區(qū)域 |
輸出接口參數(shù):
DONE | :發(fā)送數(shù)據(jù)完成時,該位置 1 |
ERROR | :通信過程中有錯誤發(fā)生,該位置 1 |
STATUS | :有錯誤發(fā)生時,會顯示錯誤代碼 |
2. S7-1200 側(cè)軟件編程
(1)創(chuàng)建并定義 S7-1200 的發(fā)送數(shù)據(jù)區(qū) DB 塊。
通過“項目樹”>“PLC_2”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB 塊,在 DB 塊的“屬性->常規(guī)->屬性”中,取消勾選“優(yōu)化的塊訪問”,點擊“確定”鍵,定義發(fā)送數(shù)據(jù)區(qū)為 10 個字節(jié)的數(shù)組,如圖 91,92,93 所示。
圖 91. 創(chuàng)建接收數(shù)據(jù)區(qū) DB 塊
圖 92. 設(shè)置發(fā)送數(shù)據(jù)區(qū) DB 塊屬性
圖 93. 定義發(fā)送數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組
(2)創(chuàng)建并定義 S7-1200 的接收數(shù)據(jù)區(qū) DB 塊。
通過“項目樹”>“PLC_2”>“程序塊”>“添加新塊”,選擇“數(shù)據(jù)塊” 創(chuàng)建 DB 塊,在 DB 塊的“屬性->常規(guī)->屬性”中,取消勾選“優(yōu)化的塊訪問”,點擊“確定”鍵,定義接收數(shù)據(jù)區(qū)為 10 個字節(jié)的數(shù)組,如圖 94,95,96 所示。
圖 94. 創(chuàng)建接收數(shù)據(jù)區(qū) DB 塊
圖 95. 設(shè)置接收數(shù)據(jù)區(qū) DB 塊屬性
圖 96. 定義接收數(shù)據(jù)區(qū)為字節(jié)類型的數(shù)組
3.5 下載程序并監(jiān)控通信結(jié)果
下載兩個 CPU 中的程序,實現(xiàn)兩個 CPU 之間數(shù)據(jù)交換:
(1) 寫入 16進(jìn)制數(shù)據(jù)“ 01 02 03 04 05 06 07 08 09 10”,如圖 97 所示。
圖 97.CPU314C-2PN/DP 寫入數(shù)據(jù)
(2)監(jiān)控結(jié)果如圖 98 所示。
圖 98. 監(jiān)控結(jié)果
四. 附加說明
請注意,如果使用固件版本為 V4.0 以上的 S7-1200 CPU 作為服務(wù)器,則需要如下額外設(shè)置,才能保證 S7 通信正常。
點開作為 S7 服務(wù)器的 S7-1200 CPU 的設(shè)備組態(tài),“屬性->常規(guī)->防護(hù)與安全”(V14 及以前是“屬性->常規(guī)->保護(hù)”)里“連接機制”一項需要勾選“允許來自遠(yuǎn)程對象的 PUT/GET 通信訪問”(V14 及以前是“允許從遠(yuǎn)程伙伴(PLC\HMI\OPC\...)使用 PUT/GET 通信訪問”),如圖 99 所示:
圖 99. 通信保護(hù)設(shè)置