- {{item.name}}
S7 Distributed Safety 使用入门
- 0
- 194
1 概述
具有 PROFINET 接口的安全 CPU 可以连接配置了安全输入输出模块的 ET200S 从站实现安全相关的功能。本实例介绍了从建立项目开始,到在硬件组态中进行网络连接,在线分配从站的设备名,设置模块的F 目标地址,建立安全运行组,编写安全程序,直至模块去钝化一个安全项目的全完整过程。
2 设备硬件配置过程
在本例程中,将CPU 317F-2PN/DP 作为Profinet 控制器,ET200S 作为 IO 设备。
2.1 示例所使用的软硬件环境
- STEP7 V5.5 SP4
- STEP7 Distributed Safety V5.4 SP5 Upd1 (S7 F ConfigurationPack V5.5 SP12)
- CPU317F-2PN/DP V3.2 订货号 6ES7 317-2FK14-0AB0
- IM 151-3PN HF 订货号 6ES7 151-3BA23-0AB0
- ET200S PM-E 订货号 6ES7 138-4CA01-0AA0
- ET200S F-DI 订货号 6ES7 138-4FA05-0AB0
- ET200S F-DO 订货号 6ES7 138-4FB04-0AB0
2.2 硬件配置
1) 点击“新建项目”输入项目名称(CPU317F_ET200S),点击“OK”,完成项目创建,如图2-1 所示。
图 2-1 创建项目
2) 插入 S7-300 站,将名字修改为:CPU317F;如图2-2 所示。
图 2-2 插入站
3) 双击硬件组态配置界面,从右侧产品列表中找到CPU317F-2PN/DP,拖入到项目中。如图2-3 所示。
图2-3 硬件组态
4) 双击CPU 硬件组态,在CPU 属性页面中设置 CPU 密码保护及安全程序密码,如图 2-4,2-5 所示。
图2-4 设置CPU 密码
图2-5 设置安全密码
5) 设置IP 地址及工业以太网网络(通过以太网编程下载),如图2-6 所示。
图2-6 分配IP 地址及网络
6) 创建Profinet IO 系统总线,如图2-7 所示。
图2-7 创建Profinet IO 系统总线
7) 从右侧产品列表中找到IM151-3 PN HF V7.0,拖入到PROFINET IO 总线上,如图2-8 所示。
图2-8 添加ET200S 站点组态
8) 为 IM151-3 PN HF 分配 IP 地址,首先双击 IM151 站点,在属性页面中点击“Ethernet” 按钮,在接口属性页面中修改IP 地址为“192.168.0.151”,如图2-9 所示。(绿色方框 中的名称作为后面章节要用到的ET200S 站 Device Name)
图2-9 分配IM151-3 PN HF 的IP 地址
9) 在ET200S 站点中组态电源、F-DI 和F-DO 模块,如图2-10 所示。
图2-10 添加ET200S 站点模块
安全模块硬件拨码开关需要与F-DI/DO 模块组态设置的F 目标地址保持一致,本例中F-DI 的安全目标地址设为1,F-DO 设置为2,如图2-11/12 所示。
图2-11 F-DI 模块F 地址设置
图2-12 F-DO 模块F 地址设置
注:在安装 F-I/O 之前,您必须通过 DIP 开关设置 F-I/O 上的 F_destination_address,开关在模块的侧面。
10) 至此硬件组态已完成,点击“编译”按钮,无报错后点击“下载”按钮,下载硬件组态, 如图2-13 所示。
图2-13 编译并下载硬件组态
点击“OK”按钮后,在选择节点地址对话框中点击“Update”按钮,在“Accessible Nodes”中选中已找到设备,点击“OK”按钮进行硬件组态下载,如图2-14 所示。
图2-14 选择在线目标CPU
点击“OK”后,确认下载硬件和离线CPU 信息,如图2-15 所以。
图2-15 CPU 信息确认
下载完成后,系统提示是否需要启动CPU,点击“Yes”后CPU 将进入RUN 模式,如图2- 16 所示。
图2-16 启动CPU
11) 分配ET200S 设备名称,首先在硬件组态中选中IM151 站点,然后点击菜单栏“PLC” 选项下面的“Ethernet”中的“Assign Device Name…”,如图2-17 所示。
图2-17 分配设备名称1
在弹出的新对话框中选择待分配的设备名称“IM151-3PN”(图2-9 中绿色方框为IM151- 3PN 的设备名称),然后选中目标设备的MAC 地址,点击“Assign name”按钮分配设备 名称,如图2-18/19 所示。
图2-19 分配设备名称后
3 软件编程
现在通过一个程序实例来了解安全程序的配置过程,实现安全停车功能。当没有急停信 号时,指示灯L1 点亮;当急停信号到来或急停信号故障时,指示灯L1 熄灭。当急停信号 离去或故障恢复时,应答请求ACK_REQ 变为1,再经过开关S2 确认后,指示灯L1 重新 点亮。
硬件接线:
从站 F-DO 模块:DO0 接指示灯L1,点亮时表示电机M1 处于工作状态。
从站F-DI 模块:DI0/4 接1oo2 equivalent 开关S1;DI1/5 接1oo2 equivalent 开关S2。 S1 为急停开关,S2 为故障确认开关。
1) 创建安全组织块OB35,在STEP7 项目界面,Blocks 目录下空白处点击鼠标右键选择 “insert New Object”中的“Organization Block”选项,如图3-1 所示。
图3-1 创建安全组织块
在弹出的对话框中将“Name”改为OB35,点击OK,如图3-2 所示。
图3-2 修改名称
2) 创建FC1 功能,使用上面同样的方法,如图3-3 所示。
图3-3 创建FC1
在弹出的对话框中将“Name”改为FC1,“Created in Language”改为F-CALL,点 击OK,如图3-4 所示。
图3-4 修改名称和语言
3) 创建安全主程序块FB1,,使用上面同样的方法,如图3-5 所示。
图3-5 创建FB1
在弹出的对话框中将“Name”改为FB1,“Created in Language”改为LAD,点击 OK,如图3-6 所示。
图3-6 修改名称和语言
4) 创建安全运行组,在STEP 7 主界面点击安全编辑器按钮,在弹出的界面中点击 “Runtime groups”按钮,在新界面中点击“New”按钮,在弹出的界面中手动添加I-DB 的块号,本例为DB1,如图3-7 所示。
图3-7 创建安全运行组
5) 在OB35 中调用F-CALL,如图3-8 所示。
图3-8 调用F-CALL
6) 打开FB1,编写安全程序;在安全程序库中调用FB215 急停功能程序块,E_STOP 管 脚填写开关S1 的硬件地址I11.0,ACK 管脚填写开关S2 的硬件地址I11.1,Q 管脚填 写指示灯L1 的硬件地址Q17.0,ACK_REQ 为请求复位状态,分配地址M0.0 进行监控,如图3-9 所示。(由于FB215 后台需要用到FB186 F_TOF,故用户需手动在程序中调 用FB186 后,再将其删除即可)
图3-9 安全主程序
7) 打开安全编辑器,点击“Compile”按钮编译安全程序;然后点击“Download”按钮, 进行下载,如图3-10 所示。
图 3-10 安全程序编译并下载
8) 打开安全程序块FB1,点击监控按钮,急停信号I11.0 为1,表明没有按下急停按钮,故输出Q 为1,驱动电机运行,如图3-11 所示。
图3-11 急停程序块
4 安全模块钝化及去钝
4.1 模块钝化
在图3-11 状态下,急停信号的双通道其中一路信号丢失,导致通道差异,安全模块会 自动检测到外部信号错误,并使模板钝化,此时安全模块SF 指示灯会变亮,S1 开关输 入状态变为0(保持安全值输入)。这时Q 点输出变为0,电机M1 停止工作。
1) 通过直接读取安全模块的诊断信息,可获取错误信息,如图4-1 所示。
图4-1 模块诊断信息
2) 在程序中,可以通过访问该安全信号模块的F-I/O DB 来读取模块的工作状态。本例中 该F-I/O DB 为DB1092,通过观察PASS_OUT 和QBAD 的位状态,可知模块已经钝 化,如图4-2 所示。
图4-2 模块F-DB 状态—故障
4.2 模块去钝化
1) 现在恢复S1 开关故障通道DI4 输入的接线,请求应答信号ACK_REQ 变为1,表示请求去钝,如图4-3 所示。
图4-3 模块F-DB 状态—故障恢复请求
2) 置位ACK_REI,给出应答信号,完成去钝。只有去钝后,在安全程序中才能读到S1 的 外部输入值的状态。这时需要在安全程序块 FB1 中编程通过 M 位来置位 ACK_REI 位, 如图4-4 所示。
图4-4 去钝操作
3) 当 M0.6 上升沿触发后,去钝完成,模块恢复正常,但急停程序块还需要进行软件复位, 此时FB215 的输出管脚ACK_REQ 为1,表示程序块请求去钝化,如图4-5 所示。
图4-5 程序块请求去钝
4) 去钝FB215 功能块,只需提供输入管脚ACK 一个上升沿信号即可,本例中I11.1 输入为1 后,在I11.0 急停按钮正常状态下,Q17.0 恢复输出,如图4-6 所示。
图4-6 程序块去钝完成
剩余80%未阅读,请登录查看大全章节内容
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
{{item.nickName}}