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

        一.功能概述


        開放式用戶通信(OUC通信)是基于以太網進行數據交換的協議,適用于PLC之間通信、PLC與第三方設備、PLC與gaoji語言等進行數據交換。開放式用戶通信有以下通信連接方式:(1) TCP通信方式,該通信方式支持TCP/IP的開放式數據通信。TCP/IP采用面向數據流的數據傳送,發送的長度zuihao是固定的。如果長度發生變化,在接收區需要判斷數據流的開始和結束位置,比較繁瑣,并且需要考慮到發送和接收的時序問題。(2) ISO-on-TCP通信方式,由于ISO不支持以太網路由,因而西門子應用RFC1006將ISO映射到TCP上,實現網絡路由。(3) User Datagram Protocol通信方式,該通信連接屬于OSI模型第四層協議,支持簡單數據傳輸,數據無須確認,與TCP通信相比,UDP沒有連接。S7-1200 CPU通過集成的以太網接口用于開放式用戶通信連接,通過調用發送指令(TSEND_C)和接收指令(TRCV_C)進行數據交換。通信方式為雙邊通信,因此,兩臺S7-1200 PLC之間進行開放式以太網通信,“TSEND_C”和“TRCV_C”必須成對出現。


        二.指令說明


        在指令選項卡中選擇“通信”→“開放式用戶通信”,開放式用戶通信指令列表如圖1所示。開放式用戶通信指令主要包括三個通信指令,“TSEND_C”(發送數據指令)、“TRCV_C” (接數據指令)和“TMAIL_C”(發送電子郵件指令),還包括一個其他指令文件夾。其中,“TSEND_C”(發送數據指令)和“TRCV_C” (接收數據指令)是常用指令,下面做詳細說明。

        圖1 開放式用戶通信指令



        1.“TSEND_C”指令


        (1)指令介紹使用“TSEND_C”指令設置并建立通信連接,CPU會自動保持和監視該連接。該指令異步執行,先設置并建立通信連接,然后通過現有的通信連接發送數據,Zui后終止或重置通信連接。指令如圖2所示。

        圖2 TSEND_C指令


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

        表1 “TSEND_C”指令引腳參數


        2.“TRCV_C”指令


        (1)指令介紹使用“TRCV_C”指令設置并建立通信連接, CPU會自動保持和監視該連接。該指令異步執行,先設置并建立通信連接,然后通過現有的通信連接接收數據。指令如圖3所示。

        圖3 TRCV_C指令


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

        表2 “TRCV_C”指令引腳參數



        三.實例內容


        1.實例名稱


        開放式用戶通信應用實例


        2.實例描述


        兩臺S7-1200 PLC之間作開放式用戶通信,一臺作為客戶端,一臺作為服務端??蛻舳藢B10.DBW0- DB10.DBW4的數據寫到服務端DB100.DBW0- DB100.DBW4中。


        3.硬件組成


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


        四.實例實施


        1.新建項目及組態連接


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

        圖4 添加新設備對話框


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

        圖5 以太網IP地址


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

        圖6系統和時鐘存儲器


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


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

        圖7 添加新設備對話框


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

        圖8 以太網IP地址


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

        圖9 系統和時鐘存儲器


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

        圖10 組態網絡連接


        2.編寫客戶端程序


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

        圖11 PLC變量表


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

        圖12 創建數據塊


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

        圖13 取消優化塊的訪問


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

        圖14 發送數據區


        第三步:編寫OB1主程序主程序主要完成“TSEND_C”指令的編寫,可使用指令的“屬性”來組態連接參數和塊參數。(1)組態“TSEND_C”指令的連接參數將 TSEND_C指令插入到OB1主程序中,自動生成背景數據塊。選中指令的任意部分,在其巡視窗口中,選擇“屬性”→“組態”的選項卡,連接參數對話框如圖15所示。

        圖15 TSEND_C指令的連接參數


        (2)編寫“TSEND_C”指令的塊參數

        指令的塊參數,如圖16所示。

        圖16 TSEND_C指令的塊參數


        主要參數說明如下:

        ① REQ:在上升沿時執行該指令;② CONT:1表示建立并保持通信連接;③ CONNET:指向連接描述結構的數據塊;④ DATA:指向發送區的地址。


        3.編寫服務端程序


        第一步:創建PLC變量表

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

        圖17 PLC變量表


        第二步:創建數據接收區

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

        圖18 創建數據塊


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

        圖19 取消優化塊的訪問


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

        圖20 接收數據區


        第三步:編寫OB1主程序

        (1)配置“TRCV_C”指令的連接參數

        將“TRCV_C”指令插入到OB1主程序中,自動生成背景數據塊。選中指令的任意部分,在其巡視窗口中,選擇“屬性”→“組態”的選項卡,連接參數對話框如圖21所示。

        圖21 TSEND_C指令的連接參數


        (2)編寫“TRCV_C”指令的引腳參數

        指令的塊參數,如圖22所示。

        圖22 TRCV_C指令的塊參數


        ① EN_R:為1,表示啟用接收功能;② CONT:1表示建立通信連接并在接收數據后保持該連接;③ CONNET:指向連接描述結構的數據塊;④ DATA:指向接收區的地址。


        4.程序測試


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

        圖23 PLC_1監控表


        圖24 PLC_2監控表


        聯系方式

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