如何利用S7通信在兩台S7-300PLC之間交換數據?
S7通信協議是西門子S7系列PLC的精髓,它是一種優化的、用乙太網作為媒介的、在S7系列PLC之間進行通信的協議。今天這篇文章,我們來談談如何利用S7通信(S7 Communication)在兩台S7-300 PLC之間進行數據交換。
S7通信有以下幾個特點:
- 需要SIMATIC CP模塊或者CPU集成的PN網口;
- 需要硬體組態;
- 需要專用指令的支持;
S7通信的指令可以分為如下幾個類別:
- 用於數據交換的指令;
- 用於查詢操作模式的指令;
- 用於改變操作模式的指令;
- 用於查詢鏈接狀態的指令;
本文使用數據交換指令,硬體平台是CPU 315-2PN/DP和CPU 317-2PN/DP,用網線將兩個CPU的PN口相連。採用S7單邊通信的方式,僅在CPU 315-2PN/DP一側進行硬體組態和軟體編程。兩個站點的IP參數如下:
首先對CPU 315-2PN/DP進行硬體組態,設置IP地址:192.168.0.2,如下圖:
打開網路配置工具(NetPro),右鍵添加一條新的S7連接(S7 Communication),如下圖:
雙擊新添加的S7連接(S7 connection),打開屬性對話框,在【通信路徑(Connection Path)】中添加通信夥伴的IP地址,如下圖:
點擊【地址詳細信息(Address Details)】按鈕,打開對話框,將【導軌/槽號(Rack/Slot)】修改成通信夥伴的實際設置。S7-300的CPU一般導軌(Rack)為0,槽號(Slot)為2),如下圖:
至此,硬體和網路組態完成,編譯後下載到CPU 315-2PN/DP中。
接下來進行軟體編程。採用FB14 "GET" 指令獲取遠程PLC(CPU 317-PN/DP)的數據,程序塊如下圖:
指令各引腳的參數含義如下表:
採用FB15 "PUT" 指令將數據寫入遠程PLC,程序塊如下圖:
指令各引腳參數含義如下表:
與使用開放TCP或UDP協議相比,S7通信協議在編程上比較簡單,但是需要進行硬體組態。
好了,關於兩台S7-300 PLC之間通過PN口進行S7通信就先介紹到這裡,歡迎登陸官網(http://www.founderchip.com)瀏覽更多技術類文章。
推薦閱讀:
TAG:可編程邏輯控制器PLC | 電氣工程 | 電氣工程及其自動化 |