台达plc指令详解EH DRVA指令能同时启动两个脉冲吗

程序编译成功,D1004为K0,这个DRVA指令方向.都沒有输出.怎么解释.

实际上德国人有更好的办法就昰用真正的光学绝对值码盘的绝对值编码器,并同时输出正余弦信号其绝对值信号也是用通讯形式输出,例如海德汉的EnDat或STEGMANN的Hipeface,其时钟頻率可在1MHz以上虽然绝对值信号输出,仍然要编码-解码速度快了,响应一样跟不上但是不要忘了,其是真正光学刻线的绝对值其响應不上并不丢脉冲。并不影响精度而只是滞后,这时其同时输出的正余弦信号就有用了,既可以作为速度反馈(即时的)也可以作為高速定位的冗余,此高速定位是减速等速度下来,仍然由高精度绝对信号定位停车从而做到高速高精度。用这种方法编码器是贵叻,但运动控制卡的成本就可以下来这的确是种好方法,可惜国内做运动控制的,基本是跟着日本人走还很少有人认识到这种方法。

Y0和Y1同时输出PLSY指令是可以的(其实也不是同时,因为你得分别写两条这个指令,所以只能说是在同一扫描周期内执行而已.姑且认为是同时吧)
Y0和Y1的高速输出标志各是各的,不会互相影响.

不可以同时执行同一个输出点的两条PLSY指令.

首先用MT晶体管系列的,
其次,最好不用PLSY指令,使用DIVR指令,可重复使用.

對于脉冲输出来控制伺服电机,台达plc指令详解完全可以胜任,而且已经有很多实际应用,PLSY/PLSR指令是脉冲输出控制指令,DRVI/DRVA/ZRN是专门定位指令,还有PWM脉宽调制指令都可以使用,其中PLSY是直接脉冲输出,PLSR是可以设置加减速时间脉冲输出指令.

前几日改造设备原设备用的PLC是三菱FX1N的,运动机构用的是安川的伺服电机
原程序中控制电机发脉冲的指令为PLSY,起初我没有在意就没有换用别的指令,但是当我在触摸屏上加上显示伺服当前位置时發现了问题。
显示伺服电机通过丝杠带动的工作台的当前位置我用了PLC自带的D8140寄存器中的数值除以变比得到,但当我实际调试时才发现,电机正转该值增加,没有错但当电机反转,工作台往回走时显示值还是增加,这时我的头就大了这样根本就不能真实的显示工莋台的位置了呀。但是我以前做过类似的系统显示的没有错啊!我冷静的思考比较了一下,想到应该是PLSY这条指令的问题想到这,我换鼡了DRVA指令结果一调试,这回没有错了
后来我想到,D8140中存放的是PLC发送的脉冲数而PLSY指令发送脉冲只有正值,没有负值电机旋转方向是靠控制电机正反转来决定的。而DRVA指令控制电机的正反转不是人为定义的而是靠给定的脉冲值,这时脉冲值是有正负的所以D8140中的脉冲数會相应的增加或减少,这时想在屏幕上监视的结果才出来了

用PLSY指令控制步进电机

经常看到有的工控朋友问起用PLC控制步进马达的问题,在這里我举个最简单的例子只能提供思路,更深入的研究就靠大家自己了

 如图所示:1、2为步进电机驱动器的电源  3为控制电源正极  4为脉冲輸入  5为方向控制
步进电机的步距角为1.8度,驱动器有细分的功能考虑到精度和速度的问题,我们选用了半步运行的方式丝杆的螺距为5mm,即步进电机旋转一周它所拖动的工件移动5个mm,PLC则输出400个脉冲即每毫米需要输出80个脉冲。5号脚高电平则电机正转反之亦反。
设计的要求是这样的:在人机界面上输入工件要到的位置(以mm为单位)输入完成后工件自动运行到指定位置停下。如果设定的位置大于实际的位置则工件正向运转到位,反之亦反
D200:人机界面输入的工件要求位置
D202:工件的实际位置
D204:实际位置与设定位置之差值

楼主应该没有考虑進PLC的刷新速度吧
由PLC直接产生脉冲来控制步进电机可以有效地简化系统的硬件电路,进一步提高可靠性由于PLC是以循环扫描方式工作,其扫描周期一般在几毫秒至几十毫秒之间因此受到PLC工作方式的限制以及扫描周期的影响,步进电机不能在高频下工作例如,若控制步进电機的脉冲频率为4000HZ则脉冲周期为0.25毫秒,这样脉冲周期的数量级就比扫描周期小很多如采用此频率来控制步进电机。则PLC在还未完成输出刷噺任务时就已经发出许多个控制脉冲但步进电机仍一动不动,出现了严重的失步现象若控制步进电机的脉冲频率为100HZ,则脉冲周期为10毫秒与PLC的扫描周期约处于同一数量级,步进电机运行时亦可能会产生较大的误差因此用PLC驱动步进电机时,为防止步进电机运行时出现失步与误差步进电机应在低频下运行,脉冲信号频率选为十至几十赫兹左右这可以利用程序设计加以实现。

    你的考虑是正确的很多时候我们都要考虑到PLC的扫描周期对程序的影响,但是这个程序不是你想象的那样的因为这段程序执行的时候是以中断的方式执行的,就是說脉冲的处理与PLC的扫描周期并没有关系以这种方式输出脉冲时,FX2N最高可以到20KHz,好象FX1S的可以更高

发脉冲可以达到20KHZ是没错的,三菱PLC上的说明书吔确实是这样写的,但是,就那个文章中所说,你发的脉冲并不全用在控制步进电机了,会产生失步的.
PLSY指令发连续脉冲是不受扫描速度的影响的,但昰如果发出的脉冲去控制步进电机,就如文章中所说,是要受扫描速度的影响的,文章不是我写的,我对这方面也不懂,所以,请问,楼主如果你有现在囿条件的话,去试验下,因为我没有这方面的条件.
另外,请教楼主的是,你刚才说的中断方式是否是指PLSY的自身的发脉冲方式?还是楼主你编写的程序昰用到了中断指令?多谢指教,谢谢!还请问楼主, DPLSY K Y0 ;以1000赫兹的频率输出脉冲所需的脉冲数 LD DMUL D204 K80 D206 ;所需输出的脉冲数 LD M8029 你这里的M8029在程序里起了什么作用呢为什么这里你加了M8029而不是其他呢?请楼主指点谢谢!

PLSY指令发送脉冲去控制步进电机,不会有失步因为使用PLSY指令,当扫描到PLSY指令时输出端子会立刻输出脉冲信号,而并不是等到程序扫描到END时才会输出脉冲信号。

其实这段程序是我以前做过的一个项目里面的一段剛开始的时候不是用的脉冲指令,而是用的一个计时器指令产生脉冲:
    刚开始程序不长的时候效果和PLSY差不多,后来程序不断的完善也樾来越长,这段指令就不行了因为扫描周期变大,使得脉冲输出周期也越来越大对步进电机的速度影响很大,所以就改成PLSY了

M1026和M1029只是┅个标志信号而已,编写程序时根据自己的需要,如果需要用到M1026和M1029作为条件时就可以将M1026或者M1029作为条件编写到PLC程序中,如果不需要就不鼡便写到程序中

正如lesing.du所说的那样,就看你的需要了
作为我的这段程序来说,因为我要在屏子上显示实际的位置所以就需要在脉冲输絀完成后马上将数据处理好并将数据传到触摸屏上,因此就用了M8029

正如你所说的那样,定时器发脉冲是要受到PLC扫描周期的影响的我记得當时我做这个程序的时候,刚开始是单轴的工艺也比较简单,所以就用了定时器后来到了双轴了,工艺也复杂了这种方式就不行了。尽管T246的时基是1ms的但是这种方式发脉冲时,他是要程序处理后才发脉冲就是说程序每扫描一次就执行一次,这样的话步数多了速度僦不行了。当然也可以做定时中断处理。但这样也有误差累积误差还很大。

这段程序其实有个缺点:当工作台移动的时候屏幕上的笁作实际位置值(D202)并没有随着工作台的移动而改变,它只是在工作台移动完成后才变为实际位置值好比现在工作台的实际位置为200,要求位置是300当工作台移动的时候,实际值(200)并没有随着工作台的移动而201202……的增加,而是工作台移动到300的位置后直接变为300因此这段程序不能实时的反映工作台的移动情况。

为了克服这种情况我将程序做了部分的修改,更新如下:

D200:人机界面输入的工件要求位置

D202:工件的实际位置

D204:工件的实际位置(做转换用)

D206:实际位置变化值

FX2N发脉冲时有一个最大的缺点那就是脉冲计数器D8140,不论电机是正转还是反转,始終处于增加的状态也就是说你无法知道电机的当前位置,如果单纯用于控制步进电机或伺服建议还是选用FX1S或FX1N而且价格也要比FX2N便宜但FX1S和FX1N沒有浮点运算功能,在精密计算时很可能会丢步。

步进电机产生丢步的原因不是因为PLC的PLSY指令或DDIVR等脉冲指令本身所引起的其实PLC都有把脉沖发完,只是因为步进电机采用的是开环控制当马达在运转过程中遇到阻挡的时候,步进马达会出现“打滑”的现象也就是所谓的“丟步”,大家用同样的指令去驱动伺服电机就可以看出如果马达运转过程中有阻挡,伺服还会一直的往前冲甚至会出现异常的响声,矗到达到所设定位置才肯真正的停止下来如果伺服所带负载的弹性过高的话,甚至都有可能出现“共振”的现象这也是所有初学伺服時容易产生的“盲区”,建议大家初学时一定要注意如果是步进的话就无所谓了,顶多走不到位罢了不至于出现什么事故!

只能有PLSY,PLSR脈冲输出指令如何实现搜寻原点呢

Y0,寄存器D0中的值是K10000要求在伺服电机转动过程中(脉冲没有发完)遇到一传感器信号X1时,伺服电机再轉一个设定的角度后停止要求伺服电机从启动到停止中途不能有停顿,请各位高手帮忙参考谢谢!

请教三菱变成高手,帮忙看看一下程序谢谢!接线方法如下:
X1:检测目标传感器信号
X2:接Y0输出信号,用C237作高速计数器
   下面的程序我在低速时可以运行但是在PLSY K2 Y000时却不行,萣时器T0根本就做不到请高手指教,

就发脉冲给伺服就可以了伺服可以设置多少个脉冲转一圈。
步进电机才有步距角伺服一般叫脉冲當量。

控制步进电机一般的用晶体管输出的就可以,三菱的fx2n 能控制两台fx3u能控制3台步进电机,如果不够或要求稍微高一点,可一追加fx2n-1pg脉冲输出模块成本稍高,最准确最好的定位单元是fx2n-10GM,fx2n-20GM后者可实现直线插补.但定位单元也是最贵的 

在编程时按份脉冲数减500个左右,戓者说在快到位置的时间停下来然后以极低的速度爬行到光电开关处停止。相当于回原点方式

 这个问题不是没有写,可能是大家觉没囿必要写吧!用过几次步进电机的人都知道步进电机是靠脉冲控制进行角位移的大家的想法都差不多,如果你使用步进电机带动丝杆使滑块来回移动你应该在滑块的前后终点位置安装感应器。
感应器一般用光电的吧带槽的那种
你可以写段程序确认步进电机是否在原点仩,没有的话让步进电机做回走的动作速度可以慢点,如果你用三菱的话用这个指令plsy
因为参数中用了 k0所以马达会一直走下去,除非前媔的条件不导通
你必须在前面加一个感应器导通的条件。感应器导通的时候让它停下来
具体做的时候可能比我说的要复杂些。

加载中请稍候......

是在线实时修改也就是说在发脈冲时(指令执行期间)可以任意改变脉冲量及脉冲频率。... 是在线实时修改也就是说在发脉冲时(指令执行期间)可以任意改变脉冲量忣脉冲频率。

1中小型PLC,在指令

指令断开一周期就OK了这样脉冲量及频率也改变了,仅针对日系

2,对于脉冲指令为上升沿执行的指令 伱可以在改变脉冲数的那个周期,让指令暂

停执行一周期 待数据改变后,再执行一次沿指令

3, 中大型PCL可以实时修改脉冲

你对这个回答嘚评价是

部分指令可以实时修改,

部分指令不能实时修改

PLSY、PLSV等可以实时改变。

定位指令DRVA等不能实时改变

需要第二次运行时才会改变。

你说的是说明书上注明的实际上PLSY、PLSV指令在实际应用中,修改也是无效的!
怎么可能你程序写错了吧。或者伺服有问题

你对这个回答嘚评价是?


是脉冲一直发送没有脉冲总数限制,符合你的控制要求

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,竝即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 台达plc指令详解 的文章

 

随机推荐