工业机器人演示程序

项目名必须为PROJECT, 主程序名必须为MAIN

MAIN status_robot.val := 100 WHILE TRUE DO WAIT start_on.val = 103 CALL inttoreal() WaitIsFinished() IF changetool.val = 0 THEN status_robot.val := 200 CALL pick() CALL put() status_robot.val := 100 ELSIF changetool.val = 1 THEN status_robot.val := 200 CALL tuopan_pick_put() status_robot.val := 100 status_end.val := 101 END_IF END_WHILE

INTTOREAL dx_pick := dx_pick1.val dx_pick := dx_pick / 10 mm

dy_pick := dy_pick1.val dy_pick := dy_pick / 10 dz_pick := dz_pick1.val dz_pick := dz_pick / 10 oz_pick := oz_pick1.val oz_pick := oz_pick / 10 dx_put := dx_put1.val

dx_put := dx_put / 10 dy_put := dy_put1.val dy_put := dy_put / 10 dz_put := dz_put1.val dz_put := dz_put / 10 oz_put := oz_put1.val oz_put := oz_put / 10

主程序 上传机器人当前状态:100=待机 当TRUE 时运行程序(循环) 等待机器人启动信号:103=启动 调用程序inttoreal (整型到实数转换) 等待完成 如果工具号=0,然后 机器人状态:200=运行 调用程序pick (礼物拾取) 调用程序put (礼物装箱) 机器人状态:待机 如果工具号=1 机器人状态:运行 调用程序托盘进栈 机器人状态:待机 程序结束 整数转实数 拾取点X 轴偏移量转为实数 拾取点X 轴偏移量除以10得到实际偏移,单位拾取点Y 轴偏移量转为实数 拾取点Y 轴实际偏移量 拾取点Z 轴偏移量转为实数 拾取点Z 轴实际偏移量 拾取点旋转角度转为实数 拾取点实际旋转角度

放置点X 轴偏移量转为实数

PICK PTP(xipan_tool_pos) Tool(xipan_tool) WaitIsFinished() //Lin(inipoint) Pickpot:= inipoint Pickpot.x := inipoint.x -dx_pick Pickpot.y := inipoint.y -dy_pick -laser_offset Pickpot.z := inipoint.z + dz_pick + 100

WaitIsFinished() Lin(pickpot) WaitIsFinished() pickpot.z := pickpot.z -100 WaitIsFinished() Lin(pickpot, lin300) WaitIsFinished() dout24.Set(TRUE) dout26.Set(TRUE) WaitTime(2000) WaitIsFinished() IF xiqu_status.val = TRUE THEN pickpot.z := pickpot.z + 100 WaitIsFinished() Lin(pickpot) ELSIF xiqu_status.val = FALSE THEN status_robot.val := 300 PAUSE END_IF PUT Tool(xipan_tool) //Lin(put_inipoint) putpot := put_inipoint putpot.x := put_inipoint.x + dx_put putpot.y := put_inipoint.y + dy_put -laser_offset putpot.z := put_inipoint.z + dz_put + 150

WaitIsFinished() Lin(putpot) WaitIsFinished() IF xiqu_status.val = TRUE THEN

礼品拾取 切换到礼物拾取工具位置 切换到礼物拾取工具坐标系 等待完成 拾取坐标偏移基准点(不参与实际动作) 拾取点赋值 拾取点X 轴偏移计算 拾取点Y 轴偏移计算

拾取点Z 轴偏移计算(增加100mm 作为准备点 等待完成 以直线方式运行到拾取准备点 等待完成 减少100mm 到拾取点 等待完成 以300cm/min的速度运行到拾取点 等待完成 真空打开 吸盘1打开 延时2秒 等待完成 如果真空检测为TRUE 上升100mm 作为退出点 等待完成 运动到退出位置 如果真空检测为FALSE 机器人状态:300=吸取错误 暂停

礼物装箱

切换到礼物拾取工具坐标系

放置坐标偏移基准点(不参与实际动作) 放置点赋值

放置点X 轴坐标计算 放置点Y 轴坐标计算

放置点Z 轴坐标计算(增加150mm 作为准备点

等待完成

运动到放置准备点 等待完成

如果真空检测为TRUE

putpot.z := put_ready.z -100 putpot.a := putpot.a + oz_pick WaitIsFinished() Lin(putpot) WaitIsFinished() putpot.z := putpot.z -50 WaitIsFinished() Lin(putpot) WaitIsFinished() dout24.Set(FALSE) dout26.Set(FALSE)

WaitIsFinished()

Putpot.z := putpot.z + 200 WaitIsFinished() Lin(putpot)

WaitIsFinished()

ELSIF xiqu_status.val = FALSE THEN status_robot.val := 400

PAUSE END_IF

tuopan_pick_put PTP(tupan_tool) Tool(tuopan_tool) Lin(pick_ready) Lin(pick_up) WaitIsFinished()

dout24.Set(TRUE) dout25.Set(TRUE)

WaitTime(2000) WaitIsFinished()

IF xiqu_status.val = TRUE THEN Lin(pick_after) Lin(put_up) IF xiqu_status.val = TRUE THEN Lin(put_down) WaitIsFinished()

dout24.Set(FALSE) dout25.Set(FALSE) PTP(tupan_tool) ELSIF xiqu_status.val = FALSE THEN dout24.Set(FALSE) dout25.Set(FALSE)

WaitIsFinished()

高度下降100mm 作为姿态调整点 旋转角度计算 等待完成

运动到姿态调整点 等待完成

高度减少50mm (实际放置点)

运动到放置位置 真空关闭 吸盘1关闭

高度上升200mm 作为退出点 运动到退出点

如果真空检测为FALSE

机器人状态:400=放置错误

托盘进栈

切换到托盘拾取工具位置 切换到托盘拾取工具坐标系 运行到拾取准备位置 运行到拾取位置 真空打开 吸盘2打开

*如果真空检测为TRUE 运动到退出位置 运动到放置准备位置 如果真空检测为TRUE 运动到放置准备位置 真空关闭 吸盘2关闭 回到开始点

如果真空检测为FALSE 真空关闭 吸盘2关闭

status_robot.val := 400 PAUSE END_IF

ELSIF xiqu_status.val = FALSE THEN status_robot.val := 300 PAUSE END_IF

机器人状态:放置错误

*如果真空检测为FALSE 机器人状态:吸取错误

项目名必须为PROJECT, 主程序名必须为MAIN

MAIN status_robot.val := 100 WHILE TRUE DO WAIT start_on.val = 103 CALL inttoreal() WaitIsFinished() IF changetool.val = 0 THEN status_robot.val := 200 CALL pick() CALL put() status_robot.val := 100 ELSIF changetool.val = 1 THEN status_robot.val := 200 CALL tuopan_pick_put() status_robot.val := 100 status_end.val := 101 END_IF END_WHILE

INTTOREAL dx_pick := dx_pick1.val dx_pick := dx_pick / 10 mm

dy_pick := dy_pick1.val dy_pick := dy_pick / 10 dz_pick := dz_pick1.val dz_pick := dz_pick / 10 oz_pick := oz_pick1.val oz_pick := oz_pick / 10 dx_put := dx_put1.val

dx_put := dx_put / 10 dy_put := dy_put1.val dy_put := dy_put / 10 dz_put := dz_put1.val dz_put := dz_put / 10 oz_put := oz_put1.val oz_put := oz_put / 10

主程序 上传机器人当前状态:100=待机 当TRUE 时运行程序(循环) 等待机器人启动信号:103=启动 调用程序inttoreal (整型到实数转换) 等待完成 如果工具号=0,然后 机器人状态:200=运行 调用程序pick (礼物拾取) 调用程序put (礼物装箱) 机器人状态:待机 如果工具号=1 机器人状态:运行 调用程序托盘进栈 机器人状态:待机 程序结束 整数转实数 拾取点X 轴偏移量转为实数 拾取点X 轴偏移量除以10得到实际偏移,单位拾取点Y 轴偏移量转为实数 拾取点Y 轴实际偏移量 拾取点Z 轴偏移量转为实数 拾取点Z 轴实际偏移量 拾取点旋转角度转为实数 拾取点实际旋转角度

放置点X 轴偏移量转为实数

PICK PTP(xipan_tool_pos) Tool(xipan_tool) WaitIsFinished() //Lin(inipoint) Pickpot:= inipoint Pickpot.x := inipoint.x -dx_pick Pickpot.y := inipoint.y -dy_pick -laser_offset Pickpot.z := inipoint.z + dz_pick + 100

WaitIsFinished() Lin(pickpot) WaitIsFinished() pickpot.z := pickpot.z -100 WaitIsFinished() Lin(pickpot, lin300) WaitIsFinished() dout24.Set(TRUE) dout26.Set(TRUE) WaitTime(2000) WaitIsFinished() IF xiqu_status.val = TRUE THEN pickpot.z := pickpot.z + 100 WaitIsFinished() Lin(pickpot) ELSIF xiqu_status.val = FALSE THEN status_robot.val := 300 PAUSE END_IF PUT Tool(xipan_tool) //Lin(put_inipoint) putpot := put_inipoint putpot.x := put_inipoint.x + dx_put putpot.y := put_inipoint.y + dy_put -laser_offset putpot.z := put_inipoint.z + dz_put + 150

WaitIsFinished() Lin(putpot) WaitIsFinished() IF xiqu_status.val = TRUE THEN

礼品拾取 切换到礼物拾取工具位置 切换到礼物拾取工具坐标系 等待完成 拾取坐标偏移基准点(不参与实际动作) 拾取点赋值 拾取点X 轴偏移计算 拾取点Y 轴偏移计算

拾取点Z 轴偏移计算(增加100mm 作为准备点 等待完成 以直线方式运行到拾取准备点 等待完成 减少100mm 到拾取点 等待完成 以300cm/min的速度运行到拾取点 等待完成 真空打开 吸盘1打开 延时2秒 等待完成 如果真空检测为TRUE 上升100mm 作为退出点 等待完成 运动到退出位置 如果真空检测为FALSE 机器人状态:300=吸取错误 暂停

礼物装箱

切换到礼物拾取工具坐标系

放置坐标偏移基准点(不参与实际动作) 放置点赋值

放置点X 轴坐标计算 放置点Y 轴坐标计算

放置点Z 轴坐标计算(增加150mm 作为准备点

等待完成

运动到放置准备点 等待完成

如果真空检测为TRUE

putpot.z := put_ready.z -100 putpot.a := putpot.a + oz_pick WaitIsFinished() Lin(putpot) WaitIsFinished() putpot.z := putpot.z -50 WaitIsFinished() Lin(putpot) WaitIsFinished() dout24.Set(FALSE) dout26.Set(FALSE)

WaitIsFinished()

Putpot.z := putpot.z + 200 WaitIsFinished() Lin(putpot)

WaitIsFinished()

ELSIF xiqu_status.val = FALSE THEN status_robot.val := 400

PAUSE END_IF

tuopan_pick_put PTP(tupan_tool) Tool(tuopan_tool) Lin(pick_ready) Lin(pick_up) WaitIsFinished()

dout24.Set(TRUE) dout25.Set(TRUE)

WaitTime(2000) WaitIsFinished()

IF xiqu_status.val = TRUE THEN Lin(pick_after) Lin(put_up) IF xiqu_status.val = TRUE THEN Lin(put_down) WaitIsFinished()

dout24.Set(FALSE) dout25.Set(FALSE) PTP(tupan_tool) ELSIF xiqu_status.val = FALSE THEN dout24.Set(FALSE) dout25.Set(FALSE)

WaitIsFinished()

高度下降100mm 作为姿态调整点 旋转角度计算 等待完成

运动到姿态调整点 等待完成

高度减少50mm (实际放置点)

运动到放置位置 真空关闭 吸盘1关闭

高度上升200mm 作为退出点 运动到退出点

如果真空检测为FALSE

机器人状态:400=放置错误

托盘进栈

切换到托盘拾取工具位置 切换到托盘拾取工具坐标系 运行到拾取准备位置 运行到拾取位置 真空打开 吸盘2打开

*如果真空检测为TRUE 运动到退出位置 运动到放置准备位置 如果真空检测为TRUE 运动到放置准备位置 真空关闭 吸盘2关闭 回到开始点

如果真空检测为FALSE 真空关闭 吸盘2关闭

status_robot.val := 400 PAUSE END_IF

ELSIF xiqu_status.val = FALSE THEN status_robot.val := 300 PAUSE END_IF

机器人状态:放置错误

*如果真空检测为FALSE 机器人状态:吸取错误


相关内容

  • 第7课认识机器人
  • 第7课 认识机器人 21世纪,智能机器人的应用将更加广泛,机器人已在工业.农业.医学.军事等领域发挥了重要的作用,随着时代的进步,并将走进家庭,为人类提供更好的服务.通过本节课,教师将引领学生走进机器人的神秘世界. 编写意图 编写本节课的目的在于对机器人世界的探秘,了解机器人的分类,学习机器人各部分 ...

  • 中国素质体育机器人竞赛规则
  • 中国素质体育机器人竞赛规则 前言 素质体育指以机器人科学技术等培养人的身体素质.文化素质.心理素质.道德素质等综合素质为目的的体育.素质体育受到教育界.体育界以及各青少年团体的重视.随着机器人科技的日新月异,对人才的要求也日趋全面化.创新化,要求我们用素质教育的思想对人的素质体育进行理性的思考和大胆 ...

  • 大学生参观创意组合实验室策划书
  • 活动目的及意义: (1)在大学生群体中培养出创新精神的思想火花,发扬格物致知的品格,弘扬独立自主开发科技项目的精神; (2)为同学提供展示自我的舞台,积极提高大学生的自主开发能力,丰富同学们的课余生活: (3)促进同学之间的配合意识和团队精神,拓展大学生的视野和思维. 活动名称:迎新--参观创意组合 ...

  • 2014大学生参观创意组合实验室策划书
  • 活动目的及意义: (1)在大学生群体中培养出创新精神的思想火花,发扬格物致知的品格,弘扬独立自主开发科技项目的精神; (2)为同学提供展示自我的舞台,积极提高大学生的自主开发能力,丰富同学们的课余生活; (3)促进同学之间的配合意识和团队精神,拓展大学生的视野和思维. 活动名称:迎新--参观创意组合 ...

  • 金工实习总结报告--材料学院03级高分子丙班王成
  • 材料学院03级高分子丙班王成,实习证号:110 2005-5-16 金工实习总结报告 时间似流水,眨眼间,两个星期的金工实习就结束了.回顾两个星期来的点点滴滴,虽然难免有些疲惫,但也学到很多很多的东西.我们不仅可以在实习中学习新知识,还可以在实习中将旧知识具体化,形象化,从而加深了对其的进一步理解和 ...

  • 计算机文化基础必背知识点
  • 专升本计算机文化基础必背知识点 第一章 1. 信息是在自然界.人类社会和人类思维活动中普遍存在的一切物质和事物的属性.信息技术是指人们获取.存储.传递.处理.开发和利用信息资源的相关技术. 2. 数据,是指存储在某种媒体上可以加以鉴别的符号资料.这里的符号包括文字.字母.数字.图形.音像.音频与视频 ...

  • 电感和电容对交变电流的影响
  • 电感和电容对交变电流的影响 新课标要求 1.理解为什么电感对交变电流有阻碍作用.知道用感抗来表示电感对交变电流阻碍作用的大小,知道感抗与哪些因素有关. 2.知道交变电流能通过电容器. 知道为什么电容器对交变电流有阻碍作用.知道用容抗来表示电容对交变电流的阻碍作用的大小. 知道容抗与哪些因素有关. 3 ...

  • 山东专升本计算机文化基础章节必背知识点.
  • 第一章 1.信息是在自然界.人类社会和人类思维活动中普遍存在的一切物质和事物的属性.信息技术是指人们获取.存储.传递.处理.开发和利用信息资源的相关技术. 2.数据,是指存储在某种媒体上可以加以鉴别的符号资料.这里的符号包括文字.字母.数字.图形.音像.音频与视频等多媒体数据.数据是信息的具体表现形 ...

  • 传奇无线多媒体电子教室解决方案
  • 传奇无线多媒体电子教室解决方案 传奇科软科技(北京)有限公司 在我国要充分发挥信息技术在学校教育教学活动中的重要作用,运用现代教育技术,实现教育信息化,就必须促进现代信息技术与学校教育教学的融合,也就是我们必须促进信息技术与学校教育实现以下四个方面的融合:即信息技术与学科内容的融合.信息技术与学生学 ...