S7-1200 CPU 與 CP343-1 S7 通信(S7-1200 作為服務(wù)器)
S7-1200 CPU 與 CP343-1 之間的以太網(wǎng)通信通過(guò) S7 通信來(lái)實(shí)現(xiàn)。當(dāng) CP343-1(至少標(biāo)準(zhǔn)版)作為客戶(hù)端,S7-1200 作為服務(wù)器,需在客戶(hù)端單邊組態(tài)連接和編程,而作為服務(wù)器端的 S7-1200 只需準(zhǔn)備好通信的數(shù)據(jù)(非優(yōu)化的 DB 塊,或者 PLC 變量)以及 V4.0 版本以上 CPU 需要激活連接機(jī)制。
硬件和軟件需求及所完成的通信任務(wù)
所需條件:
① S7-1215 DC/DC/DC V4.5 / CPU 314C-2 PN/DP,V3.3 + CP343-1(6GK7 343-1EX30-0XE0),V3.0
② TIA Portal Step7 Professional V17/ Step7 V5.6 SP2
所完成的通信任務(wù):
① S7-300 CPU 將本地 DB3 中的數(shù)據(jù)通過(guò) CP 卡寫(xiě)到 S7-1200 CPU 中 DB4 中。
② S7-300 CPU 通過(guò) CP 卡將 S7-1200 CPU 中 DB3 的數(shù)據(jù)讀取到本地 DB4 中。
S7-1200 與 CP343-1 之間 S7 通訊,可以分 2 種情況來(lái)操作,具體如下:
- 第一種情況:S7-1200 與 CP343-1 都在 TIA Portal 中操作
- 第二種情況:S7-1200 在 TIA Portal 項(xiàng)目中,CP343-1 在 Step7 項(xiàng)目中
一. 第一種情況(S7-1200 與 CP343-1 都在 TIA Portal 中操作)
在 TIA Portal 中,新建一個(gè) S7-1200 站點(diǎn)和一個(gè) S7-300 站點(diǎn),然后做 S7 通信。
注意:本情況是適用于“S7-1200 與 CP343-1 在同一 TIA Portal 項(xiàng)目中” 和 “S7-1200 與 CP343-1 在不同 TIA Portal 項(xiàng)目中”兩種情況。
1.1 S7-1200 側(cè)和 S7-300CP 側(cè)硬件組態(tài)配置
1. 使用 TIA Portal 軟件新建一個(gè)項(xiàng)目并完成硬件配置
在 TIA Portal 的 “Portal 視圖” 中選擇 “創(chuàng)建新項(xiàng)目” 創(chuàng)建一個(gè)新項(xiàng)目。
2. 添加 S7-1200 CPU 硬件并為命名 PLC
然后進(jìn)入 “項(xiàng)目視圖”,在“項(xiàng)目樹(shù)” 下雙擊 “添加新設(shè)備”,在對(duì)話(huà)框中選擇所使用的 S7-1200 CPU 添加到機(jī)架上,命名為 PLC_1,如圖 1 所示。
圖 1. 添加 S7-1200 CPU 設(shè)備
S7-1200 CPU 作為服務(wù)器,對(duì)于 V4.0 及其以上固件版本,必須勾選連接機(jī)制選項(xiàng),否則會(huì)導(dǎo)致 S7 通信異常。在 CPU 常規(guī)屬性-防護(hù)與安全-連接機(jī)制內(nèi)勾選參數(shù)設(shè)置,如圖 2 所示。
圖 2. 設(shè)置連接機(jī)制屬性
3. 為 PROFINET 通信口分配以太網(wǎng)地址
在 “設(shè)備視圖”中點(diǎn)擊 CPU 上代表 PROFINET 通信口的綠色小方塊,在下方會(huì)出現(xiàn) PROFINET 接口的屬性,在 “以太網(wǎng)地址” 下分配 IP 地址為 192.168.0.15 ,子網(wǎng)掩碼為 255.255.255.0,如圖 3 所示。
圖 3. 分配 S7-1200 CPU IP 地址
4.添加 S7-300 CPU 和 CP343-1 硬件并命名 PLC
然后進(jìn)入 “項(xiàng)目視圖”,在“項(xiàng)目樹(shù)” 下雙擊 “添加新設(shè)備”,在對(duì)話(huà)框中選擇所使用的 S7-300 CPU 添加到機(jī)架上,命名為 PLC_2,如圖 4 所示。
圖 4. 添加 S7-300 CPU 設(shè)備
為了編程方便,使用 CPU 屬性中定義的時(shí)鐘位,定義方法如下: 在 “項(xiàng)目樹(shù)” > “PLC_2”> “設(shè)備組態(tài)” 中,選中 CPU ,然后在下面的屬性窗口中,“屬性” > “時(shí)鐘存儲(chǔ)器” 下時(shí)鐘字節(jié)定義在 MB0,如圖 5 所示。 時(shí)鐘位使用 M0.5,以 1Hz 的速率自動(dòng)激活發(fā)送任務(wù)。
圖 5. 啟動(dòng)時(shí)鐘存儲(chǔ)器
5. 組態(tài) CP343-1 并分配以太網(wǎng)地址
在 “設(shè)備視圖”中點(diǎn)擊 CP 上代表 PROFINET 通信口的綠色小方塊,在下方會(huì)出現(xiàn) PROFINET 接口的屬性,在 “以太網(wǎng)地址” 下分配 IP 地址為 192.168.0.11,子網(wǎng)掩碼為 255.255.255.0,如圖 6 所示。
圖 6. 分配 CP343-1 IP 地址
6. 創(chuàng)建 CPU 的邏輯網(wǎng)絡(luò)連接(僅當(dāng)S7-1200 和 S7-300 在同一 TIA 項(xiàng)目)
在 “項(xiàng)目樹(shù)”>“設(shè)備和網(wǎng)絡(luò)” >“網(wǎng)絡(luò)視圖” 視圖下,創(chuàng)建兩個(gè)設(shè)備的連接。用鼠標(biāo)點(diǎn)中 S7-1200 上的PROFINET通信口的綠色小方框,然后拖拽出一條線(xiàn),到另外一個(gè) CP343-1 上的 PROFINET 通信口上,松開(kāi)鼠標(biāo),PN/IE_1 的子網(wǎng)連接就建立起來(lái)了,如圖 7 所示。
圖 7. 建立伙伴間的網(wǎng)絡(luò)子網(wǎng)連接
注:當(dāng) S7-1200 和 S7-300 在不同項(xiàng)目時(shí),無(wú)需操作此步驟。獨(dú)立設(shè)置各自 PLC/CP 的子網(wǎng)連接即可。
1.2 在 S7-300 側(cè)配置 S7 單邊通信連接和編程
1.創(chuàng)建 S7 單邊通信連接
① 打開(kāi) "網(wǎng)絡(luò)視圖" 配置網(wǎng)絡(luò),點(diǎn)中左上角的"連接"圖標(biāo),此時(shí) CPU 變成亮藍(lán)色,選擇 S7 連接,然后選中 S7-300 CPU,右鍵選擇添加新的連接, 如圖 8 所示。
圖 8. 網(wǎng)絡(luò)視圖配置
② 在連接列表里選擇未指定,并確認(rèn)本地接口,確認(rèn)連接類(lèi)型為 S7 連接。S7-300 側(cè)因做 S7 單邊通信客戶(hù)端,確認(rèn) S7 連接屬性為主動(dòng)建立連接和單向,最后點(diǎn)擊添加,如圖 9 所示。
圖 9. 添加未指定伙伴的 S7 單邊新連接
注意:
此處也可以選擇指定的 CPU,但是這時(shí)則會(huì)在 CPU 和 CP 生成兩條連接,此時(shí)為 S7 雙邊連接,這樣兩個(gè) CPU 需要分別編譯下載組態(tài),如圖 10、11 所示。
所以,一般建議選擇未指定 S7 連接。
圖 10. CP343-1 添加指定伙伴的 S7 連接
圖 11. S7 雙邊連接
③ 在“網(wǎng)絡(luò)視圖”-“連接”內(nèi),查看新添加的 S7 單邊連接。在“連接”下只有一個(gè) S7 單邊連接存在,在 S7 連接常規(guī)-屬性?xún)?nèi),設(shè)置伙伴的 IP 地址,如圖 12 所示。
圖 12. 設(shè)置伙伴 IP 地址
2.設(shè)置 S7 單邊通信連接屬性
① 在“網(wǎng)絡(luò)視圖”-“連接”內(nèi)選中新創(chuàng)建的 S7 單邊連接,在常規(guī)-屬性?xún)?nèi)設(shè)置 S7 單邊連接參數(shù)。本地ID使用默認(rèn) ID 值 W#16#100,在調(diào)用 S7 指令時(shí)使用,如下圖 13 所示。
圖 13. S7 單邊連接本地 ID
② 特殊連接屬性?xún)?nèi),確認(rèn)客戶(hù)端 S7 單邊連接參數(shù):“單向”、“主動(dòng)建立連接”勾選,如圖 14 所示。
圖 14. S7 單邊連接特殊連接屬性
③ 地址詳細(xì)信息內(nèi),設(shè)置本地和伙伴雙方 TSAP,如圖 15 所示。
圖15. S7 單邊連接地址詳細(xì)信息
注意:S7-1200 預(yù)留給 S7 連接兩個(gè) TSAP 地址:03.00 和 03.01。
3.S7-300 側(cè)軟件編程
① 創(chuàng)建接收和發(fā)送數(shù)據(jù)塊 ,接收 DB 10 字節(jié)數(shù)組,發(fā)送 DB 10 字節(jié)數(shù)組。如圖 16、17 所示。
圖 16. S7-300 創(chuàng)建接收數(shù)據(jù)區(qū) DB 塊
圖 17. S7-300 創(chuàng)建發(fā)送數(shù)據(jù)區(qū) DB 塊
② 在 OB1 中,從"指令">"通信">"S7 通信">"其他"下,調(diào)用 GET_S、PUT_S 通信指令。程序如圖 18 所示。
圖 18. OB1 調(diào)用 S7 通信指令
指令管腳參數(shù)說(shuō)明:
CALL “PUT_S” | :%DB1 | //調(diào)用 PUT_S,使用背景 DB 塊:DB1 |
REQ | :=%M0:5 | //系統(tǒng)時(shí)鐘 1 秒脈沖 |
ID | :=W#16#1 | //連接號(hào),要與連接配置中一致 |
DONE | :=%M10.0 | //為 1 時(shí),發(fā)送完成 |
ERROR | :=%M10.1 | //為 1 時(shí),有故障發(fā)生 |
STATUS | :=%MW12 | //狀態(tài)代碼 |
ADDR_1 | :=P#DB4.DBX 0.0 BYTE 10 | //發(fā)送到通信伙伴數(shù)據(jù)區(qū)的地址 |
SD_1 | :=P#DB3.DBX0.0 BYTE 10 | //本地發(fā)送數(shù)據(jù)區(qū) |
CALL “GET_S” | :%DB2 | //調(diào)用 GET_S,使用背景 DB 塊:DB2 |
REQ | :=%M0.5 | //系統(tǒng)時(shí)鐘 1 秒脈沖 |
ID | :=W#16#1 | //連接號(hào),要與連接配置中一致 |
NDR | :=%M20.0 | //為 1 時(shí),接收到新數(shù)據(jù) |
ERROR | :=%M20.1 | //為 1 時(shí),有故障發(fā)生 |
STATUS | :=%MW22 | //狀態(tài)代碼 |
ADDR_1 | :=P#DB3.DBX 0.0 BYTE 10 | //從通信伙伴數(shù)據(jù)區(qū)讀取數(shù)據(jù)的地址 |
RD_1 | :=P#DB4.DBX0.0 BYTE 10 | //本地接收數(shù)據(jù)地址 |
S7-300 側(cè) S7 單邊連接配置和編程完成,編譯存盤(pán)并下載。
1.3 在 S7-1200 側(cè)配置和編程
①創(chuàng)建接收和發(fā)送數(shù)據(jù)塊 ,接收 DB 10 字節(jié)數(shù)組,發(fā)送 DB 10 字節(jié)數(shù)組。如圖 19、20 所示。
圖 19. S7-1200 創(chuàng)建接收數(shù)據(jù)區(qū) DB 塊
圖 20. S7-1200 創(chuàng)建發(fā)送數(shù)據(jù)區(qū) DB 塊
② S7 通信中 S7-1200 CPU 側(cè)使用的 DB 塊必須為非優(yōu)化的 DB 塊。右鍵單擊 DB 塊,在 DB 塊屬性?xún)?nèi)取消“DB 塊的優(yōu)化塊訪(fǎng)問(wèn)”,如圖 21 所示。
圖 21. 取消 DB 塊的優(yōu)化塊訪(fǎng)問(wèn)
注:進(jìn)行 S7 單邊通信,正常情況下對(duì)于 S7-1200 側(cè)(服務(wù)器側(cè))無(wú)需任何配置。但需注意兩點(diǎn):
1. S7-1200 勾選連接機(jī)制屬性;.
2. S7-1200 側(cè)被讀寫(xiě)的 DB 塊取消優(yōu)化訪(fǎng)問(wèn)。
文檔按照雙方均為新建項(xiàng)目考慮測(cè)試。
1.4 監(jiān)控通信結(jié)果
下載兩個(gè) CPU 中的所有硬件組態(tài)及程序,實(shí)現(xiàn)兩個(gè) CPU 之間數(shù)據(jù)交換,監(jiān)控結(jié)果如圖 22 所示。
圖 22. 監(jiān)控結(jié)果
二. 第二種情況(S7-1200 在 TIA Portal 項(xiàng)目中,CP343-1 在 Step7 項(xiàng)目中)
S7-1200 作為 S7 服務(wù)器,使用 TIA Portal 編程;CP343-1 作為 S7 客戶(hù)端 ,使用 Step7 編程;詳細(xì)步驟如下。
2.1 S7-1200 側(cè)硬件組態(tài)配置
該部分內(nèi)容和 1.1 章節(jié)內(nèi)容相同,不再贅述。
2.2 在 S7-300 側(cè)配置 S7 單邊通信連接和編程
1 . 創(chuàng)建 PLC 項(xiàng)目并進(jìn)行硬件組態(tài)配置
在 STEP7 中創(chuàng)建一個(gè)項(xiàng)目并插入 CPU 314C-2 PN/DP 和 CP343-1 。操作步驟如下:
(1) 打開(kāi) STEP7,在 “File” 菜單中選擇 “New…” 選項(xiàng),如圖 23 所示。
圖 23. 新建項(xiàng)目
(2) 在彈出的創(chuàng)建新項(xiàng)目窗口里輸入項(xiàng)目名為 “CP343-1_S7” ,然后點(diǎn)擊 “OK” 按鈕,如圖 24 所示。
圖 24. 輸入項(xiàng)目名稱(chēng)
(3) 在 CP343-1_S7 下點(diǎn)擊右鍵 “Insert New Object”,選擇 “SIMATIC 300 Station”,如圖 25 所示。
圖 25. 插入 S7-300 站點(diǎn)
(4) 雙擊 “Hardware” 打開(kāi)硬件組態(tài),如圖 26 所示。
圖 26. 硬件組態(tài)
(5) 插入 S7-300 機(jī)架,如圖 27 所示。
圖 27. 插入 S7-300 機(jī)架
(6) 插入 CPU 314C-2 PN/DP 和 CP343-1,如圖 28、29 所示。
圖 28. 插入 S7-300 CPU
圖 29. 插入 CP343-1
(7) 設(shè)置 CP343-1 的 IP 地址 192.168.0.11 和子網(wǎng)掩碼 255.255.255.0 ,并添加新建子網(wǎng)。如圖 30 所示。
圖 30. 設(shè)置 IP 地址和添加子網(wǎng)
(8) 為了編程方便,使用 CPU 屬性中定義的時(shí)鐘位,定義方法如下: 雙擊硬件配置機(jī)架內(nèi)的 CPU 314C-2PN/DP ,進(jìn)入 CPU 屬性設(shè)置,選擇 Cycle/Clock Memory,然后激活 Clock memory 時(shí)鐘字節(jié)定義為 MB0,如圖 31 所示。 時(shí)鐘位使用 M0.5,以 1Hz 的速率自動(dòng)激活發(fā)送任務(wù)。
圖 31. 啟動(dòng)時(shí)鐘存儲(chǔ)器
(9)點(diǎn)擊 “Save and Compile” 按鈕。編譯保存硬件組態(tài)信息,如圖 32 內(nèi) 1 所示。
圖 32. 保存并編譯硬件組態(tài)
2.在 Netpro 內(nèi)組態(tài)并配置 S7 單邊連接參數(shù)
① 硬件配置完畢后,點(diǎn)擊 Netpro 圖標(biāo)如圖 32 內(nèi) 2 所示,進(jìn)入 Netpro 右鍵 CPU 添加新連接,如圖 33 所示。
圖 33. Netpro 內(nèi)新建 S7 單邊連接
②選擇未指定的伙伴,類(lèi)型選擇 S7 連接,然后確定,如圖 34 所示。
圖 34. 新建未指定 S7 連接
③添加完成后,進(jìn)一步設(shè)置 S7 連接參數(shù)。 因 CP343-1 做 S7 單邊通信客戶(hù)端,確認(rèn) S7 連接屬性為主動(dòng)建立連接和單向,查看 S7 連接 ID 號(hào),并設(shè)置未指定伙伴的 IP 地址,如圖 35 所示。
圖 35. 設(shè)置新建的 S7 連接參數(shù)
④在“Address Details”內(nèi)設(shè)置伙伴的 TSAP,如圖 36 所示。
圖 36. 設(shè)置伙伴 TSAP
注意:S7-1200 預(yù)留給 S7 連接兩個(gè) TSAP 地址:03.00 和 03.01。
⑤S7-300 側(cè)新建 S7 連接配置完畢,可在 Netpro 內(nèi)查看到只有一個(gè)未指定的 S7 單邊連接存在,編譯并保存,如圖 37 所示。
圖 37. Netpro 內(nèi)新建的 S7 單邊連接
3.在 S7-300 側(cè)軟件編程
①創(chuàng)建接收和發(fā)送數(shù)據(jù)塊 ,接收 DB 10 字節(jié)數(shù)組,發(fā)送 DB 10 字節(jié)數(shù)組。如圖 38、39 所示。
圖 38. S7-300 創(chuàng)建接收數(shù)據(jù)區(qū) DB 塊
圖 39. S7-300 創(chuàng)建發(fā)送數(shù)據(jù)區(qū) DB 塊
② 在 OB1 中,從"Libraries">"SIMATIC_NET_CP">"CP 300"下,調(diào)用 FB15 "PUT"、FB14 "GET" 通信指令。程序見(jiàn)圖 40。
圖 40. OB1 調(diào)用 S7 通信指令
S7-300 側(cè) S7 單邊連接配置和編程完成,編譯存盤(pán)并下載。
2.3 在 S7-1200 側(cè)配置和編程
該部分內(nèi)容和 1.3 章節(jié)內(nèi)容相同,不再贅述。
2.4 監(jiān)控通信結(jié)果
下載兩個(gè) CPU 中的所有硬件組態(tài)及程序,實(shí)現(xiàn)兩個(gè) CPU 之間數(shù)據(jù)交換,監(jiān)控結(jié)果如圖 41 所示。
圖 41. 監(jiān)控結(jié)果