S7-1200 與 S7-1200 之間的以太網通信可以通過 UDP 協議來實現,使用的通信指令是在雙方 CPU 調用 T-block ( TCON, TDISCON, TUSEND, TURCV) 指令來實現。通信方式為雙邊通信,因此 TUSEND 和 TURCV 必須成對出現。
硬件和軟件需求及所完成的通信任務:
硬件:
① S7-1200 CPU
② PC (帶以太網卡)
③ TP電纜(以太網電纜)
軟件:STEP7 V11 or Higher(只有 STEP7 V11才有此功能)
所完成的通信任務:
① 將PLC_1 的通信數據區 DB3 塊中的 100 個字節的數據發送到 PLC_2 的接收數據區 DB4 塊中。
② 將PLC_2 的通信數據區 DB3 塊中的 100 個字節的數據發送到 PLC_1 的接收數據區 DB4 塊中。
通信的編程,連接參數及通信參數的配置:
打開 STEP7 v11 軟件并新建項目 在 STEP7 v11的 “Portal View” 中選擇 “Create new project” 創建一個新項目
添加硬件并命名PLC 然后進入 “Project view”,在“Project tree” 下雙擊 “Add new device”,在對話框中選擇所使用的S7-1200 CPU添加到機架上,命名為 PLC_1,如圖1所示。同樣方法再添加通信伙伴的S7-1200 CPU ,命名為 PLC_2。
圖1. 添加新設備
為了編程方便,使用 CPU 屬性中定義的時鐘位,定義方法如下:在 “Project tree” > “PLC_1” > “Device configuration” 中,選中 CPU ,然后在下面的屬性窗口中,“Properties” > “System and clock memory” 下,將系統位定義在MB1,時鐘位定義在MB0,如圖2所示。時鐘位我們主要使用 M0.3,它是以2Hz 的速率在0和1之間切換的一個位,可以使用它去自動激活發送任務。
圖2. 系統位與時鐘位
3. 為 PROFINET 通信口分配以太網地址
在 “Device View”中點擊 CPU 上代表PROFINET 通信口的綠色小方塊,在下方會出現PROFINET 接口的屬性,在 “Ethernet addresses” 下分配IP 地址為 192.168.0.1 ,子網掩碼為255.255.255.0,如圖3所示。
圖3. 分配IP 地址
同樣方法,在同一個項目里添加另一個新設備S7-1200 CPU 并為其分配 IP 地址為192.168.0.2
4. 創建 CPU之間的邏輯網絡連接
在項目樹 “Project tree”>“Devices & Networks” >“Networks view” 視圖下,創建兩個設備的連接。用鼠標點中 PLC_1 上的PROFINET通信口的綠色小方框,然后拖拽出一條線,到另外一個PLC_2 上的PROFINET通信口上,松開鼠標,連接就建立起來了,如圖4所示。
圖4. 建立兩個 CPU的邏輯連接
在 PLC_1 中調用并配置“TCON”、“TUSEND”、“TURCV” 通信指令
1.在 PLC_1 的 OB1 中調用“TCON” 通信指令
① 在第一個 CPU 中調用發送通信指令,進入 “Project tree” > “ PLC_1” > “Program blocks” > “OB1” 主程序中,從右側窗口 “Instructions” > “Communications” > “OPEN User Communications”下調用 “TCON” 指令,創建連接,如圖5所示。
圖5. 調用“TCON”通信指令
② 創建DB2 分配連接參數,見圖6所示
圖6. 創建連接數據塊 DB2(Con_DB)
③ 定義PLC_1的 “TCON”連接參數
PLC_1 的 TCON 指令的連接參數需要在指令下方的屬性窗口“Properties”> “Configuration”>“Connection parameter”中設置,如圖7所示。
圖7. 定義 TCON 連接參數(選擇UDP連接)
2.定義 PLC_1 的“TUSEND”發送通信塊接口參數
①調用 “TUSEND” 在OB1內調用 發送100個字節數據到PLC2中 進入 “Project tree” > “ PLC_1” > “Program blocks” > “OB1” 主程序中,從右側窗口 “Instructions” > “Communications” > “OPEN User Communications”下調用 “TUSEND” 指令,,如圖8所示。
圖8. 調用 TUSEND
②創建并定義PLC_1的發送數據區 DB 塊。
通過“Project tree”>“PLC_1”>“Program blocks”>“Add new block”,選擇“Data block” 創建 DB 塊,選擇juedui尋址,點擊“OK”鍵,定義發送數據區為 100個字節的數組,如圖9~10所示
圖9. 創建發送數據區 DB 塊
注意:對于雙邊編程通信的 CPU ,如果通信數據區使用 DB 塊,既可以將 DB 塊定義成符號尋址,也可以定義成juedui尋址。使用指針尋址方式,必須創建juedui尋址的 DB 塊
圖10. 定義發送數據區為字節類型的數組
③定義UDP 連接參數數據塊
通過“Project tree”>“PLC_1”>“Program blocks”>“Add new block”,選擇“Data block” 創建 DB 塊,然后在右側“Type”中選擇“TADDR_Param”,如圖11所示
圖11. 創建UDP連接參數數據塊
創建完DB塊后,可以在DB塊內,設置本地PLC所要連接設備的IP地址與端口號,如圖12所示。
圖12. UDP 連接詳細參數
④ 定義 PLC_1 的“TUSEND”發送通信塊接口參數,如圖13所示。
圖13. 定義 TUSEND 接口參數
3.在 PLC_1 的OB1中調用接收指令TURCV 并配置基本參數
為了實現 PLC_1 接收來自 PLC_2 的數據,則在 PLC_1 中調用接收指令TURCV 并配置基本參數。
①創建并定義PLC_1的接收數據區 DB 塊。
通過“Project tree”>“PLC_1”>“Program blocks”>“Add new block”,選擇“Data block” 創建 DB 塊,選擇juedui尋址,點擊“OK”鍵,定義發送數據區為 100個字節的數組,如圖14~15所示
圖14. 創建接收數據區 DB 塊
注意:對于雙邊編程通信的 CPU ,如果通信數據區使用 DB 塊,既可以將 DB 塊定義成符號尋址,也可以定義成juedui尋址。使用指針尋址方式,必須創建juedui尋址的 DB 塊。
圖15. 定義接收數據區為字節類型的數組
②調用 “TURCV” 在OB1內調用 進入 “Project tree” > “ PLC_1” > “Program blocks” > “OB1” 主程序中,從右側窗口 “Instructions” > “Communications” > “OPEN User Communications”下調用 “TRCV” 指令,配置接口參數,如圖16所示。
圖16. 調用 TURCV 指令并配置接口參數
- 如何將西門子S7-200的庫文件導至200SMART中使用? 2024-12-02
- 西門子S7-1200編程實例,基本邏輯運算指令如何使用? 2024-12-02
- 回原點的作用是什么?西門子S7-1200運動控制中的回原點如何使用? 2024-12-02
- 西門子S7-1200plc的軸組態與點動控制詳解 2024-12-02
- S7-1200 與 S7-300 PN/S7-400 PN UDP STEP7 通信 2024-12-02
- 西門子PLC通信200smart與1200PLCS7通信 2024-12-02
- 變頻器的通訊控制 2024-12-02
- 變頻器參數如何設定?變頻器參數設定步驟 2024-12-02
- 干貨分享:伺服驅動器的常見故障和解決方法 2024-12-02
- 什么是伺服控制系統?如何實現伺服控制? 2024-12-02
- 什么是RS485總線?怎么使用RS485總線?一文了解清楚 2024-12-02
- PLC和變頻器如何控制電動機?實例分享 2024-12-02
- 西門子S7-200SMART系統塊的組態,如何組態CPU、信號板和擴展模塊? 2024-12-02
- 西門子S7-200SMART整數運算指令如何使用?【編程實例】 2024-12-02
- 西門子S7-200SMART編程實例,邏輯運算指令如何使用? 2024-12-02
聯系方式
- 電 話:13922889745
- 經理:向小姐
- 手 機:18475208684
- 微 信:18475208684