- {{item.name}}
通过PN耦合器实现F-CPU之间安全相关的控制器与控制器通讯
- 0
- 53
1、概述
与在标准系统中一样,在 S7 分布式安全系统中具有 PROFINET 接口的安全 CPU 之间可以进行安全相关的通信。通信通过两个安全应用程序块进行,即F_SENDDP 块用于发送数据,而 F_RCVDP 块用于接收数据。这些块由用户在 F-CPU 相应的安全程序中调用,可用于固定数量的 BOOL 和 INT 类型的数据进行安全传送。
2、安全相关的 PN 控制器之间通信
在本例程中,将CPU319F-3PN/DP作为一个PROFINET 控制器,CPU 315F-2PNDP 作为另一个 PROFINET 控制器。通过PN/PN Coupler实现两个CPU的安全相关的通信。
2.1示例所使用的软硬件环境
- STEP7 V5.5 SP2
- STEP7 Distributed Safety V5.4 SP5
- CPU319F-3PN/DP V3.2 订货号6ES7 318-3FL01-0AB0
- CPU315F-2PN/DP V2.6订货号6ES7 315-2FH13-0AB0
- PN/PN Coupler 订货号 6ES7 158-3AD00-0XA0 V1.0
测试目的:通过PN/PN Coupler实现控制器和控制器的F-CPU之间的安全相关的通讯,使用F应用程序块FB223“F_SENDDP”进行发送,用FB224“F_RCVDP”进行接收。使用以安全方式一次传送16个BOOL型数据和2个INT型数据。要注意的是必须在安全程序开始时调用 F_RCVDP,F_SENDDP必须在安全程序结束时调用
CPU319F | 传输类型 | CPU315F |
16 Bool 2 INT | 16 Bool 2 INT |
2.2硬件配置
1)打开 STEP7 软件,点击“新建项目”输入项目名称,设置项目文件存储路径;点击”确定“,完成项目创建,如图2-1
图 2-1 创建项目
2)插入 S7-300 站,将名字修改为:CPU315F-2PNDP。如图2-2
图 2-2 插入站
3)双击硬件组态配置界面,从右侧产品列表中找到CPU315F-2PNDP,拖入到项目中,如图2-3
图 2-3 硬件组态
4)设置IP地址及工业以太网网络,如图2-4
图 2-4 分配IP地址及网络
5)分配 PROFINET IO 网络,如图2-5
图 2-5 设置DP
6)组态 PN/PN COUPLER X1,并分配 参数,如图 2-6
图2-6 组态 PN/PN coupler
7)PN/PN coupler 模板介绍,图2-7
图2-7 PN/PN Coupler产品外观
① PROFINET IO 网络1 ⑥ PROFINET IO 网络1的状态灯
② PROFINET IO 网络2 ⑦ PROFINET IO 网络2的状态灯
③ 电源连接1及指示灯 ⑧ PROFINET IO 网络1的MAC地址
④ 电源连接2及指示灯 ⑨ PROFINET IO 网络2的MAC地址
⑤ PROFINET IO 网络1和2的诊断指示灯 ⑩ MMC卡插槽
注意:PN/PN Coupler V1.0 需要使用MMC卡存储Device name,只需要一张。(以后 产品不需要 MMC 卡)
PROFINET IO网络1 使用:PN/PN coupler x1组态;
PROFINET IO网络2 使用:PN/PN coupler x2组态。
两个网络的通信数据区输入/输出方式必须相互对应,如图2-8所示。
更多详细信息,请参阅 PN/PN Coupler 手册,链接地址如下:
http://support.automation.siemens.com/CN/view/en/35837658
图2-8 PN/PN Coupler数据对应方式
8)组态 IO 数据区域,如图 2-9
图2-9PN/PN coupler数据组态
9)分配 Device Name 如图 2-10
图 2-10 分配Device name
10)最终组态结果 如图 2-11
图2-11 正确组态数据
11)在设置CPU保护等级 和激活安全程序选项,之后打开 F 参数页面,根据提示安全程序密码,本例中密码为:1111,图2-12
图 2-12 激活安全程序
12)设置安全程序密码,如图2-13
图 2-13 设置安全程序密码
13)点击“保存和编译”。编译时需要输入安全程序密码。此例密码为:1111,如图2-14
图 2-14 保存和编译
14)在将编译没有错误的程序,下载到PLC,如图2-15。CPU319F组态过程与CPU315F安全相同,仅在PN/PN Coupler的对应关系处有一定区别。组态CPU319F,并编译下载。
图 2-15 下载
2.3 通讯编程及测试
1)在插入 “ F-FC”或F-FB。右键 选择 插入新对象—》功能或功能块或数据块,如图2-16
图 2-16 插入 F-FC
2)在F-FC 功能设置页面。创建语言选择:F-LAD,点击 “确定”,如图2-17
图 2-17 选择编程语言 F-LAD
3)调用 FB224 数据接收功能块。照图填写。注意:F程序,必须先接收,再发送,即网络1为接收功能块,如图2-18
图 2-18 接收块程序
FB 224说明
输入参数 | |
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-19
图2-19 发送块程序
FB223 功能说明
输入参数 | |
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 | 诊断信息 |
5)插入 相应OB组织块,方法同插入功能一样,并下载到PLC,如图2-20
图 2-20 插入OB块
6)打开安全程序页面,如图2-21
图 2-21 安全程序
7)定义安全运行组,如图2-22
图 2-22 定义安全程序组
8)安全认证签名,1.编译 2.符号代码 3.下载到PLC内,如图2-23
图 2-23 安全程序编译和下载
9)OB 35内调用 FC10,并将OB35下载到PLC,如图2-24
图 2-24 FC10调用
以上所有过程和程序 CPU319F与CPU315F均需要编写
10)测试结果,通过 MPI监控同时监控两台设置。如图2-25
图 2-25 正常通讯
11)故障测试,包括CPU停机 断线等故障,示例:CPU315F停机,如图2-26
图 2-26 CPU315F停机
12)故障恢复。1.CPU上电 2. 请求重新建立连接 3. 设置连接触发位 4. 数据重新传送,如图2-27
图 2-27 重新建立连接
13)PN总线中断。恢复方法同上,如图2-28
图 2-28 PN总线中断
剩余80%未阅读,请登录查看大全章节内容
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
{{item.nickName}}