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

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

3天内不再提示

PN/PN Coupler模块进行控制器与控制器之间的相关通信

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 作者:机器人及PLC自动化 2022-07-25 17:06 次阅读

TIA Portal中S7-1200F CPU和S7-1500F CPU实现安全相关控制器与控制器通讯的配置例程

在TIA安全系统中S7-1500F和S7-1200F 的PROFINET接口之间可以借助 PN/PN Coupler 模块进行控制器与控制器之间的安全相关的通信。通信通过两个安全应用程序块进行,即SENDDP块用于发送数据,而RCVDP块用于接收数据。这些块由用户在F-CPU相应的安全程序中调用,可用于固定数量的BOOL和INT类型的数据进行安全传送。

在本例程中,将CPU1511F-1PN作为一个PROFINET 控制器,CPU1215FC作为另一个PROFINET 控制器,通过PN/PN Coupler实现两个CPU的安全相关的通信。

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

1 示例所使用的软硬件环境

STEP7 Professional V14 SP1

STEP7 Safety Advanced V14 SP1

CPU1511F-1PN V2.0 订货号 6ES7 511-1FK01-0AB0

CPU1215FC V4.2订货号6ES7215-1HF40-0XB0注意:从固件版本V4.2版本开始的S7-1200F CPU才支持安全相关的通信。

PN/PN Coupler V3.0 订货号6ES7158-3AD00-0XA0

通过PN/PN Coupler 实现控制器和控制器的F-CPU之间的安全相关通信,使用F应用程序块SENDDP进行发送,用RCVDP进行接收。使用以安全方式一次传送16个BOOL型数据和2个INT型数据,如图1-1。注意:必须在安全程序开始时调用RCVDP,必须在安全程序结束时调用SENDDP。

CPU1511F 传输类型 CPU1215FC
16 Bool
2 INT
2e7f8d28-0bf7-11ed-ba43-dac502259ad0.jpg 16 Bool
2 INT

图1-1 数据交换数量和类型

2硬件配置

打开TIA软件,点击“新建项目”输入项目名称,设置项目文件存储路径;点击“确定”,完成项目创建,如图2-1。

2e9d83be-0bf7-11ed-ba43-dac502259ad0.png

图 2-1 创建项目

添加新设备,选择的订货号和版本,将设备名称命名为:CPU1500F,如图2-2。

2eeffd1a-0bf7-11ed-ba43-dac502259ad0.png

图 2-2插入1500F站

在设备组态界面创建新的以太网子网,设置IP地址,如图2-3。

301e4af2-0bf7-11ed-ba43-dac502259ad0.png

图2-3 分配网络和设置IP地址

在“网络视图”中,组态PN/PN Coupler X1,如图2-4。

311036be-0bf7-11ed-ba43-dac502259ad0.png

图2-4 组态PN/PN Coupler

将PN/PN Coupler X1分配给IO控制器,并进入设备试图分配参数,如图2-5,2-6。

317e0dce-0bf7-11ed-ba43-dac502259ad0.png

图2-5 分配PN Coupler控制器

31f26e62-0bf7-11ed-ba43-dac502259ad0.png

图2-6 设置IP地址和设备名称

PN/PN Coupler 模块的介绍,如图2-8。

32529b98-0bf7-11ed-ba43-dac502259ad0.png

图2-7 PN/PN Coupler模块面板图

32a0d0d8-0bf7-11ed-ba43-dac502259ad0.png

注意:

PN/PN Coupler V1.0需要MMC卡存储Device name,只需要一张。(V1.0以后的产品不需要MMC卡)。

PROFINET IO网络1使用:PN/PN Coupler x1组态;

PROFINET IO网络2使用:PN/PN Coupler x2组态。

两个网络的通信数据区输入/输出方式必须相互对应。

更多详细信息,请阅读 PN/PN Coupler 手册,链接地址如下:https://support.industry.siemens.com/cs/cn/en/view/35837658

分配IO通讯区域,通过PN/PN Coupler 安全通讯的数据地址区定义规则为,发送方:12 字节输出 / 6 字节输入;接收方:12 字节输入 / 6 字节输出。建立了两条传输,先发送,再接收,图2-8。

32f282de-0bf7-11ed-ba43-dac502259ad0.png

图2-8 组态IO区域

按照上述的方法,组态S7-1215FC的CPU,同时将PN/PN Coupler X2挂成IO设备,分配设备名称,最终的组态结果,如图2-9。

注意:通讯双方的传输条目要匹配,发送对接收,接收对发送。

334662c8-0bf7-11ed-ba43-dac502259ad0.png

图2-9 双方的IO组态数据

337a15be-0bf7-11ed-ba43-dac502259ad0.png

图2-10 进入分配设备名称界面

33a6d4be-0bf7-11ed-ba43-dac502259ad0.png

图2-11 更新列表

33ec8cac-0bf7-11ed-ba43-dac502259ad0.png

图2-12 分配名称

3416deb2-0bf7-11ed-ba43-dac502259ad0.png

图2-13 分配设备完成

将两个安全CPU都编译下载后,还需要在线分配PN Coupler设备名称后PROFINET通信才能正常。以S7-1500F侧操作为例,如图2-10 - 2-13。

同样在S7-1200F侧对PN Coupler X2接口在线分配设备名称,完成后网络视图在线后状态显示通信正常,如图2-14。

34521ba8-0bf7-11ed-ba43-dac502259ad0.png

图2-14 硬件组态在线状态

3 软件编程

安全相关的通信除了要进行硬件组态外,还要使用专门的安全通信程序块完成数据的发送和接收。

在项目树中打开 S7-1200F,安全运行组在添加安全CPU硬件时系统已经自动生成,默认在OB123中调用安全主程序“Main_Safety_RTG1”FB1,如图3-1所示。

34a8f1e4-0bf7-11ed-ba43-dac502259ad0.png

图3-1 系统自动创建的安全运行组

添加F-DB,用于RCVDP和SENDDP指令输出变量接口连接,如图3-2。

351848be-0bf7-11ed-ba43-dac502259ad0.png

图3-2 发送/接收F-DB建立变量

打开“程序块”下面的“Main_Safety_RTG1”(FB1),调用RCVDP数据接收功能指令。

注意:F通讯程序,必须先接收,再发送,即网络1为接收功能指令,如图3-3所示。

355e27b2-0bf7-11ed-ba43-dac502259ad0.png

图 3-3 插入接收功能指令RCVDP

接收功能指令RCVDP管脚定义,图3-4所示。

362c7c20-0bf7-11ed-ba43-dac502259ad0.png

图3-4 接收指令参数管脚

输入参数
ACK_REI: 1=发生通信错误后,对发送数据的重新集成确认
SUBBO_00 -SUBBO_15 用于接收BOOL数据的安全值
SUBI_00 — SUBI_01 用于接收INT数据的安全值
DP_DP_ID 唯一的SENDDP和RCVDP之间的关联值,确认发送和接收的对应关系,示例中是1,与S7-1500F侧SENDDP的ID一致
TIMEOUT 安全相关的通讯的监视时间
LADDR IO传输区域的硬件标识符,示例中是277(DEC),如下图3-5
输出参数
ERROR: 1=通信出错
SUBS_ON 1=使用替代值
ACK_REQ: 1=需要对发送数据的重新集成进行确 认
SENDMODE 1= 具有F_SENDDP的F-CPU处于取消激活的安全模式中
RD_BO_00-RD_BO_15 接收的BOOL数据
RD_I_00 — RD_I_01 接收的INT数据
RET_DPRD/ RET_DPWR DPRD_DAT/DPWR_DAT的错误代码
DIAG 诊断信息

表1 RCVDP功能指令参数说明

注意:输出变量中,除“RET_DPRD”,“RET_DPWR”和“DIAG”三个变量以外其它的变量都需要用故障安全的数据。

在指令中,LADDR参数需要到系统常量中找到之前配置的传输地址区的硬件标识符。

372c6838-0bf7-11ed-ba43-dac502259ad0.png

图3-5 RCVDP中LADDR管脚的填写

在网络2中,调用SENDDP数据发送功能块,注意参数DP_DP_ID和LADDR参数的填写,图3-6,3-7。

38765514-0bf7-11ed-ba43-dac502259ad0.png

图3-6 SENDDP指令程序

输入参数
SD_BO_00—SD_BO_15 用于发送BOOL数据
SD_I_00 — SD_I_01 用于发送INT数据
DP_DP_ID 唯一的F_SENDDP和F_RCVDP之间的关联值,确认发送和接收的对应关系,示例中是2,与S7-1500F侧RCVDP的ID一致
TIMEOUT 安全相关的通讯的监视时间
LADDR 接IO传输区域的硬件标识符,示例中是278(DEC),如下图3-7
输出参数
ERROR: 1=通信出错
SUBS_ON 1=接收方输出故障安全值
RET_DPRD/ RET_DPWR DPRD_DAT/DPWR_DAT的错误代码
DIAG 诊断信息

表2 SENDDP功能指令说明

注意:输出变量中,除“RET_DPRD”,“RET_DPWR”和“DIAG”三个变量以外其它的变量都需要用故障安全的数据连接。

38b1458e-0bf7-11ed-ba43-dac502259ad0.png

图3-7 SENDDP中LADDR管脚

在S7-1500F侧,同样在“Main_Safety_RTG1”(FB1)中,新建F-DB,编写接收和发送程序,如图3-8。

38fa6f3e-0bf7-11ed-ba43-dac502259ad0.png

图3-8 1500F侧发送/接收F-DB

参照S7-1200F侧在“Main_Safety_RTG1”(FB1)中调用接收和发送程序,填写LADDR参数,同时注意两个PLC的发送和接收程序的DP_DP_ID参数之间的匹配关系。

397b3600-0bf7-11ed-ba43-dac502259ad0.png

图3-9 1500F侧RCVDP指令程序

39b44cf6-0bf7-11ed-ba43-dac502259ad0.png

图3-10 1500侧SENDDP指令调用

将两个PLC的程序进行编译,然后分别下载到PLC。

使用监控表监控测试结果,S7-1200F通过SENDDP指令将M100.0,M101.1 和MW102、MW104发送,S7-1500F通过SENDDP指令将M200.0,M200.1和MW202、MW204发送如图3-11。

39fa5b06-0bf7-11ed-ba43-dac502259ad0.png

图3-11 监控结果

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

    关注

    7

    文章

    2473

    浏览量

    46474
  • 控制器
    +关注

    关注

    112

    文章

    15151

    浏览量

    170942
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10409

    浏览量

    206464

原文标题:TIA Portal中S7-1500F CPU和S7-1200F CPU实现安全相关控制器与智能设备通讯的配置例程

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

收藏 人收藏

    评论

    相关推荐

    如何在微控制器之间进行通信

    我想制作一个项目,以尽可能快的方式在几个微控制器之间进行通信。我的想法是这样的,我有10个微控制器,其名称将为1 ... 10:我希望1接收
    发表于 09-06 14:36

    控制器和eeprom之间通信

    在外部EEPROM和另一个PIC控制器之间使用两条线路进行通信,所以我把SCL和SDA连接起来作为公共通信线路,通过
    发表于 10-17 16:30

    恩智浦NFC控制器解决方案

    优化和差分化。  具有定制固件的NFC控制器  对于希望采用自己专用开发软件的设计师,我们提供具有定制固件的NFC控制器,如PN7462系列。PN7462是最先进的单芯片读卡
    发表于 11-08 15:56

    完整的NFC控制器解决方案

    解决方案。 PN7120是一款完整的NFC控制器解决方案,集成固件和NCI接口,专为13.56 MHz的非接触式通信而设计
    发表于 05-25 09:11

    白光烙头控制器相关资料推荐

    白光烙头内部结构就相当于热电偶和加热丝串联。本控制器使用OP27做热电偶的电压输出放大,8050的PN结做环境温度传感,使用轮换加热和测温的方式进行温度
    发表于 05-21 07:19

    如何将PN5190 NFC读取与另一个主机控制器连接?

    我正在尝试将 PN5190 NFC 读取与另一个主机控制器连接。我正在使用图书馆提供的发现循环示例。我对 IRQ 的配置及其用途有疑问。我在主机控制器上使用了以下配置IRQ 引脚 -
    发表于 04-19 08:26

    设计一个带有PN7160的NFC主机控制器板,对天线接口的疑问求解

    我正在设计一个带有 PN7160 的 NFC 主机控制器(阅读)板,并且对天线接口有疑问。 天线接口有我正在使用的引脚 RXN、TX1、TX2 和 RXP。在硬件设计指南中,它告诉我通过串联电容
    发表于 06-02 06:14

    PN/PN Coupler通讯使用入门

    PN/PN Coupler使用方式如下图所示,两个S7-300做为IO Controller通过PROFINET与ET200S、PG/OP通信组成两个PROFINET系统。同时两个S7
    发表于 02-12 18:26 1.7w次阅读
    <b class='flag-5'>PN</b>/<b class='flag-5'>PN</b> <b class='flag-5'>Coupler</b>通讯使用入门

    西门子S7-1500通过PN/PN Coupler通信

    PN/PN耦合器,订货号:6ES7158-3AD10-0XA0,能够实现两个不同以太网子网进行数据交换。PN/PN 耦合器具有两个 PROF
    发表于 02-11 17:18 1.2w次阅读
    西门子S7-1500通过<b class='flag-5'>PN</b>/<b class='flag-5'>PN</b> <b class='flag-5'>Coupler</b><b class='flag-5'>通信</b>

    通过PROFINET通信实现V90 PN基本定位控制

    从 S7-200 SMART V2.4 版本开始,标准型CPU支持做 PROFINET IO 通信控制器。可以带PROFINET IO设备,本文以S7-200 SMART 带 V90PN 作 IO
    的头像 发表于 05-27 13:59 4786次阅读
    通过PROFINET<b class='flag-5'>通信</b>实现V90 <b class='flag-5'>PN</b>基本定位<b class='flag-5'>控制</b>

    S7-1200F CPU和S7-1500F CPU实现安全相关控制器控制器通讯的配置例程

    通过PN/PN Coupler 实现控制器控制器的F-CPU之间的安全
    的头像 发表于 07-28 10:27 3379次阅读

    PN/PN Coupler使用入门

    PN/PN Coupler 用于连接两个PROFINET网络进行数据交换。最多可以传送256个字节的输入和256个字节的输出。它具有两个PROFINET接口,每个接口做为一个IO De
    的头像 发表于 10-12 09:56 2393次阅读

    PN/PN Coupler模块概述

    PN/PN Coupler 用于连接两个PROFINET网络进行数据交换。最多可以传送256个字节的输入和256个字节的输出。
    的头像 发表于 02-08 14:30 3256次阅读

    如何实现S7-1200F和1500F使用PN/PN Couple安全相关控制器之间通讯

    与在标准的系统中一样,在 TIA 安全系统中具有 PROFINET 接口的 S7-1500F 和 S7-1200FCPU 之间可以进行安全相关控制器与智能设备
    的头像 发表于 06-05 15:30 2637次阅读
    如何实现S7-1200F和1500F使用<b class='flag-5'>PN</b>/<b class='flag-5'>PN</b> Couple安全<b class='flag-5'>相关</b><b class='flag-5'>控制器</b><b class='flag-5'>之间</b>通讯

    PN/PN耦合器功能概述

    PN/PN 耦合器用于连接两个不同 PROFINET 子网,实现多个控制器不同子网间的可靠数据交换
    的头像 发表于 10-11 16:49 2320次阅读
    <b class='flag-5'>PN</b>/<b class='flag-5'>PN</b>耦合器功能概述