分享

PLC控制伺服常用指令和程序段总结

 启程的男孩 2018-01-04


DZRN回原点指令

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


DDRVI相对定位指令

x2-------DDRVI K10000 K1000 Y0 Y2  意思为:当X2接通时,以当前的位置为起点,向Y01KHz的频率发送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 FX1sFx1n的都提供了24V的直流电源,引出端是24+COM,在输出端,Y0对应COM0Y1对应COM1Y2Y3Y5对应COM2(我以Fx1s14mr 86 为例)。 Y0有输出时,COM0就和Y0通(内部的,据说是场效应管),同理Y2有输出时,COM2就和Y2接通,那么我们控制Y0Y2的通断就可以产生脉 冲信号(0101010101)和方向信(0000001111111)了。产生脉冲还不容易,用个timer进行alt就行了(alt是三菱plc的一个指令,alt y0 每执行一次,Y0就翻转)。实际上还有更简单和强大的DRVADRVI


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


DDRVI:相对位置驱动,用法一样,唯一不同的是

S1:简单理解为相对于当前位置的脉冲数。 也许有人要说了,好像很麻烦,不如用alt呢。alt是简单,可是我没看到几个人用alt驱动伺服。


DDRVA的好处是:不用处理脉冲方向,也就是不用我们去管Y2是正还是负,我们只要告诉s1是正是负就好了,是正的话y2自动输出,是负的话y2不输出,伺服就自觉的反转了。


还有就是,我们用DDRVADDRVI的时候,PLC可以帮我们把发出的脉通过使用它的特殊寄存器记录下来,就像这样:ddrva k1000 k500 y0 y2 (驱动伺服电机以每秒500脉冲的速度移动1000个脉冲的距离,表达不准确,自己理解一下),那么D8140就是1000了,D8141还是0,因为它是 16位,当低16位的D8140满了以后(16位,要满的话估计要到665535去了),D8141才开始使用。 


注意:Fx1s的高速输出只有y0y1,所以为了有效利用资源(有时候要控制两台伺服),不是高速的方向信号就交给y2y3了,一般是y0y2 配成一对,y1y3配成一对。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多