首页 > 编程语言 >埃斯顿机器人编程实例 (取板机械手)

埃斯顿机器人编程实例 (取板机械手)

时间:2023-03-04 09:34:13浏览次数:30  
标签:埃斯 RELATIVE 机械手 PAYLOAD0 World C10 nullTool SetSimDO 取板

1, 变量定义 (此处都定义为全局变量)

 

 

 

 2, 以下内容为具体程序

 

 ①主程序

Start:
//初始化
CALL rInital
WHILE (true) DO
    CALL rPick1
    CALL rPlace
    CALL rPick2
    CALL rPlace
ENDWHILE
End;

 

②笔记

Start:
MovJ(g:pHome,s:V100,"RELATIVE",s:C10,s:nullTool,s:World,g:PAYLOAD0)
MovL(g:pHome,s:V100,"RELATIVE",s:C10,s:nullTool,s:World,g:PAYLOAD0)
//工件坐标基础上偏移
MovLRel(g:pOffsetX,"COORD",s:V100,"RELATIVE",s:C10,g:PAYLOAD0)
MovLRel(g:pOffsetX,"COORD",s:V100,"RELATIVE",s:C10,g:PAYLOAD0)
MovLOffset(g:pPick_P1,g:pOffsetZ,"COORD",s:nullTool,s:World,s:V100,"RELATIVE",s:C10,g:PAYLOAD0)
//设置负载质量
SetPayload(g:PAYLOAD0)
//全局速度设置功能。设置“全局速度”为一个合适的百分比数值
SetOverRide(20)
//选择用户坐标系指令
SetCoord(s:World)
//选择工具坐标系指令
SetTool(s:nullTool)
//6轴回原
RefRobotAxis(1,0)
RefRobotAxis(2,0)
RefRobotAxis(3,0)
RefRobotAxis(4,0)
RefRobotAxis(5,0)
RefRobotAxis(6,0)
//点位赋值
g:pHome = g:pPick_P1
g:pHome.z = 640
//一直等待一个条件
WaitSimDI(g:diAllowPick,1,0,0,l:INT0)
//获取当前位置
GetCurCPos(g:pCurPos)
//and, or等逻辑语句使用
IF (g:diCheck1.value == 0 or g:diCheck2.value == 0) THEN
    PulseSimOut(g:doPickErr,1,1000,0)
    Stop()
ENDIF
End;

③初始化

Start:
SetSimDO(g:doHomeDone,0)
SetSimDO(g:doGripCylinder,0)
SetSimDO(g:doInsertCylinder,0)
SetSimDO(g:doPickDone,0)
SetSimDO(g:doPickErr,0)
SetSimDO(g:doPlaceErr,0)
//X方向偏移变量?????
g:pOffsetY.dx = 0
g:pOffsetY.dy = 150
g:pOffsetY.dz = 0
g:pOffsetY.da = 0
g:pOffsetY.db = 0
g:pOffsetY.dc = 0
//Z方向偏移变量?????
g:pOffsetZ.dx = 0
g:pOffsetZ.dy = 0
g:pOffsetZ.dz = 50
g:pOffsetZ.da = 0
g:pOffsetZ.db = 0
g:pOffsetZ.dc = 0
g:pPrePick1 = g:pPick_P1
g:pPrePick1.z = g:pPick_P1.z + 50
g:pPrePick2 = g:pPick_P2
g:pPrePick2.z = g:pPick_P2.z + 50
g:pPrePlace = g:pPlace_P3
g:pPrePlace.z = g:pPlace_P3.z + 100
MovLRel(g:pOffsetZ,"COORD",s:V100,"RELATIVE",s:C10,g:PAYLOAD0)
MovJ(g:pPassPoint,s:V100,"RELATIVE",s:C10,s:nullTool,s:World,g:PAYLOAD0)
MovJ(g:pHome,s:V100,"FINE",s:nullTool,s:World,g:PAYLOAD0)
PulseSimOut(g:doHomeDone,1,1000,0)
Stop()
//WaitSimDI(g:diAutoRun,1,0,0,l:INT0)
End;

 

④取料1子程序

Start:
//等待取料
MovJ(g:pPrePick1,s:V500,"RELATIVE",s:C10,s:nullTool,s:World,g:PAYLOAD0)
WaitSimDI(g:diAllowPick,1,0,0,l:INT0)
//取料进行中
MovL(g:pPick_P1,s:V100,"FINE",s:nullTool,s:World,g:PAYLOAD0)
SetSimDO(g:doGripCylinder,1)
SetSimDO(g:doInsertCylinder,1)
Wait(500)
//取料完成
MovL(g:pPrePick1,s:V200,"FINE",s:nullTool,s:World,g:PAYLOAD0)
IF (g:diCheck1.value == 0 or g:diCheck2.value == 0) THEN
    PulseSimOut(g:doPickErr,1,1000,0)
    Stop()
ENDIF
End;

 

⑤取料2子程序

Start:
//等待取料
MovJ(g:pPrePick2,s:V500,"RELATIVE",s:C10,s:nullTool,s:World,g:PAYLOAD0)
//取料进行中
MovL(g:pPick_P2,s:V100,"FINE",s:nullTool,s:World,g:PAYLOAD0)
SetSimDO(g:doGripCylinder,1)
SetSimDO(g:doInsertCylinder,1)
Wait(500)
//取料完成
MovL(g:pPrePick2,s:V200,"FINE",s:nullTool,s:World,g:PAYLOAD0)
MovLRel(g:pOffsetY,"COORD",s:V200,"RELATIVE",s:C10,g:PAYLOAD0)
IF (g:diCheck1.value == 0 or g:diCheck2.value == 0) THEN
    PulseSimOut(g:doPickErr,1,1000,0)
    Stop()
ENDIF
//取料完成交互
SetSimDO(g:doPickDone,1)
WaitSimDI(g:diAllowPick,0,0,0,l:INT0)
SetSimDO(g:doPickDone,0)
End;

 

⑥卸料子程序

Start:
MovJ(g:pPassPoint,s:V500,"RELATIVE",s:C10,s:nullTool,s:World,g:PAYLOAD0)
MovJ(g:pPrePlace,s:V500,"RELATIVE",s:C10,s:nullTool,s:World,g:PAYLOAD0)
//等待允许放料
WaitSimDI(g:diAllowPlace,1,0,0,l:INT0)
MovJ(g:pPlace_P3,s:V200,"FINE",s:nullTool,s:World,g:PAYLOAD0)
SetSimDO(g:doInsertCylinder,0)
SetSimDO(g:doGripCylinder,0)
Wait(300)
MovL(g:pPrePlace,s:V500,"RELATIVE",s:C10,s:nullTool,s:World,g:PAYLOAD0)
MovJ(g:pPassPoint,s:V500,"RELATIVE",s:C10,s:nullTool,s:World,g:PAYLOAD0)
End;

 

标签:埃斯,RELATIVE,机械手,PAYLOAD0,World,C10,nullTool,SetSimDO,取板
From: https://www.cnblogs.com/csflyw/p/17177605.html

相关文章

  • WPF开发经验-实现一种三轴机械手控件
    一引入 考虑实现一种三轴机器人控件。三轴机器人用来将某种工件从一个位置运送到另一个位置。其X轴为手臂轴,可以正向和反向运动,它处于末端,直接接触工件;其T轴为旋转......
  • 如何让小型云台机械手实现按颜色分拣物品?
    1.功能说明    在小型云台机械手附近设置一个工作台,并安装一个颜色识别传感器。将红色、蓝色工件分别放置在传感器上,如果检测的物料的颜色为红色,机械臂将物体放在......
  • 进入工业 自动化设备 机械手等智能化 必备技能 自动化编程工程师
    plc全名为可编程逻辑控制器是数字运算的电子系统方向可精向西门子plc是界定电工与电气工程师的区别广泛用于工业自动化对于PLC的编程应用和诊断1.首先以硬件条......
  • 欠驱动机械手静力学
    运动旋量属于旋量理论中的一个概念,是研究机构学和机器人学重要的数学工具。任何物体从一个位姿到另一个位姿的运动都可以用绕某直线的转动和沿该直线的移动经过复合实现......
  • 爱普生机械手点位示教说明书
    第1步:打开软件  第2步:连接机械手  第3步:切换机械手至调试模式(此时如果显示机器人在执行任务中,可进入HMI手动界面点一下"RB停止",然后重新连接机器人) ......
  • 机械手控制系统特点介绍 伺服
    工业机械手是辅助用于自动化生产设备作业的一种替代人工的装置,可以通过编程来控制设备的运行,按照设定好的程序实现预期作业,在注塑、机床、码垛等自动化生产场景中有着广泛的......
  • 项目需求|10~15万|自动上料系统—将物料通过机械手臂挂在挂钩上
    项目需求:自动上料系统(将物料通过机械手臂挂在挂钩上)​需求内容:1、利用3D视觉技术(点云配置或其他方法)识别挂钩的空间位置,包含x,y,z坐标。2、利用3D视觉技术识别挂钩姿态,判断挂......
  • ABB 机械手模板二
    这种模板适合把机器人当作一套运动控制单元,顺控逻辑放在PLC里,机器人只做动作逻辑。机器人和PLC通讯可以用profinet,或直接用电缆连接。下面是PLC和机械手通讯用到的两个任......