1. YLEISTÄ
Baps-kääntäjä generoi seuraavat tiedostot lähdetiedoston (qll) koodista:
ird-tiedosto:
Tiedosto sisältää ohjelmakoodin, jonka rho3-ohjain suorittaa. Lisäksi muistia on varattu ohjelmassa käytetyille muuttujille. Tiedosto generoituu vain, kun ohjelma on käännetty ilman virheitä!
pkt-tiedosto:
Muisti varattu piste-muuttujille.
sym-tiedosto:
Tiedosto sisältää informaatiota ohjelmassa käytetyistä muuttujanimistä ja vaaditaan aina Babs2 ohjelman testauksessa.
err-tiedosto:
Sisältää virhelistan ohjelmaa käännettäessä.
2. OHJELMAN RAKENNE
2.1 Pääohjelma
Jokainen pääohjelma sisältää
- alustuksen
- ohjelmalistauksen
- aliohjelmien esittelyn
2.1.1 Ohjelman alustus
- ohjelman nimi (oltava sama kuin tiedostojen)
- ulkoisten pääohjelmien esittely
- tulo- ja lähtökanavien esittely
- muuttujien nimeäminen
Esim: |
2.1.2 Ohjelmalistaus
- liikekäskyt
- laskurit
- pää- ja aliohjelmien kutsuminen
- ....
Liikkeiden ohjaus tapahtuu lähinnä MOVE- käskyllä, jota tarkentamalla saadaan liike halutun muotoiseksi.
Erilaisia MOVE-käskyjä:
- suunnilleen pisteiden p1 ja p2 kautta pisteeseen p3
MOVE VIA p1,p2,p3
- tarkasti pisteiden p1 ja p2 kautta pisteeseen p3
MOVE TO p1,p2,p3
- suunnilleen pisteen p1 kautta tarkasti pisteeseen p2 ja suoraan pisteeseen p3
MOVE VIA p1 TO p2,p3
- siirto suhteellisesti koordinaattien mukaan
Esim. |
Esim. |
Esim. |
Ohjelma alkaa Begin-käskyllä ja päättyy Program_end-komentoon.
Esim. |
Aliohjelmat esitellään pääohjelman, HALT taiPROGRAM_END -käskyjen jälkeen. Ja sitä kutsutaan pääohjelmassa ulkoisten pääohjelmien tapaan.
Esim. |
Laskuria voidaan käyttää esim. tietyn käskylistauksen toistamiseen halutun määrän verran. Käskynä käytetään RPT x TIMES funktiota.
Esim. |
3. INTERPOLAATIO
Ohjaimen on aina tiedettävä, mitä polkua robotin on saavutettava seuraava asema. Tämän polun määrittämiseksi on käytössä kolme muotoa:
LINEAR (suora viiva avaruudessa)
CIRCULAR(ympyrämäinen polku avaruudessa)
PTP (synkroninen* polku pisteestä pisteeseen)
*Synkroninen = kaikki akselit saavuttavat ohjelmoidun kohdepisteensä samaan aikaaan
Ohjain valitsee automaattisestiPTP-muodon, jos interpolaatiota ei ole määritelty.
Esimerkkejä:
- suoraan pisteeseen p1
MOVE LINEAR TO p1
- suoraan, suunnilleen pisteen p1 kautta tarkasti pisteeseen p2
MOVE_REL LINEAR APPROX p1 EXACT p2
- ympyrämäisesti pisteen p1 kautta pisteeseen p2
MOVE CIRCULAR TO (p1,p2)
- "omaa" reittiä pisteeseen p1
MOVE PTP TO p1
3.1 Globaalinen interpolaatio
Jos samaa interpolointimuotoa käytetään useammassa liikekäskyssä, voidaan se määritellä myös globaalisesti.
Esim. |
4. NOPEUS
Robotin liikkeiden nopeutta voidaan ohjata eri tavoin.
- prosentuaalinen osuus maksiminopeudesta.
V_PTP=80% tai V_PTP=0,8
- globaalinen nopeuden määrittely LINEAR jaCIRCULAR interpolaatioilla
V=750 ; nopeus [mm/s]
Esim. |
5. KIIHTYVYYS
- kiihtyvyyden määrittely vain LINEAR ja CIRCULARinterpolaatioilla
A=30, kiihtyvyys [mm/s2]
Esim. |
6. NOPEUDEN/KIIHTYVYYDEN OHJAAMINEN
Jos useampi liikekäsky halutaan tehdä niin, että nopeus pysyy vakiona ilman kiihtyvyyttä, voidaan käskylistaan kirjoittaaPROGR_SLOPE ja kun halutaan palata rivi kerralla tapahtuvaan tilaan, kirjoitetaan BLOCK_SLOPE.
Esim. |
;Kiihtyvyys pysyy samassa 1000 mm/s2 arvossa |
7. AIKA
- Asettamalla ajalle T jokin arvo, voidaan esim. yksi liike määrätä kestämään
tietyn ajan (0,5...32 000s)
MOVE_REL LINEAR WITH T=8 EXACT p1
8. MUITA KOMENTOJA
WAIT X :odota x sekuntia
WAIT UNTIL ; ( =, <>, <=, =>, <, >)
PAUSE :keskeyttää ohjelman
HALT ;pysäyttää pääohjelman
IF...THEN...ELSE ;jos...niin...muuten
JUMP ;siirry määrättyyn kohtaan ohjelmassa