机械必威体育网址

 找回密码
 注册会员

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也是由单片机构成的。看看单片机的定时程序就明白了
& a; k; @, T& s( I /****************************中断子程序_定时***************************************/! L4 u# j+ a1 ~7 f
void Timer0() interrupt 1
6 @/ p$ w, X' I3 v* f( G0 M* z {
3 X$ E% Q5 l7 R' Y         static         Count1=0,Count2=0;          //静态变量计数器1  I! C. ~6 J$ @! T" S
        Count1++;                      //每次中断计数器加13 R5 H  h/ F" T% g8 j0 K- i! @
        Count2++;                      //每次中断计数器加1  T$ \  Q5 ?3 p" v
        if(Count1>=12)                   //如果计数器1超过120 P+ B, I6 R- p' |9 P
        {% N! R* F/ M/ L% ?  R
        time_led_sansuo=!time_led_sansuo;
2 @# T! H5 U8 Z' q+ V2 w7 c        Count1=0;  ~0 a/ _- w2 K0 v7 H. y% t+ s
        }
, \' e" r1 b( u( f        if(time_led_sansuo)' t$ E9 r. U. G( x  o# ]" }" E/ e
        led_dis &= 0xbf;3 G% v$ O' _' l; H( f7 z4 R
        else, q0 i" M) `2 f: b' H& T
        led_dis |= 0x40;                " [% N+ _( l4 [: P( K
        if(Count2>=100)                   //如果计数器2超过100& l( \% D# J0 p, e. c! }
        {        7 O0 C. J0 \% a0 N* A) m6 q& R
    time_run--;( ^7 l/ J/ C5 Y/ A! C! f/ C5 F
        if(time_run==0)
. X, o- L, i( Y' F1 O/ _         {5 J1 X/ s) d- \3 l% ?0 r( q
         ET0=0;                                                          //关定时器0/ B4 K# [- V( s- G: y
         Time_on=2;  c( m- @/ s. }" I2 X
         EX0=1;                                          //开外部0中断;
8 X/ \# L1 w( K: u8 ]3 \! j: j         }
2 S: h3 r0 s! Q" O: O        Count2=0;                      //计数器清零
$ }4 J; ]6 X+ \- Y, L* m        }
( c# K2 A; ~5 ~' U+ S$ M! b* J. c& O0 M
        TH0=0x28;                       //重置定时初值
: F& ?( P, ^0 x- b. |' c        TL0=0x4b;( t) z7 O6 ]2 ?. Z' X/ H/ a5 F: f9 Z9 L
}

点评

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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