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 

Labview in serijska komunikacija

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programska oprema
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
mgrm2
Neznanec
Neznanec



Pridružen-a: Sre 24 Dec 2008 12:46
Prispevkov: 6
Aktiv.: 0.03
Kraj: Kaplja vas

PrispevekObjavljeno: Sob Sep 11, 2010 2:42 pm    Naslov sporočila:  Labview in serijska komunikacija Odgovori s citatom

Pozdravljeni,

S programom Labview želim narediti grafični vmesnik in krmilno logiko. Namreč v mislih imam, da bo Labview master, uC pa slave. Mikrokontoler bo po serijskem neprestano pošiljal stanje senzorjev (temperature, vrednosti adcjev..), nakar mu bo labview po izračunih pošiljal nastavitve parametrov (duty cycle 30, prižgi to, ugasni ono,...).
Z mikrokrmilnikom ne bom imel težav ustavi pa se mi pri razvojnem orodju Labview in sicer že pri upravljanu s serijskim portom. Namreč zamislil sem si, da po serijskem prihajajo podatki tipa string prim.:temperature (T1:12,6 T2:70,5 T3:-5,2 ....) nakar jih labview selektira in prikaže. A po testiranjih sem ugotovil, da sprejemanje ni stabilno oz. prihaja do napak pri branju (bvte counter ne sporoča število bytov na vodilu). Zdaj nvm ali grem v pravo smer ali bi se mogel lotiti drugače.

Ker sem z Labview začetnik, bi prosil za kakšne primere in mogoče za boljšo zamisel komunikacijskega protokola.

Hvala



Serijska.rar
 Opis:

Download
 Ime datoteke:  Serijska.rar
 Velikost datoteke:  16.04 KB
 Downloadano:  27 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.67
Kraj: Kranj - struževo

PrispevekObjavljeno: Sob Sep 11, 2010 7:34 pm    Naslov sporočila:   Odgovori s citatom

Če ti kaj pomaga:
http://www.elektronik.si/phpBB2/viewtopic.php?t=4947

p.s. Labview sux big time Mad

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
mgrm2
Neznanec
Neznanec



Pridružen-a: Sre 24 Dec 2008 12:46
Prispevkov: 6
Aktiv.: 0.03
Kraj: Kaplja vas

PrispevekObjavljeno: Sob Sep 11, 2010 11:54 pm    Naslov sporočila:   Odgovori s citatom

Aly tvoj program sem že pregledal. Je kar kompleksen in se ne znajdem najbolje. Najbolje sem se poglobil v sprejemanje na serijskem. Recimo ko prejme temperaturo kje določi katera je katera? Ker ne vem točnega načina komunikacije in le predvidevam iz primera, da se na serijskega ne pošlje nobena zahteva uC za "branje senzorja" oz.oddaja podatka na serijskega. Vsaj toliko kot gledam smeri puščic za serijski port. Zato lahko, da se motim.

L.P.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo MSN Messenger - naslov
aly
Član
Član



Pridružen-a: Tor 28 Sep 2004 14:51
Prispevkov: 9407
Aktiv.: 39.67
Kraj: Kranj - struževo

PrispevekObjavljeno: Ned Sep 12, 2010 12:11 am    Naslov sporočila:   Odgovori s citatom

Kaj PC pošilja, lahko vidiš na tej spletni strani spodaj:
Tole boš lažje našel v programu.
Koliko se spomnim, pošlje ukaz in čaka na povratno informacijo.

ukazi PC -> mikrokontroler so sledeči: (preko RS-232)

Citiram:
--LOW-LEVEL:
Z = reset mikrokontrolerja

R = reset One-Wire protokola (vrne 1 =ok ali 0, če se noben ne javi - ascii)

X = pošlji podatek (1 byte) na OW [X + vpiši 1 byte, vrne OK] = samo ukaz za pisanje na OW
Y = preberi podatek (1 byte) z OW [Y + preberi 1 byte] = samo ukaz za branje z OW

--MEDIUM-LEVEL:
M = match ROM (pokliče en sam čip v verigi) [M + vpiši 8 bytov, vrne OK]
S = skip ROM (pokliče vse čipe v verigi) [S]

V = convert T (začetek pretvorbe temp. in drži močan pull-up na liniji in čaka na zaključek) [T]


--HIGH LEVEL:
P = read Scratchpad (branje iz registrov - RAM) [P + preberi 9 bytov] Z resetom zaključi.
D = read ROM (prebere ROM enega samega čipa) [D + preberi 8 bytov]
d = read ROM in izpis v ASCII.

Q = reset, skip-ROM, convertT, čakaj, reset, 2x read byte, pretvorba in izpis v ASCII.

--Generalni IO:
a,b,c = izbrani pin (a,b,c) je izhod in ničla.
A,B,C = izbrani pin (a,b,c) je izhod in enka.
1,2,3 = izbrani pin (a,b,c) je vhod in vrne stanje na vhodu (0 ali 1 ascii).

_________________
I'm going to stand outside, so if anyone asks, I'm outstanding Smile
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Obišči avtorjevo spletno stran MSN Messenger - naslov
compaq
Član
Član



Pridružen-a: Tor 10 Mar 2009 12:53
Prispevkov: 100
Aktiv.: 0.50
Kraj: Maribor

PrispevekObjavljeno: Sre Maj 04, 2011 1:32 pm    Naslov sporočila:   Odgovori s citatom

Imam podobno zamisel glede Labview-a, v mojem primeru pa bi samo sprejemal podatke (narisal graf) preko USB-ja, ki jih pošilja 18f4550...

Se pravi samo v eno smer.

lp

_________________
Za vsakega drifterja raste robnik!!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
dkone
Član
Član



Pridružen-a: Sre 07 Mar 2007 18:53
Prispevkov: 2116
Aktiv.: 9.50
Kraj: Krško

PrispevekObjavljeno: Sre Maj 04, 2011 1:38 pm    Naslov sporočila:   Odgovori s citatom

V priponki ti pošiljam primere LabViewa za RS232.


RS232.rar
 Opis:

Download
 Ime datoteke:  RS232.rar
 Velikost datoteke:  195.07 KB
 Downloadano:  16 krat


_________________
Denis
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
opa177
Neznanec
Neznanec



Pridružen-a: Ned 17 Jun 2012 23:18
Prispevkov: 5
Aktiv.: 0.03

PrispevekObjavljeno: Ned Jan 20, 2013 6:07 pm    Naslov sporočila:  Labview+Arduino problem Odgovori s citatom

Glede Labviewa sem bolj začetnik. Na internetu sem pobral nek program in ga malo predelal. Z Arduino Nano berem vrednosti 2 senzorjev in nato podatke pošiljam prek usbja do Labviewa, kjer nato izrisujem grafa. Problem se pojavi pri read bufferju. Po določenem času mi začne vrednost bytes at port rasti dokler ne preseže 4096(max. velikost bufferja) in nato mi vrne sledeči error:
VISA: (Hex 0xBFFF006C) An overrun error occurred during transfer. A character was not read from the hardware before the next character arrived.
Poskušal sem že svašta ampak še vedno se mi pojavla ta error. Spreminjal sem delay pri while zanki, dodal delay pri kodi v arduinu, poskusil sem .vi iz examplov...pač kar so mi svetovali na NI forumu..
Ne vem ali je problem v Labviewu ali v Arduinotu. Do tega naj bi prišlo ker naj Labview ne bi uspel dovolj hitro brati kar Arduino pošilja. Če se komu da pogledati sledečo kodo in program v Labviewu bi bil hvaležen.

Koda na Arduino Nano:
int a0=0;
int a1=0;

void setup() {
Serial.begin(9600);
}

void loop() {
a0 = analogRead(A0);
delay(1);
a1=analogRead(A1);
delay(1);
Serial.print('H');
Serial.print(',');
Serial.print(a0);
Serial.print(',');
Serial.print(a2);
Serial.print(',');
Serial.println();
}



SerialReadLabview.rar
 Opis:

Download
 Ime datoteke:  SerialReadLabview.rar
 Velikost datoteke:  24.54 KB
 Downloadano:  10 krat

Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
noname
Član
Član



Pridružen-a: Tor 28 Nov 2006 19:10
Prispevkov: 222
Aktiv.: 0.98
Kraj: Maribor

PrispevekObjavljeno: Ned Jan 20, 2013 9:34 pm    Naslov sporočila:   Odgovori s citatom

V kodi vidim da imaš a2 namesto a1 . Glede tvojega problema pa prosim objavi VI od labviewa v verziji 2010 ker verzije 2012 nimam. Pa popravi si kraj v profilu ..

Lp, Uroš
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
rbogomir
Član
Član



Pridružen-a: Tor 13 Apr 2004 13:58
Prispevkov: 40
Aktiv.: 0.17
Kraj: Cerkno

PrispevekObjavljeno: Pon Jan 21, 2013 8:56 am    Naslov sporočila:   Odgovori s citatom

Če število znakov v vmesniku narašča, potem ti Arduino očitno pošilja več znakov, kot jih ti bereš. Priponke ne morem pogledati, ker nisem dovolj aktiven. Če lahko, objavi sliko diagrama.

Preveri ali imaš pravilno nastavljen zaključni znak, če ga uporabljaš, oz. ali pravilno določiš število znakov, ki bi jih rad prebral.

lp, Mirko
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
opa177
Neznanec
Neznanec



Pridružen-a: Ned 17 Jun 2012 23:18
Prispevkov: 5
Aktiv.: 0.03

PrispevekObjavljeno: Pon Jan 21, 2013 11:45 am    Naslov sporočila:   Odgovori s citatom

Pošiljam printscreen programa..


lab1.png
 Opis:
 Velikost datoteke:  179.67 KB
 Pogledana:  22 krat

lab1.png



lab2.png
 Opis:
 Velikost datoteke:  174.33 KB
 Pogledana:  6 krat

lab2.png


Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
domeniku
Neznanec
Neznanec



Pridružen-a: Tor 13 Sep 2011 20:45
Prispevkov: 6
Aktiv.: 0.04
Kraj: Novo mesto

PrispevekObjavljeno: Tor Jan 22, 2013 3:48 pm    Naslov sporočila:   Odgovori s citatom

Načeloma je seriska komunikacija zelo stabilna. Kako hitro dobivaš podatke na serijski port lahko preveriš v terminalu (npr. Hyperterminal), samo najprej pravino nastavi paramete komunikacije. Dvomim da LV ne bi utegnil dovolj hitro brati iz bufferja. Je mogoče, da si znotraj stringa spregledel kakšne kontrolne znake, ki jih vidiš če string indikator preklopiš v "\ Codes Display" ali v "Hex Diplay". Desni klik na STRING indikator in nato izbereš željeni način prikaza.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
opa177
Neznanec
Neznanec



Pridružen-a: Ned 17 Jun 2012 23:18
Prispevkov: 5
Aktiv.: 0.03

PrispevekObjavljeno: Čet Jan 24, 2013 9:52 am    Naslov sporočila:   Odgovori s citatom

Sem malo spremenil program tako, da mi zdaj načeloma dela. Vendar če dodam filter za glajenje pred grafa se mi pojavi enaka napaka. Ali je možno da filter v zanki toliko vpliva na delovanje? Da nekako upočasni sistem..?


Basic.png
 Opis:
 Velikost datoteke:  129.79 KB
 Pogledana:  4 krat

Basic.png


Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programska oprema Č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: 500 dni


Powered by phpBB © 2001, 2005 phpBB Group