编码器脉冲转换电机当前速度变化

分享到:
995
下一篇 >

菜鸟提问:

想在上位机上显示电机速度,电机是变频器模拟量控制,在上位机上也是可调的,希望实现的是当我调节变频器频率时,显示的电机速度也是随时变化的。

用定时中断,发现无法实现,因为电机速度可能随时变化的,定时时间到的脉冲和初始脉冲也是变化的,难道用变频器频率转换?谁有思路帮忙下

游侠:

用PLC的高速脉冲计数读编码器的值,再进行转换计算成转速试试。

用定时中断可以实现的,比如说定时中断时200毫秒,那在这个时间段内编码器走了多少脉冲,你要自己计算单位脉冲内走的距离,通过这样来计算单位时间内走过的距离就是速度了,然后编码器复位,或则用减法,本次脉冲量减去上次的脉冲量。大体上就是这样的思路。

菜鸟:

编码器没法复位,我还想上位机显示距离,从初始到终点,变化的显示。如果中途复位的话,那距离不是回到初始。

因为变频器模拟量控制,上位机可调,调频的话电机速度也会变,如果用减法,比如**次中断到,本次脉冲减去上次脉冲,那**次中断怎么赋值呢?

大虾:

这又是一个抄水表的生活常识问题。水表你是无法拆开复位的。可是我总不相信,你没有办法计算这个月用了多少水。和,自从搬到这房子开始用过多少水。我肯定你在某**会用笔记录水表的读数在挂历上。每个月都记一次。

另外一件事情。你调整什么,得到什么,显示什么你写一下因果关系。

因:是模拟量发生了变化。

果:是电机速度跟着变化。

那到底现在显示什么速度,看模拟量不就行了啊?跟编码器有什么关系,你没有说清楚。

引用<定时时间到的脉冲和初始脉冲也是变化的,>这句话也太难理解了。

菜鸟:

那我可以用频率来计算速度,这样就简单多了。电机拖动学的不好啊

因为编码器和电机同轴,编码器单位脉冲走的距离我算出来了,所以就想着用定时中断的时间和这段时间的脉冲,来计算速度。

大虾:

定时中断到了,把当前值记录下来和上次的计算差值。就是走了多少了啊。不用把高计清零的。你现在剩下什么问题?

菜鸟:

用脉冲计算怎么算。

比如物料从初始位置运到*终位置,共接收脉冲50000个。在这段时间内,定时中断每100ms记录一次脉冲数。**个100ms,初始脉冲是0,中断到后假如是1000,所以这个差值应该是VD0-0(1000-0);

**个100ms,有可能我改变变频器频率,电机速度加快,HC0为5000,那这个差值应该是5000-1000,。既100ms走了4000个脉冲。

第三个100ms,HC0可能是5500,那差值5500-5000,走了500个脉冲

在**个定时中断后,**个中断怎么处理来减去上一个值?

大虾:

既然你能写出来了。我就不明白你为何在程序上就减不出这个数?

0有了。1000有了。5000有了。可能以后陆续来了10000 。15000 。20000 。你也会说1000-0。你也会说5000-1000 。后面的就接着减是啦。

何解?何解?

何解会问“怎么处理”?

我们之间应该还有一点点东西还没有指明清楚。大家都要再努力想办法解释。

菜鸟:

原理明白,没找到编程方法。**次定时中断时,假如HC0写入VD0,**次写入VD4?第三第四呢,这个过程有多少定时中断都不知道。如果每次在中断程序中*后把高计清零,就简单多了,时间100ms,脉冲数是直接读取。芳老师指点啊

大虾:

刚搬过来,首先抄下水表的数。写在水表旁边的墙上。**个月过了,到了抄表时间,看着水表的数然后减去墙上的数,得到了这个月的用水量,记录在本本上。然后把墙上的字擦掉,把水表的数写到墙上。**个月也重复刚才的动作。

1.减数

2.记录得数

3.擦除旧值换新值。

4.等日子过……

5.时辰到。

6.(参考1)

菜鸟:

呵呵,完全按照楼上的文字描述来编程的。我去,佩服啊,专业技术不说,文学功底也相当厉害啊,用词、动作顺序都太**了,比程序好读多了。呵呵,谢谢啦

游侠:


请问第3点在程序上怎样实现?

菜鸟:

我编了程序,请各位老师指点:

主程序:

网络1

LD     First_Scan_On:SM0.1

CALL   SBR_0:SBR0


SBR_0程序:

网络1

LD     Always_On:SM0.0

MOVB   100, Time_0_Intrvl:SMB34

ATCH   INT_0:INT0, 10

ENI

网络2

LD     Always_On:SM0.0

MOVB   16#F8, HSC0_Ctrl:SMB37

MOVD   0, HSC0_CV:SMD38

MOVD   0, HSC0_PV:SMD42

HDEF   0, 9

HSC    0


INT_0程序:

网络1

LD     SM0.0

MOVD   HC0, VD0

MOVD   HC0, VD4

-D     VD0, VD4

网络2

LD     SM0.0

MOVD   VD0, SMD38

=      SM37.6

HSC    0


(其中VD4为本次脉冲量减去上次的脉冲量,VD0为上次的脉冲量)


你可能感兴趣: 工控菜鸟园 自动化系统 编码器 电机 首页推荐
无觅相关文章插件,快速提升流量