n
1 概述
与在标准系统中一样,在 S7 分布式安全系统中具有 PROFIBUS 接口的安全 CPU 之间进行安全相关的通信。通信通过两个安全应用程序块进行,即SENDDP 块用于发送数据,而 RCVDP 块用于接收数据。这些块由用户在 F-CPU 相应的安全程序中调用,可用于固定数量的 BOOL 和 INT 类型的数据进行安全传送。n
2安全相关的DP主站之间通信
在本例程中,将CPU 319F-3PN/DP作为DP 主站,CPU 315F-2PNDP 作为另一个DP 主站设备。通过DP/DP Coupler,实现两个CPU安全相关的通信。n
2.1 示例所使用的软硬件环境
· STEP7 V11 SP2n
· STEP7 V11 Safety Advancedn
· 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实现DP主站和DP主站设备的F-CPU之间的安全相关的通讯,使用F应用程序块SENDDP 进行发送,用RCVDP 进行接收。使用它们以安全方式一次传送16个BOOL型数据和2个INT型数据。要注意的是必须在安全程序开始时调用RCVDP,SENDDP必须在安全程序结束时调用n
CPU319F | 传输类型 | CPU315F |
16 Booln 2 INT | 16 Booln 2 INT |
2.2 硬件配置
1) 点击“新建项目”输入项目名称,设置项目文件存储路径;点击“创建”,完成项目创建,如图2-1n
图 2-1 创建项目n
2) 添加新设备,将名字命名为:CPU315F-2PNDP,如图2-2n
图 2-2 插入站n
3) 设置IP地址及工来以太网网络(通过以太网编程下载),如图 2-3n
图 2-3 设置IP地址及网络n
4) 分配 DP 地址及网络,如图2-4n
图2-4 分配DP地址和网络n
5) 设置CPU保护等级和激活安全程序选项,根据提示安全程序密码,本例中密码为:1111。如图 2-5n
图 2-5 激活安全功能n
6) 设置安全程序密码,如图 2-6n
图 2-6设置安全程序密码n
7) 在“网络视图”中组态DP从站:DP/DP Coupler ,如图2-7n
图2-7 组态DP/DP Couplern
8) 将 DP/DP Coupler分配 DP主站,如图2-8n
图 2-8分配DP主站n
9) DP/DP coupler 分配IO区域(通讯区域)如图2-9n
图2-9 组态IO区域n
10) IO地址分配,示例中:发送区地址:512 发送12个字节。注意输入与输出起始地址要一致,并且一致性选择:总长度,如图2-10n
图2-10 组态IO数据n
11) CPU319F同样步骤进行硬件组态。组态完成数据,如图2-11n
图2-11 组态完数据n
12) DP/DP Coupler使用说明,当此设备做为 F-CPU之间通讯时,如图 2-12 ,必须注意以下几点:
a. DIA 必须是不校验。DIA=OFF 。
b. ADDR必须是实际DIP开关设置,ADDR=0
c. CPU315F组态第一行为输出12和输入6个,与CPU319F第一行必须对应为:输入12和输出6个字节
图2-12 DP/DP Coupler组态说明和结果n
13) 点击“编译”,如图2-13n
图2-13 编译程序n
14) 将编译没有错误的程序下载到PLC内,如图2-14n
图2-14下载程序n
15) 下载时需要输入安全程序密码,如图示2-15n
图2-15 输入安全程序密码n
2.3 通讯编程及测试
1) 打开“程序块”下面的“Main_Satety (FB1),调用RCVDP 数据接收功能块。注意:F程序,必须先接收,再发送,即网络1为接收功能块。如图2-16n
图2-16 插入接收功能块n
2) 接收功能块 RCVDP管角定义,如图2-17n
图2-17 接收块程序n
RCVDP功能块说明: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 | 诊断信息 |
3) 在网络2中,调用SENDDP数据发送功能块,注意:F程序,必须先接收,再发送,即网络1为接收功能块,如图2-18n
图2-18 调用发送块n
4) 发送功能块 SENDDP管角定义,如图2-19n
图2-19 发送块程序n
SENDDP功能块说明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 | 诊断信息 |
5) 插入相应OB组织块,OB35/OB82/OB86/OB121/OB122,如图2-20n
图2-20插入OB块n
6) 打开安全程序页面,安全程序运行组,系统已经自动生成,在OB35内调用安全主程序“Main_Satety”FB1。(系统最多支持2个运行组),图2-21n
图2-21 安全程序组n
7) 将所有程序下载到PLC内。以上所有过程和程序,CPU319F与CPU315F均需要编写,如图2-22n
图2-22 下载程序n
8) 插入监控表,如图2-23n
图2-23插入监控表n
9) 测试结果,如图2-24n
图2-24 测试结果n
10) 故障测试。包括CPU停机断线等故障,示例:CPU315F停机,如图2-25n
图2-25 故障测试n
11) 故障恢复,1.CPU上电。2.请求重新建立连接。3.建立连接触发位。4.数据重传送,如图2-26n
图2-26 故障恢复Dn
12) CPU在线诊断,STEP7 V11 SP2在中文语言下使用是,诊断缓冲区内的信息仅是代码,无法正确理解,需要切换到英文下查看,如图2-27n
图2-27 中文诊断画面n
13) 软件切换语言:选项(Option)à设置(Settings),图2-28n
图2-28 软件语言切换n
14) 软件切换到英文,在线诊断信缓冲区如图示,有详细的内容解释,图2-29
图2-29英文诊断画面
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc328656.html