ESTOP指令的基本作用是在软件可编程环境(专为SIL3/CAT4安全应用设计)中模拟安全继电器的输入功能。针对ESTOP指令中各状态位的变化,主要分以下4种操作模式:
1)常规操作。
2)不一致输入操作。
3)电路复位保持操作(只用在手动操作模式)。
4)循环输入操作。
1.安全标签的创建
1)双击“SafetyProgram”中的“MainRoutine”。“SafetyPrograms”和“Routines”均为红色。
2)在指令工具栏点击左右按键,找到“Safety”标签。点击“Safety”标签,可看到可供使用的安全指令,“Safety”指令列表仅当在编辑“Safety Task”时才能看到,如图8-40所示。
图8-40 可供使用的安全指令
3)点击ESTOP按钮,可在“Safety Task”的主程序中添加一个ESTOP安全指令,梯级0,如图8-41所示。
4)右击ESTOP旁边的“?”并选择“New Tag”,创建一个ESTOP标签,对ESTOP标签进行如图8-42所示配置。
在RSLogix5000中,每一个标签都有“Standard”(标准)和“Safety”(安全)两种类型。一个“Safe-ty”标签和“Standard”标签一样,既可以是“Pro-gram Scope”的程序域,也可以是“Controller Scope”的控制器域。“Safety”标签是受保护的,在安全任务之外无法被读取,所以在本例中,将使用控制器域标签,这样我们可以在标准例程中读取这些标签。
图8-41 添加ESTOP“Safety”指令
5)在ESTOP指令上,双击“Reset Type”,选择指令复位类型。设置为“Manual”需要一个预先的动作(即按下电路复位“Circuit Reset”按钮)以复位该指令的输出;设置为“Automatic”则不需要预先的动作即可进行该指令输出的复位。
图8-42 配置ESTOP标签
6)为ESTOP的输入通道A和B分配数据。双击通道A旁的“?”,并选择“safety_LabNode1:I.Pt00Data”作为ESTOP的通道A输入,如图8-43所示。
标签“Pt00Data”解释如下:Pt表示点point;00表示指定点0;Data表示一个数据点;后缀InputStatus表示输入状态;OutputStatus表示输出状态。
重复上述步骤,进行通道B的设置。选择“safet_yLabNode1:I.Pt01Data”作为ESTOP指令通道B的输入。
图8-43 为ESTOP的输入通道A分配数据位置
7)在ESTOP指令中,右击Circuit Reset旁的“?”并选择“New Tag”,如图8-44所示对标签进行配置,点击“OK”按钮以确定所做的改变。
图8-44 为Circuit Reset创建标签
8)右击Fault Reset旁的“?”并选择“New Tag”,如图8-45所示进行标签配置,点击“OK”按钮以确定所做的改变。
图8-45 为Fault Reset创建标签
9)配置好的ESTOP安全指令如图8-46所示。
图8-46 配置好的ESTOP安全指令
2.安全程序的编辑
本实验前面部分所配置的通道A和通道B(“safety_LabNode1:O.Pt00Data”,“safety_LabNode1:O.Pt01Data”)所控制的是两路用于驱动两个接触器的安全输出。当ESTOP没有被按下时,两路输出为高电平。下面编写一些梯形图代码来驱动接触器以点亮负载灯。
1)选择梯级0,点击新梯级按钮两次,建立两个新的梯级。在每一个梯级中添加OTE指令。选择两个之前配置好的安全输出“safetyLabNode1:O.Pt00Data”和“safe-tyLabNode1:O.Pt01Data”作为OTE的标签,如图8-47所示。
图8-47 两个输出梯级指令
2)在上述两个梯级中加入XIC命令,并为其选择安全标签“safety_Estop.O1”,确保这两个梯级的指令如图8-48所示。只有当ESTOP的两个输入通道均为高电平且电路复位时,ESTOP指令才将其输出(“safety_Estop.O1”)置为高电平。
图8-48 添加输入的两个梯级指令
3)切换到标准任务的“MainRoutine”,如图8-49所示。
图8-49 切换到标准任务的“MainRoutine”
4)插入以下梯级,如图8-50所示。
应该在控制器域内创建标准标签“stdFaultReset”和“std_CircuitReset”,且不能为“std_FaultResetstd”和“std_CircuitReset”创建“ALIAS”标签,因为安全标签不允许别名。
5)在菜单中,点击Logic→Map Safety Tag,如图8-51所示。
图8-50 在标准任务中插入新梯级
图8-51 选择“Map Safety Tag”,打开映射工具
6)选择第一个标准标签“std_CircuitReset”,如图8-52所示。
图8-52 第一个标准标签“stdCircuitReset”
7)点击“Safety Tag Name”下面的空白区域,选择标准标签所要映射的安全标签,在本例中选择安全标签“safety_CircuitReset”,如图8-53所示。
图8-53 为标准标签“stdCircuitReset”映射安全标签“safetyCircuitReset”
8)重复前面两个步骤,将标准标签“stdFaultReset”映射到安全标签“safety_Faul-tReset”,如图8-54所示。
图8-54 将标准标签“std_FaultReset”映射到安全标签“safetyFaultReset”
9)关闭“Safety Tag Mapping”窗口,通过添加以下梯级,完成标准主程序,如图8-55所示。通过读取安全例程中ESTOP指令内部状态位所对应的安全标签,由“Point I/O”指示ESTOP的状态位。
(www.xing528.com)
图8-55 完成标准主程序
10)保存并下载程序。
11)如果出现下载故障提示,点击“Yes”。
12)在“I/O Configuration”下单击安全I/O模块1791DS-IB8XOB8,在弹出的列表中选择“Properties”,在弹出的对话框中选择“Safety”选项卡。如果“Configuration Ownership”(配置所有权)显示为“??”,则点击“Reset Ownership”(重置所有权)按钮,如图8-56所示,并在弹出的警告框中点击“Yes”,Safety-IO模块需要几秒钟的时间进行复位,当其复位时注意观察模块LED指示灯的状态;如果“Configuration Ownership”被设置为“Local”(本地),则点击“OK”,关闭属性对话框。
图8-56 点击“Reset Ownership”按钮
GuardLogix控制系统中的每一个安全模块均被系统中的一个处理器所“拥有”,当一个控制器“拥有”一个模块时,该控制器将存储该模块的配置数据;当创建和下载一个新的工程时,需要重新定义配置信息的“所有者”。一个安全模块仅能受一个控制器管理,要改变“所有者”,需要通过点击“Module Properties”对话框中“Safety”选项卡中的“Reset Ownership”按钮,使其回到“Out-of-Box”(不受限制)状态。
13)将控制器置于Run模式。
3.ESTOP功能测试
通过以下操作测试ESTOP功能,并与安全模块的自检功能对比。期间请特别注意观察安全输入/输出模块的LED指示灯状态、DEMO箱上的指示灯以及程序中的ESTOP指令各标志位的状态。
(1)常规操作
该指令对两个输入通道的状态进行监视,当满足如下条件时,输出Output 1置1:
1)使用手动复位:两个输入都置1,而且给电路复位一个上升沿跳变(即由0到1)。
2)使用自动复位:两个输入保持1状态50ms。
当两个输入通道中的任意一个置0时,指令的输出Output 1置0。常规操作时序图如图8-57所示。
图8-57 常规操作时序图
ESTOP指令的两个输入通道通常是开路状态,即两个通道是“0”状态代表“安全”状态,而“1”状态代表“激活”状态。同理,该指令的输出Output1的“0”状态代表“安全”状态,而“1”状态代表“激活”状态。
1)程序下载完毕且控制器置于Run模式时,由于ESTOP指令的复位模式当前为手动复位,此时负载指示灯不亮。
2)按下“CircuitReset”按钮以驱动输出,此时负载指示灯亮起。
3)在线将ESTOP指令复位模式更改为自动复位,按下ESTOP按钮以强制两输入置0,此时负载指示灯熄灭。释放ESTOP按钮,此时负载指示灯自动点亮。
(2)不一致输入操作
当两个输入通道处于不一致状态(一个置1,另一个置0)并保持500ms(t1)时,该指令将引发故障,该故障由输入不一致位和当前故障位指示;如果当前故障为保持为1,Output 1无法置1;当故障条件被修正且给故障复位位一个上升沿跳变时,当前故障位将被清零,时序图如图8-58所示。
图8-58 不一致输入操作时序图
离线将ESTOP复位模式更改为手动模式(以下实验均在手动模式下进行),下载程序后,在按下电路复位按钮“Circuit Reset”之前,负载指示灯不点亮。
1)通过按下E-STOP WIRE OFF按钮,以模拟ESTOP断线的情况,即断线的输入(IN0)变成低电平,而模块上的输入指示灯却保持固定黄色。
注意,1791DS模块不会检测到输入故障,因为之前组态安全模块时,我们将安全输入设置为独立型,所以由E-STOP指令检测不一致输入。
2)实验箱上的INPUTS INCONSISTENT指示灯点亮,表示输入不协调(一个通道为低电平,另一个通道为高电平)故障存在,同时FAULT PRESENT指示灯亮起,表示当前存在故障。
3)释放E-STOP WIRE OFF按钮以修理故障,此时断线的输入通道重新变成高电平。
4)按下故障复位按钮FAULT RESET,INPUTS INCONSISTENT指示灯和FAULT PRES-ENT指示灯同时熄灭。
5)按下电路复位按钮CIRCUIT RESET,负载指示灯重新点亮。
(3)电路复位保持操作(只用在手动操作模式)
若两个输入通道处于低电平且电路复位按钮保持按下状态,当两个输入通道变成高电平且电路复位按钮还是保持按下状态时,ESTOP指令将置电路复位保持位为1,其时序图如图8-59所示。
图8-59 电路复位保持操作时序图
1)按下ESTOP按钮,以强制两个输入通道为低电平。
2)按住CIRCUIT RESET按钮不松手,然后释放ESTOP按钮。
3)此时CIRCUIT RESET HELD ON(电路复位保持)灯亮起。
4)释放CIRCUIT RESET按钮,此时CIRCUIT RESET HELD ON(电路复位保持)灯熄灭。
5)重新按下CIRCUIT RESET按钮,负载指示灯点亮。
(4)循环输入操作
当输出Output 1被激活(置1)时,两个输入通道中的一个由1状态变为0状态然后又回到1状态,此时循环输入位被激活,输出Output 1无法激活,直到两个输入通道都变为低电平。其时序图如图8-60所示。
1)在本实验进行之前请确保负载指示灯处于激活状态。
2)轻按E-STOP WIRE OFF按钮(因为轻按E-STOP WIRE OFF按钮,输入通道IN0的低电平状态很短暂,不致于引发IN0断路故障)。此时,CYCLE INPUTS(循环输入)灯点亮,因为输入通道IN0发生了Hi/Lo/Hi的状态改变,而另一个通道保持Hi状态。
3)要想将CYCLE INPUTS置0,必须将两个输入通道置0。
4)通过按下ESTOP按钮来强制两个输入通道置0。
图8-60 循环输入操作时序图
5)释放ESTOP按钮以使输入重新变成高电平。
6)按下CIRCUIT RESET按钮,负载指示灯重新点亮。
(5)安全模块故障检测功能—输入通道间短路
1)通过按下绿色SHORT CH-TO-CH按钮,造成输入通道与通道间的短路。
2)确认安全模块的输入是否变成红色。
1791DS-IB8XOB8模块使用脉冲测试来检测ESTOP输入上的通道与通道间短路,并将两个故障输入在控制器内部程序中均设置为低电平,尽管安全输入模块上的IN0与IN1显示红色,但通过电表测量可知,实际上输入信号还是24V。对于1791模块,需要输入变成低电平以复位输入故障。
3)释放SHORT CH-TO-CH按钮以修正故障。
4)按下ESTOP按钮以复位1791DS的故障(IN0与IN1指示灯熄灭)。
5)松开ESTOP按钮,输入将重新变成高电平(IN0与IN1显示黄色)。
6)按下CIRCUIT RESET按钮,负载指示灯开启。
在本实验中,你可以发现建立一个ESTOP安全回路是很简单的。需要注意的是,查看RSLogix5000标签会发现,在未发生任何故障的情况下,当实际输入端子的信号是“0”时,标签里输入信号的反馈状态InputStatus却为“1”,这是因为,只有当故障产生后,InputSta-tus才会置“0”以反映故障状态。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。