基于PLC控制伺服DZRN回原点指令与相对定位指令的分析

电子说

1.2w人已加入

描述

DZRN回原点指令

DZRN   K20000   K3000   X12   Y0这是一个回原点指令,K20000表示刚开始回原点的脉冲频率,当检测到X12的上升沿后,脉冲输出频率降为3000。当再检测到X12的下降沿后,脉冲输出停止。脉冲输出端为Y0。

DDRVI相对定位指令

x2-------DDRVI K10000 K1000 Y0 Y2  意思为:当X2接通时,以当前的位置为起点,向Y0以1KHz的频率发送10000个脉冲,电机方向为正方向,并反应在Y2上。

一般伺服电机使用的最多的就是位置控制模式,其说明书上的接线,不要被吓到了cn1是控制端口,cn2是编码器反馈端口,不用管,有专用线的。实际上,只用控制cn1的32、33、34、35,4根线就好了,这四根线分两组,32和33作为脉冲输入,34和35作为方向输入。举个例子:我们把32(plus+)接上+24v,把33(plus-)接上0V,把34(dir+)

接上+24v,把35(dir-)接上0V,就接成了最简单的伺服系统,发现没有,其实外部三根线就可以了,我们把32和34接在一起,共用电源正极。不过,伺服是靠脉冲控制的,我们的线路只给伺服发了一

个脉冲,而本套伺服是10000脉冲/转,那么它只转动了360/10000,呵呵,几乎没动一样,要使它连续运动,就要给它持续的脉冲,脉冲快,它转得快,脉冲多,它转得多。那么就用到PLC了。我这里用

的是三菱的plc: FX1s和Fx1n的都提供了24V的直流电源,引出端是24+和COM,在输出端,Y0对应COM0,Y1对应COM1,Y2Y3到Y5对应COM2(我以Fx1s14mr 8入6出为例)。当Y0有输出时,COM0就和Y0接

通(内部的,据说是场效应管),同理Y2有输出时,COM2就和Y2接通,那么我们控制Y0和Y2的通断就可以产生脉冲信号(0101010101)和方向信号(0000001111111)了。产生脉冲还不容易,用个timer

进行alt就行了(alt是三菱plc的一个指令,alt y0,每执行一次,Y0就翻转)。

实际上还有更简单和强大的DRVA和DRVI。DDRVA:绝对位置驱动 ddrva s1 s2 d1 d2s1:位置(简单理解为相对于原点的脉冲数,正负999999之间)s2:频率(发脉冲的速度,越高速度越快,不要超过最高速,一般10k,当然也不能低于某个值,和加减速、最高速都有关系,具体参考编程手册)d1:输出脉冲的out口,我们用的y0d2:输出方向的out口,我们用y2

DDRVI:相对位置驱动,用法一样,唯一不同的是S1:简单理解为相对于当前位置的脉冲数。也许有人要说了,好像很麻烦,不如用alt呢。alt是简单,可是我没看到几个人用alt驱动伺服。DDRVA的好处是:不用处理脉冲方向,也就是不用我们去管Y2是正还是负,我们只要告诉s1是正是负就好了,是正的话y2自动输出,是负的话y2不输出,伺服就自觉的反转了。还有就是,我们用DDRVA和DDRVI的时候,PLC可以帮我们把发出的脉通过使用它的特殊寄存器记录下来,就像这样:ddrva k1000 k500 y0 y2 (驱动伺服电机以每秒500脉冲的速度移动1000个脉冲的距离,表达不准确,自己理解一下),那么D8140就是1000了,D8141还是0,因为它是高16位,当低16位的D8140满了以后(16位,要满的话估计要到665535去了),D8141才开始使用。注意:Fx1s的高速输出只有y0和y1,所以为了有效利用资源(有时候要控制两台伺服),不是高速的方向信号就交给y2和y3了,一般是y0和y2 配成一对,y1和y3配成一对。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分