Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0


...

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:

...


PROGRAM

...

esimerkki

...

;ohjelman

...

nimi

...


EXTERNAL:

...

apuohjelma

...

;

...

toisen

...

ohjelman

...

esittely

...


INPUT:

...

1=voima

...

;I/O-kanavien

...

alustus
OUTPUT:

...

2=

...

imu

...


REAL:

...

paino,

...

pituus

...

;tyyppien

...

esittely
POINT:

...

p1,p2

...

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.

...


POINT:

...

p1,

...

p2

...

;pisteiden

...

esittely

...


MOVE

...

TO

...

p1

...

;liiku

...

pisteeseen

...

p1

...


WAIT

...

2

...

;

...

odota

...

2

...

s.

...


MOVE TO p2
WAIT 3

Esim.
kohde=(10,10)

...

;pisteen

...

määrittely

...

x-y

...

-koordinaatein

...


MOVE

...

kohde

...

;

...

liiku

...

pisteeseen

...

kohde

Esim.

...


Kohde=(10,10)

...


MOVE_REL

...

kohde

...

Ohjelma

...

alkaa

...

Begin

...

-käskyllä

...

ja

...

päättyy

...

Program_end

...

-komentoon.

...

Esim.

...


PROGRAM

...

esimerkki

...


EXTERNAL:

...

apu1,

...

apu2

...


.
BEGIN
.
apu1 ;ohjelman apu1 kutsu
.
apu2 ;ohjelman apu2 kutsu
.
.PROGRAM_END

Aliohjelmat esitellään pääohjelman, HALT taiPROGRAM_END -käskyjen jälkeen. Ja sitä kutsutaan pääohjelmassa ulkoisten pääohjelmien tapaan.

Esim.
.
.
HALT
PROGRAM_END
SUBROUTINE aliohjelma
BEGIN ;aliohjelman aloitus
.
.
RETURN ;paluu pääohjelmaan
SUB_END ;aliohjelman loppu

Laskuria voidaan käyttää esim. tietyn käskylistauksen toistamiseen halutun määrän verran. Käskynä käytetään RPT x TIMES funktiota.

Esim.
RPT 2 TIMES
.
.
RPT 3 TIMES
.
RPT_END
.
.
RPT_END

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.
;;INT=LINEAR
MOVE p1
MOVE_REL p2
MOVE CIRCULAR (p3,p4)

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.
V=700
MOVE LINEAR p1
MOVE CIRCULAR p2
V=300
MOVE LINEAR p3
- nopeus voidaan määritellä myös vain yhden liikekäskyn ajaksi
MOVE_REL LINEAR WITH V=500 EXACT p1

5. KIIHTYVYYS

- kiihtyvyyden määrittely vain LINEAR ja CIRCULARinterpolaatioilla
A=30, kiihtyvyys [mm/s2]

Esim.
A=30
V=100
MOVE LINEAR p1
MOVE CIRCULAR p2
A=15
MOVE LINEAR p3

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.
PROGRAM ESIMERKKI
Begin
;;INT LINEAR
V=700, A=1000
;Koska PROGR_SLOPE ei vielä vaikuta, jokaisen rivin käskyt toteutetan erikseen ja nopeus ja kiihtyvyys vaihtelee
MOVE VIA alkup
MOVE VIA keskip
MOVE VIA loppup

;Kiihtyvyys pysyy samassa 1000 mm/s2 arvossa
PROGR_SLOPE
MOVE VIA alkup
MOVE VIA keskip
MOVE VIA loppup
MOVE VIA p1
MOVE VIA p2
MOVE VIA alkup
MOVE VIA keskip
MOVE VIA loppup
;käsky palauttaa kiihtyvyydet taas vaikuttamaan joka riviin erikseen
BLOCK_SLOPE
HALT
PROGRAM_END

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