qiyun0528
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看qiyun0528的 主题 / 回贴
楼主  发表于: 2011-04-18 20:24
是这样的,假设一台设备,现在位置是10米,我设置它为15米,也就是还要升高5米,如果现在高度是19米,也就是还要降低4米,是正反转的那种,有5根线,电源与ABC三相,但我们只用AB两相,就是假如高度增加数值越小就把AB换个相,编码器是每转一圈发出600个脉冲,螺距为7公分,也就是转一圈升高或降低7公分,我的程序是先计算出脉冲总的有多少个  
LD  X1 0UT C251 ( X1接编码器A相)
LD M8012  MOVP C2  D20 (把编码器收到的脉冲放到D20中)
MOVP K7 D21
MOVP K600 D22
MULP  D21 D20 D24
DIVP  D24 D22 D25
(升高或者降低的高度等于螺距*总脉冲数/每一圈的脉冲数
不知道这个程序是否正确,还有怎么知道是正转或者反转,假如正转是计A相的脉冲,把反转是不是就计B相的脉冲,编码器的A接X1 B接X2

希望大家有知道的可以写一段程序过来,小女子再次感谢大家了
lfpcxc
级别: 略有小成
精华主题: 0
发帖数量: 170 个
工控威望: 263 点
下载积分: 839 分
在线时间: 98(小时)
注册时间: 2008-10-03
最后登录: 2024-12-01
查看lfpcxc的 主题 / 回贴
1楼  发表于: 2011-04-19 21:42
向你这种以位置作为控制的系统,最好使用绝对值编码器,增量编码器不是很适合,首先要计算出脉冲当量,也就是1圈600个脉冲走7mm(7/600),然后建立数学模型,比如走5米需要多少个脉冲,计算出总的脉冲数,根据总脉冲数计算出高速的脉冲数、低速的脉冲数和停车时的脉冲数,可以用比较指令做,一定要有速度变化,否则停的位置不准。