在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯

2018年7月14日22:40:51 发表评论 680 阅读

概念

安全相关的 PN 控制器和智能设备之间的通信

  1. 示例所使用的软硬件环境
  2. 硬件配置
  3. 通讯编程

概念

与在标准的系统中一样,在 TIA 安全系统中具有 PROFINET 接口的 S7-300F 和 S7- 1500F CPU 之间可以进行安全相关的控制器与智能设备通信。通信通过两个安全应用程序指令进行,即 SENDDP 指令用于发送数据,而 RCVDP 指令用于接收数据。这些指令由用户在 F-CPU 相应的安全程序中调用,可用于固定数量的 BOOL 和 INT 类型的数据进行安全传送。

安全相关的 PN 控制器和智能设备之间的通信

在本例程中,将 CPU317F-2PN/DP 作为一个 PROFINET 控制器,CPU1511F-1PN 作为一个 PROFINET 智能设备,SENDDP/RCVDP 指令实现两个 CPU 的安全相关的通信。

示例所使用的软硬件环境

STEP7 Professional V14 SP1

STEP7 Safety Advanced V14 SP1

CPU1511F-1PN 固件版本 V2.1 订货号 6ES7 511-1FK01-0AB0

CPU317F-2PN/DP 固件版本 V3.2 订货号 6ES7317-2FK14-0AB0

测试目的:通过 F-CPU 之间的 PROFINET 控制器与智能设备的安全通信,使用安全程序指令 SENDDP 进行发送,用 RCVDP 进行接收。以安全方式一次传送 16 个 BOOL 型数据和 2 个 INT 型数据,如图 1-1。

注意:必须在安全程序开始时调用 RCVDP,必须在安全程序结束时调用 SENDDP。

CPU1511F 传输类型 CPU317F
16 Bool

2 INT

16 Bool

2 INT

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

硬件配置

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

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-1

图 2-1 新建项目

2) 新建控制器站点,点击添加新设备,选择的订货号和版本,将设备名称命名为:300F IO CONTROL,如图 2-2。

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-2

图 2-2 插入 300F 站

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

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-3

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

4)重复上面的步骤,在项目中添加 S7-1500 F CPU(智能 IO 设备),将以太网接口连接到同一个子网,设置 IP 地址,如图 2-4。

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-4图 2-4 设置 S7-1500 F CPU 以太网参数

5)在“操作模式”中激活 S7-1500F CPU“IO 设备”功能,并分配给 S7-300F CPU 控制器,如图 2-5。

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-5图 2-5 设置操作模式

6)在下面的“传输区域”中,组态两个 CPU 之间的通信地址区,在类型中一定要选择 F-CD,箭头向左方向表示 S7-1500F CPU 发送数据到 S7-300F CPU,如图 2-6。如果需要发送的数据多于 16Bool 和 2INT,可以再配置多个同样的传输地址区。S7-300F CPU 如果需要发送数据到 S7-1500F CPU 也是相同配置方法,只不过箭头方向要向右。

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-6图 2-6 组态 S7-1500F CPU 通信地址区

将两个安全 CPU 都编译保存,然后下载,以 S7-300F 下载为例,如图 2-7。

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-7

图 2-7 编译搜索 CPU

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-8

图 2-8 下载

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-9 S7-300F/1500F 项目都编译保存下载后,网络视图在线后状态,说明两个 CPU 之间通信正常,如图 2-9。

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

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-10 在项目树中打开 S7-300F,安全运行组在添加安全 CPU 硬件时系统已经自动生成,默认在 OB35 中调用安全主程序“Main_Safety_RTG1”FB1,如图 2-10。

图 2-10 安全运行组

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

Copyright  Siemens AG Copyright year All rights reserved

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-11

图 2-11 建立 接收数据 F-DB

打开“程序块”下面的安全主程序“Main_Safety_RTG1”(FB1),在程序段 1 中调用

RCVDP 数据接收功能指令。注意:F 通讯程序接收指令,必须在主程序的开始调用,如图

2-12。

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-12

图 2-12 插入接收功能指令 RCVDP

接收功能指令 RCVDP 管脚定义,如图 2-13。

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-13

图 2-13 接收指令参数管脚

输入参数
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 接收数据区的起始地址,示例中是 4116(DEC),如下图 2-14

 

输出参数
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 功能指令参数说明

在指令中,LADDR 参数需要填写传输区本侧的起始地址,如 S7-300F 侧,起始地址从4116 开始,如图 2-14。

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-14

图 2-14 RCVDP 中 LADDR 管脚的填写

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-15

同样在 S7-1500F 智能设备侧,新建 F-DB,然后在“Main_Safety_RTG1”(FB1)中, 调用发送程序指令 SENDDP,如图 2-15,2-16。

图 2-15 1500F 侧新建 F-DB

图 2-16 发送指令程序参数管脚

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

表 2 SENDDP 功能指令说明

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

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-17 在 S7-1500F 系统常量表中找到与 S7-300F CPU 通信数据区的硬件标识符填写在 LAADR, 如图 2-17。

图 2-17 发送 LADDR 填写

将两个 PLC 的程序分别进行编译,然后下载到各自 PLC,如图 2-18。

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-18

图 2-18 编译保存下载(1500F 为例)

使用监控表监控测试结果,S7-1500F 通过 SENDDP 指令将 M100.0、M100.1

和 MW102 发送,S7-300F 通过 RCVDP 指令接收数据放置在建立的 DB3 中,如图 2-19。

在TIA环境下实现S7-300F和S7-1500F之间的安全相关控制器与智能设备通讯-19

图 2-19 监控结果

weinxin
plc入门知识问答
所有PLC工程师都会关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: