以下是家园朋友tianqiji的帖子,请各位大侠回答小弟的一个疑问,对各位是很简单的问题,可却缠绕着刚入门的我
工件的实际位置通过什么方式得到? 原贴在: [url]http://www.ymmfa.com/bbs/read-gktid-16251-keyword-%B2%BD%BD%F8.html[/url]
步进电机的步距角为1.8度,驱动器有细分的功能,考虑到精度和速度的问题,我们选用了半步运行的方式。丝杆的螺距为5mm,即步进电机旋转一周,它所拖动的工件移动5个mm,PLC则输出400个脉冲,即每毫米需要输出80个脉冲。5号脚高电平则电机正转,反之亦反。
设计的要求是这样的:在人机界面上输入工件要到的位置(以mm为单位),输入完成后工件自动运行到指定位置停下。如果设定的位置大于实际的位置,则工件正向运转到位,反之亦反。
D200:人机界面输入的工件要求位置
D202:工件的实际位置
D204:实际位置与设定位置之差值
程序如下:
LDD> D200 D202
DSUBP D200 D202 D204 ;将差值送到D204
SET Y2 ;如果设定值大于实际值则正转
LDD<= D200 D202
DSUBP D202 D200 D204 ;将差值送到D204
RST Y2 ;如果设定值小于实际值则反转
LDD<> D200 D202 ;设定值与实际值不等
PLS M0
ANI M0
DPLSY K1000 D206 Y0 ;以1000赫兹的频率输出脉冲所需的脉冲数
LD M0
DMUL D204 K80 D206 ;所需输出的脉冲数
LD M8029
DADDP D202 D204 D202 ;脉冲输出完成后实际位置与设定位置一样
END