多电机运动控制程序 点击:1161 | 回复:7



flymk434343

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 10回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2016年3月10日
发表于:2016-05-06 09:38:43
楼主

    我们有8台电机,现在想编写一个运动程序。控制全程要求有两个电机始终匀速运动,另外6台电机同时分别做不同的工作,但是我们编写运动程序的时候发现一行程序只能单独执行,而且无法分别工作。我们试过用逻辑语句也不行。

    请问有哪位高人知道我们该如何编程吗。




flymk434343

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 10回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2016年3月10日
发表于:2016-05-06 09:39:40
1楼

各位路过的都可以发表一下看大,虚心求教。多谢多谢

示教功能

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 412回
  • 年度积分:0
  • 历史总积分:876
  • 注册:2004年2月03日
发表于:2016-05-06 10:25:40
2楼

抛砖引玉吧。

可以叫这8轴都跟踪虚拟轴(时间轴),这个时间轴就是一个匀速运动。以TRIO产品为例

简单程序如下:

这里假设轴0和轴1做简单匀速运动,它们直接和虚拟轴9连接,轴2至7分别随时间轴做周期性重复运动,每个轴都以自身运动与时间关联起来,建立各自独立的运动轨迹。

CONNECT(1,9) AXIS(0)

CONNECT(1,9) AXIS(1)

CAMBOX(....9) AXIS(2)

CAMBOX(....9) AXIS(3)

CAMBOX(....9) AXIS(4)

CAMBOX(....9) AXIS(5)

CAMBOX(....9) AXIS(6)

CAMBOX(....9) AXIS(7)

FORWARD AXSI(9) 这条指令执行,其余8个轴就分别做自己该做的事了。




flymk434343

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 10回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2016年3月10日
发表于:2016-05-06 13:16:06
3楼


回复内容:

对: 示教功能 抛砖引玉吧。可以叫这8轴都跟踪虚拟轴(时间轴),这个时... 内容的回复!

你好,很高兴看到你的回复,我很感兴趣,但是还有点没听明白,这个程序怎么实现。就比如具体的速度,加速度,运行距离等参数如何设置。请原谅我研究不是很深入

示教功能

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 412回
  • 年度积分:0
  • 历史总积分:876
  • 注册:2004年2月03日
发表于:2016-05-06 15:53:31
4楼

电子凸轮包含了速度加速度(通过与主轴距离关联运动)。因为用虚拟轴表示时间,实际上电子凸轮就相当于在固定时间建立了一个运动轨迹的函数关系。主轴匀速,所以距离和时间成正比S=V*T。

在这之前你要定义好单位,也就是电机转一圈对应多少个脉冲,毫米,角度等等。

例如

UNITS=10000 (2500线的伺服,四倍频用4*2500=10000个计数表示)

SPEED=1 (1转/秒)

ACCEL=10转/秒^2

DECEL=ACCEL


 各轴单位要统一或关联起来。有兴趣,我可以发给你免费的仿真软件,你可以尝试一下。

jilingr888

  • 精华:0帖
  • 求助:2帖
  • 帖子:5帖 | 161回
  • 年度积分:62
  • 历史总积分:1383
  • 注册:2012年7月19日
发表于:2016-05-06 16:08:51
5楼

挺深奥的,顶一下!天气热了要注意别着急上火哟!

flymk434343

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 10回
  • 年度积分:0
  • 历史总积分:36
  • 注册:2016年3月10日
发表于:2016-05-06 19:55:50
6楼


回复内容:

对: 示教功能 电子凸轮包含了速度加速度(通过与主轴距离关联运动)。因... 内容的回复!

我们的机构是应做好了的,现在就是想做一个测试的运动程序。脉冲已经设定好。举个例子:

假设4个电机,转一圈的脉冲设置为10000.现在要求1和2电机从头运动到结束,同时3,4电机先同时和12电机转1圈,然后停止,等12电机快到终点的时候34电机再反转一圈,如何实现。

示教功能

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 412回
  • 年度积分:0
  • 历史总积分:876
  • 注册:2004年2月03日
发表于:2016-05-06 21:14:15
7楼

for i=1 to 5

base(i)

units=10000

speed=10

accel=100

decel=100

next i

这样定义了5个轴单位一致。

connect(1,5) axis(1)

connect(1,5) axis(2)

movelink(1,1,0,0,5) axis(3)

movelink(1,1,0,0,5) axis(4)

move(1000) axis(5)

wait until remain axis(5)<=1

movelink(-1,1,0,0,5) axis(3)

movelink(-1,1,0,0,5) axis(4)

这里假设轴5是虚拟轴。轴1和2要转1000圈。




热门招聘
相关主题

官方公众号

智造工程师