如何利用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通信就先介紹到這裡,歡迎登陸官網(founderchip.com)瀏覽更多技術類文章。


推薦閱讀:

TAG:可編程邏輯控制器PLC | 電氣工程 | 電氣工程及其自動化 |