找回密码
 注册会员

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也是由单片机构成的。看看单片机的定时程序就明白了
2 f8 a, n6 H8 n+ r0 i' H$ c  E /****************************中断子程序_定时***************************************/* ^7 u! K' e  u9 y6 X5 k: a
void Timer0() interrupt 1
6 C4 t& N3 G: E- K+ t0 w. @& S7 H {2 }# p2 A% G0 A8 T8 n0 w
        static         Count1=0,Count2=0;          //静态变量计数器1
3 A3 t# d+ U: r8 O' m# j( j        Count1++;                      //每次中断计数器加1
& N0 W* z3 I: k: g7 g% [        Count2++;                      //每次中断计数器加17 A& Y% O% r* i2 p6 H( Z( A6 s
        if(Count1>=12)                   //如果计数器1超过12! a9 T2 O4 `  t( v
        {- n# C, K% x6 Q- N/ {; d/ N! {) _6 Q
        time_led_sansuo=!time_led_sansuo;
6 q( y, q& R. F! C        Count1=0;/ |; v; Z1 t& y8 t  L
        }3 r8 X% D. u& a4 x8 h
        if(time_led_sansuo)1 D' s( F# X. S2 M9 w
        led_dis &= 0xbf;
8 Z! S/ H7 {+ F9 k6 B        else' o9 d$ T& K" w: g* Q/ ^  [
        led_dis |= 0x40;                # n! r/ z( W( Q; \5 G: p! j
        if(Count2>=100)                   //如果计数器2超过1001 x+ I5 c( w$ d# k
        {       
8 L8 t) S! ^% n% Q    time_run--;
- o! M( x8 U- x' N$ E; X        if(time_run==0)
5 h# v7 Q+ i3 N         {, _' j( @. ^" V$ A
         ET0=0;                                                          //关定时器0+ w5 t" \6 D8 l* j
         Time_on=2;, V% ^3 \" R6 P% E& l: E6 ]
         EX0=1;                                          //开外部0中断;
8 f: ~; @9 {' [6 P& X. c         }6 @) ]2 O( G- U6 d+ [0 c
        Count2=0;                      //计数器清零( N' o- {3 V2 G( V% |9 ^
        }0 x6 M' j0 V% u3 R

- j: w0 z6 R* W, m        TH0=0x28;                       //重置定时初值
6 |2 K" W3 V8 m6 Z        TL0=0x4b;9 T& |' Q, C7 v2 g8 N4 Q
}

点评

赞,这样就清除了。谢谢啦!  发表于 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-6-24 16:08 , Processed in 0.073620 second(s), 13 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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