0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

S7-1500和S7-1200 F-CPU間Flexible F-Link通信

機器人及PLC自動化應(yīng)用 ? 來源:機器人及PLC自動化應(yīng)用 ? 2023-01-31 13:40 ? 次閱讀

S7-1500和S7-1200 F-CPU間Flexible F-Link通信

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

通過Flexible F-Link進(jìn)行安全數(shù)據(jù)交換具有以下特點:

安全數(shù)據(jù)需要建立在PLC數(shù)據(jù)類型(UDT)中;

每個UDT中最大支持100個字節(jié)的數(shù)據(jù)交互,支持故障安全數(shù)據(jù)類型;

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

用于通信的DB塊由系統(tǒng)自動生成;

每組通信具有唯一的UUID;

要求

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

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

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

更多的關(guān)于創(chuàng)建和編寫、通信的安全程序的信息請參考故障安全系統(tǒng)組態(tài)和編程手冊。

Flexible F-Link通信過程說明

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

853516da-a11e-11ed-bfe3-dac502259ad0.png

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

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

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

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

PLC1調(diào)用發(fā)送指令(如TSEND)將F-communication DB中的數(shù)據(jù)發(fā)送到PLC2,如圖A "SEND_ARRAY"。

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

PLC2調(diào)用發(fā)送指令(如TSEND),將安全校驗數(shù)據(jù)發(fā)送到PLC1,如圖A "ACK_SEND_ARRAY"。

PLC1調(diào)用接受指令(如TRCV)接收數(shù)據(jù),數(shù)據(jù)傳送至F-communication DB中,如圖A "ACK_RCV_ARRAY"。

PLC1驗證安全校驗數(shù)據(jù)無誤,執(zhí)行下一次的安全數(shù)據(jù)的發(fā)送。

F-communication DB的說明

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

85446644-a11e-11ed-bfe3-dac502259ad0.png

圖B. F-communication DBs

發(fā)送端與接收端的F-communication DB 數(shù)據(jù)結(jié)構(gòu)不同。如圖C所示:

8551485a-a11e-11ed-bfe3-dac502259ad0.png

圖C.F-communication 發(fā)送/接收DB

SEND_DATA:需要發(fā)送給伙伴的安全數(shù)據(jù),由用戶自定義生成。安全數(shù)據(jù)需要用戶在安全主程序中編程進(jìn)行傳送。

ACK_RCV_ARRAY: 接收的安全校驗數(shù)據(jù)。

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

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

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

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

概括來說,對于發(fā)送端,①②位于DB塊的"Input"接口區(qū),需要由外部傳入數(shù)據(jù);③位于DB塊的"Output"接口區(qū),需要將該數(shù)據(jù)發(fā)送出去。而對于接收端,④位于DB塊的"Input"接口區(qū),需要由外部傳入數(shù)據(jù);⑤⑥位于DB塊的"Output"接口區(qū),需要將該數(shù)據(jù)發(fā)送出去。

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

示例所使用的軟硬件環(huán)境

本節(jié)內(nèi)容,將實現(xiàn)將S7-1500F-CPU中的數(shù)據(jù)通過Flexible F-Link的方式發(fā)送到S7-1200F-CPU中。

測試所用產(chǎn)品

CPU 1511F-1PN (6ES7 511-1FK01-0AB0 ,V2.5)

CPU 1215FC DC/DC/DC (6ES7 215-1AF40-0XB0 , V4.2)

Safety system version V2.3

TIA Portal Step7 professional V16

Step7 safety V16

實現(xiàn)交互的數(shù)據(jù)區(qū)

通過以下步驟,實現(xiàn)將plc1的DB6中的數(shù)據(jù)發(fā)送到plc2的DB3中。如圖1所示:

8587ffda-a11e-11ed-bfe3-dac502259ad0.png

圖1.安全數(shù)據(jù)交互區(qū)

S7-1500F側(cè)編程組態(tài)

添加S7-1511F和S7-1215FC,分別設(shè)置兩個CPU的IP地址為192.168.0.15和192.168.0.12,并連接在一個子網(wǎng)中。如圖2所示:

8592ea80-a11e-11ed-bfe3-dac502259ad0.png

圖2.添加新F-CPU

添加符合F的PLC數(shù)據(jù)類型。如圖3所示:

85a30960-a11e-11ed-bfe3-dac502259ad0.png

圖3.添加PLC數(shù)據(jù)類型

新建的UDT中創(chuàng)建需要交互的數(shù)據(jù)類型。如圖4所示:

85b06cc2-a11e-11ed-bfe3-dac502259ad0.png

圖4.新增交互變量

設(shè)置Flexible F-Link。如圖5所示:

設(shè)置完成后,自動生成F-communication DB,具體結(jié)構(gòu)見前面圖C。

85ba99c2-a11e-11ed-bfe3-dac502259ad0.png

圖5.設(shè)置Flexible F-Link

新建FC塊,添加到pre processing和post processing。如圖6所示:

Pre processing 指定的程序塊在安全運行組之前運行;Post processing 指令的指令塊在安全運行組之后運行。

85c73178-a11e-11ed-bfe3-dac502259ad0.png

圖6.設(shè)置Pre/Post processing

添加循環(huán)中斷組織塊OB30,設(shè)置其循環(huán)時間為30ms。在OB30中調(diào)用TRCV_C指令用于建立TCP連接和接收數(shù)據(jù)。如圖7所示:

循環(huán)中斷OB30的循環(huán)時間可以調(diào)整。OB30中調(diào)用TRCV_C,主要用于在安全運行組執(zhí)行前多次執(zhí)行接收保證能接收到新的安全校驗數(shù)據(jù)。

85d5ae1a-a11e-11ed-bfe3-dac502259ad0.png

圖7.增加TCP接收指令

TRCV_C指令連接組態(tài),用于建立與伙伴的TCP連接。如圖8所示:

如果通信雙方屬于不同的項目,伙伴側(cè)選擇“未指定”。

85e2d270-a11e-11ed-bfe3-dac502259ad0.png

圖8.連接參數(shù)組態(tài)

OB30中TRCV_C指令參數(shù)化,接收安全通信過程中符合profisafe規(guī)范的安全校驗數(shù)據(jù)。TRCV_C指令將接收到的安全校驗數(shù)據(jù)存放到DB2的數(shù)組"rcvAckArray"中。如圖9所示:

注意:數(shù)組"rcvAckArray"為Byte類型數(shù)組,數(shù)組長度與"send".ACK_RCV_LENGTH一致。

85efee42-a11e-11ed-bfe3-dac502259ad0.png

圖9.參數(shù)化TRCV_C

pre processing 指令塊將接收的安全校驗數(shù)據(jù)傳送至F-communication中。執(zhí)行安全運行組之前,將數(shù)據(jù)傳送至安全通信DB中。如圖10所示:

85faff9e-a11e-11ed-bfe3-dac502259ad0.png

圖10.數(shù)據(jù)傳送

post processing 指令塊進(jìn)行安全數(shù)據(jù)的發(fā)送。如圖11所示:

8607f1fe-a11e-11ed-bfe3-dac502259ad0.png

圖11.發(fā)送安全數(shù)據(jù)

安全主程序中將用戶全局DB數(shù)據(jù)傳送至F-communication中。如圖12所示:

8616a38e-a11e-11ed-bfe3-dac502259ad0.png

圖12.安全主程序編程

下載項目到CPU中。

S7-1200F側(cè)編程組態(tài)

新建符合F的PLC數(shù)據(jù)類型,新增接收數(shù)據(jù)類型。如圖13所示:

8623f84a-a11e-11ed-bfe3-dac502259ad0.png

圖13.添加PLC數(shù)據(jù)類型

設(shè)置Flexible F-Link。如圖14所示:

設(shè)置完成后,自動生成F-communication DB,具體結(jié)構(gòu)見前面圖C。

8630defc-a11e-11ed-bfe3-dac502259ad0.png

圖14.設(shè)置Flexible F-Link

新建FC塊,添加到pre processing和post processing。如圖15所示:

863d9c82-a11e-11ed-bfe3-dac502259ad0.png

圖15.設(shè)置Pre/Post processing

添加循環(huán)中斷組織塊OB30,設(shè)置其循環(huán)時間為30ms。在OB30中調(diào)用TRCV_C指令用于建立TCP連接和接收數(shù)據(jù)。如圖16所示:

864abb06-a11e-11ed-bfe3-dac502259ad0.png

圖16.調(diào)用TCP接收指令

TRCV_C指令連接組態(tài)。如圖17所示:

86593a78-a11e-11ed-bfe3-dac502259ad0.png

圖17.組態(tài)連接參數(shù)

OB30中TRCV_C指令參數(shù)化,接收plc1發(fā)送的安全數(shù)據(jù)到DB4的數(shù)組"rcvArray"中。如圖18所示:

注意:數(shù)組"rcvArray"為Byte類型數(shù)組,數(shù)組長度與"receive".RCV_LENGTH一致。

866a3f3a-a11e-11ed-bfe3-dac502259ad0.png

圖18.參數(shù)化TRCV_C

pre processing 指令塊將接收的安全數(shù)據(jù)傳送至F-communication中。如圖19所示:

867a454c-a11e-11ed-bfe3-dac502259ad0.png

圖19.傳送數(shù)據(jù)

post processing 指令塊進(jìn)行安全校驗數(shù)據(jù)的發(fā)送。如圖20所示:

86868f0a-a11e-11ed-bfe3-dac502259ad0.png

圖20.發(fā)送安全校驗數(shù)據(jù)

安全主程序中將接收的安全數(shù)據(jù)從F-communication傳送至用戶全局DB中。如圖21所示:

86932b16-a11e-11ed-bfe3-dac502259ad0.png

圖21.安全主程序編程

下載項目到CPU中。

通信監(jiān)控

接收端(plc2)進(jìn)行去鈍。如圖22所示:

86a026d6-a11e-11ed-bfe3-dac502259ad0.png

圖22.去鈍

數(shù)據(jù)在線監(jiān)控,安全數(shù)據(jù)傳送完成。如圖23所示:

86ac4844-a11e-11ed-bfe3-dac502259ad0.png

圖23.數(shù)據(jù)監(jiān)視

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5004

    文章

    13045

    瀏覽量

    460841
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10769

    瀏覽量

    210420
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    5926

    瀏覽量

    135695
  • S7-1200
    +關(guān)注

    關(guān)注

    11

    文章

    331

    瀏覽量

    17814
  • S7-1500
    +關(guān)注

    關(guān)注

    3

    文章

    300

    瀏覽量

    6223

原文標(biāo)題:S7-1500和S7-1200 F-CPU間Flexible F-Link通信

文章出處:【微信號:gh_a8b121171b08,微信公眾號:機器人及PLC自動化應(yīng)用】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    S7-1200S7-1200/S7-1500不同項目下UDP通信

    S7-1200S7-1200 之間的以太網(wǎng)通信可以通過 UDP 協(xié)議來實現(xiàn)。本列中使用TSEND_C,TRCV_C指令建立雙方的UDP通訊。TSEND_C,TRCV_C指令在兩臺PLC
    的頭像 發(fā)表于 01-10 09:19 ?5430次閱讀

    西門子plc S7-1200/S7-1500優(yōu)化的DB塊與標(biāo)準(zhǔn)的DB塊整體對比

    在 TIA Portal V12 中為S7-1200/S7-1500 CPU 添加一個 DB 塊時,其缺省屬性為優(yōu)化的 DB ,優(yōu)化的 DB 塊與標(biāo)準(zhǔn)的 DB 塊整體對比如下表所示: S7
    的頭像 發(fā)表于 07-28 19:55 ?4365次閱讀
    西門子plc <b class='flag-5'>S7-1200</b>/<b class='flag-5'>S7-1500</b>優(yōu)化的DB塊與標(biāo)準(zhǔn)的DB塊整體對比

    WinCC V7.2與S7-1200的PLC通訊

    自WinCC V7.2版本起,軟件新增加了 SIMATIC S7-1200, S7-1500 Channel通道,用于WinCC與 S7-1200/S7-1500 PLC之間的
    發(fā)表于 09-26 19:06 ?11次下載
    WinCC V7.2與<b class='flag-5'>S7-1200</b>的PLC通訊

    基于WinCC V7.2與S7-1200/1500 PLC通訊步驟介紹

    自WinCC V7.2版本起,軟件新增加了 SIMATIC S7-1200, S7-1500 Channel通道,用于WinCC與 S7-1200/S7-1500 PLC之間的
    發(fā)表于 09-28 11:01 ?37次下載
    基于WinCC V7.2與<b class='flag-5'>S7-1200</b>/<b class='flag-5'>1500</b> PLC通訊步驟介紹

    西門子S7-1200S7-1500 的編程指南pdf下載

    西門子S7-1200S7-1500 的編程指南
    發(fā)表于 03-27 15:15 ?293次下載

    如何使用博途平臺上完成西門子的S7-1500S7-1200以太網(wǎng)通信

    一步步教你使用博途平臺,完成西門子最風(fēng)行的兩款PLC——S7-1500(1515 CPU)與S7-1200(1214 CPU)之間通信,有兩
    的頭像 發(fā)表于 07-09 10:00 ?5.3w次閱讀
    如何使用博途平臺上完成西門子的<b class='flag-5'>S7-1500</b>與<b class='flag-5'>S7-1200</b>以太網(wǎng)<b class='flag-5'>通信</b>?

    西門子S7-1200S7-1500編程風(fēng)格指南

    西門子S7-1200S7-1500編程風(fēng)格指南分享
    發(fā)表于 08-17 17:30 ?19次下載

    關(guān)于S7-1200S7-1500 PLC的通信

    WinCC V7.4SP1中針對S7-1200S7-1500通信,可以創(chuàng)建狀態(tài)變量和控制變量,用來顯示和控制S7-1200S7-1500
    發(fā)表于 10-09 10:05 ?2106次閱讀

    新的故障安全通信Flexible F-Link

    靈活的 F-Link 通信地址簽名 – 用于更好地分類變化的離散 F 簽名 ? 區(qū)分硬件/軟件和通信Flexible
    的頭像 發(fā)表于 01-07 12:05 ?977次閱讀

    WinCC與 S7-1200/S7-1500 PLC之間的通信解析

    自WinCC V7.2版本起,軟件新增加了 "SIMATIC S7-1200, S7-1500 Channel"通道,用于WinCC與 S7-1200/S7-1500 PLC之間的
    發(fā)表于 02-06 09:39 ?7656次閱讀

    S7-1200能仿真通信嗎?

    西門子PLC搭建通信的仿真環(huán)境,有兩種方式,一種方式是PLCSIM + NettoPLCSIM,另一種方式是TIA + PLCSIM-Advanced,后者只能仿真S7-1500或者ET200SP
    的頭像 發(fā)表于 02-22 15:57 ?3687次閱讀
    <b class='flag-5'>S7-1200</b>能仿真<b class='flag-5'>通信</b>嗎?

    S7-1200 CPUS7-200 SMART S7通信指南

    S7-1200 CPU 固件版本 V2.0 及其以上,本體集成的 PROFINET 通信接口可以做 S7 通信客戶端。
    的頭像 發(fā)表于 04-19 15:14 ?2943次閱讀

    S7-1500S7-1200存儲區(qū)域保持性設(shè)置

    S7-300/400一樣,S7-1500S7-1200都有存儲區(qū)M區(qū),另外S-1500還有存儲區(qū)(定時器、計數(shù)器),這些區(qū)域都可以設(shè)置保持性。下面詳細(xì)介紹如何設(shè)置這些區(qū)域的保持性。
    的頭像 發(fā)表于 04-21 09:49 ?1w次閱讀

    一文解析S7-1200S7-1500 S7通信

    S7-1200 的 PROFINET 通信口可以做 S7 通信的服務(wù)器端或客戶端(CPU V2.0及以上版本)。
    發(fā)表于 05-15 17:13 ?5835次閱讀
    一文解析<b class='flag-5'>S7-1200</b>與<b class='flag-5'>S7-1500</b> <b class='flag-5'>S7</b><b class='flag-5'>通信</b>

    S7-1200/S7-1500與精簡面板仿真過程的步驟

    S7-1200/S7-1500與精簡面板仿真有兩個需要注意的問題。
    的頭像 發(fā)表于 08-23 10:45 ?1620次閱讀
    <b class='flag-5'>S7-1200</b>/<b class='flag-5'>S7-1500</b>與精簡面板仿真過程的步驟