找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
楼主: thenblue

PLC定时器和计数器

[复制链接]
发表于 2016-4-13 08:17:07 | 显示全部楼层
你的目的是 控制动作周期  而不是时间延时的  就会用计数器组合 而非  时间继电器。

点评

好像就是作者的编程习惯,他的目的并不是控制动作周期,比如延时30分钟关机等。  发表于 2016-4-14 17:40
发表于 2016-4-14 16:22:46 | 显示全部楼层
初学者  来看看
发表于 2016-4-16 08:54:46 | 显示全部楼层
有的PLC的定时器是有限制的,最大值32767转换过来45秒,再长的定时就需要用计数器。
发表于 2016-4-16 09:24:31 | 显示全部楼层
其实所有的定时器都是用计数器做的,PLC也是由单片机构成的。看看单片机的定时程序就明白了
* r9 r: G& O7 C /****************************中断子程序_定时***************************************/
% U/ d# R: q' E+ e$ k  N. dvoid Timer0() interrupt 1
6 T/ _9 P* V$ [9 E {
5 j7 B5 G6 g1 Q9 N' V+ M* k. E         static         Count1=0,Count2=0;          //静态变量计数器1
- G0 `. d* }: I# t% p' [: @        Count1++;                      //每次中断计数器加1
- k# E% l8 |, x& z( H# \        Count2++;                      //每次中断计数器加14 x6 M& J2 Z( ?+ ]
        if(Count1>=12)                   //如果计数器1超过12
4 l+ U: H2 n1 l  Z; m$ O        {% d2 j2 N: c$ A8 N) k4 b6 r
        time_led_sansuo=!time_led_sansuo;
! v) D6 T( p: K1 U        Count1=0;( }9 `0 y+ X' T3 h; y" W, ^
        }
; h2 W) E3 b( u        if(time_led_sansuo)5 n/ C6 k0 g4 m* O
        led_dis &= 0xbf;7 w0 }. ^& e( a, V# V5 c
        else
& q% m8 o2 u3 P5 i- b! V        led_dis |= 0x40;                0 X8 B+ h9 k! ~0 W. s
        if(Count2>=100)                   //如果计数器2超过100! A2 i/ ^7 `) D9 a% g& u
        {       
. }& X. e! O) C7 Q    time_run--;) `5 l3 k$ B; K( x5 Q
        if(time_run==0)
/ Y; u0 v; a+ ^         {# b6 v4 e8 \& X8 J2 `( z
         ET0=0;                                                          //关定时器06 l( F7 `4 u- P! T, W1 b
         Time_on=2;3 W# K. l& z  c: n" v
         EX0=1;                                          //开外部0中断;
% f( l. l0 @" x* J7 t! X/ l         }; b- Q; [( e' @5 \
        Count2=0;                      //计数器清零0 n3 Z: o" P3 U3 s( r
        }
3 w! N+ K9 ^' \  d3 ~$ V" V* a3 H: {3 N8 m
        TH0=0x28;                       //重置定时初值0 U' s- x- v$ |; t/ A% y: X" e
        TL0=0x4b;
( h, _: ]9 b- {! ]2 U) n$ } }

点评

赞,这样就清除了。谢谢啦!  发表于 2016-4-16 12:12
发表于 2016-4-22 11:41:03 | 显示全部楼层
我也觉得这个跟写程序的人的习惯有关吧
发表于 2016-5-4 17:00:46 | 显示全部楼层
硬件程序的设计一是依靠片内资源,二就是设计者的编程习惯,在数字电路中'定时器的本质就是对时钟信号进行计数到指定值然后>进入对应的中断服务程序。所以没有必要特意区分二者区别,在实际案例中可以主要是否有其他子功能使用定时器,为了避免冲突二而采用计数器作为定时元件?
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Archiver|手机版|小黑屋|机械社区 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2025-8-24 12:15 , Processed in 0.077655 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表