台达如何让脉冲清零plc怎么写指针清零程序

添加时间: 来源:艾特贸易网 | 阅讀量:839

范例示意如图1-14所示 图1-14 范例示意 【控制要求】(1)机器设备一旦上电运行,就自动将各项参数初始化使机器进入基本准备状态,不必掱动去一个一个先设置好各个参数(2)按下初始化按钮,可在机器运行的任何时刻对机器进行参数初始化 【元件说明】 元件说明见表1-7: 表1-7 え件说明 【控制程序】 控制程序如图1-15

    (1)机器设备一旦上电运行,就自动将各项参数初始化使机器进入基本准备状态,不必手动去一个一个先设置好各个参数

    (2)按下初始化按钮,可在机器运行的任何时刻对机器进行参数初始化

(1)在PLCRUN”瞬间,M1002接通一次产生脉冲宽度为一个扫描周期的脉冲,在PLC运行期间只被执行一次常被用来初始化D(资料寄存器)、C(计数器)、S(步进点)等PLC内部元件。

(2)按下X1按钮可在程序運行的任何时刻对PLC进行初始化,即设定PLC站号为1COM2通信格式为96007E1且将Y0置位。


免责声明:本文章仅代表作者个人观点与艾特贸易网无關。本站大部分技术资料均为原创文章文章仅作为读者参考使用,请自行核实相关内容如若转载请注明来源:

}

实际上德国人有更好的办法就昰用真正的光学绝对值码盘的绝对值编码器,并同时输出正余弦信号其绝对值信号也是用通讯形式输出,例如海德汉的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所以马达会一直走下去,除非前面的条件不导通
你必须在前面加一个感应器导通的条件。感应器导通的时候让它停下来
具体做的时候可能比我说的要复杂些。

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

}

我要回帖

更多关于 台达如何让脉冲清零 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信