找回密码
 注册会员

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也是由单片机构成的。看看单片机的定时程序就明白了
7 V* _* s: I3 u) `. _9 R! b7 B /****************************中断子程序_定时***************************************/
4 |) f$ o  k' [: y: \void Timer0() interrupt 1
* y/ U* ^7 t0 T" |% c8 ? {
+ G! E. u, k: }4 z  ]/ |) a         static         Count1=0,Count2=0;          //静态变量计数器1* m" ~, d/ J% i+ @5 {
        Count1++;                      //每次中断计数器加1# V% q( h+ K8 S. K
        Count2++;                      //每次中断计数器加1
& m. O* X+ p4 T& L1 a        if(Count1>=12)                   //如果计数器1超过12
1 U9 \! c. h, S8 ~        {0 w# M: o5 I  z( C
        time_led_sansuo=!time_led_sansuo;
8 e8 L) {  H7 n( Y0 y        Count1=0;
% U7 y3 [  n1 @+ a5 [! V        }* T9 x  v( x6 y' S8 r% [
        if(time_led_sansuo)
6 @  v0 D! M; k- U        led_dis &= 0xbf;
8 D' R( Y% s" t/ `        else' U( G( W: r( y4 C" `) ~. b+ G* n
        led_dis |= 0x40;                ( Z2 F7 t$ a9 ?
        if(Count2>=100)                   //如果计数器2超过100
5 c6 u3 p2 m4 m6 H/ Y        {       
: ~2 Q3 W7 ]  b4 s    time_run--;" F8 P# c4 t3 w( L/ g# q' ?0 |8 W
        if(time_run==0)
& |/ D# e; p) m. _9 F; }         {
. N/ E# a! w7 {" w6 D; I: C' w         ET0=0;                                                          //关定时器05 Z" n/ S5 ?8 O" L$ K
         Time_on=2;- c% i% l. M4 x* r! |
         EX0=1;                                          //开外部0中断;* D, I/ p8 `8 d: b% L( S: S
         }
7 [% m! z9 t- e: T& T8 V        Count2=0;                      //计数器清零
  D+ E9 ?$ }  W3 K0 c        }4 C) R$ n1 K4 U6 o! |1 p

" [+ W/ p) L5 x) i5 a: y4 @        TH0=0x28;                       //重置定时初值+ V" X0 D" X" W# i( F+ L; y: g- q
        TL0=0x4b;1 R2 B4 H4 \9 U0 H8 x
}

点评

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

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

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