通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

n

1 概述

与在标准系统中一样,在S7 分布式安全系统中具有PROFIBUS 接口的安全CPU 之间可以进行安全相关的通信。通信通过两个安全应用程序块进行,即F_SENDDP 块用于发送数据,而F_RCVDP 块用于接收数据。这些块由用户在F-CPU 相应的安全程序中调用,可用于固定数量的BOOL 和INT 类型的数据进行安全传送n

2 安全相关的DP主站之间通信

在本例程中,将CPU 319F-3PN/DP作为一个DP主站,CPU 315F-2PN/DP 作为另一个 DP 主站设备。通过DP/DP Coupler实现两个CPU的安全相关的通信。n

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

· STEP7 V5.5 SP2n

· STEP7 Distributed Safety V5.4 SP5n

· CPU319F-3PN/DP V3.2 订货号6ES7 318-3FL01-0AB0n

· CPU315F-2PN/DP V2.6订货号6ES7 315-2FH13-0AB0n

· DP/DP Coupler 订货号6ES7 158-0AD01-0XA0n

测试目的:通过DP/DP Coupler实现主站和主站设备的F-CPU之间的安全相关的通讯,使用F应用程序块FB223“F_SENDDP”进行发送,用FB224“F_RCVDP”进行接收。使用它们以安全方式一次传送16个BOOL型数据和2个INT型数据。要注意的是必须在安全程序开始时调用F_RCVDP,F_SENDDP必须在安全程序结束时调用n

CPU319F

传输类型

CPU315F

16 Booln

2 INT

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

16 Booln

2 INT

2.2 硬件配置

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

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-1 创建项目n

2)插入 S7-300 站,将名字修改为:CPU315F-2PNDP。如图2-2n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-2 插入站n

3) 双击硬件组态配置界面,从右侧侧产品列表中找到CPU315F-2PNDP,拖入到项目中,如图2-3n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-3 硬件组态n

4)设置IP地址及工业以太网网络(通过以太网编程下载),如图2-4n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-4 分配IP地址及网络n

5)分配 DP 地址及网络,如图2-5n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-5 设置DPn

6) 在设置CPU保护等级和激活安全程序选项,之后打开 F 参数页面,根据提示输入安全程序密码,本例中密码为:1111,图2-6n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-6 激活安全程序n

7)设置安全程序密码,如图2-7n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-7 设置安全程序密码n

8)设置 CPU315F-2PN/DP为 DP主站,如图2-8n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-8 主站配置n

9)添加 DP 从站 DP/DP Coupler,图2-9n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图2-9 DP/DPCoupler组态n

10) 组态 DP从站 DP/DP Coupler数据,如图 2-10n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图2-10 DP/DP Coupler数据组态n

11) 双击打开“Universal module”组态数据。组态输出12个字节和输入6个字节。如图2-11
a. IO类型必须选择输出输入,在Safety通讯时发送方组态 12个字节输出和6个字节输入,接收方组态12个字节输入和6个字节输出
b.组态输出、输入数据,一致性必须是:总长度(Total length)n

c.输入/输出起始地址要相同n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图2-11 DP/DPCoupler数据组态n

12) 双击打开第二行“Universal module”组态数据,如图2-12。组态输出6个字节和输入12个字节。此处注意CPU319F的数据组与CPU315F的对应关系:

例如:插槽1 CPU319F组态12个字节输出与6个字节输入,此时CPU315F插槽1必须组态12个字节输入与6个字节输出

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图2-12 DP/DP coupler数据组态n

13) DP/DP Coupler使用说明,当此设备做为 F-CPU之间通讯时,如图 2-13 ,必须注意以下几点(更多的DP/DP Coupler 使用可以参考下载中心使用入门):
a. DIA 必须是不校验。DIA=OFF
b. ADDR
必须是实际DIP开关设置,ADDR=0
c. CPU315F
组态第一行为输出12和输入6个,与CPU319F第一行必须对应为:输入12和输出6个字节

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图2-13 DP/DP coupler组态说明和结果n

14)点击“保存和编译”。编译时需要输入安全程序密码。此例密码为:1111,如图2-14n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-14 保存和编译n

15在将编译没有错误的程序,下载到PLC,如图2-15。CPU319F组态过程与CPU315F安全相同,仅在DP/DP Coupler的对应关系处有一定区别。组态CPU319F,并编译下载。

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-15 下载n

2.3 通讯编程及测试

1) 插入“ F-FC”或F-FB。右键选择插入新对象—》功能或功能块或数据块,如图2-16n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-16 插入 F-FCn

2) 在F-FC 功能设置页面。创建语言选择:F-LAD,点击“确定”,如图2-17n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-17 选择编程语言 F-LADn

3) 调用 FB224 数据接收功能块。照图填写。注意:F程序,必须先接收,再发送,即网络1为接收功能块,如图2-18n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-18 接收块程序n

FB 224说明n

输入参数

ACK_REI:

1=发生通信错误后,对发送数据的重新集成确认

SUBBO_00 -SUBBO_15

用于接收BOOL数据的安全值

SUBI_00 — SUBI_01

用于接收INT数据的安全值

DP_DP_ID

唯一的F_SENDDP和F_RCVDP之间的关联值,确认发送和接收的对应关系

TIMEOUT

安全相关的通讯的监视时间

LADDR

接收地址区的起始地址,示例中是256

输出参数

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数据

RETVAL14/ RETVAL15

SFC14/15的错误代码

DIAG

诊断信息

4) 调用 FB223 数据发送功能块。照图填写。注意:F程序,必须先接收,再发送,即网络1为接收功能块,如图2-19n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图2-19 发送块程序n

FB223 功能说明n

输入参数

SD_BO_00 —SD_BO_15

用于接收BOOL数据的安全值

SD_I_00 — SD_I_01

用于接收INT数据的安全值

DP_DP_ID

唯一的F_SENDDP和F_RCVDP之间的关联值,确认发送和接收的对应关系

TIMEOUT

安全相关的通讯的监视时间

LADDR

接收地址区的起始地址,示例中是512

输出参数

ERROR:

1=通信出错

SUBS_ON

1=接收方输出故障安全值

RETVAL14/ RETVAL15

SFC14/15的错误代码

DIAG

诊断信息

4) 插入相应OB组织块,方法同插入功能一样,并下载到PLC,如图2-20n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-20 插入OB块n

5) 打开安全程序页面,如图2-21n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-21 安全程序n

6) 定义安全运行组,如图2-22n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-22 定义安全程序组n

7) 安全认证签名,1.编译 2.符号代码 3.下载到PLC内,如图2-23n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-23 安全程序编译和下载n

8) OB 35内调用 FC10,并将OB35下载到PLC,如图2-24n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-24 FC10调用n

以上所有过程和程序

CPU319FCPU315F均需要编写

9) 测试结果,如图2-25n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-25 正常通讯n

10) 故障测试,包括CPU停机断线等故障,示例:CPU315F停机,如图2-26n

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-26 CPU315F停机n

11) 故障恢复。1.CPU上电 2.请求重新建立连接 3. 设置连接触发位 4. 数据重新传送,如图2-27

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-27 重新建立连接

12) DP总线中断。恢复方法同上,如图2-28

通过DP/DP耦合器实现F-CPU之间安全相关主站与主站通讯( STEP7版本)

图 2-28 DP总线中断

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc328676.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论