在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的安全相关通信。
更多的关于创建和编写、通信的安全程序的信息请参考故障安全系统组态和编程手册。
通过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 INT16 Bool
2 INT图1-1 数据交换数量和类型
图 2-1 创建项目
图 2-2 插入1500F站
图2-3 分配网络和设置IP地址
在“设备视图”中,组态 CP1542-5,并设置PROFIBUS 接口,新建PROFIBUS子网,PRODIBUS 地址2,如图2-4。
图2-4 插入CP1542-5 并设置DP网络
图2-5 组态DP/DP Coupler
图2-6 分配DP Coupler给DP 主站 图2-7 设置DP Coupler的DP 地址
图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,64DP1
网络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 字节输出。
图2-9 组态IO区域
图2-10 双方的IO组态数据
图2-11 硬件组态在线状态显示通信正常
安全相关的通信除了要进行硬件组态外,还要使用专门的安全通信程序块完成数据的发送和接收。
图3-1 系统自动创建的安全运行组
图3-2 接收数据F-DB建立变量
图 3-3 插入接收功能指令RCVDP
图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”三个变量以外其它的变量都需要用故障安全的数据。
图3-5 RCVDP中LADDR管脚的填写
图3-6 S7-1500F侧发送F-DB
图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管脚
图3-9 发送和接收的DP_DP_ID参数要一致
图3-10 监控结果