东芝机器人编程语言(中文)_第1页
东芝机器人编程语言(中文)_第2页
东芝机器人编程语言(中文)_第3页
东芝机器人编程语言(中文)_第4页
东芝机器人编程语言(中文)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

TH系列/TV系列

机械手语言学校教材机械手坐标与示教(TH系列)左手系

LEFTY右手系

RIGHTYX+-+-A2(523.123,-234.567)XY(+,+)(-,+)Y(+,-)(-,-)Z+C

XYZCTCONFIG(姿势)示教点A2A2=523.123,-234.567,180.945,45.345,0.0/LEFTYCONFIG(机械手姿势)3轴/4轴的坐标ー180.9451机械手坐标与示教(TV系列)

XYZABCUVCONFIG(姿势)示教点A2A2=-20.0,0.0,1220.0,0.0,0.0,0.0,0.0,0.0/LANSSZXYXA2CBA关节

F1F2F3SHOULDER2AXESFREELEFTRIGHTELBOW3AXESFREEABOVEBELOWWRIST5AXESFREENFLIPFLIP4AXESFREESNGL4DBLE46AXESFREESNGL6DBLE6前面反射镜仰面1旋转以上2程序程序的讲述必须在PROGRAM语句到END语句之间。「PROGRAM程序名」・・・・程序开始「END」

・・・・・程序结束例)PROGRAMTEST

MOVEA1

MOVEA2

MOVEA3

END程序开始程序本体程序结束3PTP(PointtoPoint)动作MOVE位置名→从现在位置移动到位置名的位置。例)PROGRAMTEST

MOVEA1

MOVEA2

MOVEA3

ENDA1A2A3机械手顶端的路径

与路径无关,通过移动到目标位置的动作,使全轴同时

开始动作;同时结束动作。现在位置XY+-+-4直线插补动作MOVES位置名→从现在位置直线移动到位置名的位置。例)PROGRAMTEST

MOVESA1

MOVESA2

MOVESA3

ENDA1A2A3现在位置XY+-+-5位置型数据的生成POINT(X,Y,Z,C,T)→位置数据的生成。

X,Y,Z,C,T是机械手坐标值(mm或者度单位)例)PROGRAMTEST

MOVEA1

MOVEA1+POINT(0,0,50,0)

MOVEA2+POINT(0,0,30,0)

MOVEA2

ENDA1A2Z+-50mm×30mm×机械手动作6动作速度的指定SPEED=超程(%)→按%指定对应最高速度的比例

例)PROGRAMTEST

SPEED=80

MOVEA1

MOVEA2

SPEED=50

MOVEA3

ENDA1A2A3现在位置XY+-+-SPEED=80SPEED=80SPEED=507指定每个动作的动作条件动作指令语句WITH动作条件语句

动作指令语句・・・・MOVE,MOVES指令等

动作条件语句・・・・SPEED,ACCEL,DECEL指令语句等

例)PROGRAMTEST

SPEED=100

MOVEA1

MOVEA2

MOVEA3WITHSPEED=20

ENDA1A2A3现在位置XY+-+-SPEED=100SPEED=100SPEED=208指定机械手停止时间DELAY时间→指定机械手动作的停止时间。

时间:按秒单位指定例)PROGRAMTEST

MOVEA1

DELAY1.5

MOVEA2

DELAY1.0

ENDA1A2现在位置XY+-+-1.5秒

停止1秒

停止9实习课题(1)请编制移动下图3点位置间的程序。

其中,在A1以及A3侧进行Z轴30mm上下移动;在A2侧向X轴方向进行直线插补50mm移动,然后,等待2秒钟后按直线插补返回A2侧。

从A1到A2侧以80%速度移动;直线插补为50%速度、从A2到A3为80%速度。

A1A2A3现在位置XY+-+-SPEED=80SPEED=80SPEED=502秒钟待机TSPC侧进行程序编制设定假设位置检验TSPC侧编制的程序的

语法通过TSPC的模拟

进行动作确认进行控制器的传送TP侧进行实际示教。A1A310实习课题(1)解答PROGRAMTESTSPEED=80MOVEA1MOVEA1+POINT(0,0,-30)MOVEA1MOVEA2MOVESA2+POINT(50)WITHSPEED=50DELAY2.MOVESA2WITHSPEED=50MOVEA3MOVEA3+POINT(0,0,-30)MOVEA3END11外部信号输出DOUT(信号序号)→输出外部输出信号与辅助输出信号。信号序号・・・・按输出信号分配的序号

符号:无・・・指定为ON

-・・・指定为OFF例)PROGRAMTEST

DOUT(1)

DELAY5

DOUT(-1,2,3)

DELAY5

DOUT(-2,-3)

ENDDOUT(1)DOUT(2)DOUT(3)5秒钟5秒钟T程序开始RESETDOUT→使输出信号全部为OFF。辅助输出不能为OFF。12外部信号输入DIN(信号序号)→以外部输入信号与辅助输入信号为读入条件

判断真伪。信号序号・・・・按输入信号分配的序号

符号:无・・・指定为ON

-・・・指定为OFF例)PROGRAMTEST

DOUT(2)

WAITDIN(2,-3)

DOUT(-2)

ENDDOUT(2)DIN(2)DIN(3)等待到条件达到一致T程序开始WAIT条件→等待条件达到真。数个信号可用(,)区分,最大可指定为10个。13实习课题(2)请在实习课题(1)中编制的程序内添加下列所记内容。

添加内容)

①A1下端侧手臂闭(OFF);A3下端侧手臂开(ON)

空气电磁阀输出为DOUT(5)。

②手臂闭检验DIN(5,-6)手臂开检验DIN(-5,6)

③当A2侧DIN(2)为ON后,启动直线插补。

(准备确认)

④通过直线插补返回到A2后,使DOUT(1)

为ON。(作业结束)⑤在最后的程序段侧使DOUT(1)

为OFF

A1A2A3现在位置XY+-+-SPEED=80SPEED=80SPEED=502秒钟待机A1A314实习课题(2)解答PROGRAMTESTSPEED=80MOVEA1MOVEA1+POINT(0,0,-100)DOUT(-5)WAITDIN(5,-6)MOVEA1MOVEA2WAITDIN(2)MOVESA2+POINT(80)WITHSPEED=50DELAY2.MOVESA2WITHSPEED=50DOUT(1)MOVEA3MOVEA3+POINT(0,0,-100)DOUT(5)WAITDIN(-5,6)MOVEA3DOUT(-1)END15无条件分支GOTO标签名→按持有已指定的标签名的语句分支。

标签,在字符串的后面用:表示。例)PROGRAMTEST

MOVEA1

LOOP:

MOVEA2

MOVEA3

GOTOLOOP

ENDA1A2A3現在位置XY+-+-16条件分支IF条件THEN语句→如果条件为真,则继THEN之后继续执行语

句;如果为伪,则执行下一步。条件・・・・按DIN指令等给予的条件式

语句・・・・程序语句例)PROGRAMTEST

MOVEA1

IFDIN(1)THENGOTOL1

MOVEA2

GOTOL9

L1:

MOVEA3

L9:

ENDA1A2A3现在位置XY+-+-DIN(1)为OFFDIN(1)为ON17条件分支GOTO(变量名)标签名→根据变量的值改变分支端。

标签名,用(,)区分,可指定为10个。

例)PROGRAMTEST

MOVEA1

N=0

IFDIN(1,-2)THENN=1

IFDIN(-1,2)THENN=2

GOTO(N)L1,L2

STOP

L1:

MOVEA2

GOTOL9

L2:

MOVEA3

L9:

ENDA1A2A3現在位置XY+-+-DIN(1,-2)的时候N=1DIN(-1,2)的时候N=218重复(FOR语句)FOR变量=初始值TO终端值→开始程序重复部分

NEXT变量→结束程序重复部分例)PROGRAMTEST

FORK=1TO10

DOUT(K)

MOVEA1

DELAY0.5

DOUT(-K)

MOVEA2

DELAY0.5

NEXTK

ENDA1A2現在位置XY+-+-从DOUT(1)到DOUT(10)

按顺序为OFF从DOUT(2)到DOUT(10)

按顺序为ON使DOUT(1)为ON19实习课题(3)请将实习课题(2)编制的程序的WAIT语句变更为使用IF语句的

程序。

①A1下端侧手臂闭(OFF);A3下端侧手臂开(ON)

空气电磁阀输出为DOUT(5)。

②手臂闭检验DIN(5,-6)手臂开检验DIN(-5,6)

③当A2侧DIN(2)为ON后,启动直线插补。

(准备确认)

④通过直线插补返回到A2后,使DOUT(1)为

ON。(作业结束)⑤在最后的程序段侧使DOUT(1)为OFF

A1A2A3现在位置XY+-+-SPEED=80SPEED=80SPEED=502秒钟待机A1A320实习课题(3)解答PROGRAMTESTSPEED=80MOVEA1MOVEA1+POINT(0,0,-100)DOUT(-5)WAITDIN(5,-6)MOVEA1MOVEA2L1:IFDIN(2)THENGOTOL2GOTOL1L2:MOVESA2+POINT(80)WITHSPEED=50DELAY2.MOVESA2WITHSPEED=50DOUT(2)MOVEA3MOVEA3+POINT(0,0,-100)DOUT(5)WAITDIN(-5,6)MOVEA3DOUT(-2)END21实习课题(4)摁压着UF1键时,UF1灯点亮,

离开后,灯熄灭。

摁压着UF2键时,UF2灯点亮,

离开后,灯熄灭。

请编制程序。

TS1000控制器

UF1键:DIN(17)

UF1灯:DOUT(17)

UF2键:DIN(18)

UF2灯:DOUT(18)

TS2000/TS2100控制器

UF1键:DIN(63)

UF1灯:DOUT(63)

UF2键:DIN(64)

UF2灯:DOUT(64)

UF1键ーUF2键UF1灯UF2灯7段22实习课题(4)解答PROGRAMTEST1L1:IFDIN(63)THENDOUT(63)IFDIN(-63)THENDOUT(-63)IFDIN(64)THENDOUT(64)IFDIN(-64)THENDOUT(-64)GOTOL1ENDPROGRAMTEST2L1:IFDIN(63)THENGOTOL10L2:IFDIN(-63)THENGOTOL20L3:IFDIN(64)THENGOTOL30L4:IFDIN(-64)THENGOTOL40L5:GOTOL1:L10:DOUT(63)GOTOL2L20:DOUT(-63)GOTOL3L30:DOUT(64)GOTOL4L40:DOUT(-64)GOTOL5END23子程序机械手程序由数个程序与位置数据构成。

所谓数个程序的含义就是1个主程序和数个子程序。

例)

PROGRAMTEST

MOVEA1

SUB

END

PROGRAMSUB

MOVEA2

SUB1

MOVEA3

END

PROGRAMSUB1

DOUT(201,-202)

END主程序子程序子程序ABCEFGRETURNENDENDENDABCEFG・请指定按子程序的PROGRAM语句指定的程序名。

・子程序名为英文字符,为10字符的英文、数字字符。

・要示教的位置数据在主、子程序侧可以共通使用。

・子程序的组最大为7组。

・使用在主、子程序侧共通变量的时候,请按GLOBAL说明。

24快捷动作PASS=通过率(指定快捷(shortcut)动作的通过率)

ENABLEPASS・・・・开始进行快捷动作

DISABLEPASS・・・・结束进行快捷动作例)

PROGRAMTEST

PASS=80

MOVEA1

ENABLEPASS

MOVEA1+POINT(0,0,50,0)

MOVEA2+POINT(0,0,50,0)

DISABLEPASS

MOVEA2

ENABLEPASS

MOVEA2+POINT(0,0,50,0)

MOVEA1+POINT(0,0,50,0)

DISABLEPASS

ENDA1A2X是通过示教点近旁,向下一个示教点方向的动作。谋求移动时间的缩短,可以缩短循环时间。

注)根据示教点的位置关系以及程序,也有不能进行

通过动作的情况发生。通过率为80%时的动作X80%100%25机械手程序的先解析机械手程序的先解析

・・・所谓先解析就是指为实现简捷动作等,在动

作前先对最大4个动作指令进行解析。此时,

若输入输入输出指令,则会因NOWAIT系统

变量而出现不同的结果。

ENABLENOWAIT・・・・・不等待机械手动作结束,直接进行输入输出信号的处理。

DISABLENOWAIT・・・・・等待机械手动作结束后,进行输入输出信号的处理。例)

PROGRAMTEST

RESETDOUT

DELAY2.0

WAITMOTION>=100

‘ENABLENOWAIT

‘ENABLEPASS

MOVEA1

DOUT(1)

MOVEA2

DOUT(2)

MOVEA3

DOUT(3)

MOVEA4

DOUT(4)

WAITMOTION>=100

DISABLENOWAIT

END指令处理手臂动作MOVEA1移动到A1DOUT(1)●MOVEA2DOUT(2)●MOVEA3DOUT(3)●MOVEA4DOUT(4)●移动到A2移动到A3移动到A4DISABLENOWAIT指令处理手臂动作MOVEA1移动到A1DOUT(1)●MOVEA2移动到A2DOUT(2)●MOVEA3移动到A3DOUT(3)●MOVEA4移动到A4DOUT(4)●EABLENOWAIT26停止机械手程序的先解析先解析的停止・・・通过WAIT指令,先解析可以停止解析。

例WAITDIN(1)

WAITMOTION>=80

用DEALY指令不能停止先解析。指令处理手臂动作MOVEA1移动到A180%以上移动结束后,执行DOUT(1)。DOUT(1)●向A1移动结束MOVEA2向A2移动结束DOUT(2)●向A2移动结束后,达到(100%),进行DOUT(2)的输出。EABLENOWAIT例)

PROGRAMTEST

RESETDOUT

ENABLENOWAIT

MOVEA1

WAITMOTION>=80

DOUT(1)

MOVEA2

WAITMOTION>=100

DOUT(2)

ENDA1A2现在位置XY+-+-移动的80%以上时,执行DOUT(1)移动的100%以上时,执行DOUT(2)80%27实习课题(5)请在实习课题(2)中编制的程序中添加或变更下列所记内容。

添加、变更内容)

①请将手臂闭(OFF)以及其状态确认、手臂开(ON)以及其状态确认

制定为子程序。

②确认达到A1以及A3的最下限的移动,并移动到下一个程序段。

③由直线插补返回到A2途中达到50%后,

使DOUT(2)为ON。

④要缩短循环时间,

请设定通过(pass)为60%。

A1A2A3现在位置XY+-+-SPEED=80SPEED=80SPEED=502秒钟待机A1A3DOUT(2)28实习课题(5)解答PROGRAMTESTPASS=60ENABLEPASSSPEED=80MOVEA1MOVEA1+POINT(0,0,-100)WAITMOTION>=100SUBCHUCKMOVEA1MOVEA2L1:IFDIN(2)THENGOTOL2GOTOL1L2:MOVESA2+POINT(80)WITHSPEED=50DELAY2.ENABLENOWAITMOVESA2WITHSPEED=50WAITMOTION>=50DOUT(2)DISABLENOWAITMOVEA3MOVEA3+POINT(0,0,-100)WAITMOTION>=100SUBUNCHUCKMOVEA3DOUT(-2)DISABLEPASSENDSUBCHUCKDOUT(-5)WAITDIN(5,-6)RETURNENDSUBUNCHUCKDOUT(5)WAITDIN(-5,6)RETURNEND29条件监视(中断处理)ON条件DO语句・・・在机械手动作中进行条件监视,当条件为真

时,执行继DO后的语句。

IGONORE条件・・・解除通过ON指令指定的条件监视。例)

PROGRAMSAMPLE

ENABLENOWAIT

RESETDOUT

MOVEA1

WAITMOTION>=100

WAITDIN(-1)

DOUT(-1)

ONDIN(1)DODOUT(1)

MOVEA2

MOVEA3

WAITMOTION>=100

IGNOREDIN(1)

ENDA1A2A3现在位置XY+-+-等待到DIN(1)为OFF,

DOUT(1)为OFF。由A1位置向A2或A3移动

途中,若DIN(1)为ON,

则DOUT(1)为ON。XA3定位结束后(100%)

解除条件监视。WAITMOTION>=100的指令没有时,

在A2位置侧解除条件监视。30条件监视(中断处理/停止动作)ON条件BREAKDO语句・・・在机械手动作中进行条件监视,当条

件为真时,停止机械手动作,并执行继DO

后的语句。例)

PROGRAMSAMPLE

ENABLENOWAIT

SPEED=5

WAITDIN(1)

ONDIN(-1)BREAKDOSUB

MOVEA1

MOVEA2

MOVEA3

WAITMOTION>=100

IGNOREDIN(-1)

END

PROGRAMSUB

WAITDIN(1)

ONDIN(-1)BREAKDOSUB

RESUME

ENDA1A2A3现在位置XY+-+-等待到DIN(1)为

ON。由A1位置向A2或A3方向移动

途中,DIN(1)为ON时,进行

减速停止,并呼叫SUB。XA3定位结束后(100%)

解除条件监视。在SUB侧等待到DIN(1)为OFF。

SUB31全程变量定义GLOBAL

变量

对能从程序中任意一个起可参照的大区域的变量进行定义

END

例)

GLOBAL

A=1

END

PROGRAMSAMPLE

SUB

PRINT“A=“,A,CR

DELAY1

END

PROGRAMSUB

A=A+1

ENDGLOBAL内说明的变量可在

主程序及子程序中作同一变量使用。

主程序及子程序中说明的变量,只能在此中使用。能使用的类型有:整数型、实数

型、位置型、坐标型、负荷型。

例)

整数型A=1

实数型B=1.0

排列型DIMD(10)ASINT・・・整数

DIME(10,3)ASREAL・・・实数

DIMF(5)ASPOINT・・・・位置

排列必须按GLOBAL说明。

32排列DIM字符串(变量)AS数据型・・・・根据字符串、变量、数据型

排列名生成排列名。例)

GLOBAL

DIMP(5)ASPOINT

END

ROGRAMSAMPLE

WAITDIN(1)

FORK=1TO5

DOUT(-3)

MOVEP(K)

DOUT(3)

NEXTK

END

DATA

POINTP(1)=185.892,249.492,55.000,159.998,0.0/RIGHTY

POINTP(2)=125.357,356.345,50.000,90.345,0.0/RIGHTY

POINTP(3)=201.356,345.892,33.000,174.893,0.0/RIGHTY

POINTP(4)=98.372,125.876,45.000,34.692,0.0/RIGHTY

POINTP(5)=155.892,263.492,99.000,24.994,0.0/RIGHTY

END

GLOBAL

DIMA(10)ASINT:整数型A(1),A(2)・・・・・・・・A(10)DIMB(3,3)ASREAL:实数型B(1,1),B(1,2)・・・・・・B(3,3)DIMC(5,2)ASPOINT:位置型C(1,1),C(1,2)・・・・・C(5,2)DIMD(3)ASTRANS:坐标系D(1),D(2)・・・・・・・・D(3)DIME(7)ASPAYLOAD:负荷型E(1),E(2)・・・・・・・・・E(7)END33信息的显示PRINT信息・・・・示教操作手柄上显示信息。

显示用双引号(“”)的字符串

若指定变量,则会显示变量的值

信息,用(,)区分,可以显示数个

最后,若带有(,CR)符号,则会在信息显示后换

行例)

PROGRAMSAMPLE

K=1

PRINT“***WELCOME***K=”,K,CR

END

***WELCOME***K=1

TP显示PRINT通信信道

没有指定COM0,COM1,TP等

通信信道的时候,TP为通信

信道。34计时器与注释TIMER・・・・按系统变量TIMER设定秒单位的值。

系统变量TIMER为减法计时。例)

PROGRAMSAMPLEWAITMOTION>=100

TIMER=100.0

MOVEA1

MOVEA2

MOVEA3

WAITMOTION>=100

PRINT100.0-TIMER,CR

END

REMARK・・・・程序中所记述的注释。

取代REMARK,也可以记述为「‘」。

「‘」之后,行结束前作注释处理。显示由A1点到A3点移动结束为止的

动作时间。3.325

TP显示TIMER的值为96.675秒例)

PROGRAMSAMPLE

MOVEA1‘WAITINGPOSITION

‘****COMMENT****

MOVEA2

END

红色字体为程序内的注释。35实习课题(6)注释输出在实习课题(5)中编制的程序的手臂开闭确认和准备确认,并在TP侧显示一系列动作的循环时间。

此外,变化动作速度后,要确认循环时间的不同变化。A1A2A3现在位置XY+-+-SPEED=80SPEED=80SPEED=502秒钟待机A1A3DOUT(1)36实习课题(6)解答PROGRAMTESTTIMER=300PASS=60ENABLEPASSSPEED=80MOVEA1MOVEA1+POINT(0,0,-100)WAITMOTION>=100S

温馨提示

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

评论

0/150

提交评论