请问Trio技术支持。。。 点击:1288 | 回复:9



Roben

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:26帖 | 38回
  • 年度积分:0
  • 历史总积分:80
  • 注册:2007年9月01日
发表于:2008-02-27 17:24:00
楼主
 请问TRIO技术支持:
   DEFPOS(100)这个指令的意思就是把当前位置定义成100?
   OFFPOS指的是什么偏差,手册上没看明白。
谢谢。。。



caodelei

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 21回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2007年7月18日
发表于:2008-02-28 10:38:00
1楼
 DEFPOS(100)的含义就是把当前的位置,包括目标位置、测量位置定义为100
OFFPOS是指在当前位置上加一个偏移量。比如当前位置是100,如果你执行指令OFFPOS=-10那么在这条指令执行完成后,当前位置变为90,OFFPOS参数本身有恢复为0。

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2008-02-28 11:19:00
2楼
DEFPOS指令是个定义指令,其由用户程序给出,目的是将对应轴的mpos位置值重新定义。但系统内核对defpos指令并不是立刻进行处理,系统内核只会在下一个伺服周期(标准为1ms)对其进行响应处理;也就是说当defpos在运用程序执行后,并不代表对应轴当前位置mpos已经被更新为您所需要定义的位置。那么控制器内核是怎么实现的呢,这里我们又提供另一个参数offpos,当defpos指令被运用程序执行的时刻,相应的会自动产生一个offpos值,系统内核在每个伺服周期执行过程中对offpos值进行监测,如果其不为0,则将当前mpos值+offpos值,从而得到新的mpos值,因此在执行defpos指令后,我们可以通过检测offpos值是否为0来判断当前位置是否已被修改完毕。

Roben

  • 精华:0帖
  • 求助:0帖
  • 帖子:26帖 | 38回
  • 年度积分:0
  • 历史总积分:80
  • 注册:2007年9月01日
发表于:2008-02-28 14:56:00
3楼
谢谢两位,我明白了。。。嘿嘿 

chzm01

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 29回
  • 年度积分:0
  • 历史总积分:212
  • 注册:2003年12月27日
发表于:2008-08-19 10:23:22
4楼

请问TRIO技术:对一下两条指令:ADD_DAC(3)AXIS(0)  ADDAX(0) AXIS(3)   MOVE(100)AXIS(0),其中轴3是编码器输入轴,轴0是伺服轴,实验用的是205X的控制器。如果按照说明书的意思,应该是这样的:轴0移动100个UNITS,如果轴3的编码器没有返回相应的脉冲沿,轴0就应该继续移动,但不是如此,而是轴0移动100UNITS后,不管轴3的编码器有无输入轴0都停止移动。请问这是为什么?是不是我那里理解错了?谢谢

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2008-08-19 10:55:24
5楼

你的理解不完整,这里的ADD_DAC指令指的是把另一个轴的伺服算法产生的模拟量输出叠加到当前轴,从而使当前轴的最终模拟量输出为一个叠加量的输出。这里需要注意的是,做为编码器反馈输入的那个轴(在你写的例子中为轴3)需要实现一个闭环控制算法,实现闭环算法的前提有以下几条,一是必须为伺服轴,所以这里轴3的atype要设置为2,二是servo参数设置为1,三是要有对应的给定(这里你的例子中已经用addax指令,当然也可以用connect指令)。因此请注意此时对编码器轴的设定是否符合上述条件,另外需要注意的是,两个轴的units要保持一致,否则系统无法实现稳定调节。

changchengjiao

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2009年6月14日
发表于:2009-06-14 16:21:41
6楼
您好TRIO支持您好:我是TRIO新手,请问如何在没上电的情况下编写程序呢

mafiajay

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 77回
  • 年度积分:0
  • 历史总积分:483
  • 注册:2010年8月13日
发表于:2010-09-07 09:39:48
7楼

回复内容:
对:changchengjiao 关于您好TRIO支持您好:我是TRIO新手,请问如何在没上电的情况下编写程序呢 内容的回复:

1。使用记事本方式打开所要编写程序进行编写~~

2。连接方式选择仿真~~




z3210

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2011年4月12日
发表于:2013-08-16 20:45:53
8楼

TRIO支持您好:我是TRIO新手,请问一下使用trio控制伺服电机是怎么控制的。例如1.控制一个轴向前,向后运动;2.运动过程中速度会随速度的变化而变化。在使用MOVE(30)是说明相对位移向前走了30,30的单位是什么?还有向前走30是控制的轴的位移还是实际走的位移。

能量控制

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 537回
  • 年度积分:0
  • 历史总积分:1576
  • 注册:2003年9月17日
发表于:2013-08-18 09:02:43
9楼

向前运动是FORWARD

向后运动是REVERSE

可以通过改变SPEED的值,在运动过程中改变速度

单位是由UNITS定义的,例如闭环控制方式编码器反馈是4倍频,对于1000线的编码器,如果 UNITS=1000*4=4000,MOVE(1) 就是叫电机转一圈。

此时Speed=1,就是1转/秒,accel=10转/秒 ^2..

如果电机每转是走10mm,那你单位写成Units=4000/10=400,Move(1)就是移动1mm。

对于开环控制方式,为了脉冲平滑,采用了16倍频,对于每转2500个脉冲的伺服驱动器,

Units=2500*16=40000,Move(1) 就是转一圈。

 


热门招聘
相关主题

官方公众号

智造工程师