Stap 8: Programmeren van de robot
-M_Out (n) = 1: schakelaar in- of uitschakelen de uitgangen (b.v. pneumatische schakelaars of motoren)
-Wacht M_In (n) = 1: wachten op een stijgende signaal (bijvoorbeeld de signalen van de inductieve sensoren)
-m1=M_Enc(1): bij het starten van de tracking-functie, het geeft de momentane waarde van het coderingsprogramma op de m1 integer.
-Trk op, pfog, m1: inschakelen van de tracking-functie van de robot.
-Trk Off: uitschakelen van de tracking-functie, en terug te keren naar het "normale" coördinatensysteem van de robot.
De volledige programmacode (met Hongaarse reacties, dit is mijn moedertaal, maar ik ben woonachtig in Duitsland nu :) hopelijk Google vertaler u ook helpen zal ;))
Servo op ' Robot szervo bekapcsolása
Ovrd 70 ' 70%-os sebesség
MOV phome2 ' een Darabgerd várakozási pozícióba álljon
' Futószalag összeszerelő ág nullázása (mert een frekvenciaváltó felfutó és lefutó élre is reagál).
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
'
' Vizsgálat kezdés előtt: ha een paletta nincs een ponton voor kiindulási, oda kell vinni.
Als M_In (4) = 0 dan GoSub * visszavezet ' ha az első induktív jele 0 akkor nincs ott een paletta
* visszavezet
Als M_In (4) = 1 Then GoTo * indit ' mivel ez rekurzív programrész, ha mar ott een 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 een végére ér een paletta az összeszerelő ágnak
M_Out (1) = 1 ' váltó belső állásba tesz
M_Out (1) = 0 ' leveszi een váltóról een 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
Wachten 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 ' een paletta már een busje kiindulási pontban
M_Out (5) = 0 ' összeszerelő ág hátra leáll
Als M_In (4) = 1 Then GoTo * indit
Terugkeer
* indit
M_Out (6) = 1 ' összeszerelő ág előremenetben indítása
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 een nyomást
M_In (6) wachten = 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ükseges csak, ha az indító érzékelő een robot munkaterén kívül van
' PC=TrWcur(1,pjel,m1) ' meg kell várnia een paletta beérkezését een munkatérbe
' Als PosCq(PC) <> 1 dan GoTo * var ' beért-e een munkatérbe?
' Als PC. Y > 350 dan GoTo * var ' beért-e távolságba van een szerelési? (350mm)
' Als PC. Y < 0 dan GoTo * var ' probléma esetén már túlment volna ' een szerelési távolságon
TRK op, pjel, m1 ' bijhouden van indítása
' pjel: fixen beállítandó érték, een robot koordinátarendszerében az induktív ' bejelzésekor een munkadarab pozíciója
' m1: az enkóder pozíciója, amikor een munkadarab elérte az induktívot
' innentől egy mozgó koordináta rendszerben leszünk, that középpontja een munkadarab
MOV phenger, 10 ' felvesszük az első darabot
MVS-phenger
DLY 0,25
Hclose 1
DLY 0,25
MVS phenger, 10
MOV pkp, 50
MVS pkp
DLY 0,25
HOpen 1 ' leraktuk een hengert
DLY 0,25
MOV pkp, 50
MOV pdugattyu, 10 ' dugattyúért megy
MVS-pdugattyu
DLY 0,25
Hclose 1 ' felvettük een dugattyút
DLY 0,25
MVS pdugattyu, 10
MOV pkp, 50
MVS pkp
DLY 0,25
HOpen 1 ' leraktuk een dugattyút
DLY 0,25
MOV pkp, 50
MOV prugo, 10 ' rugóért megy
MVS-prugo
DLY 0,25
Hclose 1 ' felvettük een rugót
DLY 0,25
MVS prugo, 10
MOV pkp, 50
MVS pkp
DLY 0,25
HOpen 1 ' leraktuk een rugót
DLY 0,25
MOV pkp, 50
TRK af
M_In (7) wachten = 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
M_In (7) wachten = 0 ' addig vár, amíg az harmadik (összeszerelő ág vége) induktív előtt mar nincs ott een Darabgerd (tehát kifutott een 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
M_In (6) wachten = 1 ' addig vár, amíg az visszavezető induktív nem érzékel (de nem történik semmi)
Wachten M_In (4) = 1 ' addig vár, amíg az összeszerelő induktív nem érzékel (vissza nem ért een Darabgerd)
M_Out (5) = 0 ' összeszerelő futószalag hátra leáll
M_Out (9) = 0 ' visszavezető ág futószalag leáll
MOV phome2
Servo af
Hlt
'
' 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 ' 3.szelep (visszavezető ág) behúz
' 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 een 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
' Wachten M_In (4) = 1 ' addig vár, amíg az első induktív nem érzékel
' Wachten M_In (5) = 1 ' addig vár, amíg az indító induktív nem érzékel
' Wachten M_In (6) = 1 ' addig vár, amíg az visszavezető induktív nem érzékel
' Wachten M_In (7) = 1 ' addig vár, amíg az harmadik (összeszerelő ág vége) induktív nem érzékel