Автоматизация технологического процесса на базе стенда «StationAssemblyRV3SB»

Автор: Пользователь скрыл имя, 02 Апреля 2012 в 19:06, дипломная работа

Описание работы

Промышленная робототехника является одним из новых направлений автоматизации производственных процессов, начало развития, которого в нашей стране относится к последнему десятилетию. Комплексный подход к решению технико-экономических и социальных задач, связанных с внедрением их промышленных роботов (ПР), позволил высвободить около 2000 рабочих. В процессе создания, производства и внедрения ПР приходилось сталкиваться с решением ряда сложных научно-технических проблем. Получен большой, опыт по разработке робототехнических комплексов (РТК) и организации автоматизированного производства на базе ПР

Содержание

ВВЕДЕНИЕ…………………………………………………………………………….3
1.ВИРТУАЛЬНЫЙ СТЕНД ДЛЯ СБОРКИ ИЗДЕЛИЯ………………………..…...6
1.1 Функции и задачи виртуального стенда………………………………………...6
1.2.1 Состав оборудования………………………………………………………..…..7
1.2.2 Техническое задание…………………………………………………………....14
1.2.3. Робот типа «Гибкая рука»…………………………………………………......15
1.2.4. Контроллер CR 1 – 571…………………………………………………….…..20
1.2.5. Параллельный захват…………………………………………………………..25
2.РАЗРАБОТКА ПРОГРАММЫ УПРАВЛЕНИЯ……...…………….…………….27
2.1.Среда разработки…………………………………………………………….……27
2.2.Язык программирования Melfa Basic IV……………………………………….. 28
2.3. Основные операции……………………………………………………………...29
3.СИСТЕМЫ СИМУЛЯЦИИ И СВЯЗИ…………………………………………….31
БИБЛИОГРАФИЧЕСКИЙ СПИСОК………………………………………………..35
Приложения……………………………………………………………………….36-71

Работа содержит 1 файл

диплом.docx

— 2.95 Мб (Скачать)

1590  PHELP2 = (+0.00,-2.00,+40.00,+0.00,+0.00,+0.00)

1600  PHELP3 = (+0.00,+0.00,+100.00,+0.00,+0.00,+0.00)

1610

1620  '------------------------------------------------------------------------------

1630  ' Test source position

1640  '------------------------------------------------------------------------------

1650  *TESTS

1660  IF PFEDAV = 0 THEN                  

1670      M_00  = 6                         

1680      GOTO *ENDE              

1690  ENDIF

1710 

1720  ' Test target position

1730 

1740  *TESTT

1750  IF FWORKP = 0 OR FCYL1 = 0 OR FCYL2 = 0 THEN 

1760      M_00  = 8                          

1770      GOTO *ENDE              

1780  ENDIF

1790  '------------------------------------------------------------------------------

1800  ' Pick workpiece at source position

1810  '------------------------------------------------------------------------------

1820  *PICK

1830  MOV PINIT       

 

1840  HOPEN 1                                

1850  WAIT GROPEN = 1                        

1860  MOV PHELP1                             

1870  PICK1  = 40                            

1880  MOV PPFD,-PICK1                        

1890  SPD 50                                 

1900  MVS PPFD                               

1910  DLY 0.5                                

1920  HCLOSE 1                               

1930  WAIT GRCLOSE = 1                       

1940  DLY 1                                  

1950  MVS PPFD+PHELP2                        

1960  MVS PPFD +PHELP2,-PICK1

1970  '------------------------------------------------------------------------------

1980  ' Place workpiece at target position

1990  '------------------------------------------------------------------------------

2000  *PLACE

2010  PLACE1  = 35                           

2020  MOV PHELP1                             

2030  MOV PPAS+PHELP3                        

2040  MVS PPAS                               

2050  DLY 0.5                                

2060  HOPEN 1                                

2070  WAIT GROPEN = 1                        

2080  DLY 0.5                                

2090  MVS PPAS+PHELP3                        

2100  MOV PHELP1                             

2110  MOV PINIT                              

2120  *ENDE

2130  END

 

 

 

 

 

INIT

1070  'Inputs

1080  DEF IO ASTART   = BIT,1                    

1090  DEF IO ASTOP    = BIT,2                    

1100  DEF IO KSWITCH  = BIT,3                    

1110  DEF IO RRESET   = BIT,4                    

1120  DEF IO P1AV     = BIT,5                    

1130  DEF IO P2AV     = BIT,6                    

1140  DEF IO P3AV     = BIT,7                    

1150  DEF IO P4AV     = BIT,8                    

1160  DEF IO FCYL1    = BIT,9                    

1170  DEF IO FCYL2    = BIT,10                   

1180  DEF IO FWORKP   = BIT,11                   

1190  DEF IO FED1AV   = BIT,12                   

1200  DEF IO FED2AV   = BIT,13                   

1210  DEF IO PFEDAV   = BIT,14                   

1220  DEF IO GROPEN   = BIT,900                  

1230  DEF IO GRCLOSE  = BIT,901                  

1240  'Outputs

1250  DEF IO HSTART   = BIT,0                    

1260  DEF IO HRESET   = BIT,1                    

1270  DEF IO LEDQ1    = BIT,2                    

1280  DEF IO LEDQ2    = BIT,3                    

1290  DEF IO VFCYL1   = BIT,4                    

1300  DEF IO VFCYL2   = BIT,5                    

1310  DEF POS PINIT

1320  DEF INTE M1

1330

1340  *LOOP

1350  M1 = 0                                     

1360  HRESET = 1                                 

1370  DLY 0.5                                    

1380  HRESET = 0                                 

1390  DLY 0.5            

                       

1400  'IF RRESET = 0 THEN GOTO *LOOP             

 

1410  HRESET = 1                                 

1420  LEDQ1 = 0                                  

1430  LEDQ2 = 0                                  

1440  SERVO ON                                   

1450  VFCYL1 = 0

1460  VFCYL2 = 0

1470  IF P1AV = 1 THEN                           

1480      LEDQ1 = 1                              

1490      M1 = 1                                 

1500  ENDIF

1510  IF P2AV = 1 THEN                           

1520      LEDQ1 = 1                              

1530      M1 = 1                                 

1540  ENDIF

1550  IF P3AV = 1 THEN                           

1560      LEDQ1 = 1                              

1570      M1 = 1                                 

1580  ENDIF

1590  IF P4AV = 1 THEN                           

1600      LEDQ1 = 1                              

1610      M1 = 1                                 

1620  ENDIF

1630  IF FED1AV = 0 THEN                         

1640      LEDQ2 = 1                              

1650      M1 = 1                                 

1660  ENDIF

1670  IF FED2AV = 0 THEN                         

1680      LEDQ2 = 1                              

1690      M1 = 1                                 

1700  ENDIF

1710  IF FWORKP = 1 THEN                         

1720      LEDQ1 = 1     

                        

1730      M1 = 1                                 

1740  ENDIF

 

1750  IF M1 = 1 THEN GOTO *LOOP                  

1760  JOVRD 30                                   

1770  MOV PINIT                                  

1780  HOPEN 1                                    

1790  WAIT GROPEN = 1                            

1800  M_RESET = 1                                

1810  END

 

MAIN

 

1060  Inputs

1070  DEF IO ASTART   = BIT,1          

1080  DEF IO ASTOP    = BIT,2          

1090  DEF IO RRESET   = BIT,4          

1100  'Outputs

1110  DEF IO HSTART   = BIT,0          

1120  DEF IO HRESET   = BIT,1          

1130  M_19 = 0                         

1140  *LOOP1

1150  M_OUTW(0) = 0                    

1160  M_AUTO = 0                       

1170  M_RESET = 0                      

1180  M_EMERG = 0                      

1190  HRESET = 1                       

1200  WAIT M_ERR(1) = 0                

1210  WAIT M_PSA(1) = 1                

1220  XLOAD 1,"INIT"                   

1230  XRUN 1,"INIT",1                  

1240  M_EMERG = 0                      

1250  IF M_EMERG = 1 THEN GOTO *

1260  IF M_RESET = 0 THEN GOTO 1250     

 

1270  M_EMERG = 0                      

1280  *LOOP2

1290  HSTART = 1                       

1300  DLY 0.5                          

1310  HSTART = 0                       

1320  DLY 0.5                          

1330  IF M_EMERG = 1 THEN GOTO *LOOP1  

1340  IF ASTART = 0 THEN GOTO *LOOP2   

1350  HSTART = 1                       

1360  M_AUTO = 1                       

1370  IF M_EMERG = 1 THEN GOTO *LOOP1  

1380  IF ASTOP = 1 THEN GOTO 1370      

1390  M_AUTO = 0                       

1400  HSTART = 0                       

1410  GOTO *LOOP2                      

1420  END

 

MINST

 

1280  'Define Inputs

1290  DEF IO ASTART   = BIT,1                  

1300  DEF IO ASTOP    = BIT,2                  

1310  DEF IO KSWITCH  = BIT,3                  

1320  DEF IO RRESET   = BIT,4                  

1330  DEF IO P1AV     = BIT,5                  

1340  DEF IO P2AV     = BIT,6                  

1350  DEF IO P3AV     = BIT,7                  

1360  DEF IO P4AV     = BIT,8                  

1370  DEF IO FCYL1    = BIT,9                  

1380  DEF IO FCYL2    = BIT,10                 

1390  DEF IO FWORKP   = BIT,11                 

1400  DEF IO FED1AV   = BIT,12                 

1410  DEF IO FED2AV   = BIT,13                 

1420  DEF IO PFEDAV   = BIT,14                 

 

1430  DEF IO GROPEN   = BIT,900                

1440  DEF IO GRCLOSE  = BIT,901                

1450

1460  'Define Outputs

1470  DEF IO HSTART   = BIT,0                  

1480  DEF IO HRESET   = BIT,1                  

1490  DEF IO LEDQ1    = BIT,2                  

1500  DEF IO LEDQ2    = BIT,3                  

1510  DEF IO MASSP1   = BIT,4                  

1520  DEF IO MASSP2   = BIT,5                  

1530  DEF IO VFCYL1   = BIT,6                  

1540  DEF IO VFCYL2   = BIT,7                  

1550

1560  'Define arrays

1570  DIM PFD(2)                               

1580  DIM PASM(2)                              

1590

1600  'Define local variables

1610  DEF INTE PICK1                           

1620  DEF INTE PLACE1                          

1630  DEF INTE MSOURCE                         

1640  DEF INTE MTARGET                         

1650  DEF INTE MANGLE                          

1660

1670  'Define positions

1680  DEF POS PHELP1                           

1690  DEF POS PTEST                            

1700  DEF POS PINIT                            

1710  DEF POS PANGLE                           

1720  DEF POS AUXPOS                           

1730

1740  PHELP1 = (+100.00,+100.00,+0.00,+0.00,+0.00,+0.00)

1750  PANGLE = (+0.00,+0.00,+0.00,+0.00,+0.00,+0.00)

1760  MANGLE = 0

 

1770  ACCEL 100 , 100                          

1780  JOVRD 80                                 

1790  SPD 150                                  

1800  MSOURCE = M_00                           

1810  MTARGET = M_01                           

1820  MANGLE  = M_02                           

1830  M_00  = 0                                

1840  M_01  = 0                                

1850  M_02  = 0                                

1860  '------------------------------------------------------------------------------

1870  ' Test source position

1880  '------------------------------------------------------------------------------

1890  *TESTS

1900  IF (MSOURCE < 1 OR MSOURCE > 2)AND(MSOURCE<>5) 

1910      M_00  = 30                           

1920      GOTO *ENDE                           

1930  ENDIF

1940  SELECT MSOURCE                           

1950  CASE 1

1960      IF FED1AV = 0 THEN

1970          M_00  = 6

1980          GOTO *ENDE

1990      ENDIF

2000  BREAK

2010  CASE 2

2020      IF FED2AV = 0 THEN

2030          M_00  = 6

2040          GOTO *ENDE

2050      ENDIF

2060  BREAK

2070  CASE 3

2080      IF FWORKP = 0 OR FCYL1 = 0 OR FCYL2 = 0 THEN

2090          M_00  = 8

2100          GOTO *ENDE

 

2110      ENDIF

2120  BREAK

2130  CASE 4

2140      IF FWORKP = 0 OR FCYL1 = 0 OR FCYL2 = 0 THEN

2150          M_00  = 8

2160          GOTO *ENDE

2170      ENDIF

2180  BREAK

2190  END SELECT

2200  '------------------------------------------------------------------------------

2210  ' Test target position

2220  '------------------------------------------------------------------------------

2230  *TESTT

2240  IF (MTARGET < 3 OR MTARGET > 5)

2250      M_00  = 40                           

2260      GOTO *ENDE                           

2270  ENDIF

2280  SELECT MTarget

2290  CASE 3

2300      IF FWORKP = 0 OR FCYL1 = 0 OR FCYL2 = 0 THEN

2310          M_00  = 8

2320          GOTO *ENDE

2330      ENDIF

2340  BREAK

2350  CASE 4

2360      IF FWORKP = 0 OR FCYL1 = 0 OR FCYL2 = 0 THEN

2370          M_00  = 8

2380          GOTO *ENDE

2390      ENDIF

2400  BREAK

2410  END SELECT

 

 

 

 

2420  '------------------------------------------------------------------------------

2430  ' Test test position

2440  '------------------------------------------------------------------------------

2450  IF (MANGLE < -180 OR MANGLE > 180) THEN 

2460      M_00  = 50

2470      GOTO *ENDE

2480  ENDIF

2490  '------------------------------------------------------------------------------

2500  ' Pick workpiece at source position

2510  '------------------------------------------------------------------------------

2520  *PICK

2530  HOPEN 1                               

2540  WAIT GROPEN = 1                          

2550  IF (MSOURCE= 1 OR MSOURCE = 2) THEN

2560      MOV PINIT                            

2570      PICK1  = 15                          

2580      MOV PFD(MSOURCE),-PICK1              

2590      SPD 150                              

2600      MVS PFD(MSOURCE)                     

2610      DLY 0.5                              

2620      HCLOSE 1                             

2630      WAIT GRCLOSE = 1                     

2640      DLY 0.5                               'delay 0.5 s

2650      MVS PFD(MSOURCE),-PICK1              

2660  ENDIF

2670  IF MSOURCE= 5  THEN

2680      PICK1  = 30                          

2690      PANGLE.C = RAD(-MANGLE)               

2700      MOV PTEST*PANGLE ,-PICK1             

2710      HOPEN 1                              

2720      WAIT GROPEN = 1                      

2730      MVS PTEST *PANGLE                    

2740      HCLOSE 1                             

2750      WAIT GRCLOSE = 1                     

 

2760      DLY 0.5                              

2770      MVS PTEST*PANGLE,-PICK1             

2780      MOV (PTEST+PHELP1)*PANGLE,-PICK1    

2790  ENDIF

2800  '------------------------------------------------------------------------------

2810  ' Place workpiece at target position

2820  '------------------------------------------------------------------------------

2830  *PLACE

2835      MOV PINIT                            

2840  PLACE1 = 50

2850  IF (MTARGET = 3 OR MTARGET =4) THEN AUXPOS = PASM(MTARGET-2)

2860  IF MTARGET = 5 THEN AUXPOS = PTEST

2870  MOV AUXPOS,-PLACE1                       

2880  MVS AUXPOS                               

2890  DLY 0.5                                  

2900  HOPEN 1                                  

2910  WAIT GROPEN

2920  MVS AUXPOS,-PLACE1                       

2930  IF MTARGET = 5 THEN MOV AUXPOS,-PLACE1

2940  IF (MTARGET =3 OR MTARGET = 4) THEN MOV PINIT

2950

2960  *ENDE

2970  END

 

MP

 

1270  'Inputs

1280  DEF IO P1AV     = BIT,5                      

1290  DEF IO P2AV     = BIT,6                      

1300  DEF IO P3AV     = BIT,7                      

1310  DEF IO P4AV     = BIT,8                      

1320  DEF IO GROPEN     = BIT,900                  

1330  DEF IO GRCLOSE    = BIT,901                  

1340  'definitions

 

1350  DEF INTE PICK1

1360  DEF INTE PLACE1

1370  DEF INTE MSOURCE

1380  DEF INTE MTARGET

1390  DEF POS PHELP1

1400  DEF POS PHELP2

1410  DEF POS PINIT

1420  DIM PPAL(15)

1430  ACCEL 80 , 80                              

1440  JOVRD 50                                   

1450  SPD 100                                    

1460  MSOURCE=M_00                              

Информация о работе Автоматизация технологического процесса на базе стенда «StationAssemblyRV3SB»