PLC程序中定时器和计数器的配合应用.docx
- 文档编号:7391872
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:9
- 大小:136.80KB
PLC程序中定时器和计数器的配合应用.docx
《PLC程序中定时器和计数器的配合应用.docx》由会员分享,可在线阅读,更多相关《PLC程序中定时器和计数器的配合应用.docx(9页珍藏版)》请在冰豆网上搜索。
PLC程序中定时器和计数器的配合应用
PLC程序中定时器和计数器的配合使用
实际使用中,定时器和计数器,常常有“强强联合”形式的搭配性使用。
一、定时器
1、定时器是位/字复合元件,可以有三个属性:
1)有线圈/触点元件,当满足线圈的驱动(时间)条件时,触点动作;
2)具有时间控制条件,当线圈被驱动时,触点并不是实时做出动作反应,而是当线圈被驱动时间达到预置时间后,触点才做出动作;
3)具有数值/数据处理功能,同时又是“字元件”。
2、可以用两种方法对定时时间进行设置:
1)直接用数字指定。
FX编程器用10进制数据指定,如K50,对于100ms定时器来讲,延时5秒动作。
为5秒定时器。
对LS编程器,可用10制数或16进制数设定,如50(或h32),对于100ms定时器来讲,延时5秒动作;
2)以数据寄存器D设定定时时间,即定时器的动作时间为D内的寄存数值。
3、由定时器构成的时间控制程序电路:
LS编程器中的定时器有多种类型,但FX编程器中的定时器只有“得电延时输出”定时器一种,可以通过编写相应程序电路来实现“另一类型”的定时功能。
图1程序电路中,利用M0和T1配合,实现了单稳态输出——断开延时定时器功能,X1接通后,Y0输出;X1断开后,Y0延时10秒才断开;T2、T3、Y2电路则构成了双延时定时器,X4接通时,Y2延时2秒输出;X4断开时,Y2延时3秒断开;Y3延时输出的定时时间,是由T4定时器决定的,T4的定时时间是同D1数据寄存器间接指定的。
当X2接通时,T4定时值被设定为10秒;当X3接通时,T4定时值则被设定为20秒。
XO提供定时值的清零/复位操作。
单个定时器的定时值由最大设定值所限定(0.1∽3276.7s),换言之,其延时动作时间不能超过1小时。
如欲延长定时时间,可以如常规继电控制线路一样,将多只定时器“级联”,总定时值系多只定时器的定时值相加,以扩展定时时间。
更好的办法,是常将定时器和计数器配合使用,其定时时间,即变为定时器的定时器和计数器的计数值相乘,更大大拓展了定时范围,甚至可以以月或年为单位进行定时控制。
需要说明的是:
各种品牌的PLC,一般都有“时钟继电器”——属于特殊辅助继电器的类别,FX系列编程器有M8011-M8014的10ms、100ms、1s、1min时钟继电器四种,相当于“方便定时器”了。
其线圈是被系统驱动的,我们只要根据控制要求,取其触点信号使用就是了。
可以方便编写年、月、日、时、分、秒的设备运行时间累计、指示灯烁报警信号输出等程序。
图1FX编程器定时器使用电路
二、计数器
1、计数器是位/字复合元件,可以有三个属性:
1)有线圈/触点元件,当满足线圈的驱动(计数)条件时,触点动作;
2)具有数值控制条件,当线圈被驱动时,触点并不是实时做出动作反应,而是当计数输入的当前值和设定值相等时,触点才做出动作。
3)具有数值/数据处理功能,是“字元件”,也可作为数据寄存器使用。
2、可以用两种方法对计数值进行设置:
1)直接用数字指定。
FX编程器用10进制数据指定,如K50,当计数输入到达50时,触点动作,是计数值为50的计数器。
对LS编程器,可用10制数或16进制数设定,如50(或h32),当计数输入到达50时,触点动作。
2)以数据寄存器D设定计数值,又称为计数值间接指定。
3、计数器的使用程序电路(以FX编程器的计数器为例)
计数器C1的设定值为间接指定。
当计数器中设定值大于32767时,须采用32位数据传送方式,占用D0、D1两个数据寄存器——D0一旦被占用,相邻其后D1即被“同时占用”,在其它程序电路中,不得再使用D0、D1!
T4和C4二者配合,构成了长延时时间电路,T4在延时时间到后,自行切断了输入回路,可以看出T4的触点接通时间只一个扫描周期。
T4每动作一次,即为C4输入一个计数信号。
延时时间为二者设定值之积,Y在X3接通4000秒后,才产生接通输出动作。
M8002产生一个上电初始脉冲,在PLC上电时,将C4的计数值清零。
图2FX计数器使用程序电路示例
三、定时器和计数器使用程序电路
1、定时器和计数器使用程序电路之一——供水压力自动控制程序
某生产单位的生产车间用水,用三台水泵上水,使水网管线压力维持在一定值内。
基本控制程序如下:
1#水泵功率最大,为主泵,2#泵和3#泵为辅助泵。
三台泵根据压力接点表的输入信号,实行自动运行和投切。
压力偏低时,1#泵投入运行,运行一段时间压力仍低,2#辅助泵投入运行;运行一段时间,压力仍低,启动3#泵运行。
当压力到达上限时,停止3#泵运行,压力还在上限,再切掉2#泵。
三台泵的切换方式为:
最后启动运行的,先对其实施停机控制。
起动和停机的次序是相逆的。
在生产中经常用到相似的控制流程,如引风机和鼓风机的控制流程是:
先开引风机,再开鼓风机;停机次序是,先停鼓风机,再停引风机。
起/停次序相逆。
如将1#泵改为变频器拖动,其转速根据压力仪表传输模拟信号自行调节,有了压力的细调这一环节,则该装置便成为简单的自动恒压供水装置。
图3供水压力自动控制接线图
据此控制要求,编写的控制程序电路如图4。
程序特点:
利用(线圈)脉冲输出指令和定时器的巧妙配合,根据输入的压力上限和压力下限信号,完成对三台水泵的自动投切控制。
如果采用经验编程法,用压力下限信号控制三台泵的顺序起动。
过程如下:
压力下限信号输入,延时和检测,启动1#泵;延时和检测,启动2#泵;延时和检测,启动3#泵,程序电路中则需要三只定时器。
本程序电路将三个延时检测环节“提纯”,泵和泵之间的起动间歇时间,都是由定时器T0来控制的。
另外,需要启动哪台泵,是根据P40、P41、P42触点相和的电路来判断的,因而这种电路又可以称为“水泵状态检测(采样)”,运用了电路的逻辑判断功能,保证了压力下限信号输入时,依次启动1、2、3#泵的固定次序。
同样,在压力上限信号输入时,依3、2、1#的次序来停止水泵的运行。
下面看一下压力下限信号输入的启动次序(为便于分析,将程序电路左侧步号暂且作为程序行号):
压力下限信号输入时,(第14行)P0触点闭合,经T0常闭触点,接通T0定时器回路。
T0经30秒延时,若在此时间内,压力下限信号消失,1#泵又处于等待启动状态,若经30秒延时后,压力下限信号仍旧输入,则T0动作;(第0行)此时M1回路具备接通条件,M2、M3不具备接通条件,M1得电输出;(第36行)P40得电并自保,1#泵起动运行。
图4供水压力自动控制程序电路
在M1得电的同时,T0也因输入回路开断(T1常闭点动作),T0的当前计时值被清零,触点复位,M1也随即失电。
可能看出,T0、M0的触点,都只是接通了一个扫描周期。
TO输入回路串接的T0常闭触点,实现了自清零/复位作用。
电路由此又恢复为原始状态,T0重新进行延时,第2#泵处于等待启动状态下。
如果压力下限信号继续存在,则依序起动2#泵、3#泵。
每一泵的起动,都经过了T0的延时处理。
读者可以自行分析,当压力下限信号输入时,则经延时处理,会依3#、2#、1#泵的停机次序进行自动停机控制。
在程序电路中,将M1、M2,M3提取出来,作为启动信号,将M11、M12、M13提取出来,作为停机信号。
采用辅助继电器,比起直接驱动P输出端子,有更大的灵活性。
辅助继电器的输出触点信号,除了用作驱动P输出继电器外,还可以用作其它用途,如泵的运行状态,运行/停止指令等。
这种将定时触点和启/停信号、及输出控制“集中处理”的方法,使得电路思路清晰,层次分明,也广为编程人员所使用。
2、定时器和计数器使用程序电路之二——两泵交替补水和自动巡检控制程序
图5两泵交替补水和自动巡检控制电路接线图
某生产单位有一消防压力水罐,用两台补水泵,进行随机性补水,以维持罐内的水压,以备不时之需。
控制要求如下:
1)自动补水,压力下限信号输入时,补水泵运转,压力上限信号输入时,补水泵停机;
2)两泵交替运行模式,以延长使用寿命。
第一次压力下限信号输入,1#泵运行;第二次压力下限信号输入时,则2#泵运行;
3)可以自动巡检运行。
因为随机性补水,水泵不是处于连续运行状态下,数天或更久不运行时,容易因锈蚀造成堵转等故障,故设定自动巡检功能,巡检周期为一个星期,每台泵的自动巡检运行时间为1分钟;
4)手动巡检,操作手动巡检按钮时,即时巡检开始,便于工作人员随时对水泵的运行状况进行检查。
根据这四条控制要求,编写了如下的控制程序电路。
见图6。
图6两泵轮流补水和自动巡检控制程序
程序的主要特点:
1)采用了计数器C0(计数设定值2),对压力下限信号的输入次数进行计数,以计数次数进行逻辑判断,控制两台补水泵交替运行。
C0的常闭触点串入1#泵的运行信号回路,常开触点串入2#泵的运行信号回路。
当输入计数值为1时,1#泵运行信号回路接通;输入计数值为2时,C0触点动作,2#泵运行信号回路接通,同时对C0实施复位使之开始重新计数。
做到了根据压力下限信号的输入,使两泵交替运行的目的;
2)采用了计数器C1和定时器相配合,对巡检周期进行设定。
可以算出,一个星期累计秒=604800,起出定时器的最大设定范围。
采用计数器和定时器配合,二者设定值的乘积,即巡检周期=100ms×6048×1000=604800秒=星期。
3)巡检运行中泵的运行的时间,为T1、T2的设定值所决定,两泵各运行1分钟。
自动巡检时间到达后,巡检次序为1#泵运行1分钟,停机;2#泵运行1分钟,停机。
C1、T0又开始从零计数,如此循环往复。
手动巡检信号(P3)和C0(常开触点)自动巡检信号并联在一起,接通P3,可以实现即时巡检。
4)控制程序实际上是存在逻辑漏洞的。
其一:
巡检和上、下限压力信号有“逻辑竞争”现象。
当上限信号输入时,应该停机时,自动(手动)巡检信号的产生,有可能使补水泵继续运行;
其二:
独立的自动补水运行或独立的巡检运行,两泵都是交替运行的,不会出现同时运行的局面。
假定压力下限信号输入,2#泵是根据压力下限信号运行,而1#泵则有可能会根据巡检信号的控制,而投入运行,出现两泵“同时运行”的现象。
以上两个方面,都是在控制中,不希望出现的现象。
询问现场工作人员,有没有发现运行缺陷,他们的回答是:
自动补水和自动巡检,运行得都很好啊。
手动巡检也很好用啊。
这是因为:
补水泵不是处于连续运行中,这就使补水和巡检的竞争程度大为降低,再者,两泵的功率较小,都为2.2kW,同时运行也未看出有何异常;压力到达上限时,自动巡检信号产生,补它一分钟的水,也不会有什么问题的。
但此程序若运用于大功率电机或其它场合,其逻辑漏洞必然暴露无遗。
解决这个问题,可采用“MC、MCR主触点指令”或“CALL调用子程序指令”,指定补水或巡检的“优先权”,则二者就不会存在逻辑竞争了。
计数器使用中需注意的一个问题:
图6两泵轮流补水和自动巡检控制程序中,计数器的输入电路,采用了DM0的脉冲输出触点和T0接通一个扫描周期的触点,来完成对计数信号的输入,那么对连续执行型触点信号,是不是也可以胜任对计数信号的输入控制呢?
答案是:
若采用连续执行型触点,来控制计数信号的输入,可能会造成计数误差。
看下图7计数电路的输入回路示例(以FX编程器为例)。
程序电路中C0计数器的计数值有可能会形成较大的误差。
假定整个程序电路的扫描时间为2ms,而X0接通时间为100ms(若手动按钮输入计数,X0接触时间有可能超过100ms或X0接通时间长短不一),则X0接通一次,C0计数中出现了50个计数输入值——在50个扫描周期内,进行了50次计数输入!
当X0的接通时间不好掌握时,X0每接通一次,出现的计数值会各不相等,造成计数无效!
C1计数器中的计数值却是准确的。
当X1由OFF-ON变化时,产生一个上升沿脉冲输入,C1计数一次。
X1只对OFF-ON的瞬态信号输入做出接通反应,对常态的OFF或ON信号置之不理,外部输入信号每接通一次,X1只在第一个扫描周期内产生一个脉冲信号,此信号和外部信号输入时间的长短无关。
相类似的脉冲输入/输出信号和“只接通一个扫描周期的触点”信号,均会起到同样的作用,使C1的计数值变得准确。
图7计数电路的输入回路示例
而连续输入触点信号均可以通过LDP、LDF、PLS、PLF等“脉冲化指令”转化成脉冲型输入/输出触点,下图T1、M10的线圈驱动回路,其输入电路也可以用自身常闭触点串接,而形成“只接通一个扫描周期”的触点信号输出。
计数准确的实质在于:
将输入信号变为“只在一个扫描周期内输入”!
这也就是为什么要将连续执行型触点要转化成脉冲型触点来使用的原因。
在后文中数据寄存器的对数据的处理,及一些功能指令的处理,也牵扯到此类问题,也经常需用到连续/脉冲触点的转化电路。
这也说明,相对于远远低于扫描周期变化的低速输入信号,PLC对输入信号的执行速度又显得太快了,有可能会将一次性的输入信号变为了多次输入信号。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PLC 程序 定时器 计数器 配合 应用