爱普生初级培训资料1ff903137250.pptx

上传人:李司机 文档编号:4589932 上传时间:2023-04-29 格式:PPTX 页数:62 大小:3.13MB
返回 下载 相关 举报
爱普生初级培训资料1ff903137250.pptx_第1页
第1页 / 共62页
爱普生初级培训资料1ff903137250.pptx_第2页
第2页 / 共62页
爱普生初级培训资料1ff903137250.pptx_第3页
第3页 / 共62页
爱普生初级培训资料1ff903137250.pptx_第4页
第4页 / 共62页
爱普生初级培训资料1ff903137250.pptx_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《爱普生初级培训资料1ff903137250.pptx》由会员分享,可在线阅读,更多相关《爱普生初级培训资料1ff903137250.pptx(62页珍藏版)》请在三一办公上搜索。

1、,EPSON 机械手培训(初级),1,内容一、关于机械手的基础知识 二、硬件概要三、EPSON RC+用户界面 四、RC+7.0软件操作五、SPEL+语言六、动作指令 七、I/O八、Pallet九、!.!并列处理 十、多任务处理十一、循环控制指令十二、程序实例,2,1、关于机械手的基础知识,1、机械手坐标系1.1SCARA机械手坐标系,XY方向坐标(前后左 右),3,Z方向坐标(上 下),U方向坐标(旋 转),一、关于机械手的基础知识,2.机械手的手臂姿势在使用机械手作业时,有必要使其用示教时的手臂姿势在指定的点上动作。如果不这样 做,根据手臂姿势的不同,会产生轻微的位臵偏移,或朝着意想不到的

2、路径动作的结果,有 干涉周边设备的危险。为了避免这种情况,在点数据中必须事先指定使其在此点上动作时的 手臂姿势(如下图)。此信息也也可以从程序中变更(L或者R)。,2.1 SCARA机械手的手臂姿势图,4,二、硬件概要,系统构成,5,RC90普通I/O定义,6,RC90普通I/O定义,7,RC90普通输入接法,NPN接法,8,PNP(选型时需特别注明)接法,RC90普通输出接法,NPN(标准型)接法,9,PNP(选型时需特别注明)接法,RC90普通I/O时序图,1、控制器运行时序图,2、急停时序图,RC90普通I/O时序图,3、程序执行时序图,RC90普通I/O时序图,4、安全门输入时序图,R

3、C90普通I/O扩展板引脚定义,1、I/O扩展板输入输出定义及设置,RC90普通I/O扩展板引脚定义,2、1号I/O扩展引脚定义,RC90安全I/O定义,4,11短接12,17短接,不外接急停时可以将安全I/O按如下方式接线:1,2,3,7,9,18,20短接8,19,21,25短接10,14,15,16短接,RC90安全I/O接线图(使用控制器经典接法),三、EPSON RC+用户界面,四、RC+7.0软件操作,1.1通过USB连接控制器1)单击工具栏图标“”或者单击“设置”,单击“控 制器与电脑通讯”,进入如下画面。选择“USB”,单击“连接”即可连接控制器。控制器连接上后,连接状态会变为

4、“已连接”连接好后状 态会变为“已连接”选择USB,四、RC+7.0软件操作,1.2 软件IP设置(使用以太网连接时用)(1)单击“设置”“电脑与控制器通讯”进入IP设置画面,然后单击工具栏图标“”进入IP设置画面,然后单击“增加”进入右下图画面选择“通 过以太网连接到控制器”单击“确定”,四、RC+7.0软件操作,(2)设置新增以太网连接名称及IP地址,控制器出厂默认控制器IP设置如右下图所示 设置好IP后单击应用,如果控制器IP忘记了,可以先用USB线连接控制器然后在“设置”|控制器|configuration里可以查看控制器IP,电脑IP的前三位要与控制 器的前三位相同,例如“192.1

5、68.0.10”。设置好IP地址后单击“连接”连接控 制器。,四、RC+7.0软件操作,2.1从控制器读取程序1)连接控制器后,单击“项目”,单击“导入”进入下图所示画面,选择“控制器”,单击“下一个”,再单击“下一个”,单击“导入”即可 将控制器的程序读取出来,选择控制器,四、RC+7.0软件操作,3.1伺服马达打开、释放和重置单击“工具”,选择“机器人管理器”,单击“控制面板”进入左下图画面。或者 单击工具栏图标“”,然后单击“控制面板”。,打开伺服,关闭伺服,在伺服ON时可以选择 单独释放一个或多个 轴,六轴机械手除外,当机械手出现报 警时单击重置复 位报警,四、RC+7.0软件操作,图

6、标后,选择“步进示教”页面。如下,4.1 点位示教工具机器人管理器 步进示教 或单击工具栏 图示,模式说明:默认:在当前的局部坐标系、工具坐标系、机械手属性、ECP坐标系上,向X、Y、Z轴的方向微动动作。如果是SCARA型机械手,也可以向U方向微动。如果是垂直6轴型机械手,则可以向U方向(倾斜)、V方 向(仰卧)、W方向(偏转)微动。工具:向工具定义的坐标系的方向微动移动。Local:向定义的局部坐标系的方向微动移动。关节:各机械手的关节单独微动移动。不是直角坐标型的机械手使用Joint模式时,显示单独的微动 按钮。ECP:在用当前的外部控制点定义的坐标系上,微动动作。,四、RC+7.0软件操

7、作,点位示教步骤单击“示教点”,选择要示教的点文件,单击”示教点“,选择要示教的点文件,四、RC+7.0软件操作,2)微动将机械手移动的需要示教点的位置。如果是SCARA机械手,Motor On情况下,可 以在“控制面板”页面,单击“释放所有”释放所有轴后,手动将机械手移动需要示教 点的位置后,单击“锁定所有”锁定所有轴。选择要示教的点位,单击“示教”,选择要示教的点位,单击“示教”进入右图 画面,微动按钮,输入点标签(可省略),单击“确定”,四、RC+7.0软件操作,3)保存点文件在“机器人管理器”界面里单击“点数据”,单击“保存”。或者在工具栏单击图 标“”也可保存点文件。,单击此图标保存

8、 所有文件,单击“保存”,26,CRK深圳市长荣科机电设备有限公司,27,四、RC+7.0软件操作,5、点位追踪(机械手直接去往已示教好的位置)1)单击“执行运动”,选择合适追踪命令及目标位置,单击“执行”,单 击“是”,机械手即会去往目标位置。,单击”执行运动“,选择适当命令,选择要去往的目标位置,单击“执行”进入右图 画面,单击“是”,四、RC+7.0软件操作,图标后,进入如下图示画面监控,6.I/O监控“工具”“I/O监视器”工具或单击工具栏I/O状态,双击输出位时可以强制输出ON,四、RC+7.0软件操作,7.1新建一个项目1)单击“项目”,打开左图所示项目菜单,单击“新建”,打开右图

9、 所示窗口输入项目名称(只能用英文字符加下划线表示),选择存储目录,单击“确定”新 建一个项目,四、RC+7.0软件操作,7.2打开一个项目(存储在电脑里程序文件)1)单击“项目”,选择“打开”,打开下图图所示窗口选择文件存储目录,选择要打开的程序,单击“打开”打开 一个项目,四、RC+7.0软件操作,8.1编译并下载程序1)在工具栏上单击创建并下载程序图标“”或者单击打开运行窗口图标“”,软件即会编译程序,如果程序没有错误就会将程序下载到控 制器。如果程序有错误,状态栏会显示程序错误信息,如下图所示。将光 标移到错误信息一栏,双击左键光标即会跳到程序错误的那一行去,然后 修改程序后重新下载程

10、序,32,四、RC+7.0软件操作,9.1运行程序1)在工具栏上单击打开运行窗口图标“,”,打开运行窗口,选择要运行的函数,单击“开始”运行函数,勾选此项时速度不能超过最大速度的20%(建议,调试时勾选此项),设定运行速度比例CRK深圳市长荣科机电设备有限公司,四、RC+7.0软件操作,10.1单步调试程序,”,打开运行窗口,单击,单击程序最左端设置断点在工具栏上单击打开运行窗口图标“开始”运行程序,”运行下一行。按“F7”或单击图标“”运行到下一个断,3)按“F11”或单击图标“点。,单击“开始”运行函数,单击此处 设置断点,四、RC+7.0软件操作,11.1设置远程I/O控制单击“设置”,

11、单击“系统配置”进入下图所示界面,在控制器下拉菜单下单击“配置”,将控制设备设为“远程I/O”,单击“应用”,单击“关闭”,控制器将会 重启。,设置控制设备 为“远程I/O”,四、RC+7.0软件操作,11.2激活远程I/O控制器,控制器设置为远程I/O控制后,单击图标“”或者单击“运行”,单击“运 行窗口”,进入下图画面,单击“激活远程I/O”即可通过远程I/O启动程序。,单击“激活远程I/O”,五、SPEL+语言,概述SPEL+是在RC170/180、RC90、RC700控制器上运行的与BASIC相近的程序语言。它支持多任务,动作控制和I/O控制。程序以ASCII文本形式创建,被编辑在可以

12、执行的对象文件中。程序结构一个SPEL+程序包括有函数,变量和宏指令,每一个程序以.PRG的扩展名保持到对应的项目里(Project)。一个项目至少包含有一个程序和一个main函数。函数以Function开始,Fend结 束,函数名可以使用最多32个字符的半角英文数字和下划线,不区分大小写,但是不可以使 用以数字和下划线开始的名称或SPEL+关键字。,3.变量,SPEL+中有3种不同的变量。,Module:模块变量(在同一程序内使用的变量)Global:全局变量(在同一项目内使用的变量),程序示例:,MAIN.PRGFunction Main Call Func1.FendFunction F

13、unc1 Jump pickpnt.,Integer m_i模块变量m_i Global(Preserve)Integer g_i全局变量(全局保护变量)g_i Function main,局部变量i,Integer I.Fend,Function Func1,Integer I,局部变量i,Local:局部变量(用在同一Function内使用的变量).,Fend,五、SPEL+语言,4.变量的数据类型变量有多种数据类型,使用前先说明类型,格式为:数据类型变量名。例如:Integeri,定义变量i为整型数据。另外,代入的数据和变量的类型必须一致。在下 表中列出SPEL+语言中使用的数据类型。,

14、五、SPEL+语言,5.1 动作指令分类使机械手动作的指令叫作动作指令。可分为:PTP动作指令,CP动作指令,Curves动作指令,Joint动作指令。,NOTE:CP模式,即Continuous Path 连续路径模式。指定PTP动作指令和Joint动作指令的速度和加/减速度时,使用SPEED指令和ACCEL指令。指定CP模式动作指令时,使用使用SPEEDS指令和ACCELS指令。,五、SPEL+语言,5.2 PTP指令包括指令:Go、Jump、BGo、TGoPTP(Pose To Pose)动作,是与其动作轨迹无关,以机械手的工具顶端为目标位臵使其动作的动 作方法。PTP动作,使用各关节上

15、配置的电动机,使机械手通过最短的路径到达目标位置。优点:运动速度快,缺点:运动轨迹无法预测。指定PTP动作速度和加/减速,使用SPEED指令和ACCEL指令。5.2.1 Go 指令功能:全轴同时的PTP动作,动作的轨迹是各关节分别对从当前的点到目标坐标进行插补。格式:Go 目标坐标示例:1.Go P1机械手动作到P1点2.Go XY(50,400,0,0)机械手动作到X=50,Y=400,Z=0,U=0,机械手动作到P1点X坐标值偏移量为+50的位置机械手动作到P1点对应X坐标值为50的位置,3.Go P1+X(50)4.Go P1:X(50)5.2.2 Jump 指令,功能:通过“门形动作”

16、使手臂手臂从当前位臵移动至目标坐标。格式:Jump 目标坐标示例:Jump P1机械手以“门形动作”动作到P1点Jump P1 LimZ-10 以限定第三轴目标坐标Z=-10的门形动作移动到P1点,如图1示,3.Jump P1:Z(-10)LimZ-10 以限定第三轴目标坐标Z=-10的门形动作移动到P1点位臵Z坐标值 为-10的位置,图1,五、SPEL+语言,NOTE:Go与Jump的区别Jump与Go都是使机械手手臂用PTP动作移动的命令。但是Jump有Go没 有的一个功能。Jump将机械手的手部先抬起至LimZ 值,然后使手臂水平移动,快要到目标坐标上空的时候使其下降移动。此动作的标准是

17、可以更准确地避开障碍物这一点,更重要的是通过吸附、配置动作,提高作业的周期时间。5.3 CP指令包括指令:Move、Arc、Arc3、Jump3/Jump3CP、BMove、TMove、CVMove CP(Continuous Path)指令可以指定机械手到达目标位臵的运动轨迹。优点:轨迹可以控制,匀速动作。缺点:速度慢。指定Linear动作速度和加/减速度,使用SPEEDS指令和ACCELS指令。5.3.1 Move 指令功能:以直线轨迹将机械手从当前位置移动到指定目标位置。全关节同时启动,同时停 止。格式:Move 目标坐标示例:Move P1机械手以直线轨迹动作到P1点NOTE:Move

18、与Go的区别到达目标点时的手臂的姿势重要的时候使用Go命令,但是比控制动作 中的手臂的轨迹重要的时候,使用Move 命令。在SCARA机械手只有Z轴上下动作时,Go与Move的轨迹一样。,五、SPEL+语言,5.3.2 Arc和Arc3 指令功能:Arc 在XY平面上以圆弧插补动作。Arc3 在3D空间里以圆弧插补动作。格式:Arc 经过坐标,目标坐标说明:将机械手从当前位臵到目标坐标,通过经过坐标用圆弧插补动作活动时使用。从 所给的3点(当前坐标、经过坐标、目标坐标)自动演算圆弧插补轨道,并沿着此轨道 移动机械手直至目标坐标为止。示例:Arc P2,P3,NOTE:即使目标坐标在机械手的动作

19、范围内,一旦在Move或Arc运动轨迹超过允许动作范围外,机械手会突然停止,给伺服电机带来撞击,有产生故障的危险。为了防止这样的事发生,请在高速执行之前先以低速进行动作范围确认。,五、SPEL+语言,NOTE:1、Jump不能用于6轴机械手,6轴机械手只能使用Jump3和Jump3 CP指令2、Jump3CP指令用法与Jump3类似,不同在于Jump3CP是3个CP动作的组合3、SCARA机械手Z轴上升或下降动作时,使用Jump指令可以提高运动速度3.4 BMove、TMove、CVMove 指令BMove 在指定的局部坐标系(Local)上执行偏移直线插补动作。没有指定局部坐标系 时,以局部

20、0(基准坐标系)为基准,进行进行偏移PTP 动作。TMove 在当前的工具坐标系上执行偏移直线插补动作。,5.3.3 Jump3/Jump3CP指令功能将手臂用3 维门形动作移动。Jump3是两个CP动作与1个PTP动作的组合 格式Jump3 退避坐标,接近开始坐标,目标坐标示例Jump3 P1,P2,P3从当前位至经过保存坐标P1,接近坐标P2运动到目标坐标P3。图2示图2,五、SPEL+语言,CVMove 用Curve 命令执行定义的自由曲线CP 动作。CVMove 执行设定控制器硬盘上的 文件名的文件数据的自由曲线CP 动作。此文件必须事先用Curve 命令制作。,Curve“mycur

21、ve”,O,0,4,P1,P2,On 2,P(3:7)Jump P1CVMove“mycurve”,设定自由曲线用直线将手臂移动至P1用定义的自由曲线“mycurve”移动机械手,6.速度设定指令6.1 PTP指令的速度设定Speed 功能用于设定PTP动作速度的百分比 格式:Speed s,a,b说明:s 速度设定值;a 第三轴上升速度设定值;b 第三轴下降速度设定值。示例:1.Speed 802.Speed 80,40,30Accel 功能用于设定PTP动作加减速度的百分比。格式:Accel a,b,c,d,e,f说明:a/b 加/减速度设定值;c/d 第三轴上升加/减速度设定值;e/f

22、第三轴下降加/减速度设定值 示例:1.Accel 80,802.Accel 80,80,30,30,60,60,五、SPEL+语言,6.2 CP指令的速度设定SpeedS 功能用于设定CP动作速度值 格式:SpeedS 速度设定值说明:表1 为不同机型对应的速度设定值范围示例:SpeedS 800 CP动作的速度设置为800mm/sAccelS功能用于设定CP动作加减速度值 格式:AccelS 加速设定值,减速设定值说明:表1 为不同机型对应的加减速度设定值范围 示例:AccelS 800 加减速度均为800mm/S表1,五、SPEL+语言,Power指令功能:电源模式的设定 格式:Power

23、 High/Low说明:默认值为Low。低功率模式下电机输出被限制,实际动作速度变为默认初始值的范围内。低功率模式设定时,从监控窗口或程序中即使出现设为高 速的指示,也会按初始值速度动作。如果需要用更高的速度动作时,必须设定为Power High。Weight指令功能:进行补偿PTP 动作时的速度加减速度的参数设定 格式:Weight 手部重量示例:Weight 1设置负载为1Kg说明:手部重量指指定手臂上垂挂的夹治具和其他工件的重量。由设定值计算 出的等价搬运重量超过最大可搬运重量时,会出现错误。,五、SPEL+语言,7.Jump 指令的修饰7.1 拱形动作在Jump指令后通过指定门形参数C

24、n(n=07),可以改变拱形的形状。,上图中a,b的值与C06对默认初始值(单位:mm)如下表列,7为门形动作。要改变C06对应的a,b的值,使用Arch指令。也可以Tools|Robot Manager|Arch选项卡中修改。,五、SPEL+语言,7.2 Arch指令功能:用于设定Jump动作拱形参数设定格式Arch 拱形编号,垂直上升距离,垂直下降距离说明设 定值比垂直移动距离大时变为门形动作。设定值即使掉电也会被保持。运动轨迹根据运动速度、机械手的动作方式而改变,所以动作前请先确认动作轨迹示例:Arch 0,10,40指定C0的垂直上升距离为10,垂直下降距离为40,五、SPEL+语言,

25、RC90控制器标配了24位输入和16位输出,用户可以通过安装I/O板卡扩展I/O位数。每张I/O板卡 包括24位输入和16位输出,最多可以安装2张I/O板卡,既最多可增加48位输入和32位输出。1硬件连接1.1 输入电路:输入电压范围:+12 24V 10ON 电压:+10.8V(最小)OFF 电压:+5V(最大)输入电流:10mA,24V输入时,典型值,五、SPEL+语言,1.2 输出电路额定输出电压:+12 24V 10最大输出电流::100mA(典型值)1输出 输出驱动器::Photo Mos继电器通态电阻(平均)::23.5以下输出,五、SPEL+语言,2 输出指令On功能:打开指定输

26、出位格式:On输出位编号,时间,非同步指定输出位编号:可使用的输出位编号;时间:以秒为单位,最小有效位为0.01秒;非同步指定:0或1 说明:非同步指定在时间指定时可以指定,功能如表1 示示例:1.On 12.On 1,0.5,0,Off,功能:关闭指定输出位格式:Off输出位编号,时间,非同步指定,输出位编号:可使用的输出位编号;时间:以秒为单位,最小有效位为0.01秒;非同步指定:0或1说明非同步指定在时间指定时可以指定,功能如表1 示 示例:1.Off 12.Off 1,0.5,0,表1,五、SPEL+语言,3 输入指令3.1Wait功能:时间等待或输入位等待 格式:Wait时间Wait

27、输入条件,时间时间:02147483,最小有效位为0.01秒;输入条件:记述待机条件说明:只指定时间时,指定时间待机后执行下一个命令。只指定输入条件式时,待机至条件成立。指定输入条件与时间时,条件式成立或指定时间到都会执行下一个命令。使用Sw函数,可以确认输入条件式是否成立,或指定时间是否已到。,3.2Sw函数功能:返回指定的输入位状态 格式:Sw(输入位编号)输入位编号:可以使用的输入位编号说明:进行I/O输入的状态确认。指定的输入打开时返回1,关闭时返回0。,五、SPEL+语言,矩阵应用指令格式:Pallet Outside,Pallet 编号,Pi,Pj,Pk,Pm,列数,行数 参数:,

28、创建在指定的行及列的范围外可以访问的Pallet。指定范围:-32768 to 32767。,Outside可省略。,Pallet编号 Pi,Pj,Pk,用0到15的整数指定Pallet编号。指定使用在Pallet定义(标准的3 点定义)中的点变量。,Pm 与Pi,Pj,Pk 一起使用定义Pallet的点变量。可省略。,列数 行数,用整数指定Pi 与Pj的列数。范围为1到32767。(行数列数32767)用整数指定Pi 与Pk的行数。范围为1到32767。(行数列数32767),说明:在机械手上至少必须示教Pi,Pj,Pk这3 点,并指定Pi 与Pj的分割数及Pi 与Pk的分 割数,才能定义p

29、allet。,五、SPEL+语言,Pallet 如果是高精度的四方形,则只要指定角上4 点中的3 个点就足够了,但是,还是建议指定 全角4点的位臵后进行pallet 定义。定义pallet 时,首先要示教角的3 或4 个点,4 点定义时:以下表示P1、P2、P3 及P4。P1-P2 间有3 点,P1-P3 间有4点,总计使用12点用以下格式定义。表示Pallet的分割的各点自动地分 配分割编号(1-12)。,示教P1、P2、P3 时,尽量使三点的姿势一致。Notes不正确的pallet 的定义如果搞错了点的顺序或点间的分割数,会出现错误的pallet顺序。,五、SPEL+语言,Pallet 面

30、的定义用角上3 点的Z 坐标值定义pallet 平面的高度。所以,也可以定义垂直方向的pallet。1 列pallet 的pallet 定义通过3 点指定的Pallet 命令,也可以定义1 列的pallet。如果是1 列,应示教两端的2 点,并如下 输入、执行。同一编号方向的分割数为1。Pallet 2,P20,P21,P20,5,1定义一个5x1 的palletPallet 使用示例以下是从监控窗口设定用P1、P2、P3 定义的pallet 的示例。Pallet 而平均配臵15 点,P1-P2 间 排列。pallet 1,P1,P2,P3,3,5jumppallet(1,2)Jump to

31、position on pallet此设定的创建的pallet 如右图所示。,五、SPEL+语言,循环指令1、Do.Loop功能:条件一致或不一致时反复执行Do.Loop直接的程序,直到条件一致为止 格式1:Do while|until条件式语句Exit Do语句Loop格式2:Do语句Exit Do语句Loopwhile|until条件式说明:当条件式省略时,且Do.Loop循环中没有Eixt Do语句则为一个无限循环。当条件式成立时 退出循环。退出Do.Loop的另一个方法是可以在Do.Loop中的任何位置,插入任意个Exit Do语句。Exit Do经常使用在对If.Then 等几个条件

32、进行评价之后。在If.Then 上使用Exit Do语句后,将控 制Loop移至下一个语句。示例:Do While Sw(8)=On当输入8为ON时一直执行Do.Loop之间语句,移动到P1位置打开输入8移动P2位置关闭输入8,Go p1 On 8 Go p2 Off 8 Loop,五、SPEL+语言,2、If.Then.Elseif.Endif 功能:根据指定条件分歧执行命令 格式1:If 条件式 Then语句 T1.Elseif 条件式Then语句 T1.Else语句 F1.Endif格式2:If 条件式 Then 语句T1;语句T2.Else 语句 F1;语句 F2.说明:If.Then

33、.Else 在满足条件时执行语句T1以后部分,不满足条件时执行F1以后部分,Else 部分可省略,不满足条件时就执行 Endif 以后部分。按照格式1编辑程序时必须以Endif结束,按照 格式2将语句编辑到同一行时可省略 Endif,If.Then.Else 语句的程序段,嵌套最多可以有20段,当输入8接通时移动到P1,示例:If SW(8)=ON then Go P1Endif,五、SPEL+语言,3、GoSub.Return功能:GoSub 是将程序控制转移至子程序。子程序的执行结束后控制回到GoSub 命令的下 一行。格式1:GoSub 行编号|标签行编号|标签:语句Return.说明:

34、GoSub 命令将程序控制转移至指定的行或标签。程序执行转移目标的语句,就这样一直执行转移 目标行,直到Return 命令。GoSub 命令在执行子程序以后用Return 返回GoSub 命令的下一行。请务必用Return 结束子程序。NOTE:1)GoSub 命令在转移目标中指定不存在的行编号或标签后,会发生错误1650。GoSub 命令的嵌套最多只能有16段。即转移目标的子程序内再次执行GoSub 命令,并再次执行子程序可以有16次。想执行第17次GoSub 命令就会发生错误7。Return 命令将执行了GoSub 命令的部分恢复至原来的程序。如果没有GoSub,但使 用了Return,就

35、会发生错误3。没有GoSub 时使用Return,不知道恢复至哪里,所以 无任何意义。示例:Function mainGo Sub checkio GoSub using Label On 1Exit Functioncheckio:Subroutine starts here var1=In(0)var2=In(1)Return Subroutine ends here,五、SPEL+语言,4、Goto功能:GoTo命令是将程序控制转移至指定的行或标签 格式:GoTo 行编号|标签 说明:GoTo 命令将程序控制转移至指定的语句行或标签。程序执行转移目标的语句行,并执行以下的行NOTE:在1

36、 个程序中,如果过多使用GoTo命令,程序就会变得难懂,请注意。通常尽量不要使用GoTo命令。实际上,有时不得不使用GoTo,但是像GoTo 语句将源代码到 处转移的使用会造成错误或引起其他问题示例:Function mainIf Sw(1)=Off Then GoTo mainAbortEndIfPrint Input 1 was On,continuing cycle.Exit FunctionmainAbort:Print Input 1 was OFF,cycle aborted!Fend,五、SPEL+语言,5、Call功能:将函数作为子程序调出格式1:Call 函数名(自变量列表)

37、,.,说明:通过Call 命令,Function.Fend 将程序控制移至定义的函数。通过Call 命令,程序的执行 从当前的函数移至Call 命令指定的函数。程序一直用调出的函数继续,直到找开ExitFunction 或Fend。接着用Call 命令的下一个语句返回原来的函数控制。示例:Function mainCall InitRobot(1)FendFunction InitRobot(robotNumber As Integer)Integer savRobot savRobot=Robot Robot robotNumber Motor OnIf Not MCalComplete T

38、hen MCalEnd IfRobot savRobot Fend,六、程序实例,程序示例:Integer i定义全局整形变量*主函数*Function main,调用初始化子函数移动到待机位置,Call InitRobot Jump daijiDo,Call Robot1调用Robot1子函数LoopFend*初始化子函数*Function InitRobot,当马达伺服未上时使伺服ON开伺服,If Motor=Off ThenMotor OnEndIf,Power High Speed 10Accel 80,80Off 8,运行功率为高功率定义PTP速度定义加减速关闭输出8,i=1给变量i

39、赋值1,Pallet 1,y1,y2,y3,3,2Pallet 2,y10,y11,y12,3,2,定义一个三列二行矩阵1定义一个三列二行矩阵2,Fend,十二、程序实例,*机器人动作程序*Function Robot1,Tool 0LimZ-30.00Jump P(35),使用Tool 0设定Z轴极限移动到P35点,Wait Sw(8)=On,等待输入8有信号,Jump P(i)+Z(10)C1,移动到P(i)点上方相距10mm,Move P(i)移动到P(i)点,On 8Wait 0.5,打开中空等待0.5s,Jump Pallet(1,i)+Z(10)C1,移动到矩阵1的第i号位置上方相距10mm,Move Pallet(1,i),移动到矩阵1的第i号位置,Off 8Wait 0.1,关闭中空等待0.1S,If i=6 Then i=1EndifFend,结束,谢 谢,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号