Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
(EOD).Mechatronics.pdf
Скачиваний:
81
Добавлен:
23.08.2013
Размер:
5.07 Mб
Скачать

 

 

page 646

Resolution

?? deg.

Speed

 

 

max. speed

100 deg/sec

 

max. torque

?? in.lbs

• wrist roll

 

motion

revolute

Range

+/-180 degrees

Resolution

?? deg.

Speed

 

 

max. speed

163 deg/sec

 

max. torque

?? in.lbs

• The workspace is pictured below,

 

 

 

 

782mm

57mm

482mm

39.2.3.4 - Movemaster Programs

• All comments follow a semi-colon at any position on a line

page 647

Statements are ended with a colon, and as long as colons are used, more than one statement can be used on a line.

Line numbering is required.

Dimensions are given in millimeters in the programs.

A sample program is given below with comments for explanation,

10 NT

20 SP 7 ; set speed

30 MO 10, C ;move to position 10 with the hand closed 40 MO 9, O ;move to position 9 with the hand opened 50 TI 40 ;stop for 4 seconds

60 GT 30 ;goto line 30

39.2.3.4.1 - Language Examples

• The example below shows how points are defined and used. Please be aware that point location values are not normally defined in a program. Normally they are programmed by hand, and then when the program is run, it refers to them by number (from 1 to 629)

page 648

10 NT ; move to the nest or neutral position, this is almost straight up 20 OG ; move to the reference or zero position

30 TL 20 ; this will set the tool length as 20mm for all cartesian position calculations 40 PD 3, 0, 350, 250, -10, -20 ; define position #3 with joint angles

50 MO 3 ; move the robot to position #3

60 DW 20,20,0; a cartesian move 20 mm in the x and 20 mm in the y directions 70 HE 4; stores the current location as position #4

80 IP; moves the tool to position #5 ; assume that positions 5-10 are already defined 90 MC 6,10 ; continuous motion through positions 6, 7, 8, 9 and then stop at point 10 100 DP; the robot moves to position #9 and stops

110 PD 11, 0, 0, 10, 0, 0 ; define a vector (point #11) with only a z component

120 MA 9, 11, O ; move away from point #9 a distance of vector #11 with gripper open 130 MJ 10, 10, 0, 0, 0 ; move the joints (shoulder and elbow) 10 degrees

140 MP 10, 20, 30, 40, 50 ; move to cartesian position (10,20,30) with roll=40,pitch=50 150 SP 3 ; set the speed low to increase accuracy

160 MS 8, 5 ; straight line motion to point #8 as approximated with 5 knot points 170 MT 8, -40 ; causes the tool to move 40mm straight back from point #8

• The example below shows how we can define and use pallets. The definition of a pallet covers a number of lines to define the pallet size and then the location. We must also define points to indicate where the pallet lies in space. For the example below these points would have to be position numbers 20 (pallet origin), 21 (origin to end of first column), 22 (origin to end of first row), 23 (origin to diagonal corner of pallet). Note: if using pallet #3 these counters would be 30-33, and point 3 would move.

20 PA 2, 3, 4 ; pallet #2 is defined as having 3 columns and 4 rows

30 SC 21, 1 ; set counter #21 for columns to 1 - each pallet # has dedicated counters 40 SC 22, 2 ; set counter #22 for rows to 2 - each pallet # has dedicated counters

50 PT 2 ; calculates the point for pallet #2 to move to - this will become point #2 60 MO 2 ; move to the new position just calculated

70 SC 22,3 ; move the counter to the next row 80 PT 2 ; calculate a new pallet position

90 MO 2 ; move to the new pallet position

• The example below shows some of the position commands. These positions are normally defined outside the program by moving the robot to desired locations. These positions are not always absolute, and in some cases will act as displacement vectors.

page 649

10 PC 1; the clears the position #1 value

20 PD 2, 0, 300, 250, 50, -30 ; define position 2 with cartesian x,y,z and pitch,roll 30 HE 3 ; defines the current robot position as position #3

40 PX 1,2 ; the values of positions #1 and #2 have been swapped 50 PD 4, 0, 20, 0, 0, 0 ; define a new position

60 SF 1, 4 ; this will add #4 to #1 and store it in #1 becoming (0, 320, 250, 50, -30)

• The example below shows some of the counter and branching functions. These tend to use a status register approach - for example, a value to be compared will be loaded on one line, the next line will compare it and a branch instruction will occur on the specified condition. For-next loops have been constructed as part of this example.

10 SC 1, 2 ; set counter 1 to a value of 2

20 CP 1 ; load counter #1 into the comparison register

30 EQ 10, 100 ; if the value loaded in the last line is 10, jump to line 100 40 IC 1 ; increment the value of counter #1

50 GT 20 ; goto line 20 to continue the loop 100 DC 1 ; decrement the value of counter #1

110 CP 1 ; load counter #1 into the comparison register

120 LT 1, 100 ; if the value loaded in the last line is larger than 1, jump to line 100 150 GS 200 ; goto the subroutine at line 200

160 ED ; end the program

200 RC 10 ; a for-next loop command 210 RC 5 ; a nested loop

220 NX ; this loop will cycle through the loop declared on line 210 230 NX ; this loop will cycle through the loop declared on line 200 240 RT ; return from the subroutine

• The example below shows how to use various gripper and I/O functions. There are eight input bits and 8 output bits available.

Соседние файлы в предмете Электротехника