 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
MojsterMiha Član

Pridružen-a: Ned 09 Nov 2008 20:28 Prispevkov: 14 Aktiv.: 0.07 Kraj: Ormož
|
Objavljeno: Pon Maj 20, 2013 1:26 pm Naslov sporočila: Bascom - računanje spremenljivke v pogojnem stavku |
|
|
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 |
|
 |
surla Član

Pridružen-a: Ned 14 Dec 2003 15:22 Prispevkov: 722 Aktiv.: 3.05 Kraj: Ljubljana
|
Objavljeno: Pon Maj 20, 2013 1:39 pm Naslov sporočila: |
|
|
Encoder je v položaju -5000 zelo kratek čas , torej ga verjetno "spustiš".
Probaj:
Koda: |
If Encoder > Zahtevana_pozicija - 5000 Then |
|
|
Nazaj na vrh |
|
 |
Jaka57 Moderator



Pridružen-a: Ned 12 Dec 2004 21:47 Prispevkov: 5819 Aktiv.: 24.56 Kraj: Grosuplje
|
Objavljeno: Pon Maj 20, 2013 2:02 pm Naslov sporočila: |
|
|
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 |
|
 |
MojsterMiha Član

Pridružen-a: Ned 09 Nov 2008 20:28 Prispevkov: 14 Aktiv.: 0.07 Kraj: Ormož
|
Objavljeno: Pon Maj 20, 2013 2:24 pm Naslov sporočila: |
|
|
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 |
|
 |
tretjic Član

Pridružen-a: Čet 24 Sep 2009 1:19 Prispevkov: 437 Aktiv.: 2.28 Kraj: Postojna
|
Objavljeno: Pon Maj 20, 2013 2:37 pm Naslov sporočila: Re: Bascom - računanje spremenljivke v pogojnem stavku |
|
|
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 |
|
 |
protoncek Član

Pridružen-a: Sre 31 Jan 2007 9:41 Prispevkov: 9573 Aktiv.: 42.79 Kraj: Mengeš
|
Objavljeno: Pon Maj 20, 2013 8:51 pm Naslov sporočila: |
|
|
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 |
|
 |
|
|
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
|