產(chǎn)品分類(lèi)品牌分類(lèi)
-
西門(mén)子安裝導(dǎo)軌 西門(mén)子模塊 西門(mén)子DP接頭/插頭 西門(mén)子內(nèi)存卡 西門(mén)子PLC模塊 西門(mén)子電池/電源 西門(mén)子S7-1500 西門(mén)子S7-200模塊 西門(mén)子S7-300模塊 西門(mén)子觸摸屏 西門(mén)子變頻器 西門(mén)子S7-1200 西門(mén)子開(kāi)關(guān)量輸出模塊 西門(mén)子模擬量輸入模板 西門(mén)子網(wǎng)卡及電纜 西門(mén)子S7-400模塊 西門(mén)子400 CPU模塊 西門(mén)子400 電源模塊 西門(mén)子SMART PLC模塊 西門(mén)子電線(xiàn)電纜 西門(mén)子通信卡,網(wǎng)卡 西門(mén)子連接器
S7-1200 CPU 與S7-300 PN CPU S7通信
S7-1200 CPU 與S7-300 PN CPU S7通信(S7-1200作為客戶(hù)端)
S7-1200 CPU 與 S7-300 CPU 之間的以太網(wǎng)通信通過(guò) S7 通信來(lái)實(shí)現(xiàn)。當(dāng)S7-1200作為客戶(hù)端,S7-300作為服務(wù)器,需在客戶(hù)端單邊組態(tài)連接和編程,而作為服務(wù)器端的S7-300只需準(zhǔn)備好通信的數(shù)據(jù)就行。
硬件和軟件
① S7-1200/S7-300(集成PN口)
② STEP7 V11
所完成的通信任務(wù):
① S7-1200 CPU 讀取 S7-300 CPU中 DB1 的數(shù)據(jù)到 S7-1200 的 DB3 中。
② S7-1200 CPU 將本地 DB4 中的數(shù)據(jù)寫(xiě)到 S7-300 CPU中 DB2 中。
在S7-1200 CPU一側(cè)配置編程
1. 使用 STEP7 V11 軟件新建一個(gè)項(xiàng)目并完成硬件配置
在項(xiàng)目樹(shù) “Project tree”>“Devices & Networks” >“Networks view” 視圖下,創(chuàng)建兩個(gè)設(shè)備的連接。用鼠標(biāo)點(diǎn)中 PLC_2 上 S7-1200CPU 的 PROFINET 通信口的綠色小方框,然后拖拽出一條線(xiàn),到另外一個(gè)PLC_1 上的PROFINET通信口上,松開(kāi)鼠標(biāo),連接就建立。
2. 網(wǎng)絡(luò)組態(tài)
打開(kāi) “Network View” 配置網(wǎng)絡(luò),首先點(diǎn)中左上角的“Connections”圖標(biāo),選擇“S7 Connection”,然后選中 S7-1200 CPU,然后右鍵選擇“Add new connection”添加新的連接,如圖1. 所示。
圖1. 添加連接
然后在“Create new connection”窗口中,選擇“Unspecified”,然后點(diǎn)擊“Add”建立 S7 連接,如圖2.所示。
圖2.建立 S7 連接
“S7_Connection_1”為建立的連接,選中連接,在屬性的“General”條目中定義連接對(duì)方 S7-300PN 口的 IP 地址,如下圖3.所示。
圖3. 定義連接對(duì)方的 IP 地址
圖4. 定義通訊雙方的 TSAP 號(hào)
注意:S7-300 預(yù)留給 S7 連接 TSAP 地址:03.02;如果通信伙伴是 S7-400 ,則要根據(jù) CPU 槽位來(lái)決定 TSAP 地址,例如: CPU400 在 3 號(hào)槽,則 TSAP 地址為 03.03。
圖5. 連接 ID 號(hào)
配置完網(wǎng)絡(luò)連接,編譯保存并下載。
圖6. 通訊連接狀態(tài)
3. 軟件編程
在OB1中,從“Instruction” >“Communication” >“S7 Communication”下,調(diào)用 Get、Put 通信指令,創(chuàng)建接收和發(fā)送數(shù)據(jù)塊 DB3 和 DB4,定義成 101 個(gè)字節(jié)的數(shù)組,程序調(diào)用如下圖7.所示。
圖7. 程序調(diào)用功能
功能塊管腳說(shuō)明:
CALL “GET” | ,%DB1 | //調(diào)用 GET,使用背景DB塊:DB1; |
REQ | :=%M0.7 | //系統(tǒng)時(shí)鐘 2秒脈沖 ; |
ID | :=W#16#0100 | //連接號(hào),要與連接配置中一致,創(chuàng)建連接時(shí)的連接號(hào),如圖5.所示; |
NDR | :=%M2.0 | //為1時(shí),接收到新數(shù)據(jù); |
ERROR | :=%M2.1 | //為1時(shí),有故障發(fā)生; |
STATUS | :=%MW4 | //狀態(tài)代碼; |
ADDR_1 | :=P#DB1.DBX0.0 BYTE 10 | //從通信伙伴數(shù)據(jù)區(qū)讀取數(shù)據(jù)的地址; |
RD_1 | :=P#DB3.DBX0.0 BYTE 10 | //本地接收數(shù)據(jù)地址; |
CALL “PUT” | , %DB2 | //調(diào)用 PUT,使用背景DB塊:DB2; |
REQ | :=%M0.7 | //系統(tǒng)時(shí)鐘 2秒脈沖; |
ID | :=W#16#0100 | //連接號(hào),要與連接配置中一致,創(chuàng)建連接時(shí)的連接號(hào),如圖5.所示; |
DONE | :=%M3.0 | // 為1時(shí),發(fā)送完成; |
ERROR | :=%M3.1 | // 為1時(shí),有故障發(fā)生; |
STATUS | :=%MW6 | // 狀態(tài)代碼; |
ADDR_1 | :=P#DB2.DBX0.0 BYTE 10 | // 發(fā)送到通信伙伴數(shù)據(jù)區(qū)的地址; |
SD_1 | :=P#DB4.DBX0.0 BYTE 10 | // 本地發(fā)送數(shù)據(jù)區(qū)。 |
4. 監(jiān)控結(jié)果
通過(guò)在 S7-1200 側(cè)編程進(jìn)行 S7 通訊,實(shí)現(xiàn)兩個(gè) CPU 之間數(shù)據(jù)交換,監(jiān)控結(jié)果下圖8.所示。