文档介绍:200 PLC,转速程序怎么写啊?
1有人说采用编码器,但是编码器的转速最高才1500RPM,我要测量的轴的转速至少是4000多转,编码器的速度根本跟不上啊?
2这个程序如何写啊?
最佳答案
首先是检测机构,可以使用高速接近开关取信号,也就是转一圈接近开关输出一个脉冲信号
编程就是使用高速计数器和定时中断,定时中断设定时间100ms,在中断程序里累计10次,取得高数计数器的实际值,就是每秒的转速了,然后清定时的累计值,复位高速计数器的初始值,进行下一秒的计数。
刚好昨天做了个测试程序,
ORGANIZATION_BLOCK主程序:OB1
TITLE=程序注释
BEGIN
Network1
CALLSBR1
Network2
CALLSBR0
ANIZATION_BLOCK
SUBROUTINE_BLOCKSBR_0:SBR0
TITLE=子程序注释
BEGIN
Network1
MOVW0,VW100
Network2
MOVB100,SMB34
ATCHINT0,10
END_SUBROUTINE_BLOCK
SUBROUTINE_BLOCKHSC_INIT:SBR1
TITLE=
BEGIN
Network1
MOVB16#F8,SMB37
MOVD+0,SMD38
MOVD+0,SMD42
HDEF0,0
ENI
HSC0
END_SUBROUTINE_BLOCK
INTERRUPT_BLOCKINT_0:INT0
TITLE=中断程序注释
BEGIN
Network1
+I1,VW100
Network2
LDW>=VW100,VW102
MOVDHC0,VD104
MOVD0,SMD38
HSC0
MOVW0,VW100
Network3
END_INTERRUPT_BLOCK
SUBROUTINE_BLOCKSBR_0:SBR0
TITLE=子程序注释
BEGIN
Network1
MOVW0,VW100
Network2//网络标题
//网络注释
MOVB100,SMB34
ATCHINT0,10
END_SUBROUTINE_BLOCK
SUBROUTINE_BLOCKHSC_INIT:SBR1
TITLE=
BEGIN
Net