<address id="bxe5x"></address>
      1. 加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線13185520415
        公司新聞
        西門子S7-1500和S7-1200 F-CPU間Flexible F-Link通信
        發布時間: 2024-01-08 20:06 更新時間: 2024-11-22 08:00
        觀看西門子S7-1500和S7-1200 F-CPU間Flexible F-Link通信視頻

        從STEP7 Safety V15.1開始,S7-1200和S7-1500 F-CPU間可以通過Flexible F-Link進行安全數據的交互。這表示安全數據能夠以數組的形式通過開放式通信進行交互。

        通過Flexible F-Link進行安全數據交換具有以下特點:

        1. 安全數據需要建立在PLC數據類型(UDT)中;

        2. 每個UDT中Zui大支持100個字節的數據交互,支持故障安全數據類型;

        3. 適用于S7-1200和S7-1500 F-CPU;

        4. 用于通信的DB塊由系統自動生成;

        5. 每組通信具有唯一的UUID;

        要求

        1. S7-1500 F-CPU的固件不低于V2.0;

        2. S7-1200 F-CPU的固件版本不低于V4.2;

        3. Safety system的版本不低于V2.2。

        Flexible F-Link通信過程說明

        Flexible F-Link安全通信是以開放式用戶通信(例如TCP)的方式將一個F-CPU的F-DB數據發送到另一個F-CPU的F-DB中。示意過程如圖A所示:

        圖片圖A. Flexible F-Link 通信示意圖

        F-CPU間組態Flexible F-Link,通過開放式用戶通信(如TCP)進行數據傳輸,本質上是兩個F-CPU間的F-communication DB間的數據交互。

        通信過程如下(以PLC1發送安全數據到PLC2為例說明):

      2. PLC1在安全主程序(Main_Safety_RTG1)中編程,將需要交互的安全數據從全局F-DB中傳送至F-communication DB中。數據為UDT類型。

      3. PLC1調用發送指令(如TSEND)將F-communication DB中的數據發送到PLC2,如圖A "SEND_ARRAY"。

      4. PLC2調用接受指令(如TRCV)接收數據,數據傳送至F-communication DB中,如圖A "RCV_ARRAY"。同時將交互的安全數據從F-communication DB中取出傳送至全局F-DB中。

      5. PLC2調用發送指令(如TSEND),將安全校驗數據發送到PLC1,如圖A "ACK_SEND_ARRAY"。

      6. PLC1調用接受指令(如TRCV)接收數據,數據傳送至F-communication DB中,如圖A "ACK_RCV_ARRAY"。

      7. PLC1驗證安全校驗數據無誤,執行下一次的安全數據的發送。

      8. F-communication DB的說明

        F-communication DB在兩個F-CPU進行Flexible F-Link設置后分別自動生成,設置過程見下文示例。如圖B所示:

        圖片圖B. F-communication DBs

        發送端與接收端的F-communication DB 數據結構不同。如圖C所示:

        圖片圖C.F-communication 發送/接收DB


      9. SEND_DATA:需要發送給伙伴的安全數據,由用戶自定義生成。安全數據需要用戶在安全主程序中編程進行傳送。

      10. ACK_RCV_ARRAY: 接收的安全校驗數據。

      11. SEND_ARRAY: 需要通過發送指令(如TSEND)發送給伙伴的數組,由安全數據和校驗信息組成。

      12. RCV_ARRAY: 接收端PLC通過接收指令(如TRCV)接收的數組,由安全數據和校驗信息組成。

      13. RCV_DATA: 接收端接收到的安全數據,即由發送端PLC交互的數據。用戶可在安全主程序編程將該數據傳送至F-DB中。

      14. ACK_SEND_ARRAY: 需要接收端PLC通過發送指令(如TSEND)發送出去的安全校驗信息。

      15. 概括來說,對于發送端,①②位于DB塊的"Input"接口區,需要由外部傳入數據;③位于DB塊的"Output"接口區,需要將該數據發送出去。而對于接收端,④位于DB塊的"Input"接口區,需要由外部傳入數據;⑤⑥位于DB塊的"Output"接口區,需要將該數據發送出去。

        此外,接收端DB塊中的PASS_OUT為TRUE時,將輸出故障替代值"PASS_VALUES"。當"ACK_REQ"為TRUE時,表示故障消失需要手動確認,輸入信號"ACK_REI"觸發上升沿后,數據交互即可正常。

        本節內容,將實現將S7-1500F-CPU中的數據通過Flexible F-Link的方式發送到S7-1200F-CPU中。

        聯系方式

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