使用 STEP7 V14,S7-1500 的 PROFINET 通信口可以做 S7 通信的服務(wù)器端或客戶(hù)端。S7-1500 支持 S7 單邊通信,僅需在客戶(hù)端單邊組態(tài)連接和編程,而服務(wù)器端只準備好通信的數據就行。
所以在編程組態(tài)和建立連接方面,S7-1500CPU 如果做為客戶(hù)端,只需在 S7-1500 這一側建立連接,并使用單邊編程方式 PUT,GET 指令進(jìn)行通信,而 S7-300CPU 側不用做任何工作。
所需要條件:
① S7-1500 /S7-300 CP343-1 lean設備
② STEP7 V14
所完成的通信任務(wù):
① S7-1500CPU 將本地 DB3 中的數據寫(xiě)到 S7-300CPU 中 DB4 中。
② S7-300CPU 通過(guò) CP 卡將本地 DB3 中的數據寫(xiě)到S7-1500CPU 中 DB4 中。
在項目樹(shù) “Project tree”>“Devices & Networks” >“Networks view” 視圖下,創(chuàng )建兩個(gè)設備的連接。用鼠標點(diǎn)中 PLC_1 PROFINET 通信口上,然后拖拽出一條線(xiàn),到另外一個(gè) CP343-1 lean 的 PROFINET 通信口的綠色小方框上,松開(kāi)鼠標,連接就建立起來(lái)了。
打開(kāi) “Network View” 配置網(wǎng)絡(luò ),點(diǎn)中左上角的“連接”圖標,這時(shí)所有 CPU 變成亮藍色,然后選中S7-1500CPU,右鍵選擇添加新的連接, 在連接列表里建立新的連接并選擇連接對象和通信協(xié)議,如圖1. 所示。
圖1. 建立S7連接
圖2. 定義連接對方地址
圖3. 定義通信雙方 TSAP號
注意:S7-300預留給S7連接TSAP地址:03.02;如果通信伙伴是S7-400,則要根據CPU槽位來(lái)決定TSAP地址,例如: CPU400在3號槽,則TSAP地址為03.03。
配置完網(wǎng)絡(luò )連接,編譯存盤(pán)并下載。
在OB1中,從“Instruction”>“S7 Communication”>下,調用Get、Put通信指令。創(chuàng )建發(fā)送和接收數據塊 DB3和DB4,定義成100個(gè)字節的數組。程序見(jiàn)圖4
圖4. 程序調用功能
CALL “GET” | ,%DB2 | //調用 GET,使用背景DB塊:DB2 |
REQ | :=%M0.7 | //系統時(shí)鐘 2秒脈沖 |
ID | :=W#16#0100 | //連接號,要與連接配置中一致,創(chuàng )建連接時(shí)的連接號 |
NDR | :=%M4.0 | //為1時(shí),接收到新數據 |
ERROR | :=%M4.1 | //為1時(shí),有故障發(fā)生 |
STATUS | :=%MW6 | //狀態(tài)代碼 |
ADDR_1 | :=P#DB3.DBX0.0 BYTE 100 | //從通信伙伴數據區讀取數據的地址 |
RD_1 | :=P#DB4.DBX0.0 BYTE 100 | //本地接收數據地址 |
CALL “PUT” | , %DB5 | //調用 PUT,使用背景DB塊:DB5 |
REQ | :=%M0.7 | //系統時(shí)鐘 2秒脈沖 |
ID | :=W#16#0100 | //連接號,要與連接配置中一致,創(chuàng )建連接時(shí)的連接號 |
DONE | :=%M8.0 | // 為1時(shí),發(fā)送完成 |
ERROR | :=%M8.1 | // 為1時(shí),有故障發(fā)生 |
STATUS | :=%MW10 | // 狀態(tài)代碼 |
ADDR_1 | :=P#DB4.DBX0.0 BYTE 100 | // 發(fā)送到通信伙伴數據區的地址 |
SD_1 | :=P#DB3.DBX0.0 BYTE 100 | // 本地發(fā)送數據區 |
通過(guò)在S7-1500側編程進(jìn)行S7通訊 ,實(shí)現兩個(gè)CPU之間數據交換,監控結果如圖5.
圖5. 監控結果
電話(huà):13916183699
郵箱:13916183699@139.com
網(wǎng)址:http://szhongqiang.com
地址:中國上海市青浦區北青公路7171號111-112室