机械必威体育网址

标题: PLC定时器和计数器 [打印本页]

作者: thenblue    时间: 2016-4-7 22:49
标题: PLC定时器和计数器
最近在学习西门子300系列的PLC,参考的是一个大型控制系统的PLC程序,发现其中所有的定时功能都没有使用定时器,而是用1Hz的脉冲和计数器实现,之前也看过用循环中断和计数器实现定时功能,请问一下为什么要这么使用呢?这样有什么好处吗?" o7 w* _$ ~* t

( I5 J! L1 f8 M8 Q3 g: J
3 z! i7 K1 L. V6 V0 Z补充内容 (2016-9-3 08:47):
7 C9 c' o: k4 @  C- W. M7 S8 c* N在实际使用中,发现使用系统脉冲和加减器可以记录运行时间,这样功能块因为错误或者什么原因跳出仍然可以保留运行时间,在下次使用时可以继续计时
作者: 菠萝蜜258    时间: 2016-4-8 08:00
这跟控制什么样的设备有关吧?
5 ~* Q; X3 D3 f8 Y& K* C计数说明这个过程完成了1次或n次,计时说明需要多少时间完成这个过程。
: n' A5 P3 B( _3 v) [) u0 D& }1 p$ d3 o1 f" Z' z$ S- Z
不懂瞎说刷分
作者: 菠萝蜜258    时间: 2016-4-8 08:01
这跟控制什么样的设备有关吧?
1 q# d7 n6 S; j计数说明这个过程完成了1次或n次,计时说明需要多少时间完成这个过程。" Q- h% q8 {$ P  ^9 Q/ g$ p/ J8 {

" s; U) I; P* h
作者: 菠萝蜜258    时间: 2016-4-8 08:08
这跟控制什么样的设备有关吧?  \% i# P+ b3 a1 F) h# P
计数说明这个过程完成了1次或n次,计时说明需要多少时间完成这个过程。
作者: 菠萝蜜258    时间: 2016-4-8 08:12
这跟控制什么样的设备有关吧?
9 d8 g: v$ {5 b3 I计数说明这个过程完成了1次或n次,计时说明需要多少时间完成这个过程。
作者: 菠萝蜜258    时间: 2016-4-8 08:33
本帖最后由 菠萝蜜258 于 2016-4-8 08:47 编辑 ) m1 V  c8 c1 J# N6 a
. h$ t9 S8 g( g" `  q
这跟控制什么样的设备有关吧?% t1 ]0 k- I7 l: x
计数说明这个过程要完成1次或n次,计时说明需要多少时间完成这个过程。
, N3 @+ B7 h* Q' E2 U# u) z. ]
* t8 |1 j, m9 [5 f3 Q抱歉!
5 P) w* r. ]7 y不是故意贴这么多。纯属新人无知。
( C' S; B' m1 [, [( u0 q% I& W自己还无权删除。
作者: kingreader    时间: 2016-4-8 08:47
  看不到程序不好说,只能猜想在规定的时间里需要确认脉冲数。
作者: 否定了    时间: 2016-4-8 08:48
使用定时器往往受到诸多限制,而计数器就不一样了。定时器:保持性延时接通,延时断开,延时接通。条件与结果就限制了。
作者: 17567410    时间: 2016-4-12 15:35
这个跟写程序的人的习惯有关吧
作者: 17567410    时间: 2016-4-12 16:15
17567410 发表于 2016-4-12 15:35 * d# J+ t7 _5 D# O: a" d+ j
这个跟写程序的人的习惯有关吧

8 J" G" d) V9 g9 S9 i# {' U觉得还是脉冲的比较随意5 X$ {( ]; D; m0 E1 M

作者: however1241    时间: 2016-4-13 08:17
你的目的是 控制动作周期  而不是时间延时的  就会用计数器组合 而非  时间继电器。
作者: zhangce900@163    时间: 2016-4-14 16:22
初学者  来看看
作者: 长桥卧波    时间: 2016-4-16 08:54
有的PLC的定时器是有限制的,最大值32767转换过来45秒,再长的定时就需要用计数器。
作者: 长桥卧波    时间: 2016-4-16 09:24
其实所有的定时器都是用计数器做的,PLC也是由单片机构成的。看看单片机的定时程序就明白了( W  |4 E  R+ ?/ k) U) }
/****************************中断子程序_定时***************************************/' h* [2 c, m/ X! u1 \
void Timer0() interrupt 1" l; h5 N+ `* `4 _; i# I- r
{
7 E$ i3 e3 B% e$ {$ N0 v( E& e         static         Count1=0,Count2=0;          //静态变量计数器19 r) s: s8 P' R+ Q! h
        Count1++;                      //每次中断计数器加12 r; C' D' B: T# U/ y
        Count2++;                      //每次中断计数器加1
8 J, Y6 i3 ^: j& ?0 x        if(Count1>=12)                   //如果计数器1超过12
3 }% Q) r7 T% k2 x3 I        {
% m2 N) u9 R  v; E6 M" g' W        time_led_sansuo=!time_led_sansuo;5 M/ H) k7 j3 e: B1 g% H
        Count1=0;
* ?! V/ d3 t) d3 O        }
$ t0 C: y9 }$ T: o9 U        if(time_led_sansuo)/ q% r% i3 ^# N9 q( u1 @
        led_dis &= 0xbf;
1 Z" B, ], z7 g! c; q        else' Q; l6 b$ o# y4 E! Q; w4 L
        led_dis |= 0x40;                7 d" D( \8 N5 E, N' S$ H
        if(Count2>=100)                   //如果计数器2超过1007 x/ ?# K0 l8 ~* u7 D
        {       
1 c5 S; q( O+ z3 b5 |2 Y* Q    time_run--;0 g$ \8 w1 i( Y4 C0 G% }0 F7 u; U
        if(time_run==0)
0 U! L* I) g2 W1 B; W: G7 o, s- ]         {, I0 a) A! y* n3 |
         ET0=0;                                                          //关定时器0
3 i5 {8 Q: V; w9 Q2 h         Time_on=2;
: N( u1 _+ d, [7 i6 ~& T8 d% Y         EX0=1;                                          //开外部0中断;
8 o- U* F: [# |$ U- r5 E         }
1 s% B. O% X' c. z8 Q; Y        Count2=0;                      //计数器清零
" }  s6 H" S& t  T& Y- r        }
4 T$ C* P7 `3 d2 Y  U( X
" T( V, c/ A: c  @/ S3 }        TH0=0x28;                       //重置定时初值
" N/ u5 c) P. ]& y4 b6 v        TL0=0x4b;
/ z6 k. S+ @: i: Q; e5 m }
作者: 伊巽    时间: 2016-4-22 11:41
我也觉得这个跟写程序的人的习惯有关吧
作者: 人大太犬    时间: 2016-5-4 17:00
硬件程序的设计一是依靠片内资源,二就是设计者的编程习惯,在数字电路中'定时器的本质就是对时钟信号进行计数到指定值然后>进入对应的中断服务程序。所以没有必要特意区分二者区别,在实际案例中可以主要是否有其他子功能使用定时器,为了避免冲突二而采用计数器作为定时元件?




欢迎光临 机械必威体育网址 (//www.szfco.com/) Powered by Discuz! X3.4