电子说
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 发送的数据,如图 2-12,2-13。
3) 打开“程序块”下面的安全主程序“Main_Safety_RTG1”(FB1),在程序段 1 中调用RCVDP 数据接收功能指令。注意:F 通讯程序接收指令,必须在主程序的开始调用,如图2-14。
4) 接收功能指令 RCVDP 管脚定义,如图 2-15。
5) 在指令中,LADDR 参数需要到系统常量中找到之前配置的传输地址区的硬件标识符
6) S7-1500F 侧,在“Main_Safety_RTG1”(FB1)中,调用发送程序指令 SENDDP,如图 2-17。
7) 同样在 S7-1500F 系统常量表中找到与 S7-1200F CPU 通信数据区的硬件标识符填写在LAADR,DP_DP_ID 参数与 S7-1200F 侧参数对应。如图 2-18,2-19。
7) 将两个 PLC 的程序进行编译,然后下载到 PLC,如图 2-20。
8) 使用监控表监控测试结果,S7-1500F 通过 SENDDP 指令将 M100.0——M101.7和 MW102、MW104 发送,S7-1200F 通过 RCVDP 指令接收数据放置在建立的 DB3 中,如图 2-21。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !