limiju
级别: 家园常客
精华主题: 0
发帖数量: 150 个
工控威望: 536 点
下载积分: 1073 分
在线时间: 185(小时)
注册时间: 2008-09-01
最后登录: 2019-02-20
查看limiju的 主题 / 回贴
楼主  发表于: 2008-12-15 19:37
以下是家园朋友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

zhangshichao
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zhangshichao的 主题 / 回贴
1楼  发表于: 2009-02-14 11:25
agree floor 4th