张益民 孙柏林 宋晓东
北方华安工业集团公司总装二厂 黑龙江齐齐哈尔 161046
我公司自法国引进的钻孔机采用“步进”程序设计,具体工作流程是:托盘由上料工位上料,每个托盘装有4个工件,然后钻孔间室内轨道电机正传,把托盘传送至防爆钻孔工作间内,托盘压合托盘到位开关SQ431→钻孔间室内轨道抬起压合轨道抬起到位开关SQ191→关防爆门压合防爆门关到位开关SQ171→下横梁上升压合下横梁上升到位开关SQ161→托盘旋转使工件到达钻孔工位,对第1个工件钻孔→托盘旋转使第2个工件到达钻孔工位,对第2个工件钻孔→托盘旋转使第3个工件到达钻孔工位,对第3个工件钻孔→托盘旋转使第4个工件到达钻孔工位,对第4个工件钻孔→托盘旋转至压合托盘旋转一周到位开关SQ8→下横梁下降压合下横梁下降到位开关SQ160→打开防爆门压合防爆门开到位开关SQ170→钻孔间室内轨道下落压合轨道落下到位开关SQ190→钻孔间室内轨道电机反传,把托盘传送至防爆钻孔工作间以外→再由室外轨道电机把托盘传送至下料工位下料,然后再上料,再下料,反复工作。
可是实际生产中,经常出现“托盘已经到位,但是托盘到位行程开关SQ431没有压合上,或者其它开关损坏,或者钻孔间室内轨道抬起电磁阀YV191阀体出现故障、YV191线圈损坏等原因都造成钻孔间室内轨道不能抬起,防爆门也关不上,结果设备停止了自动运行,不能完成后续的钻孔工作”的现象。
于是,操作工人必须到防爆钻孔工作间内去更换、调整开关,或者检修电磁阀阀体、更换电磁阀线圈。
钻孔工作间属于高危险场所,按照安全生产的有关法律、法规规定,必须把自动运行模式切换到手动运行模式以后,工人才能进入防爆钻孔工作间,否则,在自动运行模式下,操作工人是绝不允许进入钻孔工作间的,我们火工区的钻孔工作间之所以设置防爆门和防爆墙,就是因为在自动运行模式下,随时有可能出现火灾、爆炸事故的危险。
每次操作工人进入防爆钻孔工作间检修完毕,操作工人都以为由手动模式再切换至自动模式以后,设备就会自动按照程序继续往下进行。然而,实际发生的奇怪现象却是,每次由手动模式切换至自动模式以后,钻孔间室内轨道抬起,然后关防爆门,可是没等防爆门关到位,防爆门却马上又被自动“开”到位了,然后钻孔间室内轨道开始下落,没有等到钻孔间室内轨道下落到压合轨道落下到位开关,钻孔间室内轨道又马上抬起,钻孔间室内轨道抬起到位后,又马上关防爆门了,没等防爆门关到位,防爆门又马上打开了,反复不停地重复这一误动作。我们听到几百斤重的钢铁防爆门像打机关枪一样一个劲儿不停地叮咣叮咣的响,观察的现象是钢铁防爆门一个劲儿地“伸出后马上后缩回去,缩回去后又马上伸出”,防爆门不停地晃动;同时钻孔间室内轨道不停地重复“抬起后又马上落下,落下后又马上抬起”这一误动作。每次这样由手动运行模式再切换至自动运行模式以后,都会出现这种误动作。并且,因为我们始终无法查清这个采用“步进”程序设计,所导致的“由手动模式切换到自动模式引发的误动作”问题产生的原因,所以始终没有办法根除此误动作,结果使此误动作存在了20多年之久。另外,此类误动作问题在我公司其他使用“步进”程序设计的设备上同样出现过许多次。就不一一叙述了。
钻孔间室内轨道起落开关,如图1所示。几百斤重的钢铁防爆门反复“关又开、开又关”,钢铁防爆门开合示意图,如图2所示。
图1 钻孔间室内轨道起落开关图
图2 钢铁防爆门开合示意图
图3 “修改”前程序总图
防爆门关的输出电信号和钻孔间室内轨道抬起的输出电信号都在步程序STEP HR0.01中,而防爆门开的输出电信号和钻孔间室内轨道落下的输出电信号都在步程序STEP HR0.03中,防爆门关的输出电信号只在步程序STEP HR0.01中有,没等防爆门关到位,防爆门却马上又被自动打开了,证明首先防爆门关的输出信号被由1变成了0,然后防爆门开的输出信号由0变成了1。而钻孔间室内轨道抬起后马上落下,也证明了首先钻孔间室内轨道抬起的输出信号被由1变成了0,然后防爆门落下的输出信号被由0变成了1。
防爆门开、关和钻孔间室内轨道抬起、落下都是置位信号,正常情况,一旦关防爆门,防爆门关的输出信号就被置“1”,必须防爆门关到位开关SQ171压合后,防爆门关的输出信号才可以置“0”。一旦钻孔间室内轨道下落,就证明钻孔间室内轨道下落的输出信号被置“1”,必须钻孔间室内轨道下落到位开关SQ190压合后,防爆门落下的输出信号才可以置“0”。没等防爆门关到位,防爆门却马上又被自动打开了,证明实际防爆门关到位开关SQ171并没有压合,防爆门关的输出信号YV171就由1变成了0,同样,没有等到钻孔间室内轨道下落到压合室内轨道落下开关SQ190,钻孔间室内轨道又马上抬起,证明实际钻孔间室内轨道落下到位开关SQ190并没有压合,钻孔间室内轨道下落的输出信号YV190就由1变成了0,如果只进行了一个程序“步”,或者说如果在一个程序“步”里,那么,就只能通过压合防爆门关到位开关SQ171把防爆门关的输出信号置0,只能通过压合钻孔间室内轨道落下到位开关SQ190把钻孔间室内轨道下落的输出信号置0,如果只进行了一个程序“步”,如果在一个程序“步”里,因为实际到位开关SQ171和SQ190并没有压合,所以就不可能发生输出信号YV171和YV190都被置0的事。
而现在既然发生了到位开关SQ171和SQ190并没有压合,而输出信号YV171和YV190都被置0的事,就证明实际运行了两个程序“步”,既运行了步程序STEPHR0.01,又运行了步程序STEP HR0.03。
先运行了STEP HR0.01,关防爆门,而实际防爆门关到位开关SQ171并没有压合,防爆门关的输出信号YV171就由1变成了0,并且防爆门开的输出信号YV170也由0变成了1,是因为这时运行了步程序STEP HR0.03,所以结束了STEP HR0.01,使步程序STEP HR0.01中的所有输出信号都被置0,所以防爆门关的输出信号YV171就由1变成了0。因此更证明了不是开关SQ171把防爆门关的输出信号YV171置0的,这就是实际防爆门关到位开关SQ171并没有压合,防爆门关的输出信号YV171却由1变成0的原因。 而防爆门开的输出信号YV170只在STEP HR0.03中才有,在STEP HR0.01中并没有输出信号YV170,而防爆门关的输出信号YV171只在步程序STEP HR0.01中才有,在步程序STEP HR0.03中并没有输出信号YV171,所以关防爆门就证明运行了STEP HR0.01,开防爆门就证明运行了STEP HR0.03,反复开、关防爆门,就证明反复交替运行了STEP HR0.03和STEP HR0.01。同样,先运行了STEP HR0.01,使钻孔间室内轨道抬起,又马上运行了STEP HR0.03,使钻孔间室内轨道下落,再没等钻孔间室内轨道下落到位,又运行了STEP HR0.01,使钻孔间室内轨道再次抬起,又再次落下,也是这个道理。可是,按照许多程控系统的程序设计的惯例,正常程序都应该先运行STEP HR0.01,再运行STEP HR0.02,然后才能运行STEP HR0.03。那么,为何会不运行STEP HR0.02,而只是反复交替运行步程序STEP HR0.01和STEP HR0.03?其原因很有必要探讨。
本例采用欧姆龙“步进”程序设计,在宋伯生的《PLC编程理论·算法及技巧》第256页有以下论述:“欧姆龙步指令的特点是,可从任何一个步号进入,哪一位0N,步即从哪一步开始,不一定非从第一位开始,转入新步后,旧步先复位,然后启动新步,新步和旧步不同时0N,但总有一个0N。旧步复位后,其所有输出均复位”。
由手动模式切换至自动模式以后,这时压合了托盘到位开关SQ431,SQ431为1,使SNXT HR0.01条件得到满足。由手动切换至自动的时候,托盘并没有旋转,托盘旋转一周到位信号SQ8根本不可能取得上升沿,正常情况下SNXT HR0.03无法满足。可是,在手动切换至自动的瞬间,由于“电磁干扰造成二线制传感器SQ8漏电流过大,导致程控系统错误地收到SQ8由0为1的输入信号的原因,或者其它原因”,都导致程控系统瞬间错误地收到了SQ8的上升沿,因此使SNXT HR0.03条件也得到满足,于是两个条件SNXT HR0.01和SNXT HR0.03同时存在,而同一时间却只能运行一个步程序,同一时间只能有一个步0N。
由手动模式切换到自动模式时,首先运行了STEP HR0.01,使室内轨道抬起,此时防爆门开到位开关SQ170为1,防爆门关到位开关SQ171没有压合,使关防爆门输出信号20.05为1,因此就关防爆门。因为由手动模式切换到自动模式时,防爆门开到位开关SQ170为1,所以防爆门开输出信号20.04被置0,所以无法开防爆门,所以STEP HR0.03无法运行。关防爆门后,防爆门开到位开关SQ170为0,无法对防爆门开输出信号20.04置0,此时SQ431、SQ191、SQ160,3个信号都为1,防爆门开输出信号20.04被置1,所以没等关到位防爆门就被打开,因此STEP HR0.03条件具备就运行了STEP HR0.03。
防爆门开到位后,室内轨道下落,SQ191没有压合,使室内轨道抬起输出信号20.02为1,这时STEP HR0.01条件具备又运行了STEP HR0.01,再次抬起钻孔间室内轨道、关防爆门。然后再开防爆门、再次落下室内轨道。因此一直循环反复地运行STEP HR0.01和STEP HR0.03,始终不能运行STEP HR0.02,始终不能完成钻孔工作,这就是误动作产生的原因。
(1)可以采用手动模式,把STEP HR0.01的所有动作完成,直到SQ161为1后,再打到自动模式,这时即使误产生了SQ8的上升沿,因为此时下横梁下降到位开关没有压合,SQ160为0,不能运行STEP HR0.03,这时SQ431为0,不能运行STEP HR0.01,这时只能运行STEP HR0.02,就可以消除此误动作。
(2)还可以修改程序消除误动作。
图4 修改后的程序
如图4,修改程序后,即使由手动模式切换至自动模式误产生了SQ8的上升沿,因为这时SQ171为0,不能运行STEP HR0.03,只能运行STEP HR0.01,再运行STEP HR0.02,等到实际取得SQ8的上升沿时,SQ171为1才运行STEP HR0.03,因此可以消除此误动作。
在我国许多工程都采用“步进”程序设计,例如,西门子程控系统、三菱程控系统、ABB集散程控系统、欧姆龙程控系统等国内外著名的程控系统中都有步进指令。笔者在多年的程控设计和实际程控设备维修中发现,采用“步进”程序设计经常会出现“由手动运行模式切换至自动运行模式以后,不运行第2步,而只是反复交替运行第1步和第3步”等等多种误动作现象,而此类误动作产生原因往往难以查找并导致难以根除此类误动作。例如,本例误动作已经存在20多年之久,并且在我公司,还有其他此类误动作也都存在了20多年之久。
此类误动作产生的原因是“由手动运行模式切换至自动运行模式以后,这时,使两个步的条件同时存在,但只能有一个步0N,因此导致循环反复地运行两个步程序,始终不能运行其它步程序,并引发误动作”。以上就是采用“步进”程序设计中由手动模式切换到自动模式引发的程控设备误动作问题的产生原因及其解决方法,所以在采用“步进”程序设计时,应考虑可能由此出现误动作所造成的各种不良影响并采取措施消除误动作。