1、TH系列/TV系列 机械手语言,学校教材,1,机械手坐标与示教(系列),X,+,-,+,-,A2,(523123,-234.567),(+,+),(-,+),Y,(+,-),(-,-),+,X Y Z C T CONFIG(姿势) 示教点 A2 A2 = 523.123 , -234.567,180.945,45.345,0.0/LEFTY,CONFIG(机械手姿势),3轴/4轴的坐标,180.945,2,机械手坐标与示教(系列),X Y Z A B C U V CONFIG(姿势) 示教点 A2 A2 = -20.0 , 0.0 , 1220.0 , 0.0 , 0.0 , 0.0 , 0.
2、0 , 0.0 / LANSS,Z,Y,A2,C,B,A,前面反射镜,仰面,旋转以上,3,程序,程序的讲述必须在语句到语句之间。PROGRAM 程序名程序开始END 程序结束,例) PROGRAM TEST MOVE A1 MOVE A2 MOVE A3 END,程序开始,程序本体,程序结束,4,PTP(Point to Point)动作,MOVE 位置名 从现在位置移动到位置名的位置。,例) PROGRAM TEST MOVE A1 MOVE A2 MOVE A3 END,A1,A2,A3,机械手顶端的路径 与路径无关,通过移动到目标位置的动作,使全轴同时 开始动作;同时结束动作。,现在位置
3、,X,Y,+,-,+,-,5,直线插补动作,MOVES 位置名 从现在位置直线移动到位置名的位置。,例) PROGRAM TEST MOVES A1 MOVES A2 MOVES A3 END,A1,A2,A3,现在位置,X,Y,+,-,+,-,6,位置型数据的生成,POINT(X,Y,Z,C,T) 位置数据的生成。 X,Y,Z,C,T是机械手坐标值(mm或者度单位),例) PROGRAM TEST MOVE A1 MOVE A1+POINT(0,0,50,0) MOVE A2+POINT(0,0,30,0) MOVE A2 END,A1,A2,Z,+,-,50mm,30mm,机械手动作,7,
4、动作速度的指定,SPEED=超程() 按指定对应最高速度的比例,例) PROGRAM TEST SPEED=80 MOVE A1 MOVE A2 SPEED=50 MOVE A3 END,A1,A2,A3,现在位置,X,Y,+,-,+,-,SPEED=80,SPEED=80,SPEED=50,8,指定每个动作的动作条件,动作指令语句 WITH 动作条件语句 动作指令语句MOVE,MOVES指令等 动作条件语句SPEED,ACCEL,DECEL指令语句等,例) PROGRAM TEST SPEED=100 MOVE A1 MOVE A2 MOVE A3 WITH SPEED=20 END,A1,
5、A2,A3,现在位置,X,Y,+,-,+,-,SPEED=100,SPEED=100,SPEED=20,9,指定机械手停止时间,DELAY 时间 指定机械手动作的停止时间。时间 :按秒单位指定,例) PROGRAM TEST MOVE A1 DELAY 1.5 MOVE A2 DELAY 1.0 END,A1,A2,现在位置,X,Y,+,-,+,-,1.5秒 停止,1秒 停止,10,实习课题(1),请编制移动下图点位置间的程序。 其中,在A1以及A3侧进行Z轴30mm上下移动;在A2侧向X轴方向进行直线插补50mm 移动,然后,等待2秒钟后按直线插补返回A2侧。从A1到A2侧以80速度移动;直
6、线插补为50速度、从A2到A3为80速度。,A1,A2,A3,现在位置,X,Y,+,-,+,-,SPEED=80,SPEED=80,SPEED=50,2秒钟待机,TSPC侧进行程序编制,设定假设位置,检验TSPC侧编制的程序的 语法,通过TSPC的模拟 进行动作确认,进行控制器的传送,TP侧进行实际示教。,11,实习课题(1)解答,PROGRAM TEST SPEED=80 MOVE A1 MOVE A1+POINT(0,0,-30) MOVE A1 MOVE A2 MOVES A2+POINT(50) WITH SPEED=50 DELAY 2. MOVES A2 WITH SPEED=50
7、 MOVE A3 MOVE A3+POINT(0,0,-30) MOVE A3 END,12,外部信号输出,DOUT(信号序号) 输出外部输出信号与辅助输出信号。信号序号按输出信号分配的序号 符号:无指定为ON 指定为OFF,例) PROGRAM TEST DOUT() DELAY 5 DOUT(-1,2,3) DELAY 5 DOUT(-2,-3) END,DOUT(),DOUT(2),DOUT(3),5秒钟,5秒钟,程序开始,RESET DOUT 使输出信号全部为OFF。辅助输出不能为OFF。,13,外部信号输入,DIN(信号序号) 以外部输入信号与辅助输入信号为读入条件 判断真伪。信号序
8、号按输入信号分配的序号 符号:无指定为ON 指定为OFF,例) PROGRAM TEST DOUT(2) WAIT DIN(2,-3) DOUT(-2) END,DOUT(2),DIN(2),DIN(3),等待到条件达到一致,程序开始,WAIT 条件 等待条件达到真。 数个信号可用(,)区分,最大可指定为10个。,14,实习课题(2),请在实习课题(1)中编制的程序内添加下列所记内容。 添加内容) A1下端侧手臂闭(OFF);A3下端侧手臂开(ON) 空气电磁阀输出为DOUT(5)。 手臂闭检验 DIN(5,-6) 手臂开检验DIN(-5,6) 当A2侧DIN(2)为ON后,启动直线插补。 (
9、准备确认) 通过直线插补返回到A2后,使DOUT(1) 为ON。 (作业结束) 在最后的程序段侧使DOUT(1)为OFF,A1,A2,A3,现在位置,X,Y,+,-,+,-,SPEED=80,SPEED=80,SPEED=50,2秒钟待机,15,实习课题(2)解答,PROGRAM TEST SPEED=80 MOVE A1 MOVE A1+POINT(0,0,-100) DOUT(-5) WAIT DIN(5,-6) MOVE A1 MOVE A2 WAIT DIN(2) MOVES A2+POINT(80) WITH SPEED=50 DELAY 2. MOVES A2 WITH SPEED
10、=50 DOUT(1) MOVE A3 MOVE A3+POINT(0,0,-100) DOUT(5) WAIT DIN(-5,6) MOVE A3 DOUT(-1) END,16,无条件分支,GOTO 标签名 按持有已指定的标签名的语句分支。标签,在字符串的后面用:表示。,例) PROGRAM TEST MOVE A1 LOOP: MOVE A2 MOVE A3 GOTO LOOP END,A1,A2,A3,現在位置,X,Y,+,-,+,-,17,条件分支,IF 条件 THEN 语句 如果条件为真,则继THEN之后继续执行语 句;如果为伪,则执行下一步。条件按DIN指令等给予的条件式 语句程
11、序语句,例) PROGRAM TEST MOVE A1 IF DIN(1) THEN GOTO L1 MOVE A2 GOTO L9 L1: MOVE A3 L9: END,A1,A2,A3,现在位置,X,Y,+,-,+,-,DIN(1)为OFF,DIN(1)为ON,18,条件分支,GOTO (变量名) 标签名 根据变量的值改变分支端。 标签名,用(,)区分,可指定为个。,例) PROGRAM TEST MOVE A1 N=0 IF DIN(1,-2) THEN N=1 IF DIN(-1,2) THEN N=2 GOTO (N) L1,L2 STOP L1: MOVE A2 GOTO L9
12、L2: MOVE A3 L9: END,A1,A2,A3,現在位置,X,Y,+,-,+,-,DIN(1,-2)的时候 N=1,DIN(-1,2) 的时候 N=2,19,重复(FOR 语句),FOR 变量=初始值 TO 终端值 开始程序重复部分 NEXT 变量 结束程序重复部分,例) PROGRAM TEST FOR K=1 TO 10 DOUT(K) MOVE A1 DELAY 0.5 DOUT(-K) MOVE A2 DELAY 0.5 NEXT K END,A1,A2,現在位置,X,Y,+,-,+,-,从DOUT(1)到DOUT(10) 按顺序为,从DOUT(2)到DOUT(10) 按顺序
13、为,使DOUT(1)为,20,实习课题(3),请将实习课题(2)编制的程序的WAIT语句变更为使用语句的 程序。 A1下端侧手臂闭(OFF);A3下端侧手臂开(ON) 空气电磁阀输出为DOUT(5)。 手臂闭检验 DIN(5,-6) 手臂开检验DIN(-5,6) 当A2侧DIN(2)为ON后,启动直线插补。 (准备确认) 通过直线插补返回到A2后,使DOUT(1)为 ON。 (作业结束) 在最后的程序段侧使DOUT(1)为OFF,A1,A2,A3,现在位置,X,Y,+,-,+,-,SPEED=80,SPEED=80,SPEED=50,2秒钟待机,21,实习课题()解答,PROGRAM TEST
14、 SPEED=80 MOVE A1 MOVE A1+POINT(0,0,-100) DOUT(-5) WAIT DIN(5,-6) MOVE A1 MOVE A2 L1: IF DIN(2) THEN GOTO L2 GOTO L1 L2: MOVES A2+POINT(80) WITH SPEED=50 DELAY 2. MOVES A2 WITH SPEED=50 DOUT(2) MOVE A3 MOVE A3+POINT(0,0,-100),DOUT(5) WAIT DIN(-5,6) MOVE A3 DOUT(-2) END,22,实习课题(),摁压着UF1键时,UF1灯点亮, 离开后
15、,灯熄灭。 摁压着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段,23,实习课题(4)解答,PROGRAM TEST1 L1: IF DIN(63) THEN DOUT(63) IF DIN(-63) THEN DOUT(-63) IF DI
16、N(64) THEN DOUT(64) IF DIN(-64) THEN DOUT(-64) GOTO L1 END,PROGRAM TEST2 L1: IF DIN(63) THEN GOTO L10 L2: IF DIN(-63) THEN GOTO L20 L3: IF DIN(64) THEN GOTO L30 L4: IF DIN(-64) THEN GOTO L40 L5: GOTO L1: L10: DOUT(63) GOTO L2 L20: DOUT(-63) GOTO L3 L30: DOUT(64) GOTO L4,L40: DOUT(-64) GOTO L5 END,24
17、,子程序,机械手程序由数个程序与位置数据构成。 所谓数个程序的含义就是个主程序和数个子程序。,例) PROGRAM TEST MOVE A1 SUB END PROGRAM SUB MOVE A2 SUB1 MOVE A3 END PROGRAM SUB1 DOUT(201,-202) END,主程序,子程序,子程序,ABC,EFG,RETURN,END,END,END,ABC,EFG,请指定按子程序的PROGRAM语句指定的程序名。 子程序名为英文字符,为字符的英文、数字字符。 要示教的位置数据在主、子程序侧可以共通使用。 子程序的组最大为7组。 使用在主、子程序侧共通变量的时候,请按GLO
18、BAL说明。,25,快捷动作,PASS=通过率(指定快捷(short cut)动作的通过率) ENABLE PASS 开始进行快捷动作 DISABLE PASS 结束进行快捷动作,例) PROGRAM TEST PASS=80 MOVE A1 ENABLE PASS MOVE A1+POINT(0,0,50,0) MOVE A2+POINT(0,0,50,0) DISABLE PASS MOVE A2 ENABLE PASS MOVE A2+POINT(0,0,50,0) MOVE A1+POINT(0,0,50,0) DISABLE PASS END,A1,A2,X,是通过示教点近旁,向下一
19、个示教点方向的动作。 谋求移动时间的缩短,可以缩短循环时间。 注)根据示教点的位置关系以及程序,也有不能进行 通过动作的情况发生。,通过率为80时的动作,X,80 %,100 %,26,机械手程序的先解析,机械手程序的先解析 所谓先解析就是指为实现简捷动作等,在动 作前先对最大4个动作指令进行解析。此时, 若输入输入输出指令,则会因NOWAIT系统 变量而出现不同的结果。,ENABLE NOWAIT 不等待机械手动作结束,直接进行输入输出信号的处理。 DISABLE NOWAIT 等待机械手动作结束后,进行输入输出信号的处理。,例) PROGRAM TEST RESET DOUT DELAY
20、2.0 WAIT MOTION =100 ENABLE NOWAIT ENABLE PASS MOVE A1 DOUT(1) MOVE A2 DOUT(2) MOVE A3 DOUT(3) MOVE A4 DOUT(4) WAIT MOTION = 100 DISABLE NOWAIT END,DISABLE NOWAIT,EABLE NOWAIT,27,停止机械手程序的先解析,先解析的停止 通过WAIT 指令,先解析可以停止解析。 例 WAIT DIN(1) WAIT MOTION =80 用DEALY指令不能停止先解析。,EABLE NOWAIT,例) PROGRAM TEST RESET
21、 DOUT ENABLE NOWAIT MOVE A1 WAIT MOTION=80 DOUT(1) MOVE A2 WAIT MOTION=100 DOUT(2) END,A1,A2,现在位置,X,Y,+,-,+,-,移动的80以上时,执行DOUT(1),移动的100以上时,执行DOUT(2),80%,28,实习课题(5),请在实习课题(2)中编制的程序中添加或变更下列所记内容。 添加、变更内容) 请将手臂闭(OFF)以及其状态确认、手臂开(ON)以及其状态确认 制定为子程序。 确认达到A1以及A3的最下限的移动,并移动到下一个程序段。 由直线插补返回到A2途中达到50后, 使DOUT(2)
22、为ON。 要缩短循环时间, 请设定通过(pass)为60。,A1,A2,A3,现在位置,X,Y,+,-,+,-,SPEED=80,SPEED=80,SPEED=50,2秒钟待机,A1,A3,DOUT(2),29,实习课题(5)解答,PROGRAM TEST PASS=60 ENABLE PASS SPEED=80 MOVE A1 MOVE A1+POINT(0,0,-100) WAIT MOTION=100 SUBCHUCK MOVE A1 MOVE A2 L1: IF DIN(2) THEN GOTO L2 GOTO L1 L2: MOVES A2+POINT(80) WITH SPEED=
23、50 DELAY 2. ENABLE NOWAIT MOVES A2 WITH SPEED=50 WAIT MOTION=50 DOUT(2) DISABLE NOWAIT,MOVE A3 MOVE A3+POINT(0,0,-100) WAIT MOTION=100 SUBUNCHUCK MOVE A3 DOUT(-2) DISABLE PASS END SUBCHUCK DOUT(-5) WAIT DIN(5,-6) RETURN END SUBUNCHUCK DOUT(5) WAIT DIN(-5,6) RETURN END,30,条件监视(中断处理),ON 条件 DO 语句 在机械手动
24、作中进行条件监视,当条件为真 时,执行继DO后的语句。 IGONORE 条件 解除通过ON指令指定的条件监视。,例) PROGRAM SAMPLE ENABLE NOWAIT RESET DOUT MOVE A1 WAIT MOTION=100 WAIT DIN(-1) DOUT(-1) ON DIN(1) DO DOUT(1) MOVE A2 MOVE A3 WAIT MOTION =100 IGNORE DIN(1) END,A1,A2,A3,现在位置,X,Y,+,-,+,-,等待到DIN(1)为OFF, DOUT(1)为OFF。,由A1位置向A2或A3移动 途中,若DIN(1)为ON,
25、则DOUT(1)为ON。,X,A3定位结束后(100) 解除条件监视。,WAIT MOTION =100的指令没有时, 在A2位置侧解除条件监视。,31,条件监视(中断处理/停止动作 ),ON 条件 BREAK DO 语句 在机械手动作中进行条件监视,当条 件为真时,停止机械手动作,并执行继DO 后的语句。,例) PROGRAM SAMPLE ENABLE NOWAIT SPEED=5 WAIT DIN(1) ON DIN(-1) BREAK DO SUB MOVE A1 MOVE A2 MOVE A3 WAIT MOTION =100 IGNORE DIN(-1) END PROGRAM S
26、UB WAIT DIN(1) ON DIN(-1) BREAK DO RESUME END,A1,A2,A3,现在位置,X,Y,+,-,+,-,等待到DIN(1)为 ON。,由A1位置向A2或A3方向移动 途中,DIN(1)为ON时,进行 减速停止,并呼叫SUB。,X,A3定位结束后(100) 解除条件监视。,在SUB侧等待到DIN(1)为OFF。,SUB,32,全程变量定义,GLOBAL 变量 对能从程序中任意一个起可参照的大区域的变 量进行定义 END,例) GLOBAL A=1 END PROGRAM SAMPLE SUB PRINT “A=“,A,CR DELAY 1 END PROG
27、RAM SUB A=A+1 END,GLOBAL内说明的变量可在 主程序及子程序中作同一变量使用。 主程序及子程序中说明的变量,只能在此中使用。,能使用的类型有:整数型、实数 型、位置型、坐标型、负荷型。 例) 整数型 A=1 实数型 B=1.0 排列型 DIM D(10) AS INT 整数 DIM E(10,3) AS REAL 实数 DIM F(5) AS POINT 位置 排列必须按GLOBAL说明。,33,排列,DIM 字符串(变量) AS 数据型 根据字符串、变量、数据型 排列名 生成排列名。,例) GLOBAL DIM P(5) AS POINT END ROGRAM SAMPL
28、E WAIT DIN(1) FOR K=1 TO 5 DOUT(-3) MOVE P(K) DOUT(3) NEXT K END DATA POINT P(1)= 185.892, 249.492, 55.000, 159.998, 0.0/RIGHTY POINT P(2)= 125.357, 356.345, 50.000, 90.345, 0.0/RIGHTY POINT P(3)= 201.356, 345.892, 33.000, 174.893, 0.0/RIGHTY POINT P(4)= 98.372, 125.876, 45.000, 34.692, 0.0/RIGHTY P
29、OINT P(5)= 155.892, 263.492, 99.000, 24.994, 0.0/RIGHTY END,GLOBAL DIM A(10) AS INT : 整数型 A(1),A(2) A(10)DIM B(3,3) AS REAL : 实数型 B(1,1),B(1,2)B(3,3)DIM C(5,2) AS POINT : 位置型 C(1,1),C(1,2)C(5,2)DIM D(3) AS TRANS : 坐标系 D(1),D(2) D(3)DIM E(7) AS PAYLOAD : 负荷型 E(1),E(2) E(7) END,34,信息的显示,PRINT 信息 示教操作手
30、柄上显示信息。 显示用双引号(“ ”)的字符串 若指定变量,则会显示变量的值 信息,用(,)区分,可以显示数个 最后,若带有(,CR)符号,则会在信息显示后换 行,例) PROGRAM SAMPLE K=1 PRINT “ * WELCOME * K=”,K,CR END,* WELCOME * K= 1,TP 显示,PRINT 通信信道 没有指定COM0,COM1,TP等 通信信道的时候,TP为通信 信道。,35,计时器与注释,TIMER 按系统变量TIMER设定秒单位的值。 系统变量TIMER为减法计时。,例) PROGRAM SAMPLEWAIT MOTION=100 TIMER=100
31、.0 MOVE A1 MOVE A2 MOVE A3 WAIT MOTION=100 PRINT 100.0-TIMER,CR END,REMARK 程序中所记述的注释。 取代REMARK,也可以记述为。 之后,行结束前作注释处理。,显示由A1点到A3点移动结束为止的 动作时间。,3.325,TP 显示,TIMER的值为96.675秒,例) PROGRAM SAMPLE MOVE A1 WAITING POSITION * COMMENT * MOVE A2 END,红色字体为程序内的注释。,36,实习课题(6),注释输出在实习课题(5)中编制的程序的手臂开闭确认和准备确认,并在TP侧显示一系
32、列动作的循环时间。此外,变化动作速度后,要确认循环时间的不同变化。,A1,A2,A3,现在位置,X,Y,+,-,+,-,SPEED=80,SPEED=80,SPEED=50,2秒钟待机,A1,A3,DOUT(1),37,实习课题(6)解答,PROGRAM TEST TIMER =300 PASS=60 ENABLE PASS SPEED=80 MOVE A1 MOVE A1+POINT(0,0,-100) WAIT MOTION=100 SUBCHUCK MOVE A1 MOVE A2 L1: IF DIN(2) THEN GOTO L2 GOTO L1 L2: MOVES A2+POINT(
33、80) WITH SPEED=50 DELAY 2. ENABLE NOWAIT MOVES A2 WITH SPEED=50 WAIT MOTION=50 DOUT(2),DISABLE NOWAIT MOVE A3 MOVE A3+POINT(0,0,-100) WAIT MOTION=100 SUBUNCHUCK MOVE A3 DOUT(-2) DISABLE PASS PRINT ”CYCLETIME= ”,300-TIMER ,CR END SUBCHUCK DOUT(-5) WAIT DIN(5,-6) RETURN END SUBUNCHUCK DOUT(5) WAIT DIN
34、(-5,6) RETURN END,38,码垛堆积,码垛堆积(palletising) 装载码垛堆积库,并进行初始设定。 码垛堆积的位置(点)使用排列。 示教点仅设3点示教,例) GLOBAL LOADLIB PALLET.LIB DIM PLTP(1,7) AS POINT END PROGRAM SAMPLE INITPLT(1,4,5,1) FOR I=1 TO 20 STEP 1 HANDOP MOVE P0+POINT(0,0,30,0) MOVE P0 CLOSEI MOVE P0+POINT(0,0,30,0) MOVEPLT(1,I,0,0,30,0) MOVEPLT(1,I,
35、0,0,0,0) OPENI MOVEPLT(1,I,0,0,30,0) NEXT I END,4行5列1段,部件供给位置,装载码垛堆积库。,P0,PLTP(1,1),PLTP(1,2),PLTP(1,3),说明托板的位置。 (1,7)中的“1”为托板枚数; “7”为常数,托板的初始设定 第1枚,4行5列 ,第1段,供给位置P0上以30mm移动,P0侧 夹持部件,然后上升30mm。,MOVEPLT(1,I,0,0,30,0)为 1枚托板、I 号、X,Y,Z,C的补偿 I 号部件上以30mm移动,然后下降30mm, 放置部件,返回30mm。,39,实习课题(7),从供给托板(4行5列1段)起按部件检查位置进行检查。 DIN(1)为ON的时候 为合格品;DIN(2)为ON的时候为不合格品。 合格品的时候,会按顺序进入接纳托板侧。 不合格品的时候,会移动到不合格品位置侧,作废弃。 手臂开闭的空气电磁阀输出为DOUT(5),进行手臂开(ON)闭(OFF) 手臂闭检验 DIN(5,-6) 手臂开检验DIN(-5,6),部品的检查,供给托板1,接纳托板2,废弃,DIN(-1,2) 不合格品,DIN(1,-2) 合格品,Z,Z,Z,