求教GALIL卡控制安川伺服的定位时间 点击:918 | 回复:10



wzg1234

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 237回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2006年5月29日
发表于:2011-04-25 20:03:51
楼主

去年搞了一设备,当时已经定正确运行了,前几天空突然发生问题,总是报警停机,所以只有重调

报警的原因,伺服电机用位置模式,GALIL卡发出脉冲后,过50MS(WT50)后,判断电机的实际位置与发生的脉冲数

是否一致,如果差超过一定的数,就停机断电,

将程序列如下:#AUTO
DC,,,41580000     设加速度
AC,,,41580000
SP,,,415800           设速度
V1=0
STEP=1                  STEP为+1或者-1  表示向前走,还是向后走,伺服电机带动一丝杠

AI1                            IN【1】为一接近开关信号,开机时,第一个信号,电机不转动
AI-1
#WAIT
AI -1                          等信号变低
PR ,,,step*8370     发脉冲给电机

BGW                          电机转动
WT60                        等待60MS,按上面的加速度,速度值,发8370个脉冲大约需要30MS
if step=1                 测误差

V1=8370-_TPW 

     endif

if step=-1

v1=_tpw

endif

IF @ABS【V1】>50
SB1                            SB1 CB3是断电源,整个设备断电
CB3
ENDIF

STEP=step*-1 换方向
AI 1                                等特信号变高
JP #WAIT
EN

以上为程序,为了方便说明,做了简化,

大体就是发出8370个脉冲,过60MS,看电机的位置是否正确,如果超差,就停机

现在的问题是发出8370个脉冲,60MS,电机不能完成定位,所以就超差,但是最后电机是能到位的

请问这时应调什么,我一直在调安川伺服的PT100,PT101,PT102,但是一直不能及时定位

请各位高手指点一下




刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2011-04-26 09:06:18
1楼

针对程序建议如下:

WT60改为MCW;WT30

另外,对于GALIL来说,STEP 与 step 是两个不同的变量。再确认一下KS是否被调整过。

如果可以,实际测试一下安川完成这个运动过程需要多少时间,至少测试10次,看看最大时间是多少。

wzg1234

  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 237回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2006年5月29日
发表于:2011-04-26 09:59:34
2楼

谢谢刘工,

将WT60,改为MCW,WT30

对我来说是一样的效果,因为设备运转时,给有70MS的时间给伺服电机运行,必须在70MS内完成,否则就要报警停机

STEP是我的笔误

KS的初始值应该是多少?

如何测试安川的完成时间,我需要咨询安川公司

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2011-04-26 10:29:34
3楼
回复内容:
对:wzg1234 关于

谢谢刘工,

将WT60,改为MCW,WT30

对我来说是一样的效果,因为设备运转时,给有70MS的时间给伺服电机运行,必须在70MS内完成,否则就要报警停机

STEP是我的笔误

KS的初始值应该是多少?

如何测试安川的完成时间,我需要咨询安川公司

 

 


 

那么,就单独写个程序实际测试一下,看看实际时间是多少。另外,KS的初始制值对您应该没什么意义,建议直接设置成0.5。KS是用于调整输出脉冲频率平滑的参数。KS值越大,输出脉冲的频率变化越平滑,(在同样的速度、加速度设置下)实际完成脉冲输出的时间也就越长。KS值越小,实际完成脉冲输出的时间越接近理论计算的结果短。对于步进电机系统,适当调整KS的值可以明显改善机械的震动情况。对于您用伺服的情况来说,可能KS直接给最一小值0.5就够了。

#TEST
DCW=41580000
ACW=41580000
SPW=415800 
STEP=1
#WAIT
AI -1 
PAW=8370*STEP
MYTIME=TIME
BGW
MCW
MG TIME-MYTIME
V=0
#LOOP
V1=_TDW-_TPW
IF@ABS[V1]<50
V=V+1
ELSE
V=0
ENDIF
WT
JP#LOOP,V<5
MG TIME-MYTIME
STEP=1-STEP
AI 1 
JP #WAIT
EN 

内容的回复:

wzg1234

  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 237回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2006年5月29日
发表于:2011-04-26 12:12:52
4楼

刘工你好:

我将KS设为0。5以后,MCW用时40

但是我把MCW去了。在BGW后,WT70,电机的实际位置与指令位置还是有差

这应该是安川那面的调谐问题了吧。

另外TP是返回电机的当前位置,TD是返回辅助编码器的位置,你在程序中相减是什么意思

我没有接辅助编码器,为什么还有数返回来?

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2011-04-26 13:09:47
5楼

TP是返回编码器计数结果.

在脉冲输出方式下,TD是返回发送脉冲计数结果

yxxxy

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 52回
  • 年度积分:95
  • 历史总积分:290
  • 注册:2005年8月23日
发表于:2011-04-27 02:48:41
6楼

一年了,应该是机械结构发生变化了吧,间隙什么出来了吧,

为什么要用WT50什么来的,应该只是判断最后是不是定位做再做动作吧

因为你这个是开环,不能保证每次多可以在那么短的时间内完成啊

改下控制模式看看,如果是有模拟模式就改模拟量,或者就步进闭环

wzg1234

  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 237回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2006年5月29日
发表于:2011-04-27 12:13:38
7楼

现在调整了伺服的钢性,通过测式,控制卡发出脉冲没有问题,伺服电机接收到,转动,返回的脉冲数就对,就是脉冲从驱动器到控制卡这里不对了,控制卡接收的脉冲数与驱动返回的脉冲数不一样,

伺服驱动器有两个参数,UN00C,UN00D,00c是驱动器接收到的脉冲,00D是电机编码器返回的脉冲,这都没有问题

为什么控制卡收到的会少一些呢,

控制卡发脉冲给伺服驱动器,驱动器发脉冲给控制卡,用的是一根屏蔽线,为什么控制卡发出没有问题,接收就少几个呢

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:16帖 | 8239回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2011-04-27 16:57:58
8楼
我曾奖有一个用户提出类似的问题,最终发现原因是驱动器上电子齿轮比设置错了.您现在每次少的脉冲数有规律么?

wzg1234

  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 237回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2006年5月29日
发表于:2011-04-27 19:37:35
9楼

驱动器上的电子齿轮比是8:1

 

wzg1234

  • 精华:0帖
  • 求助:0帖
  • 帖子:69帖 | 237回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2006年5月29日
发表于:2011-04-27 19:46:23
10楼
好象少多少并没有什么规律,明天再好好看看,我感觉不应该是干扰

热门招聘
相关主题

官方公众号

智造工程师