云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 机器人的系统设计

机器人的系统设计

  • 62 次阅读
  • 3 次下载
  • 2025/5/2 10:23:22

If g_brunningIO Then nIO = 0

Call ReadAxisPostions For nIO = 0 To 2 Call readIO

If Val(Text(nIO + 1).Text) > 50 Then MsgBox (\数据过大\ Else

bok = TrioPCI.Op(12 + 2 * nIO, 1#)

bok = TrioPCI.MoveAbs(3, Val(Text(nIO + 1).Text), nIO) Call ReadAxisPostions

bok = TrioPCI.Op(11 + 2 * nIO, 0#) nIO = nIO + 1 End If Next nIO

g_brunningIO = False Call UpdateButtonStates End If End Sub

Private Sub readIO() Dim IIO As Long Dim nBit As Integer Dim nMBR As Integer Dim IBit As Integer Dim Inpt As Long

If TrioPCI.IsOpen(gk_ndefaultMode) Then If TrioPCI.In(8, 17, IIO) Then For nBit = 7 To 16 If IIO <> 0 Then

Label(nBit).Caption = \

Label(nBit).ForeColor = vbBlue Else

Label(nBit).Caption = \ Label(nBit).ForeColor = vbRed End If

Label(nBit).Refresh Next nBit Else

nMBR = MsgBox(\ End If

If TrioPCI.In(0, 2, Inpt) Then For IBit = 33 To 35 If Inpt <> 0 Then

Label(IBit).Caption = \

13

Label(nBit).ForeColor = vbBlue Else

Label(nBit).Caption = \ Label(nBit).ForeColor = vbRed End If

Label(IBit).Refresh Next nBit Else

nMBR = MsgBox(\ End If Else

nMBR = MsgBox(\ End If End Sub

2.2.5 运动控制程序运行过程的简介:

当程序运行时,自动进入窗体一(Form1)点击进入按扭通过调用窗体显示程序进入窗体二(Form2)。进入后首先应该通过控件打开VB与Motion Perfect 软件的连接,这个可通过界面的打开按扭运用OPEN命令即可打开与软件的连接,并通过调用子程序UpdateButtonStates更新其状态。打开了软件连接后,机器人各轴的位置应该回到初始状态,这个功能的实现了是通过复位程序来实现的。当点击复位按扭时就运行复位程序复位,在程序运行之前还要通过子程序InitAxes()进行各轴的参数进行设置,而设置参数是通过连接命令SetVariable来分别进行设置的。设置完后而复位过程就通过循环来复位,即当各轴进行复位时分别通过控件连接的命令OP输出电动机的反转电信号,这时在软件中相应的输出角状态变为ON。在各轴的复位运行过程中通过子程序readIO分别循环检测各轴的原点开关输入信号的状态是否为ON并显示各输入输出的状态,而该状态的读取是通过控件连接命令IN输入的。如果为该状态就退出循环通过OP命令来输出OFF来关断反转电信号即该轴就回到了原点,随后再通过子程序ReadAxisPostions显示编码器反馈回的各轴的位置,该数据的读取是读取轴参数DPOS的值并通过连接命令GetVariable进行获取到变量postions通过赋值显示并把该位置做为一个相对原点坐标这样整个复位程序运行完成了。各轴复位完成以后,我们要进行运动数据的输入,即该轴要运动的距离。由于各轴运动的距离有限,所以在每次运行时都要进行文本框距离数据的判断,假如距离值超过了设定值即要显示一个对话框显示数据过大。如果数据在正常的范围之内,就通过控件OP命令分别输出各电动机的正转运动信号,并通过控件连接命令MoveAbs相对与反馈位置点运动一断相对距离,运动完成后再通过ReadAxisPostions子程序进行位置显示和readIO子程序进行输出状态显示,同样通过GetVariable命令来获取反馈值之后再通过OP输出OFF关闭各轴的运动电信号,这些运动的实现是在子程序proccessStateRun()完成的。当点击运动按扭时就调用该子程序实现整个运动的过程。这样各轴的运动距离通过循环运行子程序就到了预定的运动位置。最后在运动过程完成以后就要通过控件连接命令Close关闭与软件的连接,并调用子程序UpdateButtonStates刷新按扭的状态,通过点击退出按扭便退出操作就这样整个程序的循环与检测再运行过程就结束了。

14

第三章 TRIO BASIC

指令系统编程

3.1运动及轴命令说明或编程

ACC

类型: 轴指令

语法: ACC(acc率) 注意: 这个指令用来和旧的Trio控制器兼容。加速度率和减速度率可用ACCEL 和DECEL轴参数设定。

说明:同时设定加速度率和减速度率 AXIS

类型: 修改指令

语法: AXIS(轴数)

说明: AXIS修改设置单轴运动指令或单轴参数读写。AXIS参数在命令行或程序行特别有效。使用BASE指令改变基本轴。

注意:AXIS指令可用于修改以下指令的轴参数:ADDAX,CAM,CAMBOX,CANCEL,CONNECT,DATUM,DEFPOS,FORWARD,MOVEABS,MOVECIRC,MOVELINK,MOVE,MOVEMODIFY,REVERSE,REGIST,WAIT IDLE,WAIT LOADED。 BASE

类型: 运动控制指令

语法: BASE(轴1,轴2,轴3) BASE

说明: BASE指令用于导向下一个运动指令轴的参数读/写入特定轴或轴组,设置的缺省值

依次为:0,1,2…

每一个过程有其自己的BASE基本轴组,每个程序能单独赋值。

Trio Basic 程序与控制轴运动的运动发生器分开。每个轴的运动发生器有

其独立的

功能,,因此每个轴能以自己的速度、加速度等进行编程,单独运动,或

者通过插补

或链接运动链接在一起。

AXIS命令只要应用正在进行的单命令可以重新导向不同的轴。而BASE

指令除非规定轴号,否则导向接下来的所有指令。 CANCEL

类型: 运动控制指令

语法: CANCEL/ CANCEL(1) 备选: CA

注意:1.CANCEL只能取消当前执行的运动。如果在缓存中还有运动,它会继续被加载。

2.在当前运动的减速过程中,另外的CANCELS会被忽略。

15

3.CANCEL(1)只取消当前缓存中的运动。存储在任务缓存中的运动由PMOVE参数定义,可以被加载到缓存一旦缓存运动被取消。 DATUM

DATUM 原点搜寻 类型: 运动控制指令

语法: DATUM(sequence)

说明: DATUM指令执行6种方法中的一种搜寻原点位置,其为绝对位置同时可以重置跟随误差。伺服驱动器机构原点搜寻用于轴0。轴1用于MC控制单元机构。

DATUM使用CREEP速度和目标速度用于原点搜寻。伺服驱动器用于轴0。爬行速度用CREEP参数设定。目标速度用SPEED参数设定。原点搜寻输入数由DATUM_IN参数决定,用于3或7中。

DATUM(0)用于轴出错时重新启动系统,位置不变。。 参数: sequence 0 DATUM(0)指令清除跟随误差。将当前位置设定为目标位置同时AXISSTATUS状态会被清除。注如果产生错误的问题仍然存在,误差不能被清除。

1 轴以爬行速度(CREEP)正向运行直到发现Z信号。目标位置重置为0同时纠正测量位置,维持跟随误差。

2 轴以爬行速度(CREEP)反向运行直到发现Z信号。目标位置重置为0同时纠正测量位置,维持跟随误差。

3 轴以目标速度(SPEED)正向运行,直到碰到原点开关。随后轴以爬行速度正向运动直到原点开关复位。 目标位置重置为0同时纠正测量位置,维持跟随误差。

4 轴以目标速度(SPEED)反向运行,直到碰到原点开关。随后轴以爬行速度正向运动直到原点开关复位。 目标位置重置为0同时纠正测量位置,维持跟随误差。

5 轴以目标速度(SPEED)正向运行,直到碰到原点开关。随后轴以爬行速度正向运动直到碰到Z信号。 目标位置重置为0同时纠正测量位置,维持跟随误差。 6 轴以目标速度(SPEED)反向运行,直到碰到原点开关。随后轴以爬行速度正向运动直到碰到Z信号。 目标位置重置为0同时纠正测量位置,维持跟随误差。 注意: 原点输入低电平有效。当输入OFF时设置原点开关。feedhold,reverse jog,forward jog,forward,reverse limit inputs均是低电平有效。低电平输入用于使能自动防护接线。 MOVE

类型: 运动控制指令

语法: MOVE (dist_1[,dist_2[,dist_3]]) 备选: MO (dist_1[,dist_2[,dist_3]])

说明: MOVE指令使一轴或多轴在目标速度,加速度和减速度下以增量的方式运动到特定位置。在多轴运动中, 速度,加速度,减速度是基于基本轴的插补运动。

特定长度的比例由转换因子UNITS参数设定。例如,一轴编码器是

4000edges/mm,于是轴的单元数设为4000,MOVE(12.5)将会移动12.5毫米。 MOVE工作在缺省轴,除非AXIS定义临时基本轴。参数dist_1定义为缺省轴,dist_2作为另一个轴等等。通过改变轴在独立运动,非插补,非同步可以获得多

16

搜索更多关于: 机器人的系统设计 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

If g_brunningIO Then nIO = 0 Call ReadAxisPostions For nIO = 0 To 2 Call readIO If Val(Text(nIO + 1).Text) > 50 Then MsgBox (\数据过大\ Else bok = TrioPCI.Op(12 + 2 * nIO, 1#) bok = TrioPCI.MoveAbs(3, Val(Text(nIO + 1).Text), nIO) Call ReadAxisPostions bok = Trio

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com