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

limiju
级别: 家园常客
精华主题: 0
发帖数量: 150 个
工控威望: 536 点
下载积分: 1073 分
在线时间: 185(小时)
注册时间: 2008-09-01
最后登录: 2019-02-20
查看limiju的 主题 / 回贴
1楼  发表于: 2008-12-15 19:43
我现有PLC一台,步进电机及驱动器(可半步细分),文本显示器,我能实现上述程序吗,可是如何给D202赋值让我束手无策,如果有个旋转编码器我会想法试试,没有编码器我能实现吗,请各位大哥给新手答疑,谢谢