博途实现 S7-1500F 和S7-1200F 之间的安全相关控制器与智能设备通讯
1 概念
与在标准的系统中一样,在 TIA 安全系统中具有 PROFINET 接口的 S7-1500F 和 S7-1200FCPU之间可以进行安全相关的控制器与智能设备通信。通信通过两个安全应用程序指令进,即 SENDDP 指令用于发送数据,而 RCVDP指令用于接收数据。这些指令由用户在 F-CPU 相应的安全程序中调用,可用于固定数量的 BOOL 和INT(DINT)类型的数据进行安全传送。
2 安全相关的 PN 控制器和智能设备之间的通信
在本例程中,将 CPU1511F-1PN 作为一个 PROFINET 控制器,CPU1215FC 作为一个PROFINET智能设备,SENDDP/RCVDP 指令实现两个 CPU 的安全相关的通信。
2.1 示例所使用的软硬件环境
· STEP7 Professional V14 SP1
· STEP7 Safety Advanced V14 SP1
· CPU1511F-1PN 固件版本 V2.1 订货号 6ES7 511-1FK01-0AB0
· CPU1215FC 固件版本 V4.2 订货号 6ES7215-1HF40-0XB0
注意:从固件版本 V4.2 版本开始的 S7-1200F CPU 才支持安全相关的通信
测试目的:通过 F-CPU 之间的 PROFINET 控制器与智能设备的安全通信,使用安全程序指令 SENDDP 进行发送,用RCVDP 进行接收。以安全方式一次传送 16 个 BOOL 型数据和 2 个 INT 型数据,如图 1-1。
注意:必须在安全程序开始时调用 RCVDP,必须在安全程序结束时调用 SENDDP。
2.2 硬件配置
1) 打开 TIA 软件,点击“新建项目”输入项目名称,设置项目文件存储路径;点击“确定”,完成项目创建,如图 2-1。
2) 添加新设备,选择的订货号和版本,将设备名称命名为:CPU1500F,如图 2-2。
3) 在设备组态界面创建新的以太网子网,设置 IP 地址,如图 2-3。
4)重复上面的步骤,在项目中添加 S7-1200 F CPU,将以太网接口连接到同一个子网,设置 IP 地址,如图 2-4。
5)在“操作模式”中激活 S7-1200F CPU 智能设备功能分配给 S7-1500F CPU,如图 2-5。
6)在下面的“传输区域”中,组态两个 CPU 之间的通信地址区,在类型中一定要选择 F-CD,箭头方向表示 S7-1500F CPU发送数据到 S7-1200F CPU,如图 2-6。如果需要发送的数据多于 16Bool 和2INT,可以再配置多个同样的传输地址区。S7-1200F CPU 如果需要发送数据到 S7-1500F CPU也是相同配置方法,只箭头方向要向左。
7) 将两个安全 CPU 都编译保存,下载,以 S7-1500F 下载为例,如图 2-7,2-8。
13) 1500F/1200F 项目编译保存下载后,网络视图在线后状态,说明两个 CPU 之间通信正常,如图 2-10。
2.3 通讯编程
1) 在项目树中打开 S7-1200F,安全运行组在添加安全 CPU 硬件时系统已经自动生成,默认在 OB123中调用安全主程序“Main_Safety_RTG1”FB1,如图 2-11。
2) 添加一个 F-DB, DB 块中建立 16 个 Bool 和 2 个 INT 元素用于接收 S7-1500F