机械社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 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也是由单片机构成的。看看单片机的定时程序就明白了5 i  X  l2 V5 c9 y6 Z0 p$ L  d3 E
/****************************中断子程序_定时***************************************/( j( R  h6 B8 m9 @* h9 y) k4 g
void Timer0() interrupt 1
, _6 I$ M, ?+ d1 j1 g; p6 u {: j9 c1 W$ U& P& I: `. b
        static         Count1=0,Count2=0;          //静态变量计数器1
3 G+ w- ~5 z; B& P4 c, c        Count1++;                      //每次中断计数器加1
, u4 W& P+ B5 O  K4 P        Count2++;                      //每次中断计数器加1/ Q0 T1 g, G7 U3 x& f
        if(Count1>=12)                   //如果计数器1超过123 o. R8 [9 Z, X  W0 q
        {
9 x, z9 ~" R& V        time_led_sansuo=!time_led_sansuo;
* T6 x% c  M- E" O- K+ N        Count1=0;5 F1 {% v/ B4 W) i8 F
        }; B5 W( y3 ]/ m: H3 H% v
        if(time_led_sansuo)4 |- l% J# x% C$ J& G6 n) H$ B: Q
        led_dis &= 0xbf;* l* x4 E1 H" [. z  [0 Q
        else+ ?) s: i4 m7 d/ `" v
        led_dis |= 0x40;                % J& _9 b1 e% U0 G
        if(Count2>=100)                   //如果计数器2超过1003 ^& c; A" m1 G0 V
        {        8 ]. z; ]/ g. y6 T/ X
    time_run--;, v. K3 O$ w. a( U
        if(time_run==0)
: |1 |/ d* r; g: ~) \9 _/ p1 _, v         {* q2 |9 q  ~  _# q5 \
         ET0=0;                                                          //关定时器0
& d7 L$ N8 {1 J$ ]& O8 H: a+ q         Time_on=2;
0 q6 L. U/ n( u- b         EX0=1;                                          //开外部0中断;
4 {: e" }5 n7 @+ `# S# V         }
! k& M/ M) c4 S& }3 r        Count2=0;                      //计数器清零1 B) m' F$ R' y8 @* N& @
        }% M" b( c9 |' H
: m& D+ M% p! M  M
        TH0=0x28;                       //重置定时初值5 b2 I' u6 g, F; n1 h' n' q
        TL0=0x4b;8 n, F) ?4 b1 P4 h" K
}

点评

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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