找回密码
 注册会员

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也是由单片机构成的。看看单片机的定时程序就明白了
: t! B- G! Y( q. @ /****************************中断子程序_定时***************************************/" q* V0 c" i  ]1 j6 i  F% j
void Timer0() interrupt 15 e  f; R" B, B* r' E6 _
{
( A2 _/ z0 [6 y6 {/ I: M- V8 V! E         static         Count1=0,Count2=0;          //静态变量计数器1$ _/ ~) K" z& q: X# Y& _
        Count1++;                      //每次中断计数器加1
' s' F' X/ y8 i3 F, k: }7 z& J- d        Count2++;                      //每次中断计数器加1
' A4 a4 A$ F  a3 y        if(Count1>=12)                   //如果计数器1超过12
( |8 Q7 c8 E" V        {! U( T- M; i! z% T! f, s' a
        time_led_sansuo=!time_led_sansuo;
, B8 W- {& J- ]% `) |        Count1=0;. N8 s( X9 c0 c4 V
        }
+ G+ P  s- L' z, p5 s8 @4 a4 w        if(time_led_sansuo)% X! |! F. }, S) S4 V
        led_dis &= 0xbf;+ ^1 U6 a% p5 ]  _, l2 F" i% O9 J4 m
        else
1 o/ K: [7 [: N% T" A9 [) |! E        led_dis |= 0x40;                ; b4 P! V/ S* ]( f1 X4 Q* u% W
        if(Count2>=100)                   //如果计数器2超过1006 P1 v5 g# q! c6 W
        {        ; H1 E0 V8 v. v( p
    time_run--;- t* z0 E8 ~( H' F- r5 X! O
        if(time_run==0)
4 n7 ]. X( h) G6 D8 ]1 c: m( h         {, P+ Z; Q" ]1 k2 e
         ET0=0;                                                          //关定时器04 w, {$ P( [& V: L! n9 L, f
         Time_on=2;
  f1 ?* T, L$ g' f. d' j         EX0=1;                                          //开外部0中断;8 a- |6 U, x# g5 J8 _& r+ T
         }6 V8 D/ I) p. \& ]4 Z  R' f
        Count2=0;                      //计数器清零% N1 f+ T& i/ n  q
        }- \1 J6 v! h. G  v

# k+ P7 E) g8 a        TH0=0x28;                       //重置定时初值
; M. G9 Q+ J2 m! g        TL0=0x4b;
1 c1 m. i& u1 {/ J2 Z( U }

点评

赞,这样就清除了。谢谢啦!  发表于 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-9-17 18:15 , Processed in 0.057596 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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