关于Motion Perfect 问题 点击:11534 | 回复:69



frank0509

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 5回
  • 年度积分:0
  • 历史总积分:22
  • 注册:2007年5月13日
发表于:2007-05-18 10:56:00
楼主
现在在Motion perfect 里面进行一个PID的编程,要接受反馈信号和向外面发送指令,要设置里面的一个采样周期T,不知道是多少,有谁了解这方面的呀



执行机构.

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 537回
  • 年度积分:0
  • 历史总积分:1576
  • 注册:2003年9月17日
发表于:2007-05-20 12:28:00
21楼
刚在www.triomotion.com下载了MP2.3.2.8发现仿真还真灵了.
把你的程序改了一点我曲线都看到了.程序如下.
BASE(0)
 ATYPE=0
 UNITS=400.0
 SPEED=10.0
ACCEL=1000
DECEL=1000

DEFPOS(0)
VR(0)=0
WHILE IN(7)=OFF
        MOVE(10)
        WAIT IDLE
        OP(10,ON)
        MOVE(-10)
        WAIT IDLE
        OP(10,OFF)
        VR(0)=VR(0)+1
WEND
OP(10,OFF)
还做了电子凸轮如下:
FOR i = 0 TO 360
TABLE(i,4000*SIN(i*PI/180))
NEXT i
SPEED=1
ACCEL=1000
DECEL=1000
REPEAT
CAM(0,360,1,1)
UNTIL FALSE
TABLE,DPOS,MSPEED曲线也都看到了.挺爽,呵呵.

ShowFine

  • 精华:1帖
  • 求助:1帖
  • 帖子:57帖 | 753回
  • 年度积分:0
  • 历史总积分:1671
  • 注册:2003年10月29日
发表于:2007-05-20 17:43:00
22楼
怪了,在家里的电脑上仿真可以,有时在公司电脑上仿真也是可以的...  都是在www.gkzhan.com上下载的软件,版本是2.3.0

ShowFine

  • 精华:1帖
  • 求助:1帖
  • 帖子:57帖 | 753回
  • 年度积分:0
  • 历史总积分:1671
  • 注册:2003年10月29日
发表于:2007-05-20 22:35:00
23楼
刚去TRIO网站下了最新的2.3.2.8版的软件.仿真了一些,觉得有的时候也会出现一些不对劲的情形,感觉仿真还是不完善.  另外,好象这个版本的软件编译时不再检测FOR后面是否有NEXT了! 比如
FOR i=0 TO 8
OP(i+8,OFF)
FOR i=0 TO 8
OP(i+8,ON)
WA(100)
这样编译也不报错,但是仿真倒是不执行不正确,加上NEXT i就好了.

还有,我发现WA(x)在仿真时是表示x*10ms,而不是单位为1ms 

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2007-05-21 09:31:00
24楼
Trio的仿真环境主要是为给客户提供离线编程用的工具,对于模拟运行因为Windows环境及设置问题,一时难以100%的正确,如果你的工程确实需要运动控制器,建议ShowFine还是购买一套Trio运动控制器,那样就可以真正体会出前面所说的各种功能了。

ShowFine

  • 精华:1帖
  • 求助:1帖
  • 帖子:57帖 | 753回
  • 年度积分:0
  • 历史总积分:1671
  • 注册:2003年10月29日
发表于:2007-05-21 09:53:00
25楼
哎,我倒是想买哟!可是无缘无故的买一个控制器,老板不答应呢 :)
可苦了我们中国这些搞工控的人了... ... 

蓝橡树

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 12回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2004年4月23日
发表于:2007-05-21 16:10:00
26楼
[b]非常感谢您的介绍![/b]
请教一下,程序的个数包含startup在内吗?startup是每个工程必须的吗?

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2007-05-21 16:31:00
27楼
名字为startup的程序与别的程序一样,自然也是算作程序之一,它并不是控制器所必须的,只不过为了编程方便,MotionPerfect将轴参数可以自动存储到这个文件中,你完全可以不用这个功能,自己编写类似的程序,只要将你的轴参数设置正确了就可以。

天津

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 59回
  • 年度积分:0
  • 历史总积分:122
  • 注册:2007年8月01日
发表于:2007-08-01 14:02:00
28楼
感谢各位前辈啊!尤其是trio技术支持。

自控小生

  • 精华:0帖
  • 求助:0帖
  • 帖子:54帖 | 204回
  • 年度积分:0
  • 历史总积分:349
  • 注册:2005年11月29日
发表于:2007-08-01 17:44:00
29楼
请教MotionPerfect编程时,可否编辑的程序文件分开,比如分位主文件,手动操作文件,自动操作文件,在主程序中调用??

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2007-08-02 09:00:00
30楼
TRIO控制器中可以编辑存储多个文件,比如MC206x可以存储14个程序文件,每个程序文件具体做什么事情由客户自己编程定义;运行起来的程序称之为任务(task)或进程(process),在任务中用run和stop指令可以启动或停止其他程序的运行。

自控小生

  • 精华:0帖
  • 求助:0帖
  • 帖子:54帖 | 204回
  • 年度积分:0
  • 历史总积分:349
  • 注册:2005年11月29日
发表于:2007-08-06 09:25:00
31楼
那么是不是只有在一个程序文件中执行调用子程序了。在任务中用run和stop指令可以启动或停止其他程序的运行,是不是自身任务不停止。

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2007-08-06 15:50:00
32楼
程序是否停止运行,完全是开发人员根据面对的工艺对象自己决定的,你需要让它继续运行,它就运行,你需要它停止,它就停止,完全是用户自己编程控制的。建议“自控小生”上Trio网站下载MotionPerfect软件,选择模拟方式运行,自己试着编写点程序就明白了。TRIO控制器给大家提供了一个开发性非常好的一类实现运动控制的平台,现实中基本上所有的运动控制问题,都可以在TRIO控制器上通过编写对应的程序实现。

自控小生

  • 精华:0帖
  • 求助:0帖
  • 帖子:54帖 | 204回
  • 年度积分:0
  • 历史总积分:349
  • 注册:2005年11月29日
发表于:2007-08-06 21:50:00
33楼
TO:trio技术支持
我以前用的是PLC定位模块,因为PLC是循环扫描的,在定位模块中可以编辑不同的任务,在PLC中通过调用不同的任务完成特定的功能。而TRIO是如何确定程序的结构?本人刚刚接触TRIO,对多任务有点疑问?问题可能有点见笑了?望多多指教!!

xzy568

  • 精华:1帖
  • 求助:0帖
  • 帖子:22帖 | 480回
  • 年度积分:0
  • 历史总积分:991
  • 注册:2002年9月08日
发表于:2007-08-07 09:14:00
34楼
手册写得太差了,要是能再完善一下就好了,确实是好东东

TRIO技术支持.

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 412回
  • 年度积分:0
  • 历史总积分:876
  • 注册:2004年2月03日
发表于:2007-08-07 11:36:00
35楼
TRIO是多任务系统.你可拿出其中一个低优先级的任务做死循环(类似于PLC的正常扫描),高优先级留给关键的多轴复杂运动.
以两个程序为例:
下面这个相当于PLC程序.
REPEAT
IF IN(0)=0 THEN
WA(1)
IF IN(0)=1 THEN
RUN "MOTION",7 
ENDIF
ENDIF
IF IN(0)=1 THEN
WA(1)
IF IN(0)=0 THEN
STOP "MOTION"
RAPIDSTOP
RAPIDSTOP
RAPIDSTOP
ENDIF
ENDIF
UNTIL FALSE
下面相当于运动主程序:
MOTION是程序名,内容可如下:

REPEAT
MOVE(100,200,300,400,500,600,700...)

:
:
MOVEABS(...)
MOVELINK(...)
CAM(...)
CAMBOX(...)
UNTIL FALSE
在IN(0)从零到1时,启动运动程序.
在IN(1)从零到0时,停止运动程序.
RAPIDSTOP把没完成的运动指令取消.

我们还在完善手册,不久就会更好的服务大家.

自控小生

  • 精华:0帖
  • 求助:0帖
  • 帖子:54帖 | 204回
  • 年度积分:0
  • 历史总积分:349
  • 注册:2005年11月29日
发表于:2007-08-08 22:12:00
36楼
手册写的的确简单,期待能够早日出来,有了不要忘了给我发一份,谢谢了!hpwangcheng@yahoo.com.cn

自控小生

  • 精华:0帖
  • 求助:0帖
  • 帖子:54帖 | 204回
  • 年度积分:0
  • 历史总积分:349
  • 注册:2005年11月29日
发表于:2007-08-11 08:55:00
37楼
请教
1.TRIO运动控制器,如何实现运动暂停功能,就是在按下按钮后暂停运动,松开后继续运行?
2.在手动移动一段距离后,如何将获取当前位置值赋予变量VR,然后将当前位置设置为零点。

天津

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 59回
  • 年度积分:0
  • 历史总积分:122
  • 注册:2007年8月01日
发表于:2007-08-12 15:17:00
38楼
请问:手册中的units指令看不懂,什么是edges/mm啊?
比如UNITS=1000*4/5有是什么意思啊?请高人指点。

天津

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 59回
  • 年度积分:0
  • 历史总积分:122
  • 注册:2007年8月01日
发表于:2007-08-12 15:38:00
39楼
还有,补充一下,由于本人是新手,希望各位前辈可以给一些关于学习motion perfect的资料,或者是例程。手册我有了,希望得到点别的。我的邮箱是wangchongtju@sina.com,多谢各位前辈了!!!

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2007-08-13 09:19:00
40楼
   请教
1.TRIO运动控制器,如何实现运动暂停功能,就是在按下按钮后暂停运动,松开后继续运行?
答:TRIO控制器在每个轴上都有FEED_hold功能,轴参数fh_in定义暂停输入信号的通道号,信号为常闭结点,当该通道信号为0时,对应轴会自动暂停当前的运动,当信号恢复为1时,继续没有完成的运动。

2.在手动移动一段距离后,如何将获取当前位置值赋予变量VR,然后将当前位置设置为零点。
答: 轴参数MPOS就是当前轴的实时位置值,你可以根据需要将其取出运算,用defpos指令可以随时定义当前点为某个位置值。

热门招聘
相关主题

官方公众号

智造工程师