您的位置:控制工程论坛网论坛 » 电机与运动控制 » 三菱plc DDRVA 和 DDRVI 指令用法

218hty

218hty   |   当前状态:在线

总积分:9071  2024年可用积分:0

注册时间: 2006-08-18

最后登录时间: 2019-06-25

空间 发短消息加为好友

三菱plc DDRVA 和 DDRVI 指令用法

218hty  发表于 2014/1/17 10:26:12      19451 查看 8 回复  [上一主题]  [下一主题]

手机阅读

一般伺服电机使用的最多的就是位置控制模式,其说明书上的接线 ,不要被吓到了cn1是控制端口,cn2是编码器反馈端口,不用管,有专用线的。

实际上,只用控制cn1323334354根线就好了,这四根线分两组,3233作为脉冲输入,3435作为方向输入。

举个例子:我们把32plus+)接上+24v,把33plus-)接上0V,把34dir+)接上+24v,把35dir-)接上0V,就接成了最简单的伺服系统,发现没有,其实外部三根线就可以了,我们把3234接在一起, 共用电源正极。

不过,伺服是靠脉冲控制的,我们的线路只给伺服发了一个脉冲,而本套伺服是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配成一对。 现在写简单的测试程序了,梯形图不好贴,看附件啦:实现功能:按下X0,把当前位置设为原点。按下X1,移动到相对于原点的D0位置按下X2,从当前位置再移动D2个脉冲按下X3,回到之前设定的原点。 保护:移动过程中不能设定原点,相对运动和绝对运动互锁,但可以随时回到原点,会原点过程中不能进行相对和绝对运动。


1楼 61 0 回复
总共 , 当前 /