通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

n

1

在S7分布式安全中,F-CPU 的安全程序之间可以通过S7 连接进行安全相关的通讯。与在标准程序中相同,这个S7连接是在网络视图中创建,而且仅允许使用在工业以太网上S7 连接。必须是集成PN接口的F-CPU或者是S7 -400 F-CPU 通过CP443-1 Advanced 创建的S7连接,并且安全相关的通讯不能使用未指定伙伴的S7 连接。n

与在标准系统中一样,通信通过两个安全应用程序块进行,即SENDS7 块用于发送数据,而 RCVS7 块用于接收数据。这些块由用户在F-CPU 相应的安全程序中调用,可用于指定数量的BOOL 、INT、WORD、DINT、DWORD、TIME类型的数据进行安全传送,最大通讯100 字节。通讯的安全数据必须存储在创建的F-DB中。n

2 安全相关的S7通信

在本例程中,实现CPU319F-3PN/DP和CPU 315F-2PN/DP 两台CPU之间的 S7通讯。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

测试目的:通过PN 接口实现F-CPU之间的安全相关的S7通讯,使用F应用程序块SENDS7 进行发送,用RCVS7进行接收。通讯的安全数据必须存储在创建的F-DB中,编写安全程序将数据传输到F-DB中;最大传输数据:100字节。要注意的是必须在安全程序开始时调用RCVS7,SENDS7必须在安全程序结束时调用,示例中设备密码和安全程序密码为:1111n

CPU319F

传输类型 S7通讯

CPU315F

100字节(最大

示例数据

16 Booln

3 INTn

1 Wordn

1 Timen

1 Dintn

1 Dword

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

16 Booln

3 INTn

1 Wordn

1 Timen

1 Dintn

1 Dword

2.2 硬件配置

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

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图 2-1 创建项目n

2) 添加新设备,将名字命名为:CPU315F-2PNDP,如图2-2n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图 2-2 插入站n

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

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图 2-3 设置IP地址及网络n

4) 设置CPU保护等级和激活安全程序选项,根据提示安全程序密码,本例中密码为:1111。如图 2-4n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图 2-4 激活安全功能n

5) 设置安全程序密码,以同样的方法组态CPU319F-3PNDP。并分配IP:192.168.0.11如图 2-5n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

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

6) 在“网络视图”添加新连接,如图2-6n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-6 在网络视图中添加新连接n

7) 创建 S7 连接,如图2-7。注意:必须选择CPU,不可选择未指定

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-7 创建S7连接n

8) 创建完“S7”连接图示,如图2-8n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-8 创建完S7连接图示n

9) 点击“编译”,如图2-9n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-9 编译程序n

10) 将编译没有错误的程序下载到PLC内,如图2-10n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-10下载程序n

11) 下载时需要输入安全程序密码,如图示2-11n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-11 输入安全程序密码n

12) 监控连接状态,如图2-12n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-12 S7连接状态n

2.3 通讯编程及测试

1) 创建 F-DB 发送与接收数据块,先创建发送数据块:send,如图2-13。
注意:
a.
必须选择Create F-BLOCK.
b.
在系列(Family)中:COM_DBS7,否则发送或接收块不会识别。

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-13 创建F-DB发送块n

2) 打开创建 DB块内的数据元素,如图2-14n

注意:7点限制
a不允许它们成为背景数据n

b.长度不允许超出100个字节

c在F通讯 DB 中,只允许声明数据类型BOOL、INT、WORD、
TIME、DINT、DWORDn

d.数据类型必须按以下顺序逐块排列:BOOLINTWORD|
TIME
DINTDWORD

e每种数据类型排列必须是连续的n

fBOOL变量,只允许声明不超过128个数据元素n

g.数据类型BOOL 的数据量必须始终为16的整数倍(字限制)。


通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图 2-14 DB块内的数据元素n

3) 以同样方法创建接收数据块,内部元素同上。如图2-15n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-15 接收数据块n

4) DB块内的数据元素,如图2-16n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-16 DB块内的元素n

5) 在安全程序Main_Satety (FB1)网络1中“,调用RCVS7数据接收功能块。注意:F程序,必须先接收,再发送,即网络1为接收功能块。如图2-17n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-17调用接收块n

6) 接收功能块RCVS7程序,如图2-18n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-18接收程序块n

RCVS7功能块说明n

注意:

R_ID用户自定义,R_ID+1将被占用。因为一个块即要发送又要接收n

示例中:R_ID12被占用

输入参数

ACK_REI:

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

RCV_DB

接收 DB 块

TIMEOUT

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

ID

NetPro中组态的S7连接ID,示例中为:W#16#1

R_ID

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

输出参数

ERROR:

1=通信出错

SUBS_ON

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

ACK_REQ:

1=需要对发送数据的重新集成进行确认

SENDMODE

1= 具有F_SENDS7的F-CPU处于取消激活的安全模式中

STAT_RCV/ STAT_SND

SFB8/9的错误代码

DIAG

诊断信息

7) 安全程序,因要发送数据,但不可以直接访问发送 F-DB,所以编写程序,传输数据至 SEND_DB中,如图2-19n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-19 安全传输程序n

8) 在网络8中,调用SENDS7 数据发送功能块,如图2-20n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-20 调用发送块n

9) 发送功能块 SENDS7管角定义,如图2-21n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-21 发送块程序n

SENDS7功能块说明n

注意:

R_ID用户自定义,R_ID+1将被占用。因为一个块即要发送又要接收n

示例中:R_ID34被占用

输入参数

SEND_DB

用于接收BOOL数据的安全值

TIMEOUT

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

EN_END

1=发送使能

ID

NetPro中组态的S7连接ID,示例中为:W#16#1

R_ID

唯一的F_SENDDP和F_RCVDP之间的关联值,确认发送和接收的对应关系,示例中为:W#16#3

输出参数

ERROR:

1=通信出错

SUBS_ON

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

STAT_RCV/ STAT_SND

SFB8/9的错误代码

DIAG

诊断信息

10) 插入相应OB组织块,OB35/OB82/OB86/OB121/OB122,如图2-22n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-22 插入OB块n

11) 打开安全程序页面,安全程序运行组,系统已经自动生成,在OB35内调用安全主程序“Main_Satety”FB1。(系统最多支持2个运行组),如图2-23n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-23 安全程序组n

12) 将所有程序下载到PLC内,如图2-24。以上所有过程和程序CPU319FCPU315F均需要编写

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-24 下载程序n

13) 插入监控表,如图2-25n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-25 插入监控表n

14) 测试结果,如图2-26n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-26测试结果n

15) 故障测试,包括CPU停机、断线等故障 示例中:CPU319F停机,如图2-27n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-27故障测试n

16) 故障恢复:如图2-28n

a.CPU上电n

b.发送方触动发送n

c.请求重新建立连接n

d.建立连接触发位n

e.数据重传送n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-28 故障恢复n

17) CPU在线诊断,STEP7 V11 SP2在中文语言下使用是,诊断缓冲区内的信息仅是代码,无法正确理解,需要切换到英文下查看,如图2-29n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-29 中文诊断画面n

18) 软件切换语言:选项(Option)à设置(Settings),图2-30n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-30 软件语言切换n

19) 软件切换到英文,在线诊断信缓冲区如图示,有详细的内容解释,图2-31n

通过PN实现 F-CPU之间安全相关的S7通讯(V11版本)

图2-31英文诊断画面n

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

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

相关推荐

发表回复

登录后才能评论