加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        西門子S7-1200 PLC四種以太網通信應用實例之二:S7通信應用實例
        發布時間: 2024-09-06 11:16 更新時間: 2024-11-22 08:00
        觀看西門子S7-1200 PLC四種以太網通信應用實例之二:S7通信應用實例視頻


        一.功能概述


        S7通信是西門子S7系列PLC基于MPI、PROFIBUS和以太網的一種優化的通信協議,它是面向連接的協議,在進行數據交換前,必須與通信伙伴建立連接。本協議屬于西門子私有協議,本節主要介紹基于以太網的S7通信。S7通訊服務集成在S7控制器中,屬于ISO參考模型第7層(應用層)的服務,采用客戶端-服務器原則。S7連接屬于靜態連接,可以與同一個通信伙伴建立多個連接,同一時刻可以訪問的通信伙伴的數量取決于CPU的連接資源。S7-1200 PLC通過集成的PROFINET接口支持S7通信,使用單邊通信方式,只要客戶端調用PUT/GET通信指令即可。




        二.指令說明


        在指令選項卡中選擇“通信”→“S7通信”,S7通信指令列表如圖1所示。S7通信指令主要包括兩個通信指令,“GET”指令和“PUT”指令,每個指令塊拖拽到程序工作區中將自動分配背景數據塊,背景數據塊的名稱可自行修改,背景數據塊的編號可以手動或自動分配。

        圖1 S7通信指令


        1.“GET” 指令


        (1) 指令介紹

         “GET”指令可以從遠程伙伴CPU讀取數據?;锇镃PU則可以處于 RUN 模式或 STOP 模式,S7通信都可以正常運行,指令如圖2所示。

        圖2 GET指令


        (2) 指令參數

        該指令的輸入輸出引腳參數的意義如表1所示。

        表1 “GET”指令引腳參數


        2.“PUT”指令


        (1) 指令介紹

        “PUT”指令可以將數據寫入一個遠程伙伴CPU?;锇镃PU則可以處于RUN模式或STOP 模式,S7通信都可以正常運行,指令如圖3所示。


        圖3 PUT指令


        (2)指令參數

        該指令的輸入輸出引腳參數的意義如表2所示。

        表2 “PUT”指令引腳參數




        三.實例內容


        1.實例名稱


        S7通信應用實例


        2.實例描述


        兩臺S7-1200 PLC進行S7通信,一臺作為客戶端,一臺作為服務器。客戶端讀將服務器的MW100~MW104中的數據讀取到客戶端的DB10.DBW0~ DB10.DBW4中;客戶端將DB10.DBW5~DB10.DBW9的數據寫到服務器的MW200- MW204中。


        3.硬件組成


        (1) CPU1214C DC/DC/DC,兩臺,訂貨號:6ES7 214-1AG40-0XB0;(2) 四口交換機,一臺;(3) 編程電腦,一臺,已安裝博途V15.1軟件。





        四.實例實施


        1.新建項目及組態客戶端S7-1200 CPU


        打開博途軟件,在Portal 視圖中,單擊“創建新項目”,并輸入項目名稱(S7通信應用實例),路徑和作者等信息,然后單擊“創建”即可生成新項目。
        進入項目視圖,在左側的項目樹中,單擊“添加新設備”,隨即彈出添加新設備對話框,如圖4所示,在此對話框中選擇的CPU型號和版本號(必須與實際設備相匹配),然后單擊“確定”按鈕。

        圖4 添加新設備對話框


        2.設置客戶端CPU屬性


        在項目樹中,選擇“PLC_1[CPU 1214C DC/DC/DC]”,雙擊“設備組態”,在“設備視圖”的工作區中,選中PLC_1,在其巡視窗口中的“屬性”→ “常規”的選項卡中,選擇“PROFINET接口[X1]”→“以太網地址”,修改CPU以太網IP地址如圖5所示。

        圖5 以太網IP地址


        在其巡視窗口的“屬性”→“常規”的選項卡中,選擇“系統和時鐘存儲器”,激活“啟用時鐘存儲器字節”復選框,如圖6所示。

        圖6 系統和時鐘存儲器


        備注:程序中會用到時鐘存儲器M0.5。


        3.組態服務端S7-1200 CPU


        在左側的項目樹中,單擊“添加新設備”,隨即彈出添加新設備對話框,如圖7所示。在此對話框中選擇的CPU型號和版本號(必須與實際設備相匹配),然后單擊“確定”按鈕。

        圖7 添加新設備對話框


        4.設置服務端CPU屬性


        在項目樹中,選擇“PLC_2[CPU 1214C DC/DC/DC]”,雙擊“設備組態”,在“設備視圖”的工作區中,選中PLC_2,在其巡視窗口中的“屬性”→ “常規”的選項卡中,選擇“PROFINET接口[X1]”→“以太網地址”,修改CPU以太網地址如圖8 所示。

        圖8 以太網IP地址


        在其巡視窗口的“屬性”→“常規”的選項卡中,選擇 “防護與安全”→“連接機制”,激活“允許來自遠程對象的PUT/GET通信”復選框,如圖9所示。

        圖9 激活連接機制


        5.組態S7連接


        在項目樹中,選擇“設備和網絡”,在網絡視圖中,單擊“連接”按鈕,在“連接”的下拉列表中選擇“S7連接”,用鼠標點中PLC_1的PROFINET通信口的綠色小方框,然后拖拽出一條線,到PLC_2的PROFINET通信口的綠色小方框上,然后松開鼠標,連接就建立起來了,如圖10所示。

        圖10 組態S7連接


        在網絡視圖中,選擇“網絡數據”畫面→“連接”選項卡,可以查看S7連接參數,如圖11所示。

        圖11 S7連接參數


        備注:方框中為網路數據畫面。


        6.創建客戶端PLC變量表


        在項目樹中,選擇“PLC_1[CPU 1214C DC/DC/DC]”→“PLC變量”,雙擊“添加新變量表”,并命名變量表為“PLC變量表”,在“PLC變量表”中新建變量如圖12所示。

        圖12 PLC變量表


        7.創建接收和發送數據區


        (1) 在項目樹中,選擇“PLC_1[CPU 1214C DC/DC/DC]”→“程序塊”→“添加新塊”,選擇“數據塊(DB)”創建DB塊,數據塊名稱為“數據塊_1”,手動修改數據塊編號為10,單擊“確認”按鈕,如圖13所示。

        圖13 創建數據塊


        (2) 需要在DB塊屬性中取消優化的塊訪問,單擊“確認”按鈕,如圖14所示。

        圖14 取消優化塊的訪問


        (3) 在DB塊中,創建5個字的數組用于存放接收數據,創建5個字的數組用于存放發送數據,如圖15所示。

        圖15 數據發送和接收區


        8.編寫OB1主程序


        (1) 編寫“GET”指令程序段部分

        圖16 GET指令


        主要參數說明如下:

        ① REQ輸入引腳為時鐘存儲器M0.5,上升沿時指令執行。② ID輸入引腳是連接ID,要與連接配置中一致,為16#100。③ ADDR_1輸入引腳為發送到通信伙伴數據區的地址。④ RD_1輸入引腳為本地接收數據區。


        (2) 編寫“PUT”指令程序段部分

        圖17  PUT指令


        主要參數說明如下:

        ① REQ輸入引腳為時鐘存儲器M0.5,上升沿時指令執行。② ID輸入引腳是連接ID,要與連接配置中一致,為16#100。③ ADDR_1輸入引腳為從通信伙伴數據區讀取數據的地址。④ SD_1輸入引腳為本地發送數據地址。


        9.程序測試


        程序編譯后,下載到S7-1200 CPU,通過監控表監控通信數據,監控表如圖18和19所示。

        圖18 PLC_1監控表

        圖19 PLC_2監控表




        五.應用經驗總結


        ① S7-1200 PLC作為S7通信的服務端,需要在CPU屬性的 “防護與安全”→“連接機制”中,激活“允許來自遠程對象的PUT/GET通信”,才可以進行通信;
        ② S7通信使用“GET”指令和“PUT”指令進行單邊編程;③ 伙伴CPU讀寫區域不支持優化的DB塊。

        聯系方式

        • 電  話:13510737515
        • 聯系人:董海波
        • 手  機:13185520415
        • 微  信:13185520415