Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


...

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.

Wiki Markup
\- prosentuaalinen osuus maksiminopeudesta.
V_PTP=80% tai V_PTP=0,8
\- globaalinen nopeuden määrittely *LINEAR* ja{*}CIRCULAR* 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

Wiki Markup
\- kiihtyvyyden määrittely vain *LINEAR* ja *CIRCULAR{*}interpolaatioilla
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

...

kirjoittaa

...

PROGR_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