机械必威体育网址

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: thenblue
打印 上一主题 下一主题

PLC定时器和计数器

[复制链接]
11#
发表于 2016-4-13 08:17:07 | 只看该作者
你的目的是 控制动作周期  而不是时间延时的  就会用计数器组合 而非  时间继电器。

点评

好像就是作者的编程习惯,他的目的并不是控制动作周期,比如延时30分钟关机等。  发表于 2016-4-14 17:40
回复 支持 反对

使用道具 举报

12#
发表于 2016-4-14 16:22:46 | 只看该作者
初学者  来看看
回复 支持 反对

使用道具 举报

13#
发表于 2016-4-16 08:54:46 | 只看该作者
有的PLC的定时器是有限制的,最大值32767转换过来45秒,再长的定时就需要用计数器。
回复 支持 反对

使用道具 举报

14#
发表于 2016-4-16 09:24:31 | 只看该作者
其实所有的定时器都是用计数器做的,PLC也是由单片机构成的。看看单片机的定时程序就明白了9 D$ S7 G8 o) F9 ^5 }- J
/****************************中断子程序_定时***************************************/
6 y0 Z' U+ t( H, U4 jvoid Timer0() interrupt 11 ]8 e! m& T, r: o" Q& g
{4 a+ \3 o: v* z. w% X0 m% S! ?
        static         Count1=0,Count2=0;          //静态变量计数器10 l/ r( C6 a3 S/ n4 W2 U. [) `2 f
        Count1++;                      //每次中断计数器加1
% R$ d8 k! r' h' B* h0 D        Count2++;                      //每次中断计数器加11 W! J$ \3 b: z" i9 F$ w
        if(Count1>=12)                   //如果计数器1超过12
3 z6 K" y! j2 v        {
1 ~' _7 r0 B# \* F. d        time_led_sansuo=!time_led_sansuo;
) g$ u  t0 ?( l        Count1=0;, Z0 k* k" ?# J) r
        }
% L' G+ j! P" q. \# u; @$ @8 S        if(time_led_sansuo)  }  M, [- r( i2 z4 ?8 L7 a" `
        led_dis &= 0xbf;
3 ~7 K0 e8 \0 d/ m& ?( G" ^        else% O- D3 H) t  _% v
        led_dis |= 0x40;               
8 M, `  k5 |1 _" [( ^1 x* |# A        if(Count2>=100)                   //如果计数器2超过100, U$ R: }! z% _% R9 C0 ?
        {       
6 m/ i# L3 ?  s: r: m    time_run--;/ L; w4 m% P" B$ {
        if(time_run==0)+ M3 c' U* q1 V& B: ?
         {
( i0 W  D. P; f' b         ET0=0;                                                          //关定时器00 \* ?6 D6 w2 z/ i, L
         Time_on=2;
# r6 L8 {: a2 u3 s0 k( A" d. ^         EX0=1;                                          //开外部0中断;
6 ^- D$ @( C7 p         }
) Z) Q$ c4 K" o: k1 O7 E1 W$ J        Count2=0;                      //计数器清零
! _% x+ Z( M2 d( Z# ~2 M        }
% C4 G: w/ ^! e, S6 o6 [& X* x
7 r7 N7 m: Q1 x3 M. X5 F$ Z        TH0=0x28;                       //重置定时初值5 f# ]- W/ f: }$ U) G
        TL0=0x4b;( c4 ?5 }/ m4 O% W& Q: X/ R
}

点评

赞,这样就清除了。谢谢啦!  发表于 2016-4-16 12:12
回复 支持 反对

使用道具 举报

15#
发表于 2016-4-22 11:41:03 | 只看该作者
我也觉得这个跟写程序的人的习惯有关吧
回复 支持 反对

使用道具 举报

16#
发表于 2016-5-4 17:00:46 | 只看该作者
硬件程序的设计一是依靠片内资源,二就是设计者的编程习惯,在数字电路中'定时器的本质就是对时钟信号进行计数到指定值然后>进入对应的中断服务程序。所以没有必要特意区分二者区别,在实际案例中可以主要是否有其他子功能使用定时器,为了避免冲突二而采用计数器作为定时元件?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

小黑屋|手机版|Archiver|机械必威体育网址 ( 京ICP备10217105号-1,京ICP证050210号,浙公网安备33038202004372号 )

GMT+8, 2024-11-22 14:55 , Processed in 0.052208 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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