西门子6ES7253-1AA22-0XA0现货包邮
西门子6ES7253-1AA22-0XA0现货包邮
一、引言
可编程序控制器(PLC)突出的特点是可*性高,在以PLC为主组成的PLC控制系统中绝大部分故障来自外部控制电器,如由按钮,行程开关等的损坏所引起。控制电器的故障分为两类:一类是控制电器的触点产生氧化膜,使触点无法闭合而产生开路故障;另一类是控制电器触点熔合而产生短路故障。这都将影响PLC控制系统的正常工作。为能快速准确地对PLC控制系统中控制电器的故障进行检测,探讨利用PLC内部富余的器件对PLC输入控制电器的开路与短路故障进行自动诊断,以便及时排除故障,保证PLC控制系统的正常运行。
二、输入控制电器短路故障的检测
1、短路故障的分析与设计
为检测出某控制电器的短路故障,可在梯形图有关的步序段中串联上被检测电器的常开点,当该电器常开点变为闭合即出现短路故障时,则立即接通输出继电器,此继电器为PLC辅助继电器,使有关的输出设备停止工作,并使故障指示灯亮,以使操作人员迅速发现故障并判断出原因。为避免在步序转换瞬间有些被检测电器的常开点闭合,致使故障指示出现短暂的错误,可根据需要设置若干个定时器,使步转换时间相同且有间隔的步共用一个定时器。定时器的常开点串联在相应的步序段中,时间设定值略大于步转换时间,这样就不会出现错误的故障指示。若在每一步序段中设置一个由PLC内部辅助继电器组成的步序状态指示器,将指示器的常开点与上述定时器的常开点和故障输出继电器串联起来,就可实现利用步序状态指示器对该步进行故障检测。只有系统运行到该步才能检测出有关的故障电器。
PLC控制系统的输入控制电器可能多达几十甚至上百个,即系统有几十甚至上百个步序段,而状态寄存器的触点只能使用一次。若按步序指令编制程序,为检测故障就需另选内部辅助继电器作为状态指示器。这样不仅占用了大量辅助继电器,而且使梯形图相当复杂。在这种情形之下,采用移位寄存器的编程方法来编制程序比较理想。这样不仅可以利用移位寄存器对众多步序段系统进行控制,而且可利用PLC内部丰富的辅助继电器作为步序状态指示器,从而实现对众多输入控制电器的故障检测。
2、故障检测的选择
假若在每一步序段对所有的输入控制电器全部进行检测,这将使梯形图非常繁杂。经分析和实际运用证明,不需要在每步序段对所有输入控制电器进行短路检测,只要在某步序段检测一个有关的输入电器即可。一般选取每一步序段中LD指令的控制电器,即开始某段程序的控制电器。
三、输入控制电器开路故障的检测
1、开路故障的分析与设计
在PLC控制系统正常运行的状态下,每一步序都有一定的时间间隔。若输入控制电器出现了开路故障,则系统将无法转入下一步的工作而停顿。故必须检测出控制电器的开路故障。要检测开路故障只要将有关步序的步序状态指示器的常开点和下一步步序状态指示器常闭点及定时器的线圈串联起来,在该步序段开始时立即定时,当该步序段结束并转入下一步后使定时器复位。若系统在定时器设定时间内结束该步,定时时间到,则其常开点闭合,指示出故障信号。定时器的定时值的选取需要注意以下两点:一是保证系统迅速检测出开路故障;二是准确的定时时间(即步进时间)需要现场调试确定。
2、故障检测的选择
对大量输入控制电器进行开路检测必将占用较多的定时器,而PLC内部定时器数量有限,故对控制电器的检测可作如下处理:
(1)对于步序时间相同且有间隔的步可共用一个定时器。
(2)开路故障检测选取某步序段前OUT的控制电器。
(3)选择故障率高的控制电器进行检测。
四、故障检测的设计
1、瓶签检测系统
瓶签检测系统如图1所示。
图1 瓶签检测线
系统中有光电开关0001和0002检查传送带上的瓶子。若检测到无标签的瓶子则0001通,这时系统控制一个机械手从A传送带拿开并放到B传送带上。当机械手回到始位后,机械手原始位置0004检测接通,同时系统还对无标签的瓶子进行计数,当计数值达到设定值时报警灯亮。
2、控制系统梯形图
设计出C系列PLC控制系统梯形图如图2所示。
图2 瓶签检测PLC控制系统梯形图
3、控制电器开路故障检测
需要检测的控制电器有光电开关0001和0002,停止按钮0003和机械手原始位置检测0004。根据上述思路设计出输入控制电器的开路故障检测梯形图,如图3所示。
图3 输入控制电路开路故障检测梯形图
4、控制电器短路故障检测
需要检测的控制电器与开路时相同。设计出控制电器短路故障检测梯形图,如图4所示。
图4 输入控制电器短路故障检测梯形图
5、几点说明
(1)鉴于瓶签检测系统输出点较少,PLC内部剩余了较多输出点,所以在设计中使用较为简单的方法实现对控制电器的故 障检测,各个被检测电器的每种故障由一个独立输出点予以显示,使故障的显示一一对应,清晰明了。
(2)若控制系统比较复杂,输入控制电器和输出设备较多,使输出点数富余较少时,为减少故障显示所占用的输出点数,需加入状态指示器,可采用8421码来分配故障显示灯(输出点对应的指示灯),而程序作相应的调整就可以了。
五、结束语
PLC的内部资源如输出继电器、辅助继电器、定时器等,一般情形之下均未被完全利用,所以可利用这些内部富余的电器对PLC外部的输入控制电器进行故障自动检测。该检测无需任何外部元器件和经费就可实现。这对于保证PLC控制系统的正常运行具有重要意义。
问:我次用昆仑通态的触摸屏与S7300通讯。通讯也正常,开关量、模拟量都好使。时间继电器的时间设置变量类型不对,能通讯上,但是显示与设置的值不对,PLC报错:“BCD数值转换出错”。PLC变量是DB7.DBW0,类型“S5TIME”;触摸屏的变量是“设备_读写DB07_WD000”,类型:16位的都试了。出现状况:PLC如果5秒,触摸屏500;PLC10秒,触摸屏1100。也不成比例,请各位指教。
答:一、DB7.DBW0里的时间值存放的是S7-300PLC的“S5TIME”类型。
二、S5TIME类型格式有个时基的问题,S5TIME是用BCD码保存的,在数据存储区占用两个连续的字节。
三、使用S5TIME时,定义数值的范围为0~999,而且要指明使用的时基。时基指定了时间单位。S5TIME时基及相应的时间范围如下:
时基 BCD码 时间范围
10 ms 00 10 ms - 9 s 990 ms
100 ms 01 100 ms - 1 min 39 s 990 ms
1 s 10 1 s - 16 min 39 s
10 s 11 10 s - 2 hr 46 min 30 s
您可以采用如下两种格式定义时间值:
1) W#16#wxyz
o w = 时基 (即时间间隔或精度)
o xyz = BCD格式的时间值
这种方式只能用于STL编程。
2) S5T#aH_bbM_ccS_dddMS
o a = 小时, bb = 分钟, cc = 秒, dd = 毫秒
o 这种情况下时基自动选择, 数值为该时基下取整去尾到下一个较低值。
o 您可以输入的大值为9,990 秒,或2H_46M_30S。
四、如果想通过上位或触摸屏对PLC中S5TIME类型的参数进行设定,有如下方法:
1、从上位机写整型数INT或实数REAL到PLC,首先该数值需包含以毫秒为单位的时间值,在写入PLC的数据存储区后,利用ITD(Integer to Double Integer)或RND(Real to Double Integer with Rounding Off)将该值转换为双整形,然后将该值写到类型为TIME的变量里,在程序中调用FC40,将TIME转换成S5TIME即可。
2、从上位机写WORD到PLC,首先该数值需包含以某时基为单位的时间值,在写入