0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 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进行安全数据的交互。这表示安全数据能够以数组的形式通过开放式通信进行交互。

通过Flexible F-Link进行安全数据交换具有以下特点:

安全数据需要建立在PLC数据类型(UDT)中;

每个UDT中最大支持100个字节的数据交互,支持故障安全数据类型;

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

用于通信的DB块由系统自动生成;

每组通信具有唯一的UUID;

要求

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

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

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

更多的关于创建和编写、通信的安全程序的信息请参考故障安全系统组态和编程手册

Flexible F-Link通信过程说明

Flexible F-Link安全通信是以开放式用户通信(例如TCP)的方式将一个F-CPU的F-DB数据发送到另一个F-CPU的F-DB中。示意过程如图A所示:

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

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

F-CPU间组态Flexible F-Link,通过开放式用户通信(如TCP)进行数据传输,本质上是两个F-CPU间的F-communication DB间的数据交互。

通信过程如下(以PLC1发送安全数据到PLC2为例说明):

PLC1在安全主程序 (Main_Safety_RTG1)中编程,将需要交互的安全数据从全局F-DB中传送至F-communication DB中。数据为UDT类型。

PLC1调用发送指令(如TSEND)将F-communication DB中的数据发送到PLC2,如图A "SEND_ARRAY"。

PLC2调用接受指令(如TRCV)接收数据,数据传送至F-communication DB中,如图A "RCV_ARRAY"。同时将交互的安全数据从F-communication DB中取出传送至全局F-DB中。

PLC2调用发送指令(如TSEND),将安全校验数据发送到PLC1,如图A "ACK_SEND_ARRAY"。

PLC1调用接受指令(如TRCV)接收数据,数据传送至F-communication DB中,如图A "ACK_RCV_ARRAY"。

PLC1验证安全校验数据无误,执行下一次的安全数据的发送。

F-communication DB的说明

F-communication DB在两个F-CPU进行Flexible F-Link设置后分别自动生成,设置过程见下文示例。如图B所示:

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

图B. F-communication DBs

发送端与接收端的F-communication DB 数据结构不同。如图C所示:

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

图C.F-communication 发送/接收DB

SEND_DATA:需要发送给伙伴的安全数据,由用户自定义生成。安全数据需要用户在安全主程序中编程进行传送。

ACK_RCV_ARRAY: 接收的安全校验数据。

SEND_ARRAY: 需要通过发送指令(如TSEND)发送给伙伴的数组,由安全数据和校验信息组成。

RCV_ARRAY: 接收端PLC通过接收指令(如TRCV)接收的数组,由安全数据和校验信息组成。

RCV_DATA: 接收端接收到的安全数据,即由发送端PLC交互的数据。用户可在安全主程序编程将该数据传送至F-DB中。

ACK_SEND_ARRAY: 需要接收端PLC通过发送指令(如TSEND)发送出去的安全校验信息。

概括来说,对于发送端,①②位于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中。

测试所用产品

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

实现交互的数据区

通过以下步骤,实现将plc1的DB6中的数据发送到plc2的DB3中。如图1所示:

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

图1.安全数据交互区

S7-1500F侧编程组态

添加S7-1511F和S7-1215FC,分别设置两个CPU的IP地址为192.168.0.15和192.168.0.12,并连接在一个子网中。如图2所示:

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

图2.添加新F-CPU

添加符合F的PLC数据类型。如图3所示:

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

图3.添加PLC数据类型

新建的UDT中创建需要交互的数据类型。如图4所示:

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

图4.新增交互变量

设置Flexible F-Link。如图5所示:

设置完成后,自动生成F-communication DB,具体结构见前面图C。

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

图5.设置Flexible F-Link

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

Pre processing 指定的程序块在安全运行组之前运行;Post processing 指令的指令块在安全运行组之后运行。

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

图6.设置Pre/Post processing

添加循环中断组织块OB30,设置其循环时间为30ms。在OB30中调用TRCV_C指令用于建立TCP连接和接收数据。如图7所示:

循环中断OB30的循环时间可以调整。OB30中调用TRCV_C,主要用于在安全运行组执行前多次执行接收保证能接收到新的安全校验数据。

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

图7.增加TCP接收指令

TRCV_C指令连接组态,用于建立与伙伴的TCP连接。如图8所示:

如果通信双方属于不同的项目,伙伴侧选择“未指定”。

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

图8.连接参数组态

OB30中TRCV_C指令参数化,接收安全通信过程中符合profisafe规范的安全校验数据。TRCV_C指令将接收到的安全校验数据存放到DB2的数组"rcvAckArray"中。如图9所示:

注意:数组"rcvAckArray"为Byte类型数组,数组长度与"send".ACK_RCV_LENGTH一致。

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

图9.参数化TRCV_C

pre processing 指令块将接收的安全校验数据传送至F-communication中。执行安全运行组之前,将数据传送至安全通信DB中。如图10所示:

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

图10.数据传送

post processing 指令块进行安全数据的发送。如图11所示:

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

图11.发送安全数据

安全主程序中将用户全局DB数据传送至F-communication中。如图12所示:

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

图12.安全主程序编程

下载项目到CPU中。

S7-1200F侧编程组态

新建符合F的PLC数据类型,新增接收数据类型。如图13所示:

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

图13.添加PLC数据类型

设置Flexible F-Link。如图14所示:

设置完成后,自动生成F-communication DB,具体结构见前面图C。

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

图14.设置Flexible F-Link

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

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

图15.设置Pre/Post processing

添加循环中断组织块OB30,设置其循环时间为30ms。在OB30中调用TRCV_C指令用于建立TCP连接和接收数据。如图16所示:

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

图16.调用TCP接收指令

TRCV_C指令连接组态。如图17所示:

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

图17.组态连接参数

OB30中TRCV_C指令参数化,接收plc1发送的安全数据到DB4的数组"rcvArray"中。如图18所示:

注意:数组"rcvArray"为Byte类型数组,数组长度与"receive".RCV_LENGTH一致。

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

图18.参数化TRCV_C

pre processing 指令块将接收的安全数据传送至F-communication中。如图19所示:

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

图19.传送数据

post processing 指令块进行安全校验数据的发送。如图20所示:

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

图20.发送安全校验数据

安全主程序中将接收的安全数据从F-communication传送至用户全局DB中。如图21所示:

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

图21.安全主程序编程

下载项目到CPU中。

通信监控

接收端(plc2)进行去钝。如图22所示:

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

图22.去钝

数据在线监控,安全数据传送完成。如图23所示:

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

图23.数据监视

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    4975

    文章

    12262

    浏览量

    454972
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10453

    浏览量

    206586
  • 通信
    +关注

    关注

    18

    文章

    5706

    浏览量

    134416
  • S7-1200
    +关注

    关注

    11

    文章

    329

    浏览量

    17227
  • S7-1500
    +关注

    关注

    3

    文章

    298

    浏览量

    5850

原文标题:S7-1500和S7-1200 F-CPU间Flexible F-Link通信

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    S7-1200跟我学56-8:选型#硬声创作季

    S7-1200
    也许吧
    发布于 :2023年06月01日 09:43:32

    S7-1200跟我学56-7CPU扩展能力#硬声创作季

    S7-1200
    也许吧
    发布于 :2023年06月01日 09:44:32

    S7-1200跟我学56-12:数据的存取方式#硬声创作季

    S7-1200
    也许吧
    发布于 :2023年06月01日 09:44:56

    精益求精高价回收S7-300系列,S7-400系列、S7-1200系列、S7-1500系列CPU模块

    `精益求精高价回收S7-300系列,S7-400系列、S7-1200系列、S7-1500系列CPU模块,长期高价回收西门子
    发表于 07-04 08:47

    高价回收西门子S7-1200系列、S7-1500系列plc模块、CPU模块,回收发那科驱动器

    `高价回收西门子S7-1200系列、S7-1500系列plc模块、CPU模块,回收发那科驱动器,长期高价回收西门子S7-200系列,S7-3
    发表于 07-30 08:10

    高价回收西门子S7-1200系列、S7-1500系列plc模块、CPU模块,回收发那科驱动器

    高价回收西门子S7-1200系列、S7-1500系列plc模块、CPU模块,回收发那科驱动器,长期高价回收西门子S7-200系列,S7-30
    发表于 07-30 08:10

    回收西门子cpu模块(包括s7-200系列、s7-300系列、s7-400系列、s7-1200系列、s7-1500系列)模块

    `回收西门子cpu模块(包括s7-200系列、s7-300系列、s7-400系列、s7-1200系列、s
    发表于 08-06 08:45

    高价回收西门子S7-400系列CPU模块,回收S7-1500系列CPU模块、回收S7-1200系列CPU模块

    `高价回收西门子S7-400系列CPU模块,回收S7-1500系列CPU模块、回收S7-1200系列CP
    发表于 09-23 08:52

    温州回收西门子S7-1200系列,S7-1500系列plc模块以及CPU模块

    `微信同步***石女士QQ2168848469 温州回收s7-1200系列plc模块CPU模块长期高价回收西门子S7-1200 PLC 4M存储卡 ,西门子PLC S7-1200 数字
    发表于 12-03 10:05

    高价回收西门子S7-1500系列模块、回收S7-1200系列模块cpu模块

    `微信电话同步***,QQ1092885341,高价回收西门子S7-1500系列模块、回收S7-1200系列模块cpu模块,回收西门子PLC、回收西门子触摸屏、回收西门子CPU模块、回
    发表于 12-15 09:12

    S7-200SMART CPUS7-1200进行S7通信的方法

    PLC 之间的S7通信也是可以成功的,S7-1200侧编程调用PUT/GET指令或者S7-200 SMART侧编程调用PUT/GET指令都是可以的。注意:1.
    发表于 12-22 16:00

    专业回收西门子s7-1200系列s7-1500系列全新二手plc模块拆机西门子工业配件

    专业回收西门子s7-1200系列s7-1500系列全新二手plc模块拆机西门子工业配件回收西门子S7-1500系列模块、回收S7-1200系列模块C
    发表于 12-07 11:02

    关于S7-1200S7-1500 PLC的通信

    WinCC V7.4SP1中针对S7-1200S7-1500通信,可以创建状态变量和控制变量,用来显示和控制S7-1200S7-1500
    发表于 10-09 10:05 1787次阅读

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

    灵活的 F-Link 通信地址签名 – 用于更好地分类变化的离散 F 签名 • 区分硬件/软件和通信Flexible F Link)相关
    的头像 发表于 01-07 12:05 684次阅读

    WinCC与 S7-1200/S7-1500 PLC之间的通信解析

    自WinCC V7.2版本起,软件新增加了 "SIMATIC S7-1200, S7-1500 Channel"通道,用于WinCC与 S7-1200/S7-1500 PLC之间的
    发表于 02-06 09:39 5916次阅读