www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Bascom - računanje spremenljivke v pogojnem stavku

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
MojsterMiha
Član
Član



Pridružen-a: Ned 09 Nov 2008 20:28
Prispevkov: 14
Aktiv.: 0.07
Kraj: Ormož

PrispevekObjavljeno: Pon Maj 20, 2013 1:26 pm    Naslov sporočila:  Bascom - računanje spremenljivke v pogojnem stavku Odgovori s citatom

Pozdravljeni

Ukvarjam se z pozicioniranjem linearne osi, gnane s pomočjo dvohitrostnega motorja in nadzorovane z encoderjem.
Samo štetje encoderja in nadzor motorja mi nista delala večjih težav.

Koda:
If Encoder = Zahtevani_polozaj Then
... ' ustavim motor

Ker pa je motor dvo hitrostni, bi želel na določeni oddaljenosti od zahtevane pozicije motor preklopiti v nižjo hitrost:

Koda:
If Encoder = Zahtevana_pozicija - 5000 Then
... ' preklop v nižjo hitrost 5000 impulzov prej

No, to pa ne deluje, ker zapis ni OK.
Poskušal sem z oklepaji,...pa nič

Ali je zapis v tem smislu sploh možen ali pa moram spremenljivko "obdelati" izven pogojnega stavka?
V VB je to možno in upam da tudi v BASCOM-u. Rad bi namreč čim bolj enostaven program z čim manj spremenljivkami.

Hvala za nasvete in pomoč!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
surla
Član
Član



Pridružen-a: Ned 14 Dec 2003 15:22
Prispevkov: 722
Aktiv.: 3.05
Kraj: Ljubljana

PrispevekObjavljeno: Pon Maj 20, 2013 1:39 pm    Naslov sporočila:   Odgovori s citatom

Encoder je v položaju -5000 zelo kratek čas , torej ga verjetno "spustiš".
Probaj:
Koda:
If Encoder > Zahtevana_pozicija - 5000 Then
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Jaka57
Moderator
Moderator



Pridružen-a: Ned 12 Dec 2004 21:47
Prispevkov: 5819
Aktiv.: 24.56
Kraj: Grosuplje

PrispevekObjavljeno: Pon Maj 20, 2013 2:02 pm    Naslov sporočila:   Odgovori s citatom

Ali sta Zahtevani_polozaj in Zahtevana_pozicija različni spremenljivki?
surla je napisal/a:
Encoder je v položaju -5000 zelo kratek čas , torej ga verjetno "spustiš".
V Zahtevana_pozicija (Zahtevani_polozaj) je enako kratek čas in mu vendarle dela.
_________________
Lp, Jaka
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
MojsterMiha
Član
Član



Pridružen-a: Ned 09 Nov 2008 20:28
Prispevkov: 14
Aktiv.: 0.07
Kraj: Ormož

PrispevekObjavljeno: Pon Maj 20, 2013 2:24 pm    Naslov sporočila:   Odgovori s citatom

Jaka57 je napisal/a:
Ali sta Zahtevani_polozaj in Zahtevana_pozicija različni spremenljivki?
surla je napisal/a:
Encoder je v položaju -5000 zelo kratek čas , torej ga verjetno "spustiš".
V Zahtevana_pozicija (Zahtevani_polozaj) je enako kratek čas in mu vendarle dela.


Ja, zadeva z primerjanjem spremenljivk (istega tipa) dela, ker se dogaja v prekinitveni rutini.

Težava je, ker ko zapišem zraven spremenljivke " - 5000 " - takrat mi pri javi napako in programa ne "skompila"

Koda:
If Encoder = Zahtevana_pozicija - 5000 Then
' tukaj javi napako nepravilnega zapisa
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
tretjic
Član
Član



Pridružen-a: Čet 24 Sep 2009 1:19
Prispevkov: 437
Aktiv.: 2.28
Kraj: Postojna

PrispevekObjavljeno: Pon Maj 20, 2013 2:37 pm    Naslov sporočila:  Re: Bascom - računanje spremenljivke v pogojnem stavku Odgovori s citatom

MojsterMiha je napisal/a:
Ali je zapis v tem smislu sploh možen ali pa moram spremenljivko "obdelati" izven pogojnega stavka?
V VB je to možno in upam da tudi v BASCOM-u. Rad bi namreč čim bolj enostaven program z čim manj spremenljivkami.

Ja, tukaj je trik. Žal ne deluje tako kot VB.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
protoncek
Član
Član



Pridružen-a: Sre 31 Jan 2007 9:41
Prispevkov: 9573
Aktiv.: 42.79
Kraj: Mengeš

PrispevekObjavljeno: Pon Maj 20, 2013 8:51 pm    Naslov sporočila:   Odgovori s citatom

V bascomu ne moreš delati operacije v operaciji.
Podobno kot ne moreš napisat: A=B+C+B, moraš tudi tvoj stavek narediti tako:
temp=zahtevana pozicija-5000
if encoder > temp then...
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Osnove programiranja AVR-jev Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 493 dni


Powered by phpBB © 2001, 2005 phpBB Group