机械必威体育网址
标题:
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; //静态变量计数器1
9 r) s: s8 P' R+ Q! h
Count1++; //每次中断计数器加1
2 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超过100
7 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