机械必威体育网址

 找回密码
 注册会员

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也是由单片机构成的。看看单片机的定时程序就明白了# P/ o" l6 B5 k/ t9 a" Y
/****************************中断子程序_定时***************************************/
" p  H% e5 q+ x6 _: Vvoid Timer0() interrupt 1
% H' e6 f% s/ {" ?% H1 H {
/ H" O3 J( }! W         static         Count1=0,Count2=0;          //静态变量计数器1" q7 T$ m& c9 x# `* ^( f
        Count1++;                      //每次中断计数器加1
( L3 l$ ?  A5 c1 ^2 V2 G        Count2++;                      //每次中断计数器加1
* U8 E6 u* }* B. j        if(Count1>=12)                   //如果计数器1超过12
/ J! P5 b! B, O$ M4 M        {
$ C8 J) B+ r' h' A        time_led_sansuo=!time_led_sansuo;# e2 v2 _2 \( g
        Count1=0;
6 P( Z0 D) }9 U: y! M5 E        }
& C- L& L! S' s" @# `" y  I* T        if(time_led_sansuo)
3 b2 G% l9 e, {, `' P5 k        led_dis &= 0xbf;) X9 Z& I, Q( z! N: d$ x# v
        else
" h. \! V3 D. ~( p& P, c3 a        led_dis |= 0x40;                & d! M' j* e. k) ?( U1 l5 t
        if(Count2>=100)                   //如果计数器2超过100
4 a" r( }+ i* Y- K' `+ W$ S0 N        {        . A" d" v  {' e3 o- F% }
    time_run--;
- F; h" n0 I5 b6 `( c        if(time_run==0)4 ]+ E4 h8 p0 h) j7 r- C2 w
         {
5 |$ q& P# C3 j6 |$ r; f2 W& f         ET0=0;                                                          //关定时器0& R, d- z+ ?; _+ ~* y8 T& O' R7 W/ m
         Time_on=2;
) @5 |9 c# M: F+ f- j         EX0=1;                                          //开外部0中断;6 p/ H" K" P! v3 v& b
         }( G- [( m' k6 P& B9 t
        Count2=0;                      //计数器清零" F+ C) h$ O5 H% h3 P
        }! b& J1 `& U% z: m  K, ?

* w5 J1 O9 c8 m) ^. C        TH0=0x28;                       //重置定时初值
. _2 R. e0 Y8 b* V9 d$ c; C0 _! v        TL0=0x4b;
6 D, w. i5 F, p }

点评

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

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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