机械必威体育网址

 找回密码
 注册会员

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也是由单片机构成的。看看单片机的定时程序就明白了
( r2 s  d: X( }, m /****************************中断子程序_定时***************************************/. v  B4 X8 s3 e- n
void Timer0() interrupt 1# ]  q% S' h4 t$ |
{4 Q+ n% Z( T, Y( I" l
        static         Count1=0,Count2=0;          //静态变量计数器1$ U, U  N, V" ?( f/ R, ^. ]8 P( }
        Count1++;                      //每次中断计数器加1
; M0 t0 t9 A5 d( M4 [4 H        Count2++;                      //每次中断计数器加1
( N% P3 y& @( O) y- G4 a        if(Count1>=12)                   //如果计数器1超过12( }4 N; o: y1 L8 A& ^. _3 S5 E
        {
, X# Z7 j" X% x! G" J3 |0 q8 ~7 v5 `        time_led_sansuo=!time_led_sansuo;
$ v- o( _7 p9 S( [- m# R        Count1=0;
. w" p& H1 E! ?. J! K/ u        }6 Q- R0 L0 ~, P" y- Q
        if(time_led_sansuo)
, V1 X  G2 s  @- f  n% Y1 E$ z' K        led_dis &= 0xbf;6 ^  a" _4 W; ^4 S% O( ^8 m8 e3 t
        else
% n& c! @* Y7 I4 l% ]        led_dis |= 0x40;               
% [! P) w5 b8 ^1 L& Q        if(Count2>=100)                   //如果计数器2超过100
  a0 |6 l& Q; {6 `1 G5 E        {        ; G' g  ]$ D) y. ^' M1 j$ J
    time_run--;
1 @: q6 M( [7 s& X' u* {        if(time_run==0)
& u: Y3 ]9 Z: {2 C! B         {* F' d" h- r0 h3 e8 @( j
         ET0=0;                                                          //关定时器0
2 F" ^3 N5 r) H, ^  |/ O         Time_on=2;
5 Y4 Q) b* Q) a: W7 {4 `         EX0=1;                                          //开外部0中断;) I. E  e) S: k( b# P. p
         }  W! s) j: N. @9 t$ M# d! s
        Count2=0;                      //计数器清零
* Z+ j- I( U# w        }
- E0 l7 m, T. P7 R) q  T% n
- Y, [7 b7 L4 h/ y2 r" s. R* G& b        TH0=0x28;                       //重置定时初值. d  Q- O; g, F+ [, a7 L1 H
        TL0=0x4b;
6 H+ N, N( }3 l4 G }

点评

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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