• {{item.name}}
{{item.name}}
{{item2.name}}
更多

安全智能设备通讯

star star star star star
0 分
  • 使用操作
发布时间:2024年04月16日
  • 0
  • 5
TIA Portal 中 S7-1500F CPU 和 S7-1200F CPU 实现安全相关控制器与智能设备通讯的配置例程

TIA Portal中S7-1500F CPU和S7-1200F CPU实现安全相关控制器与智能设备通讯的配置例程

在TIA 安全系统中具有PROFINET接口的S7-1500F和S7-1200F CPU 之间可以进行安全相关的控制器与智能设备通信。通信通过两个安全应用程序指令进行,即SENDDP指令用于发送数据,而RCVDP指令用于接收数据。这些指令由用户在F-CPU相应的安全程序中调用,可用于固定数量的BOOL和INT(DINT)类型的数据进行安全传送。

在本例程中,将CPU1511F-1PN作为一个PROFINET 控制器,CPU1215FC作为一个PROFINET 智能设备,SENDDP/RCVDP指令实现两个CPU的安全相关的通信。

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

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

  • STEP7 Professional V14 SP1
  • STEP7 Safety Advanced V14 SP1
  • CPU1511F-1PN  V2.1 订货号 6ES7 511-1FK01-0AB0
  • CPU1215FC        V4.2 订货号 6ES7 215-1HF40-0XB0 注意:从固件版本V4.2版本开始的S7-1200F CPU才支持安全相关的通信。

测试目的:通过F-CPU之间的PROFINET控制器与智能设备的安全通信,使用安全程序指令SENDDP进行发送,用RCVDP进行接收。以安全方式一次传送16个BOOL型数据和2个INT型数据,如图1-1。

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

CPU1511F传输类型CPU1215FC
16 Bool
2 INT
16 Bool
2 INT

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

2 硬件配置  

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

A screenshot of a computer

Description automatically generated

图 2-1 创建项目    

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

A screenshot of a computer

Description automatically generated

图 2-2 插入1500F站

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

A screenshot of a computer

Description automatically generated

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

4. 重复上面的步骤,在项目中添加S7-1200F CPU,将以太网接口连接到同一个子网,设置IP地址,如图2-4。

A screenshot of a computer

Description automatically generated

图2-4 设置S7-1200 F CPU的IP地址

5. 在“操作模式”中激活S7-1200F CPU智能设备功能分配给S7-1500F CPU,如图2-5。

A screenshot of a computer

Description automatically generated

图2-5 设置操作模式

6. 在下面的“传输区域”中,组态两个CPU之间的通信地址区,在类型中一定要选择F-CD,箭头方向表示S7-1500F CPU发送数据到S7-1200F CPU,如图2-6。

如果需要发送的数据多于16Bool和2INT,可以再配置多个同样的传输地址区。S7-1200F CPU如果需要发送数据到S7-1500F CPU也是相同配置方法,只不过箭头方向要向左。

2-6.png

图2-6 组态S7-1200F CPU通信地址区

7. 将两个安全CPU都编译保存,然后下载,以S7-1500F下载为例,如图2-7,2-8,2-9。

2-7.png

图2-7 编译项目

2-8.png

图2-8 搜索CPU

2-9.png

图2-9 下载项目到CPU

8. 1500F/1200F项目编译保存下载后,网络视图在线后状态,说明两个CPU之间通信正常,如图2-10。

2-10.png

图2-10 硬件组态在线状态

3 软件编程  

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

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

3-1.png

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

2. 添加一个F-DB, DB块中建立16个Bool和2个INT元素用于接收S7-1500F 发送的数据,如图3-2,3-3。

3-2.png

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

3-3.png

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

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

3-4.png

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

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

3-5.png

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

输入参数
ACK_REI:1=发生通信错误后,对发送数据的重新集成确认
SUBBO_00-SUBBO_15用于接收BOOL数据的安全值
SUBI_00 - SUBI_01用于接收INT数据的安全值
DP_DP_ID唯一的SENDDP和RCVDP之间的关联值,确认发送和接收的对应关系,示例中是1,与S7-1500F侧SENDDP的ID一致
TIMEOUT安全相关的通讯的监视时间
LADDRIO传输区域的硬件标识符,示例中是272(DEC),如下图3-6
输出参数
ERROR:1=通信出错
SUBS_ON1=使用替代值
ACK_REQ:1=需要对发送数据的重新集成进行确认
SENDMODE1= 具有F_SENDDP的F-CPU处于取消激活的安全模式中
RD_BO_00 - RD_BO_15接收的BOOL数据
RD_I_00 - RD_I_01接收的INT数据
RET_DPRD/ RET_DPWRDPRD_DAT/DPWR_DAT的错误代码
DIAG诊断信息

表1 RCVDP功能指令参数说明

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

5. 在指令中,LADDR参数需要到系统常量中找到之前配置的传输地址区的硬件标识符

3-6.png

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

6. S7-1500F侧,在“Main_Safety_RTG1”(FB1)中,调用发送程序指令SENDDP,如图3-7。

3-7.png

图3-7 调用发送指令

输入参数
SD_BO_00 - SD_BO_15用于发送BOOL数据
SD_I_00 - SD_I_01用于发送INT数据
DP_DP_ID唯一的SENDDP和RCVDP之间的关联值,确认发送和接收的对应关系,示例中是1,与S7-1200F侧RCVDP的ID一致
TIMEOUT安全相关的通讯的监视时间
LADDR接IO传输区域的硬件标识符,示例中是261(DEC),如下图2-18
输出参数
ERROR:1=通信出错
SUBS_ON1=接收方输出故障安全值
RET_DPRD/ RET_DPWRDPRD_DAT/DPWR_DAT的错误代码
DIAG诊断信息

表2 SENDDP功能指令说明

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

7. 同样在S7-1500F系统常量表中找到与S7-1200F CPU通信数据区的硬件标识符填写在LAADR,DP_DP_ID参数与S7-1200F侧参数对应。如图3-8,3-9。

3-8.png

图3-8 发送LADDR填写

3-9.png

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

8. 将两个PLC的程序进行编译,然后下载到PLC。

9. 使用监控表监控测试结果,S7-1500F通过SENDDP指令将M100.0——M101.7 和MW102、MW104发送,S7-1200F通过RCVDP指令接收数据放置在建立的DB3中,如图3-10。

3-10.png

图3-10 监控结果

剩余80%未阅读,请登录查看大全章节内容

  • 评论
更多
  • 分享

    扫码分享

扫码进入移动端

信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。