机械必威体育网址

 找回密码
 注册会员

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也是由单片机构成的。看看单片机的定时程序就明白了* U) q7 N) s6 X4 k/ e3 P
/****************************中断子程序_定时***************************************/
3 \) {$ X4 l" J4 {- c$ Avoid Timer0() interrupt 1
6 n, ^$ B- `; \" J {
/ V: O' H$ c/ W: T( U/ J; w1 `         static         Count1=0,Count2=0;          //静态变量计数器1  l4 {. \1 N6 I2 i! ]+ O
        Count1++;                      //每次中断计数器加1) B5 i+ X) M2 C* ~6 o# C7 ?
        Count2++;                      //每次中断计数器加1# m" a4 v2 Y- K# d8 J/ G
        if(Count1>=12)                   //如果计数器1超过12$ R- j9 ?& ~) }. L* R
        {
5 O* p! l$ W" ^" h) B* e( B0 g        time_led_sansuo=!time_led_sansuo;2 U. ^* Z) l# @# Y% f( N
        Count1=0;
/ h; s' f5 g- m        }! F; z' ]3 n7 R* c6 s7 I' L
        if(time_led_sansuo); v, M" V9 N+ d4 p  b/ N; S
        led_dis &= 0xbf;$ d0 o- ^* q, z0 d! D
        else
6 v9 X3 h( B3 Y. k* X+ h' F        led_dis |= 0x40;                ; K" e6 l( P; `1 H. o/ l
        if(Count2>=100)                   //如果计数器2超过100
0 O3 z4 C# J4 d( W# J, e6 i        {        2 X$ W7 M6 m4 x9 P; R
    time_run--;
5 g! y. J) J8 }3 X( r        if(time_run==0)% M) |7 M3 `+ w* F: S; T% S
         {: F2 u) E0 h- t% s
         ET0=0;                                                          //关定时器0* M" `, [3 q! ?/ \, d# W% P
         Time_on=2;
7 l; l% D+ S6 }7 g& R+ Q) v0 J         EX0=1;                                          //开外部0中断;0 ]% I! }: E/ c: p5 l7 o* p. G
         }# J& I6 ~6 {0 d, X  ~7 x' w6 P' J" u6 H
        Count2=0;                      //计数器清零% r1 @! d5 N" u0 M
        }7 K5 K$ T+ C7 ^8 N$ Z  m

8 ~# @3 o: A4 W- W2 L2 h  |        TH0=0x28;                       //重置定时初值: `) b. g$ W& J6 b7 b
        TL0=0x4b;
8 ?2 u4 u5 d5 d6 Y0 p8 z1 C }

点评

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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