- {{item.name}}
通过 DP/DP 耦合器实现安全通讯
- 0
- 365
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 示例所使用的软硬件环境
- STEP7 Professional V14 SP1
- STEP7 Safety Advanced V14 SP1
- CPU1511F-1PN V2.0 订货号 6ES7 511-1FK01-0AB0
- CP1542-5 V1.0 订货号 6GK7542-5FX00-0XE0
- CPU1215FC V4.2订货号6ES7215-1HF40-0XB0 注意:从固件版本V4.2版本开始的S7-1200F CPU才支持安全相关的通信。
- CM1243-5 V1.3 订货号 6GK7243-5DX30-0XE0
- DP/DP Coupler 订货号6ES7158-0AD01-0XA0
通过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 硬件配置
- 打开TIA软件,点击“新建项目”输入项目名称,设置项目文件存储路径;点击“确定”,完成项目创建,如图2-1。
图 2-1 创建项目
2. 添加新设备,选择的订货号和版本,将设备名称命名为:CPU1500F,如图2-2。
图 2-2 插入1500F站
3. 在设备组态界面创建新的以太网子网,设置IP地址,如图2-3。
图2-3 分配网络和设置IP地址
4. 在“设备视图”中,组态 CP1542-5,并设置PROFIBUS 接口,新建PROFIBUS子网,PRODIBUS 地址2,如图2-4。
图2-4 插入CP1542-5 并设置DP网络
5. 在“网络视图”中,组态DP/DP Coupler,实物中CP1542-5的DP线连接DP/DP Coupler的左侧DP口,如图2-5。。
图2-5 组态DP/DP Coupler
6. 将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 地址
7. 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 字节输出。
8. 分配IO通讯区域,在1500F侧建立一个发送条目(6字节输入/12字节输出),如图2-9。
图2-9 组态IO区域
9. 按照上述的方法,组态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组态数据
10. 将两个安全CPU都编译保存,然后下载。设置DP Coupler拨码,连接DP电缆,通信正常后网络视图在线后状态如图2-11。
图2-11 硬件组态在线状态显示通信正常
3 软件编程
安全相关的通信除了要进行硬件组态外,还要使用专门的安全通信程序块完成数据的发送和接收。
- 在项目树中打开 S7-1200F,安全运行组在添加安全CPU硬件时系统已经自动生成,默认在OB123中调用安全主程序“Main_Safety_RTG1”FB1,如图3-1所示。
图3-1 系统自动创建的安全运行组
2. 添加一个F-DB,用于RCVDP指令输出变量接口连接,如图3-2。
图3-2 接收数据F-DB建立变量
3. 打开“程序块”下面的安全主程序“Main_Safety_RTG1”(FB1),在程序段1中调用RCVDP数据接收功能指令。注意:F通讯程序接收指令,必须在主程序的开始调用,如图3-3所示。
图 3-3 插入接收功能指令RCVDP
4. 接收功能指令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”三个变量以外其它的变量都需要用故障安全的数据。
5. 在指令中,LADDR参数需要到系统常量中找到之前配置的传输地址区的硬件标识符。
图3-5 RCVDP中LADDR管脚的填写
6. 在S7-1500F侧,新建F-DB,用于SENDDP指令输出变量接口连接,图3-6。
图3-6 S7-1500F侧发送F-DB
7. 打开“程序块”下面的“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管脚
8. 注意要将两个PLC的发送和接收程序的DP_DP_ID参数设置成相同。
图3-9 发送和接收的DP_DP_ID参数要一致
9. 将两个PLC的程序进行编译,然后下载到PLC。
10. 使用监控表监控测试结果,S7-1500F通过SENDDP指令将M100.0,M100.1和MW102、MW104发送,S7-1200F通过RCVDP指令接收数据,如图3-10。
图3-10 监控结果
剩余80%未阅读,请登录查看大全章节内容
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
{{item.nickName}}