Paso 8: Programación del robot
-M_Out (n) = 1: interruptor de activar o desactivar las salidas (por ejemplo interruptores neumáticos o motores)
-Esperar M_In (n) = 1: esperar una señal creciente (por ejemplo, las señales de los sensores inductivos)
-m1=M_Enc(1): cuando a partir de la función de seguimiento, da el valor instantáneo del codificador al entero de m1.
-Trk, pfog, m1: encender la función de rastreo del robot.
-Trk Off: apagar la función de seguimiento y volver al sistema de coordenadas "normal" del robot.
El código del programa completo (con comentarios Húngaro, es mi lengua madre, pero estoy viviendo en Alemania ahora :) ojala Google Traductor te ayudará también ;))
Servo en ' Robot szervo bekapcsolása
OVRD 70 ' os 70% sebesség
MOV phome2 ' un álljon de pozícióba de várakozási darab
' Futószalag összeszerelő ág nullázása (mert un frekvenciaváltó felfutó és lefutó élre es reagalaron).
M_Out (5) = 0 ' összeszerelő ág hátramenet nullázása
M_Out (6) = 0 ' összeszerelő ág előremenet nullázása
M_Out (8) = 0 ' visszavezető ág előremenet nullázása
M_Out (9) = 0 ' visszavezető ág hátramenet nullázása
'
' Előtt de kezdés Vizsgálat: ha un no a paletta un ponton kiindulási, oda kell vinni.
Si M_In (4) = 0 Then GoSub * visszavezet ' ha az első induktív jele 0, akkor no a ott a paletta
* visszavezet
Si M_In (4) = 1 Then GoTo * indit ' mivel ez rekurzív programrész, ha mar ott paletta, kilépünk
M_Out (6) = 1 ' összeszerelő futószalag ág előre megy egy kicsit
M_Out (0) = 1 2. Szelep (összeszerelő végpont) behúz
M_Out (2) = 1 ' váltó Küls állásba tesz
M_Out (2) = 0 ' váltó nyomás visszavesz
DLY 7 ' eddigre biztos un végére ér una paletta az összeszerelő ágnak
M_Out (1) = 1 ' váltó belső állásba tesz
M_Out (1) = 0 ' leveszi un váltóról un nyomást
M_Out (6) = 0 ' összeszerelő futószalag ág leállítása
DLY 0.5
M_Out (9) = 1 ' visszavezető ág futószalag beindul visszafelé
M_Out (5) = 1 ' összeszerelő ág hátramenetbe kapcsol
Esperar M_In (4) = 1 ' addig vár, amíg az első induktív nem érzékel
M_Out (8) = 0 ' visszavezető futószalag leáll
DLY 1 ' un már de paletta un van de pontban kiindulási
M_Out (5) = 0 ' összeszerelő ág hátra leáll
Si M_In (4) = 1 Then GoTo * indit
Volver
* indit
M_Out (6) = 1 ' összeszerelő ág előremenetben comenzar
M_Out (4) = 1 1. Szelep behúz
M_Out (2) = 1 ' váltó Küls állás
M_Out (2) = 0 ' váltóról leveszi un nyomást
Esperar M_In (6) = 1 ' indítást érzékelő induktív bejelez
M1=M_Enc(1) ' ekkor felvesszük az enkóder pozícióját (szinkronizálás)
' * var
' abban az esetben szükséges csak, ha az indító érzékelő un robot munkaterén kívül van
' PC=TrWcur(1,pjel,m1) ' meg kell várnia a paletta beérkezését un munkatérbe
¿' Si PosCq(PC) <> 1 entonces GoTo * var ' beért-e un munkatérbe?
' Si PC. ¿Y > 350 entonces GoTo * var ' beért-e un távolságba szerelési? (350mm)
' Si PC. Y < 0 Then GoTo * var ' probléma esetén már túlment volna ' un távolságon szerelési
En el TRK, pjel, m1 ' comenzar de seguimiento
' pjel: fixen érték beállítandó, un robot koordinátarendszerében az induktív ' bejelzésekor un pozíciója munkadarab
' m1: az enkóder pozíciója, amikor un munkadarab elérte az induktívot
' innentől egy mozgó koordináta rendszerben leszünk, amelynek középpontja un munkadarab
MOV phenger, 10 ' felvesszük az első darabot
Phenger MVS
DLY 0.25
Hclose 1
DLY 0.25
MVS phenger, 10
Pkp MOV, 50
Pkp MVS
DLY 0.25
HOpen 1 ' leraktuk un hengert
DLY 0.25
Pkp MOV, 50
MOV pdugattyu, 10 ' dugattyúért megy
Pdugattyu MVS
DLY 0.25
Hclose 1 ' felvettük un dugattyút
DLY 0.25
MVS pdugattyu, 10
Pkp MOV, 50
Pkp MVS
DLY 0.25
HOpen 1 ' leraktuk un dugattyút
DLY 0.25
Pkp MOV, 50
MOV prugo, 10 ' rugóért megy
Prugo de MVS
DLY 0.25
Hclose 1 ' felvettük un rugót
DLY 0.25
MVS prugo, 10
Pkp MOV, 50
Pkp MVS
DLY 0.25
HOpen 1 ' leraktuk un rugót
DLY 0.25
Pkp MOV, 50
TRK apagado
Esperar M_In (7) = 1 ' addig vár, amíg az harmadik (összeszerelő ág vége) induktív nem érzékel
M_Out (4) = 0 1. Szelep kienged
M_Out (0) = 1 2. Szelep (összeszerelő végpont) behúz
Esperar M_In (7) = 0 ' addig vár, amíg az harmadik (összeszerelő ág vége) induktív előtt mar no a ott un darab (tehát kifutott un végpontig)
DLY 1
M_Out (6) = 0 ' összeszerelő ág futószalag előre leállít
M_Out (1) = 1 ' váltó belső állás
M_Out (1) = 0 ' váltó belső állást kell nullázni
M_Out (0) = 0 2. Szelep (összeszerelő végpont) kienged
M_Out (5) = 1 ' összeszerelő futószalag hátra indul
M_Out (9) = 1 ' visszavezető futószalag előre indul
Esperar M_In (6) = 1 ' addig vár, amíg az visszavezető induktív nem érzékel (de nem történik semmi)
Esperar M_In (4) = 1 ' addig vár, amíg az összeszerelő induktív nem érzékel (vissza nem ért un darab)
M_Out (5) = 0 ' összeszerelő futószalag hátra leáll
M_Out (9) = 0 ' visszavezető ág futószalag leáll
MOV phome2
Servo de
Equipo de alto nivel
'
' kimenetek és bemenetek listája
' szelepek
' M_Out (0) = 1 2. Szelep (összeszerelő végpont) behúz
' M_Out (0) = 0 ' végpont szelep kienged
' M_Out (1) = 1 ' váltó belső állásra vált
' M_Out (1) = 0 ' váltó belső állás nyomás levesz
' M_Out (2) = 1 ' váltó Küls állásra állít
' M_Out (2) = 0 ' itt nem kell nyomást levenni
' M_Out (3) = 1 ' behúz 3.szelep (visszavezető ág)
' M_Out (3) = 0 3. Szelep kienged
' M_Out (4) = 1 1. Szelep behúz
' M_Out (4) = 0 1. Szelep kienged
'
' Futószalag ágak nullázása (mindig kell, mert mindig un korábbi érték ellentétjére indul vagy áll meg).
' M_Out (5) = 0 ' futószalag leáll nullázással kezdünk
' M_Out (6) = 0 ' futószalag leáll nullázással kezdünk
' M_Out (8) = 0 ' másik futószalag előre leáll
' M_Out (9) = 0 ' másik futószalag előre leáll
'
' M_Out (5) = 1 ' összeszerelő ág futószalag hátra indul
' M_Out (5) = 0 ' összeszerelő ág futószalag leáll
' M_Out (6) = 1 '' összeszerelő ág futószalag előre indul
' M_Out (6) = 0 ' összeszerelő ág futószalag előre leáll
' M_Out (8) = 1 ' visszavezető ág futószalag hátra indul
' M_Out (8) = 0' visszavezető ág futószalag hátra leáll
' M_Out (9) = 1' visszavezető ág futószalag előre indul
' M_Out (9) = 0' visszavezető ág futószalag előre leáll
'
' induktívok
' Esperar M_In (4) = 1 ' addig vár, amíg az első induktív nem érzékel
' Esperar M_In (5) = 1 ' addig vár, amíg az indító induktív nem érzékel
' Esperar M_In (6) = 1 ' addig vár, amíg az visszavezető induktív nem érzékel
' Esperar M_In (7) = 1 ' addig vár, amíg az harmadik (összeszerelő ág vége) induktív nem érzékel