TIA Portal中S7-1200F CPU和S7-1500F CPU实现安全相关主站与主站通讯的配置例程

在TIA安全系统中S7-1500F的CP1542-5 DP口和S7-1200F 的 CM1243-5 DP口之间可以借助DP/DP Coupler模块进行主站与主站安全相关的通信。通信通过两个安全应用程序块进行,即SENDDP块用于发送数据,而RCVDP块用于接收数据。这些块由用户在F-CPU相应的安全程序中调用,可用于固定数量的BOOL和INT类型的数据进行安全传送。

在本例程中,将CPU1511F-1PN带CP1542-5作为一个PROFIBUS 主站,CPU1215FC带CM1243-5作为另一个PROFIBUS主站,通过DP/DP Coupler实现两个CPU的安全相关通信。

更多的关于创建和编写、通信的安全程序的信息请参考故障安全系统组态和编程手册

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

通过DP/DP Coupler 实现主站和主站的F-CPU之间的安全相关通信,使用F应用程序块SENDDP进行发送,用RCVDP进行接收。使用以安全方式一次传送16个BOOL型数据和2个INT型数据,如图1-1。

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

CPU1511F

( CP1542-5 )

传输类型

CPU1215FC

( CM1243-5 )

16 Bool

2 INT

16 Bool

2 INT

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

2 硬件配置   

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

图 2-1 创建项目     

  1. 添加新设备,选择的订货号和版本,将设备名称命名为:CPU1500F,如图2-2。

图 2-2 插入1500F站

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

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

  1. 在“设备视图”中,组态 CP1542-5,并设置PROFIBUS 接口,新建PROFIBUS子网,PRODIBUS 地址2,如图2-4。

图2-4 插入CP1542-5 并设置DP网络

  1. 在“网络视图”中,组态DP/DP Coupler,实物中CP1542-5的DP线连接DP/DP Coupler的左侧DP口,如图2-5。。

图2-5 组态DP/DP Coupler

  1. 将DP/DP Coupler分配给DP 主站,并进入DP从站分配参数,从站地址3,如图2-6,2-7。实物中DP/DP Coupler左侧DP1的从站拨码设置3。

图2-6 分配DP Coupler给DP 主站

图2-7 设置DP Coupler的DP 地址
  1. DP/DP Coupler 模块的介绍,如图2-8。

图2-8 DP/DP Coupler模块面板图

开关

拨码值

含义

 

??? PS

DP1

ON

PS1 24V DC供电监控使能(用于诊断)

OFF

PS1 24V DC供电监控未使能

DP2

ON

PS2 24V DC供电监控使能(用于诊断)

OFF

PS2 24V DC供电监控未使能

 

DIA

DP1

ON

网络2的输出数据发送给网络1的输入数据验证使能

OFF

网络2的输出数据发送给网络1的输入数据验证未使能

DP2

ON

网络1的输出数据发送给网络2的输入数据验证使能

OFF

网络1的输出数据发送给网络2的输入数据验证未使能

 

ADDR

DP1

ON

网络1Profibus站地址由Step7软件设置

OFF

网络1Profibus站地址通过模块本身DIL开关来设置

DP2

ON

网络2Profibus站地址由Step7软件设置

OFF

网络2Profibus站地址通过模块本身DIL开关来设置

1,2,4,8,

16,32,64

DP1

网络1Profibus站地址设置开关(1-125)

DP2

网络2Profibus站地址设置开关(1-125)

表2-1 拨码开关的含义

更多详细信息,请阅读 DP/DP Coupler 手册,链接地址如下:  https://support.industry.siemens.com/cs/ww/en/view/1179382

当此设备做为 F-CPU之间通讯时,必须注意以下几点:

a. DIA 必须是不校验,即DIA=OFF

b. ADDR必须使用DIP开关设置,即ADDR=OFF

c. 安全通讯的数据地址区定义规则为,发送方:6 字节输入/12 字节输出;接收方:12 字节输入 / 6 字节输出。

  1. 分配IO通讯区域,在1500F侧建立一个发送条目(6字节输入/12字节输出),如图2-9。

图2-9 组态IO区域

  1. 按照上述的方法,组态S7-1215FC的CPU,增加CM1243-5模块,组态DP/DP Coupler,建立一个接收条目(12字节输入/6字节输出),最终的组态结果,如图2-9。实物中CM1243-5的DP线连接DP/DP Coupler的右侧DP2口,且将DP/DP Coupler右侧DP2的从站拨码设置4。

图2-10 双方的IO组态数据

  1. 将两个安全CPU都编译保存,然后下载。设置DP Coupler拨码,连接DP电缆,通信正常后网络视图在线后状态如图2-11。

    图2-11 硬件组态在线状态显示通信正常

3 软件编程  

安全相关的通信除了要进行硬件组态外,还要使用专门的安全通信程序块完成数据的发送和接收。

  1. 在项目树中打开 S7-1200F,安全运行组在添加安全CPU硬件时系统已经自动生成,默认在OB123中调用安全主程序“Main_Safety_RTG1”FB1,如图3-1所示。

图3-1 系统自动创建的安全运行组

  1. 添加一个F-DB,用于RCVDP指令输出变量接口连接,如图3-2。

图3-2 接收数据F-DB建立变量

  1. 打开“程序块”下面的安全主程序“Main_Safety_RTG1”(FB1),在程序段1中调用RCVDP数据接收功能指令。注意:F通讯程序接收指令,必须在主程序的开始调用,如图3-3所示。

图 3-3 插入接收功能指令RCVDP

  1. 接收功能指令RCVDP管脚定义,图3-4所示。

图3-4 接收指令参数管脚

输入参数

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

IO传输区域的硬件标识符,示例中是276(DEC),如下图3-5

输出参数

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

注意:输出变量中,除“RET_DPRD”,“RET_DPWR”和“DIAG”三个变量以外其它的变量都需要用故障安全的数据。
  1. 在指令中,LADDR参数需要到系统常量中找到之前配置的传输地址区的硬件标识符。

图3-5 RCVDP中LADDR管脚的填写

  1. ?在S7-1500F侧,新建F-DB,用于SENDDP指令输出变量接口连接,图3-6。

图3-6 S7-1500F侧发送F-DB

  1. 打开“程序块”下面的“Main_Safety_RTG1”(FB1),调用SENDDP数据发送功能指令。注意:必须在安全程序结束时调用SENDDP,在网络最后调用发送功能指令,如图3-7,3-8。

图3-7 S7-1500F侧SENDDP指令程序

输入参数

SD_BO_00—SD_BO_15

用于发送BOOL数据

SD_I_00 — SD_I_01

用于发送INT数据

DP_DP_ID

唯一的F_SENDDP和F_RCVDP之间的关联值,确认发送和接收的对应关系,示例中是1,与S7-1200F侧RCVDP的ID一致

TIMEOUT

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

LADDR

接IO传输区域的硬件标识符,示例中是264(DEC),如下图3-8

输出参数

ERROR:

1=通信出错

SUBS_ON

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

RET_DPRD/ RET_DPWR

DPRD_DAT/DPWR_DAT的错误代码

DIAG

诊断信息

表2 SENDDP功能指令说明

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

图3-8 SENDDP中LADDR管脚

  1. 注意要将两个PLC的发送和接收程序的DP_DP_ID参数设置成相同。

图3-9 发送和接收的DP_DP_ID参数要一致

  1. 将两个PLC的程序进行编译,然后下载到PLC。
  1. 使用监控表监控测试结果,S7-1500F通过SENDDP指令将M100.0,M100.1和MW102、MW104发送,S7-1200F通过RCVDP指令接收数据,如图3-10。
  2. 图3-10 监控结果