雅马哈编程讲解_第1页
雅马哈编程讲解_第2页
雅马哈编程讲解_第3页
雅马哈编程讲解_第4页
雅马哈编程讲解_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、yamaha常用指令讲解常用指令讲解2常用指令讲解1变量、函数讲解2目录目录编程实例3yamaha-rcx的编程语言的编程语言move p 往点资料的位置移动,以原点为基准的绝对值往点资料的位置移动,以原点为基准的绝对值(点点点点)move p,p1,s=20 ,z=10.00 (点号码(点号码,速度速度,z轴先到轴先到10.00处)处)move l 往点资料的位置移动,以原点为基准的绝对值往点资料的位置移动,以原点为基准的绝对值(直线直线)move l,p1,s=20 (点号码(点号码,速度)速度)move c往点资料的位置移动,以原点为基准的绝对值往点资料的位置移动,以原点为基准的绝对值(

2、圆弧圆弧)move c, p1,p2 (点号码,点号码)点号码,点号码)drive 指定轴的绝对位置移动指定轴的绝对位置移动drive (3, 5.00) (轴号,到的位置处)(轴号,到的位置处)drivei 指定轴的相对位置移动指定轴的相对位置移动drivei (3, 5.00) (轴号,移动的距离)(轴号,移动的距离)movei p以当前点为基准移动点资料的值的相对移动以当前点为基准移动点资料的值的相对移动(点点点点)movei p,p1,s=20 (点号码,速度)(点号码,速度)*aa : 定义定义goto指令等的跳跃目的地指令等的跳跃目的地(标签名标签名)*aa : (标签名)(标签名

3、)goto 跳跃到指定的标签处跳跃到指定的标签处goto *aaset 执行通用输出或记忆体输出的执行通用输出或记忆体输出的on控制控制set do(20),100 (do或或mo号)号) do(20)=1wait 一直等待到通用输入或记忆体输入成为指定状态为止一直等待到通用输入或记忆体输入成为指定状态为止wait di(22)=1,1000 (di或或mi号,输入状态)号,输入状态)delay 根据指定时间量等待后,进入下一个步序根据指定时间量等待后,进入下一个步序delay 1000 (时间(时间:ms)reset 执行通用输出或记忆体输出的执行通用输出或记忆体输出的off控制控制rese

4、t do(20) (do或或mo号)号)shift 指定迁移坐标指定迁移坐标shift s0 (移转坐标号移转坐标号)start 启动指定的多任务启动指定的多任务start *aa ,t2 (标签号标签号)cut 停止指定的多任务停止指定的多任务cut t2 (标签号标签号)servo 执行伺服的执行伺服的no/offservo 1 (伺服状态)(伺服状态)halt 程序执行的停止程序执行的停止halt holdfor-next 循环命令循环命令for i=0to10-next ilocx 点数据的点数据的x轴值轴值 locx(p1) (点(点p1的的x轴值轴值,x可换为可换为y,z,r,a,

5、b)ifthen-else-endif 如果如果则则否则否则结束结束speed 定义下面的移动命令的速度定义下面的移动命令的速度speed 50 (速度为(速度为50%)6雅马哈常用指令使用雅马哈常用指令使用常用指令常用指令move 绝对位置移动命令move 表达式1,表达式2,(表达式3,表达式4,.)表达式1:移动方式 p点到点移动 l直线插补 c圆弧插补表达式2:目标点位样例:move p,p1 从当前位置点到点移动到p1点 move l,p1 从当前位置直线移动到点p1点 move c,p1,p2 从当前位置经p1圆弧移动到p2点门形移动:move p,p1,z=0.0变更速度:mov

6、e p,p1,s=20门形加变更速度:move p,p1,z=0.0,s=20遇到条件停止运行:move p,p1,z=0.0,stopon di(21)=07雅马哈常用指令使用雅马哈常用指令使用常用指令常用指令drive 单轴执行绝对位置移动命令drive 表达式1,表达式2,(表达式3,表达式4,.)表达式1:指定移动的轴号表达式2:目标点位样例:drive(3,0.0) 第三轴移动到0.0位置 drive(3,p1) 第三轴移动到p1点z轴位置变更速度:drive(3,p1),s=20遇到条件停止运行:drive(3,p1),stopon di(21)=0水平多关节机械手一二轴的单轴移动

7、只能是脉冲坐标不能是直角坐标错误:drive(1,0.0)正确:drive(1,0)8雅马哈常用指令使用雅马哈常用指令使用常用指令常用指令if 条件判断指令(简单条件判断)if 条件判断表达式 then 条件为真处理方式else 条件为假处理方式endif 样例:if di(20)=1 then *st01 if di(20)=1 then move p,p1,z=0.0 else move p,p2,z=0.0 endif9雅马哈常用指令使用雅马哈常用指令使用常用指令常用指令if 条件判断指令(块条件判断)if 条件判断表达式1 then 条件为真处理方式elseif 条件判断表达式2 th

8、en 条件为真处理方式elseif 条件判断表达式3 then 条件为真处理方式else 其他条件处理方式endif 样例: if di(20)=1 then move p,p1,z=0.0 elseif di(21)=1 then move p,p2,z=0.0 elseif di(22)=1 then move p,p3,z=0.0 else move p,p0,z=0.0 endif10雅马哈常用指令使用雅马哈常用指令使用常用指令常用指令wait 表达式 等待命令等待表达式条件满足例如:wait di(21)=1 wait arm 等待机械手移动到公差范围内 wait di(21)=1,

9、1000 等待di(21)=1或超过1000ms指令通过do 输出命令例如:do(20)=1; do(21)=0 do(23,22,21)=&b110; do(23,22,21)=6 set do(20); set do(20),200; rst do2()hold 暂停程序halt 停止程序11雅马哈常用指令使用雅马哈常用指令使用常用指令常用指令托盘指令:pdef 托盘定义指令pdef(表达式1)=表达式2,表达式3,表达式4表达式1:托盘编号,240提供019 20个托盘编号表达式2:p1-p2之间产品个数表达式3: p1-p3之间产品个数表达式4: p1-p5之间产品个数样例:pdef(

10、0)=4,4,1定义托盘0为4*4*1托盘12雅马哈常用指令使用雅马哈常用指令使用常用指令常用指令pmove 移动到托盘中的点位pmove 托盘编号,托盘点编号,(表达式1,表达式2,.)样例:pmove(0,2) 移动到托盘0第2点 pmove (0,na%),z=0.0 门形移动到托盘0第na%点 pmove (0,na%),z=0.0,s=20注意:应用pmove指令前先应该对托盘进行定义13雅马哈常用变量和函数雅马哈常用变量和函数变量:变量:yamaha控制器中的数据变量分为两种:动态变量和静态变量静态变量是控制器系统分配,240控制器分配8个整形静态变量sgin (n=07)和8个实

11、型静态变量sgrn (n=07)。静态变量数据可以掉电保存。动态变量由用户定义,由类型的不同又分为整形变量,实型变量和字符串变量。动态变量定义:ng!=0.0 定义一个实型变量,ng位变量名,!表示变量类型为实型数据% 表示为整形变量 $表示为字符串变量例:na%=5 ng!=5.0 data$=“paizhao”14雅马哈常用变量和函数雅马哈常用变量和函数函数:函数:算术函数:+ - * / 如:na%=nb%+10; na%=nb%+10*nc%; nb%=na%2应用在移动指令中的算术运算: move p,p10+na%move p,p10-p5; p10=p5-p6三角函数:nn!=s

12、in(nb!); nn!=na!*sin(nb!)+nc!*cos(nd!)注意:三角函数中的角度都必须是弧度制的角度度degrand(表达式) 将表达式的值转化为弧度如:na!=sin(degrand(nb!)sqr(表达式) 对表达式中数据进行开方abs(表达式) 求表达式中数据的绝对值armcnd 读取scara机械手的手势如:na%=armcnd na%=1为左手手势 na%=0为右手手势15雅马哈常用变量和函数雅马哈常用变量和函数函数:函数:timer 读取当前系统时间以秒为单位,可用于测算机械手运动时间如: na%=timer 记录机器动作前时间 机械手移动动作 na%=timer

13、-na% 计算时间差机器动作后时间减去机器动作时间 print “na%=“,na% 打印时间差val(字符串表达式) 将字符串表达式转换为数值如: na%=val(“123456”) data$=“123456”; na%=val(data$)16雅马哈常用变量和函数雅马哈常用变量和函数函数:函数:字符串函数:mid$(字符串表达式,表达式1,表达式2)如:nn$=mid$(data$,5,5) 将data$字符串第5个字符开始连续5字符串 组成的新字符串赋值给字符串变量nn$ 若data$=“asdfghjkl” 则 nn$=“ghjkl”17雅马哈常用变量和函数雅马哈常用变量和函数函数:

14、函数:坐标点函数:ppnt$(托盘编号,托盘点编号)将对应托盘编号中的点位坐标计算出来如:p10=ppnt(1,24) 将托盘编号1托盘点编号24的坐标数据赋值到p10whrxy 读取当前机械手的直角坐标如:p0=whrxy 读取机械手当前直角坐标并赋值到p0 编程实例编程实例实例实例1:要求如下图所示:如上图所示,机械手从取料位取到产品后放到放料皮带上进行下一工序。io分配如下:di20 取料位有料 di21 放料皮带1有料 di22放料皮带2有料di23 取料真空满足 do20 取料电磁阀取料位放料皮带1放料皮带218 编程实例编程实例实例实例1动作分解:动作分解:待机位取料位取料等待取料

15、位有料皮带线1无料皮带线2无料皮带线1 2都有料到皮带线1放料到皮带线1放料到放料等待位点位分配:p0 待机位 p1 取料位 p10放料等待位 p11皮带线1放料位 p12 皮带线2放料位19 编程实例编程实例程序:程序:20 编程实例编程实例实例实例2:要求如下图所示:如上图所示,机械手从取料位取到产品后放到放料皮带上进行下一工序。io分配如下:di20 取料位有料 di21 放料皮带1有料 di22放料皮带2有料di23 取料真空满足 do20 取料电磁阀添加暂停按钮和停止按钮,用程序实现。添加暂停按钮和停止按钮,用程序实现。di24 暂停程序暂停程序 di25 停止程序停止程序取料位放料皮带1放料皮带121 编程实例编程实例程序:程序:22 编程实例编程实例程序:程序:23 编程实例编程实例实例实例3:要求如下图所示:如上图所示,机械手从托盘上取到产品后放到放料皮带上进行下一工序。io分配如下:di20 取料位有来料 di21 放料皮带1有料 di22放料皮带2有料di23 取料真空满足 do20 取料电磁阀 do21托盘取料完成取料位为4*4的托盘取料位放料

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论