请教一个TRIO程序的问题 点击:4148 | 回复:46



ShowFine

    
  • 精华:1帖
  • 求助:1帖
  • 帖子:57帖 | 753回
  • 年度积分:0
  • 历史总积分:1671
  • 注册:2003年10月29日
发表于:2007-05-23 10:09:00
楼主
建立了两个程序,名称分别为:MAIN、JRJ_CAMBOX。    目的是想在MAIN程序里将JRJ_CAMBOX做为任务运行。  在MAIN程序内写如下程序:
loop:
IF IN(0) THEN   'e_stop
RUN "JRJ_CAMBOX",13
ELSE
STOP "JRJ_CAMBOX"
ENDIF
GOTO loop
运行MAIN程序,再模拟,将IN(0)设置为ON, 结果就提示什么MAIN运行进程号14错误,然后MAIN就不执行了,但是JRJ_CAMBOX倒是在执行了。 为什么?
是我程序有问题,还是仿真器的问题? 因为我发现这个仿真器不完善,而且我又是自学TRIO这个东西,没有实际的硬件模拟, 很头疼。  哎,为什么这个仿真器就不能完善点呢, 不然象我们这种初学者都不知道到底是程序问题还是仿真器的问题,郁闷



楼主最近还看过



xzy568

  • 精华:1帖
  • 求助:0帖
  • 帖子:22帖 | 480回
  • 年度积分:0
  • 历史总积分:991
  • 注册:2002年9月08日
发表于:2007-05-27 12:33:00
21楼
看来Trio和用户都意识到手册编写有不足之处,手册编写质量直接影响用户使用和体验,好了可以增加卖点,不好足以影响销售。Trio还是应该加油啊!

TRIO还好拉,起码有中文手册,MKS,OMRON的FQM1都没有中文手册,还是他们比较牛不怕产品卖不出去,安川的MP2300感觉不适合电子凸轮控制

波恩

  • 精华:10帖
  • 求助:0帖
  • 帖子:203帖 | 11028回
  • 年度积分:0
  • 历史总积分:36300
  • 注册:2003年6月12日
发表于:2007-05-27 17:26:00
22楼
如果手册仅指“中文手册”的话,那就要看厂家对中国市场的重视程度了。单一客户可以据此做出选择,但很难直接影响厂家的策略。

执行机构.

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 537回
  • 年度积分:0
  • 历史总积分:1576
  • 注册:2003年9月17日
发表于:2007-05-27 18:13:00
23楼
ShowFine: 
ADD_DAC(2) AXIS(1)  ' Combine axis(2) DAC with axis(1) 
ADDAX(1) AXIS(2)  ' Superimpose axis 2 profile on axis 1 
以以上程序为例,ADD_DAC(2) AXIS(1)是指把AXIS(1)的DAC(数模转换输出)叠加到AXIS(2)上.后一句话相当于AXIS(2)坐在AXIS(1)上.这是全闭环控制的一种用法.(此时AXIS(2)有负载终端的编码器输入,AXIS(1)有电机上自带的编码器反馈信号).
最近TRIO又把MC206X上的编码器输入轴AXIS(4)与任意的四个模拟量输出轴DAC0,DAC1,DAC2,DAC3构成闭环控制.这样MC206X加上子板可控制6.5轴(脉冲和模拟量方式结合).这里关于ADD_DAC的用法如下:
ADD_DAC(4) AXIS(0)
ATYPE AXIS(4)=2
DAC_SCALE AXIS(4)=-16
SERVO AXIS(4)=1
实际上对于使用运动控制的高端应用,参加培训是最有效的学习方式.TRIO在上海和北京都经常提供免费的技术培训.有时TRIO技术人员也会去深圳,广州等,希望到时有机会见到ShowFine.也欢迎您来北京或上海.
我们会努力做好中文手册,使大家用起来更方便.感谢大家关注TRIO产品.
至于张力控制,如果你的反馈信号是张力(模拟量),可以利用TRIO现成的PID结构来实现张力闭环控制.模拟量输入也可作为液压缸的位置反馈对液压伺服进行闭环控制.

执行机构.

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 537回
  • 年度积分:0
  • 历史总积分:1576
  • 注册:2003年9月17日
发表于:2007-05-27 18:17:00
24楼
 xzy568: 波恩
感谢二位的指正,我们会努力使中文手册准确实用,为广大客户服务!

ShowFine

  • 精华:1帖
  • 求助:1帖
  • 帖子:57帖 | 753回
  • 年度积分:0
  • 历史总积分:1671
  • 注册:2003年10月29日
发表于:2007-05-29 21:41:00
25楼
谢谢 TRIO技术支持 !
如果TRIO在深圳有免费技术培训的话,麻烦您能通知一下我,邮箱: kimsoul@126.com    另,我六月会去北京的,本来6.7号要去开个会的,但是由于27号有个展会要参加,设备还没调试,所以只能等到27号去北京了. 不知道是否有机会请教一下问题,呵呵

自控小生

  • 精华:0帖
  • 求助:0帖
  • 帖子:54帖 | 204回
  • 年度积分:0
  • 历史总积分:349
  • 注册:2005年11月29日
发表于:2007-08-12 08:11:00
26楼
 请教TRIO技术支持
以上程序
     if mtype=idle then
为什么在编译时出错?

ylei

  • 精华:0帖
  • 求助:0帖
  • 帖子:43帖 | 229回
  • 年度积分:1
  • 历史总积分:384
  • 注册:2004年1月16日
发表于:2007-08-12 23:36:00
27楼
现在我也对TRIO很感兴趣,请问技术支持,哪里有它的手册、软件和仿真器

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2007-08-13 09:37:00
28楼
直接上TRIO的网站即可免费下载

ylei

  • 精华:0帖
  • 求助:0帖
  • 帖子:43帖 | 229回
  • 年度积分:1
  • 历史总积分:384
  • 注册:2004年1月16日
发表于:2007-08-13 20:40:00
29楼
好的,谢谢

caodelei

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 21回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2007年7月18日
发表于:2007-08-14 15:03:00
30楼
to 自控小生
    if mtype=idle then在编译的时候确实通不过,那是因为Idle在trio basic逻辑中不是常量,不能用于比较,只在wait Idle中用到,Mtype中存储的是代表各种运动状态的值具体描述如下:
0 Idle (No move)
1 MOVE
2 MOVEABS
3 MHELICAL
4 MOVECIRC
5 MOVEMODIFY
10 FORWARD
11 REVERSE
12 DATUMING
13 CAM
14 Forward Jog
15 Reverse Jog
20 CAMBOX
21 CONNECT
22 MOVELINK

caodelei

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 21回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2007年7月18日
发表于:2007-08-14 15:06:00
31楼
也就是说把
if mtype=idle then
中的idle改为0就可以了
所表达的意思就是判断当前是否本轴是否有动作

自控小生

  • 精华:0帖
  • 求助:0帖
  • 帖子:54帖 | 204回
  • 年度积分:0
  • 历史总积分:349
  • 注册:2005年11月29日
发表于:2007-08-14 17:27:00
32楼
知道了,就是判断运动数,谢谢指教!!!!

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2007-08-14 17:38:00
33楼
To 曹德雷 and 自控小生:
"if mtype=idle then
为什么在编译时出错?"
答:这句话语法没有错误,上面的例子程序编译一切正常。
“[u][i]if mtype=idle then在编译的时候确实通不过,那是因为Idle在trio basic逻辑中不是常量,不能用于比较,只在wait Idle中用到[/i][/u]”
答:上述理解有误,IDLE就是一个常量,可以用来进行比较操作。Wait Idle是指让用户程序等待对应轴当前运动指令缓存为空的操作。

姜滨

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 68回
  • 年度积分:0
  • 历史总积分:383
  • 注册:2006年10月31日
发表于:2007-08-15 09:07:00
34楼
to trio技术支持:您好。请问trio什么时间在上海跟沈阳有免费的技术培训啊,能把trio免费的技术培训的时间表发给我么啊,我的邮箱jiangbin9@126.com。非常感谢!!

TRIO技术支持.

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 412回
  • 年度积分:0
  • 历史总积分:876
  • 注册:2004年2月03日
发表于:2007-08-15 11:12:00
35楼
随时欢迎你到我们上海代表处接受免费培训.主要看你方便.到沈阳的机会倒是不多.

swift1972

  • 精华:2帖
  • 求助:0帖
  • 帖子:7帖 | 97回
  • 年度积分:0
  • 历史总积分:133
  • 注册:2007年7月09日
发表于:2007-08-15 13:24:00
36楼
我们公司也正在准备用Trio的运动控制产品,前期的技术咨询中感觉Trio上海代表处的技术工程师对产品及相关技术是很熟悉的,为客户解答问题也很耐心,故在此特意支持一下,希望Trio一路走好!

free bird

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2007年9月29日
发表于:2007-09-29 16:58:00
37楼
请教trio技术支持,使用COMBOX做飞剪控制,在连续送料过程中,是否可以根据送料速度、剪切板材的长度,在线修改Table值,即改变电子凸轮的形状。如果可以,要注意什么?多谢啦....

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2007-09-29 17:58:00
38楼
决多数情况下,用CAMBOX指令时,其对应的Table数据值是不需要改变的,如在飞剪系统中,你所提的送料速度根本就不会影响cambox运动的执行,请切记:[color=#FF0000]cambox指令是建立两轴位置之间的连接关系,和主轴运行速度无关[/color]。另外,剪切长度的改变也不需要改变Table数据表值,你只需要改变cambox指令中的连接距离参数即可。如果一定要改,则要确定在每一次cambox指令执行前进行修改。下面的程序是关于飞剪的一个例子程序,希望对你有所帮助。

Trio技术支持

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 150回
  • 年度积分:0
  • 历史总积分:201
  • 注册:2004年7月28日
发表于:2007-09-29 17:58:00
39楼
' Rotating Cutter Example:

' sector in sync:       sis       (degrees)
' pulses/rotor turn:    prt       (encoder edges) - integer
' rotor diameter:       dia       (mm)
' cut length:           length    (mm)- input via VR(1) dynamically
' edges/mm on conveyor  epmm      (edges) - may be fractional

   sis = 90
   prt = 4000
   dia = 75

   epmm = 16.98

   cutter_axis=0
   conv=1
   BASE(cutter_axis)

   ' calculate shortest length where stopping will just occur (mm):

   stop_length = dia * PI * (720 - sis) / 360
   PRINT "stop_length:";stop_length

   ' build a profile based on "stop length"
   ' used for this length and larger, also stop/start of "continuous" case

   tablestart=1000
   link_mm = stop_length
   GOSUB build_profile

   ' In this example use a FORWARD move on conveyor axis:
   IF MTYPE AXIS(conv)=0 THEN FORWARD AXIS(conv)
   standstill=0

   REPEAT

      ' Check if length has changed:
      IF VR(1)<>length THEN

         length=VR(1)
         ' build a profile for non-stopping case if required:
         IF VR(1)<stop_length THEN
            PRINT "calculating continuous curve:"
            tablestart=2000
            link_mm = length
            GOSUB build_profile
         ENDIF

      ENDIF

      IF IN(7)=ON THEN ' switch on/off using IN(7)

         IF VR(1)>stop_length THEN

            ' Stopping case:
            CAMBOX(1050,1100,1,stop_length*epmm/2,conv)
            CAMBOX(1000,1050,1,stop_length*epmm/2,conv)
            MOVELINK(0,(VR(1)-stop_length)*epmm,0,0,conv)

         ELSE

            IF nonstop=FALSE THEN
               ' accelerate from standstill:
               TRIGGER
               CAMBOX(1050,1100,1,stop_length*epmm/2,conv)
            ENDIF

            ' Non-stopping case:
            CAMBOX(2000,2100,1,VR(1)*epmm,conv)
            nonstop=TRUE

            IF standstill=1 THEN
               ' decelerate to standstill:
               CAMBOX(1000,1050,1,stop_length*epmm/2,conv)
               nonstop=FALSE
               TRIGGER
            ENDIF

         ENDIF

      ENDIF

   UNTIL FALSE

build_profile:

   ratio = (prt/(dia*PI*epmm))
   link_dist = link_mm * epmm * ratio
   excitelink = link_dist - (sis/360) * prt
   x1 = (link_dist - excitelink)/(2 * link_dist)
   x2 = 1.0 - x1
   excitedist = prt - link_dist

   points = 101
   start_y = 0
   a = excitedist / (x2 - x1)
   c = -excitedist * x1 / (x2 - x1)

' create the table points

   FOR i = 0 TO 100
      x = i / 100
      IF x < x1 THEN
         TABLE(tablestart + i,start_y + x * link_dist)
      ELSE
         IF x < x2 THEN
            alpha = (x - x1) / (x2 - x1)
            y = (x - (x2 - x1) * SIN(2 * PI * alpha) / 2 / PI) * a + c
            TABLE(tablestart + i,INT(0.5+start_y + y + x * link_dist))
         ELSE
            TABLE(tablestart + i,INT(0.5+start_y + excitedist + x * link_dist))
         ENDIF
      ENDIF
   NEXT i

   RETURN

yingtiao

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2008年4月21日
发表于:2008-04-21 15:00:35
40楼

不错  希望加为好友


热门招聘
相关主题

官方公众号

智造工程师