PLC程序中定时器和计数器的配合应用

PLC程序中定时器和计数器的配合应用
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 时钟继电器四种,相当于“方便定时器”了。其线圈是被系统驱动的,我们只要根据控制要求,取其触点信号应用就是了。可以方便编写年、月、日、时、分、秒的设备运行时间累计、指示灯烁报警信号输出等程序。

X1将10秒设定值传入D1T1

M0单稳态电器/断开延时定时器:M0T1

T1M0Y1X1从OFF-ON-OFF 时,

Y1从OFF-ON,延时10秒后Y1断开.

X2MOV K100 D1X3MOV K200 D1

T4X0RST D1

D1M10Y3

T4

将20秒设定值传入D1T4的设定值为D1间接指定T4设定值清零T4延时到,Y3输出

K100

X4T2K20Y2X4

T3K30

T2T3Y2Y2

定时值的更改:

双延时定时器:X4接通时,Y2延时2秒输出;X4断开时,Y2延时3秒断开;

图1 FX 编程器定时器应用电路

二、计数器

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的计数值清零。

X0

20秒定时

C0

用数值直接指定设定值

43210写入D0(D1)

Y3延时4000秒输出

T4设定值清零X4

上电时对C4复位

设定值间接指定

C1计数到,M100输出

定时器/计数器配合应用:

K100DMOV K43210 D0

Y2C1 D0X3T4

T4 K200M8002RST C4T4C4 K200

C4

Y3

C1

M100

图2 FX 计数器应用程序电路示例

三、定时器与计数器应用程序电路

1、定时器与计数器应用程序电路之一——供水压力自动控制程序

某生产单位的生产车间用水,用三台水泵上水,使水网管线压力维持在一定值内。基本控制程序如下:1#水泵功率最大,为主泵,2#泵和3#泵为辅助泵。三台泵

根据压力接点表的输入信号,实行自动运行与投切。压力偏低时,1#泵投入运行,运行一段时间压力仍低,2#辅助泵投入运行;运行一段时间,压力仍低,启动3#泵运行。当压力到达上限时,停止3#泵运行,压力还在上限,再切掉2#泵。

三台泵的切换方式为:最后启动运行的,先对其实施停机控制。起动与停机的次序是相逆的。在生产中经常用到相似的控制流程,如引风机和鼓风机的控制流程是:先开引风机,再开鼓风机;停机次序是,先停鼓风机,再停引风机。起/停次序相逆。

如将1#泵改为变频器拖动,其转速根据压力仪表传输模拟信号自行调节,有了压力的细调这一环节,则该装置便成为简单的自动恒压供水装置。

C0M P0

P1

CO M P41KA 1压

力下限

压力上限

2#

泵起

/

P40P42

KA 2KA 3

220V

1#

/

LS PLC

24+24G 3#

泵起

/

压力表接点

图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#泵起动运行。

P01#启动信号

压力下限T0

压力下限P0

延时启动T0TON T0 300

P42P41延时启动3#泵运转P40

2#泵运转1#泵运转M1

2#启动信号

P42

P41

3#泵运转P40

M2

2#泵运转1#泵运转M1

1#启动信号

M111#停机信号

P401#泵运转

P401#泵运转

3#启动信号

P42

P41

3#泵运转P40

M3

2#泵运转1#泵运转延时启动

P1

延时停机

3#停机信号

压力上限P1

压力上限T1

延时停机T1

TON T1 200

P40

P41

延时停机1#泵运转P42

2#泵运转3#泵运转M13

2#停机信号

P42

P40

3#泵运转P41

M12

1#泵运转2#泵运转1#停机信号

P42

P41

3#泵运转P40

M11

2#泵运转1#泵运转END

14

18

32

36

40

44

48

1#泵起动条件/状态采样启动延时控制

2#泵起动条件/状态采样

3#泵起动条件/状态采样

M2

2#启动信号

M122#停机信号

P422#泵运转

P412#泵运转

M3

3#启动信号

M133#停机信号

P423#泵运转

P423#泵运转

1#泵停机条件/状态采样2#泵停机条件/状态采样

3#泵停机条件/状态采样

停机延时控制

1#泵起/停控制

2#泵起/停控制

3#泵起/停控制

程序结束

图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、定时器与计数器应用程序电路之二——两泵交替补水和自动巡检控制程序

C0M P0

P1CO M P41KA 1

压力下限

压力上限

2#泵起/

P40P42KA 2

220V

1#泵起/

LS PLC

24+24G 压力表接点

P2P42P3

P42

自动巡检

手动巡检

图5 两泵交替补水和自动巡检控制电路接线图

某生产单位有一消防压力水罐,用两台补水泵,进行随机性补水,以维持罐

内的水压,以备不时之需。控制要求如下:

1)自动补水,压力下限信号输入时,补水泵运转,压力上限信号输入时,补水泵停机;

2)两泵交替运行模式,以延长使用寿命。第一次压力下限信号输入,1#泵运行;第二次压力下限信号输入时,则2#泵运行;

3)可以自动巡检运行。因为随机性补水,水泵不是处于连续运行状态下,

数天或更久不运行时,容易因锈蚀造成堵转等故障,故设定自动巡检功能,巡检周期为一个星期,每台泵的自动巡检运行时间为1分钟;

4)手动巡检,操作手动巡检按钮时,即时巡检开始,便于工作人员随时对水泵的运行状况进行检查。

根据这四条控制要求,编写了如下的控制程序电路。见图6。

P0运行开始D M0压力下限M2

C0

运行次数P0

P1

M3

补水运行压力上限2#运行信号

03

将连续输入信号转化为脉冲输入信号

M0运行开始M3

2#运行信号U CTU C0R 2

C0为计数器编号/计数输入"2"为计数设置/复位输入8

1#运行信号

M21#运行信号

M3

C0

运行次数P0

P1

M2

补水运行压力上限1#运行信号

14

2#运行信号

M32#运行信号

P2

短接时巡检有效T0定时清零

20

运行开始TON T0 6048

T0

巡检定时124

U CTU C1R 1000

C1为计数器编号"1000"为计数设置

M5

1#巡检信号

28

P3手动巡检P41T12#泵运行

1#巡检时间

M5

1#巡检信号

C0自动巡检1#巡检信号

M51#巡检时间

TON T1 600M5

M2

1#运行信号43

1#泵运行

P401#巡检信号M6

M3

2#运行信号472#泵运行

P412#巡检信号

36

T11#巡检时间P40T21#泵运行

2#巡检时间

M62#巡检信号

2#巡检信号

M62#巡检时间

TON T2 600END

50

1#泵运行信号输出

2#泵运行信号输出

巡检定时1巡检定时2

1#泵巡检信号输出

1#泵巡检运行时间

2#泵巡检信号输出

2#泵巡检运行时间1#泵运行/巡检控制

2#泵运行/巡检控制

图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两泵轮流补水和自动巡检控制程序中,计数器的输入电路,采用了D M0的脉冲输出触点和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的计数值变得准确。

X0连续输入C0计数值不确定X5T1C0 K10上升沿输入C1计数值准确

C1 K10

X1X2

X3连续输入上升沿微分输出

PLS M0X4连续输入下降沿微分输出

PLF Y10M0脉冲触点1Y10脉冲触点2T1 K10T1

接通一个扫描周期X6

M10

M10

M10

接通一个扫描周期输入电路宜采用:

1、上升沿/下降沿脉冲触点;

2、上升沿/下降沿微分输出触点;

3、只接通一个扫描周期的触点。

将连续输入转化为上升沿脉冲触点;将连续输入转化为下降沿脉冲触点;将连续输出转化为

只接通一个扫描周期的输出触点信号

下降沿输入

图7 计数电路的输入回路示例

而连续输入触点信号均可以通过LDP 、LDF 、PLS 、PLF 等“脉冲化指令”转化成脉冲型输入/输出触点,下图T1、M10的线圈驱动回路,其输入电路也可以用自身常闭触点串接,而形成“只接通一个扫描周期”的触点信号输出。 计数准确的实质在于:将输入信号变为“只在一个扫描周期内输入”!这也就是为什么要将连续执行型触点要转化成脉冲型触点来应用的原因。在后文中数据寄存器的对数据的处理,及一些功能指令的处理,也牵扯到此类问题,也经常需用到连续/脉冲触点的转化电路。这也说明,相对于远远低于扫描周期变化的低速输入信号,PLC 对输入信号的执行速度又显得太快了,有可能会将一次性的输入信号变为了多次输入信号。

定时器、计数器操作与应用实验报告

实验三 定时器、计数器操作与应用实验报告 、实验目的 1、 了解和熟悉FX 系列可编程序控制器的结构和外 部接线方法; 2、 了解 和熟 悉 GX Developer Version 7.0 软件的 使用 方法 ; 3、 掌握 可编 程序 控制器 梯形 图程 序的 编制 与调 试。 二、实验要求 仔 细阅 读实 验指 导书 中关 于编 程软 件的 说明 ,复习 教材 中有 关内 容 , 分 析程 序运 行结 果。 三、实验设备 2 、 开关 量输 入 / 输出 实验 箱 3、 计算 机 4、 编程 电缆 注 意: 1) 开关量输入/输出实验 箱内的钮子开关用来产生模拟的 开关量输入 信 号; 2) 开关量输入/输出实验箱内的LED 用来指示开关 量输出信号; 3) 编程电缆在连接PLC 与计算机时请注意方向。 四、实验内容 1 、梯形图 1 、 FX 系列可 编程 序控 制器 一只 一套 5、 GX Developer Version 7.0 软件 一套

2、梯形图程序 0LD xooo 1OUT YOOO X001 2LD 3OR¥001 4AN I X002 5OUT Y001 6OUT TO K50 9MPS 10AHI TO 11OUT Y002 12MPP 13ASD TO 14OUT¥003 15LD X003 16RST CO 18LD X004 19OUT CO K5 22LD CO 23OUT Y004 24END 3、时序图

r 时序10 □ ?Si 正在进荷囲1SL 金冃勖厂手祜r XI广X3厂X5厂K1Q拧应C 40 J2fl MIB -380 .360 '340 -33 MW 脚 M 创Q,220,200,13Q -1?-14D ,1如■!? 如也 40 如厂「 五、实验步骤 1、程序的编辑、检查和修改; 2、程序的变换; 3、程序的离线虚拟设备仿真测试; 4、程序写入PLC; 5、用PLC运行程序; 6、比较程序的分析结果与实际运行结果。 六、实验报告 1、实验梯形图程序的编写; 2、梯形图程序的理论分析与结果; 3、梯形图程序的实际运行结果; 4、结论。 七、实验心得 通过这样一次实验,我对GX Developer Version 7.0 软件的使用方 法更加的熟悉了,也了解到在实验中需要我们集中精力,仔细认真地完成■XDU "Tlr-.Ll-t-1!- D LJ D-IT--1 z?E I4J 一 — Ti ll IL — 」 ill-t-ll-r — 1

单片机实验之定时器计数器应用实验二

一、实验目的 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满100个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲,则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 三、电路原理图 六、实验总结 通过本实验弄清楚了定时/计数器计数功能的初始化设定(TMOD,初值的计算,被计数信号的输入点等等),掌握了查询和中断工作方式的应用。 七、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续方波,利用定时器1,对 P1.0口线上波形进行计数,满50个,则取反P1.1口线状态,在P 1.1口线上接示波器观察波形。 答:程序见程序清单。

四、实验程序流程框图和程序清单。 1、定时器/计数器以查询方式工作,对外部连续周期性脉冲信号进行计数, 每计满100个脉冲,则取反P1.0口线状态。 汇编程序: START: LJMP MAIN ORG 0100H MAIN: MOV IE, #00H MOV TMOD, #60H MOV TH1, #9CH MOV TL1, #9CH SETB TR1 LOOP: JNB TF1, LOOP CLR TF1 CPL P1.0 AJMP LOOP END C语言程序: #include sbit Y=P1^0; void main() { EA=0; ET1=0; TMOD=0x60; TH1=0x9C; TL1=0x9C; while(1) { TR1=1; while(!TF1); TF1=0; Y=!Y; } }

实验三定时器计数器应用实验一

定时器/计数器应用实验一 设计性试验 2012年11月14日星期三第三四节课 一、实验目的 1、掌握定时器/计数器定时功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作,在P1.0口线上产生周期为200μS的连续方波,在P 1.0口线上接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作,在P1.1口线上产生周期为240μS的连续方波,在P 1.1口线上接示波器观察波形。 三、电路原理图

四、实验程序流程框图和程序清单及实验结果 /********* 设计要求:(a)单片机的定时器/计数器以查询方式工作, 在P1.0口线上产生周期为200us的连续方波 编写:吕小洋 说明:用定时器1的方式1以查询方式工作 时间:2012年11月10日 ***************/ ORG 0000H 开始 系统初始化

START: LJMP MAIN ORG 0100H MAIN: MOV SP, #2FH CLR EA ;关总中断 CLR ET1 ;禁止定时器1中断 MOV TMOD, #00010000B ;设置定时器1为工作方式1 MOV TH1, #0FFH ;设置计数初值 MOV TL1, #9CH SETB TR1 ;启动定时器 LOOP: JNB TF1, LOOP ;查询计数是否溢出 MOV TH1, #0FFH ;重置计数初值 MOV TL1, #9CH CLR TF1 ;清除计数溢出标志 CPL P1.0 ;输出取反 LJMP LOOP ;重复取反 END

单片机实验-定时器计数器应用实验二

定时器/计数器应用实验二 一、实验目的和要求 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、实验内容或原理 1、利用单片机的定时器/计数器以查询方式计数外 部连续周期性矩形波并在单片机口线上产生某一 频率的连续周期性矩形波。 2、利用单片机的定时器/计数器以中断方式计数外 部连续周期性矩形波并在单片机口线上产生某一 频率的连续周期性矩形波。 三、设计要求 1、用Proteus软件画出电路原理图,单片机的定时 器/计数器以查询方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满100 个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时 器/计数器以中断方式工作,设定计数功能,对 外部连续周期性脉冲信号进行计数,每计满200 个脉冲,则取反P1.0口线状态,在P 1.0口线上 接示波器观察波形。 四、实验报告要求 1、实验目的和要求。 2、设计要求。 3、电路原理图。 4、实验程序流程框图和程序清单。 5、实验结果(波形图)。 6、实验总结。 7、思考题。 五、思考题 1、利用定时器0,在P1.0口线上产生周期为200微秒的连续 方波,利用定时器1,对P1.0口线上波形进行计数,满 50个,则取反P1.1口线状态,在P 1.1口线上接示波器 观察波形。 原理图:

程序清单: /*功能:用计数器1以工作方式2实现计数(查询方式)每计满100个脉冲,则取反P1.0口线状态*/ ORG 0000H START:MOV TMOD,#60H MOV TH1,#9CH MOV TL1,#9CH MOV IE,#00H SETB TR1 LOOP:JBC TF1,LOOP1 AJMP LOOP LOOP1:CPL P1.0

几种在PLC编程中实现定时器的方法

几种在PLC编程中实现定时器的方法 上海佰晟化工设备有限公司雷鸣摘要:本文对如何在PLC编程中实现定时器提出了几种编程思路,包括运用PLC内部定时器、扫描周期累加编程定时和周期中断累加定时等等。 关键词:PLC ;编程;定时器 在现代工业现场控制中,PLC作为控制系统的重要组成部分,起着不可替代的作用。现代PLC的功能不仅局限于简单的逻辑运算,而且具备了定时、计数、数值计算、中断处理、网络配置等多种强大的功能,使之应用于工业现场时更能发挥其作用。作为PLC重要功能之一的定时,在PLC程序中,可以进行时序构造、等待响应、人为制造中断、产生时间脉冲等多种应用,是PLC编程中不可或缺的重要手段。在PLC编程中构造定时器常用的方法是使用PLC内部的计时器资源,另外还可以利用其扫描周期和周期性的中断来构造定时器,下面将以上三种方法进行介绍 一.计时器定时 这种方式是应用最普遍也是最便捷的方式,广泛地应用于PLC程序之中。各种厂家及型号的PLC,在其软件内部都提供有限的计时器资源。当条件满足时,计时器启动,根据计时器的类型及所定时间的长度执行。以SIEMENS公司的S7-300系列PLC为例,其提供的计时器(TIMER)资源类型有:S_ODT(导通延时)、 S_ODTS(导通同步延时)、S_OFFDTS(关断同步延时)、S_PULSE(脉冲延时)、S_PEXT(扩展脉冲延时)等五种。各种计时器都有自己不同的通断特性,例如S_OFFDT(断开延时)的通断特性如图1所示。这五种计时器资源可以单独 图1 S7-300系列PLC内部导通延时定时器时序图

使用,也可以任意组合,满足各种工程需要。这种计时器方式最大的特点是方法简单、易于操作,但其也有一定的局限性,主要表现在占用过多的系统资源,并且各种 PLC对计时器个数有一定限制,以S7-300系列PLC来说,允许系统使用的计时器为512个。所以在一些大型的项目中,会出现不够用的情况;即使够用,也会因为占用过多资源而使扫描周期变长,对于精度要求比较高的系统,会有一定影响。 二.扫描周期累加编程定时 众所周知, PLC执行程序的工作方式就是扫描,而CPU对所有程序的一个遍历所经过的时间就是一个扫描周期。对于PLC来说,每个扫描周期会因为程序长度、程序中信号和中断的不同而不同。虽然这样,但扫描周期毕竟还是和CPU内部时钟保持一定的统一性,是内部时钟外在的一种时间反应。现代工业越来越智能化的今天,扫描周期不再只是一项内部指标,更多的PLC已经将其作为一项基本的参数,提供给用户使用。所以我们可以建立一种构造定时的思路:将扫描周期累加起来,如果达到我们需要定时的长度,就产生中断,执行我们需要的步骤。 还是以S7-300系列PLC为例,在软件编制过程中,OB1(Program Cycle Organization Block)是一个基本的程序模块,它是CPU扫描的主程序,其它程序被它调用。OB1有一个模块内的变量表,变量表中有一个临时变量(temp)为: OB1_PREV_CYCLE,它里面所放的数据为前一次扫描周期的毫秒(ms)数,是整型(Integer)数据。因为是临时变量,所以每个扫 图2 OB1块执行扫描及参数输出 描周期内存放的数据都在变化。因为OB1的变量表中没有静态变量类型,所以不能直接在OB1中直接进行累加,我们可以借助一个具有静态变量的FB (Function Block)程序模块来

plc定时器的使用和编程方法

一、实验目的: 1、进一步掌握定时器的使用和编程方法。 2、了解七段数码显示数字的原理。 3、掌握用一个段锁存器,一个位锁存器同时显示多位数字的技术。 二、实验设备: EL-8051-III型单片机实验箱 三、实验原理: 本试验采用动态显示。动态显示就是一位一位地轮流点亮显示器的各个位(扫描)。将8031CPU的P1口当作一个锁存器使用,74LS273作为段锁存器。 四、实验题目利用定时器1定时中断,控制电子钟走时,利用实验箱上的六个数码管显示分、秒,做成一个电子钟。显示格式为:分秒定时时间常数计算方法为:定时器1工作于方式1,晶振频率为6MHZ,故预置值Tx为:(2e+16-Tx)x12x1/(6x10e+6)=0.1s Tx=15535D=3CAFH,故TH1=3CH,TL1=AFH 五、实验电路: 六、实验接线: 将P1口的P1.0~P1.5与数码管的输入LED6~LED1相连,74LS273的O0~O7与LEDA~LEDDp相连,片选信号CS273与CS0相连。去掉短路子连接。 七、程序框图:T9.ASM

八、参考程序:T9.ASM ;将P1口的P1.0~P1.5与LED8~LED3相连,74LS273的SO0~SO7与A~Dp相连,片选信号 ;CS273与CS0相连。去掉短路子连接。 NAME T9 ;数码显示实验 PORT EQU 0CFA0H

BUF EQU 23H ;存放计数值 SBF EQU 22H ;存放秒值 MBF EQU 21H ;存放分值 CSEG AT 0000H LJMP START CSEG AT 401BH LJMP CLOCK CSEG AT 4100H START: MOV R0,#40H ;40H-45H是显示缓冲区,依次存放MOV A,#00H ;分高位、分低位,0A,0A(横线) MOV @R0,A ;以及秒高位、秒底位 INC R0 MOV @R0,A INC R0 MOV A,#0AH MOV @R0,A INC R0 MOV @R0,A INC R0 MOV A,#00H MOV @R0,A INC R0 MOV @R0,A MOV TMOD,#10H ;定时器1初始化为方式1 MOV TH1,#38H ;置时间常数,延时0.1秒 MOV TL1,#00H MOV BUF,#00H ;置0

定时器计数器应用实验一

一、实验目的和要求 1、掌握定时器/计数器计数功能的使用方法。 2、掌握定时器/计数器的中断、查询使用方法。 3、掌握Proteus软件与Keil软件的使用方法。 4、掌握单片机系统的硬件和软件设计方法。 二、设计要求 1、用Proteus软件画出电路原理图,单片机的定时器/计数器以查询方式工作, 设定计数功能,对外部连续周期性脉冲信号进行计数,每计满100 个脉冲, 则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 2、用Proteus软件画出电路原理图,单片机的定时器/计数器以中断方式工作, 设定计数功能,对外部连续周期性脉冲信号进行计数,每计满200个脉冲, 则取反P1.0口线状态,在P 1.0口线上接示波器观察波形。 三、电路原理图如下所示:

四:实验程序流程框图和程序清单 查询法流程框图: 中断法流程框图: 开始定时器初始化开定时器 清零TF0结束 TF0=0 P1.0取反N 开始堆栈初始化 定时器 中断初始化 开定时器进行中断 P1.1取反结束 程序清单: 查询法汇编: ORG 0000H MAIN: MOV TMOD, #02H MOV TH0, #9CH MOV TL0, #9CH MOV IE, #00H SETB TR0 LOOP: JBC TF0, LOOP1 LJMP LOOP LOOP1: CPL P1.0 LJMP LOOP END

查询法C语言:#include sbit cha=P1^0; void main() { TMOD=0x02; IE=0x00; TH0=0x9c; TL0=0x9c; TR0=1; while(1) { while(!TF0); TF0=0; cha=!cha; } } 中断法汇编:ORG 0000H MAIN: MOV IE, #82H MOV TMOD, #02H MOV TH0, #88H MOV TL0, #88H SETB TR0 HERE: LJMP HERE LOOP1: CPL P1.1 RETI END

S7-200 PLC定时器的使用

S7-200 PLC定时器的使用 定时器在S7-200系列PLC基本指令中占有很重要的地位,如果能够熟练、正确掌握定时器的使用方法,可以为以后的编程解决很多麻烦。 S7-200PLC的定时器为增量型定时器,用于实现时间控制,可以按照工作方式和时间基准(时基)分类,时间基准又称为定时精度和分辩率。 1、工作方式 按照工作方式,定时器可分为通电延时型(TON)、有记忆的通电延时型(TONR)、断电延时型(TOF)三种类型,我们要根据实际需要来选择。 2、时基标准 按照时基标准,定时器可分为1ms、10ms、100ms 三种类型,不同的时基标准,定时精度.定时范围和定时器的刷新方式不同,我们使用的时候要注意它们之间的区别。 3、定时器工作方式及类型 4、工作原理分析 ⑴通电延时型(TON) 使能端输入有效时,定时器开始计时,当前值从0开始递增,大于或等于预置值时,定时器输出状态位置1(输出触点有效),当前值的最大值为32767。使能端无效时,定时器复位(当前值清零,输出状态位置0)。 ⑵有记忆通电延时型(TONR) 使能端(IN)输入有效时,定时器开始计时,当前值递增,当前值大于或等于预置值(PT)值,输出状态位置1。使能端输入无效时,当前值保持,使能端再次接通有效时,在原记忆值的基础上递增计时。有记忆通电延时型定时器采用

线圈的复位指令(R)进复位操作,当复位线圈有效时,定时器当前值清零,输出状态位置0。 ⑶断电延时型(TOF) 使能端(IN)输入有效时,定时器输出状态位立即置1,当前值复位。使能端断开时,开始计时,当前值从0递增,当前值达到预置值时,定时器状态位复位置0,并停止计时,当前值保持。

PLC外部定时器的设定修改方法

1、使用人机界面 PLC可以用触摸屏、文本显示器或工控机作人机界面,方便修改定时器参数,但成本较高。 2、使用PLC内置的模拟电位器 小型PLC一般都有内置的设置参数用的模拟电位器。如三菱PLC FX1N、FX1S的外部调节寄存器D8030和D8031的值与模拟电位器的位置相对应。西门子S7-200PLC的两个模拟电位器对应的寄存器是SMB28和SMB29。CP1H的模拟电位器对应的寄存器A642。 3、用模拟量设定功能扩展板修改定时器的设定值 FX系列的模拟量设定功能扩展板FX2N-8AV-BD上有8个电位器,可以用应用指令VRRD读出各电位器设定的8位二进制数,用定作定时器、计数器的设定值。 4、用PLC外部触点在程序内作加减计数器实现设定定时器的设定值 用按钮的上升沿与加减计数器实现。当按下按钮,加减计数器的寄存器加1或减1。而定时器的设定值就是寄存器中的数值。根据需要与定时器的基时要确定按下的次数。加计数与减计数的外部接点要分开。 5、增加LCD选件板改变PLC内部定时器的设定值 可以方便的监控、变更PLC内数据值,并可以实现错误状态的可视化。CP1H、CP1L的PLC可以增加LCD选件板CP1W-DAM01。 艾驰商城是国内最专业的MRO工业品网购平台,正品现货、优势价格、迅捷配送,是一站式采购的工业品商城!具有10年工业用品电子商务领域研究,以强大的信息通道建设的优势,以及依托线下贸易交易市场在工业用品行业上游供应链的整合能力,为广大的用户提供了传感器、图尔克传感器、变频器、断路器、继电器、PLC、工控机、仪器仪表、气缸、五金工具、伺服电机、劳保用品等一系列自动化的工控产品。 如需进一步了解相关PLC产品的选型,报价,采购,参数,图片,批发等信息,请关注https://www.360docs.net/doc/1217935065.html,/

PLC中定时器的几个典型应用程序_上_李兴莲

电子报/2012年/1月/29日/第011版 制作与开发 PLC中定时器的几个典型应用程序(上) 江苏李兴莲 定时控制是PLC的重要功能之一,PLC中的定时器类似于控制系统中的时间继电器,由它们去完成各种各样的时间控制,但是使用起来比时间继电器更方便、灵活,功能也更强大,控制精度也更高。本文以三菱FX2N系列PLC为例,介绍定时器的种类及通用型定时器的几个典型应用程序(这些程序同样适应于汇川、台达等PLC)。 一、定时器及其种类 定时器分为通用定时器和累积型定时器两种,在定时器启动后可以对可编程控制器内的1ms、10ms、l00ms等时钟脉冲信号进行累加计数,当累加的数值达到预先设定的值时,定时器的触点就动作。定时器设定值可以用十进制常数(K)来设定,也可以用数据寄存器(D)的内容进行间接指定。FX2N系列PLC中TO~T199为单位时间l00ms的通用型定时器;T200~T245为单位时间10ms 的通用型定时器;T246~T249为单位时间为lms的累积型定时器;T250~T255为单位时间l00ms 累积型定时器。这些定时器的设定值可以从K1到K32767。通用定时器和累积型定时器的区别是:前者断开后,其数值立刻恢复为0;而后者在断开后,其数值保持不变,再次接通后,在原有数值基础上继续。 二、典型应用程序 1.延时接通程序 延时接通就是当开关接通时,需要延迟一定的时间,才有输出信号。实现延时接通功能的梯形图程序如图1所示。在图1的梯形图程序中,当X000接通时,T0线圈得电,开始计时,此时T0常开触点还未闭合,Y000失电,输出没有信号,当X000接通3s(30×0.1s)时,T0常开触点接通,Y000有输出信号。可见输出比输入延时了3s接通。用时序图来表示,如图2所示。若要改变延时时间,只需要改变定时器TO的定时时间常数。 2.延时断开程序 延时断开就是当开关断开时,需要延时一定时间后,输出信号才断开。PLC内部的定时器只有通电延时的触点,没有断电延时动作的触点,但是通过改变梯形图程序,也能实现延时断开功能,具体的梯形图程序如图3所示。在图3所示梯形图程序中,当X000断开时,由于Y002自锁,而T1的计时时间没到,其常闭触点仍然闭合,因此Y002仍然有信号输出,当此时T1线圈电路接通,T1开始计时,当计时时间达到5s时,其常闭触点断开,Y002才没有信号输出。可见该梯形图程序实现了延时5s断开的控制,其工作情况用时序图来表示,如图4所示。 3.延时接通和延时断开控制程序 既能实现延时接通,又能实现设置时间断开的梯形图程序如图5所示。 4.振荡输出控制程序

相关文档
最新文档