Någon Labview-guru? Hur svårt är det här?

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
miklon
Inlägg: 267
Blev medlem: 26 maj 2007, 21:48:00
Ort: Eskilstuna

Någon Labview-guru? Hur svårt är det här?

Inlägg av miklon »

Jag behöver skriva ett program som tänder och släcker lampor enligt vissa tidsintervall, tanken är att man t.ex. anger att lampan ska vara tänd i två timmar, därefter släckt i tre timmar, tänd igen i två timmar osv. Det handlar om ca 8 lampor som ska styras individuellt.

Jag kan inte Labview, jag har viss koll på hur det fungerar rent översiktligt, men inte detaljerna. Hur svårt är det att skapa ovan nämnda tillämpning? Jag har grundläggande programmeringskunskaper när det gäller strukturer osv.

Det är tänkt att styrningen ska ske med ett I/O-kort med 16 kanaler åt vardera hållet, drivrutiner för Labview ska finnas.
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Jag kör int Labview, men i factory express ( http://www.azeotech.com/daqexpress.php ) är det sketenkelt i... Labview är int eså mycket sämre så borde gå bra där också.
Jespiir
Inlägg: 4
Blev medlem: 17 oktober 2007, 17:35:00
Ort: Jönköping

Inlägg av Jespiir »

Hej miklon,

Det bör inte vara några problem alls att lösa detta med LabVIEW.

Hur mycket tid det kommer att ta i anspråk beror på två saker:

1. Hur bra (enkla) drivrutiner du får med I/O kortet du tänker använda.

2. Hur snyggt och smidigt interface användaren skall ha.
Användarvisningsbild
miklon
Inlägg: 267
Blev medlem: 26 maj 2007, 21:48:00
Ort: Eskilstuna

Inlägg av miklon »

Jag har ändrat mig och kommer köra med ett DAQ från NI:

http://sine.ni.com/nips/cds/view/p/lang/en/nid/10705

Bör väl fungera bra antar jag eftersom det är NI:s egna grejer.
Jespiir
Inlägg: 4
Blev medlem: 17 oktober 2007, 17:35:00
Ort: Jönköping

Inlägg av Jespiir »

Mycket riktigt så fungerar NIs mjukvara bäst med NIs hårdvara :)
Vore konstigt annars.

Det är väldigt simpelt att köra med NIs egna grejer... allting finns redan färdigt i LV.

En fråga bara: kommer du att använda mer funktioner på DAQ kortet? Annars är det ju lite onödigt dyrt för 8 I/O...
Användarvisningsbild
miklon
Inlägg: 267
Blev medlem: 26 maj 2007, 21:48:00
Ort: Eskilstuna

Inlägg av miklon »

Det kommer säkert bli mer funktioner senare, just nu handlar det mest om att det fanns i huset.
Jespiir
Inlägg: 4
Blev medlem: 17 oktober 2007, 17:35:00
Ort: Jönköping

Inlägg av Jespiir »

Då spelar det ju ingen roll vad det kostade! :)

Bara att koda på med andra ord.
Användarvisningsbild
miklon
Inlägg: 267
Blev medlem: 26 maj 2007, 21:48:00
Ort: Eskilstuna

Inlägg av miklon »

Nu har jag satt igång och det går väl sådär än så länge. Just nu koncentrerar jag mig mest på att få ut en signal, så tar vi timingbiten senare. Jag kom ungefär så långt att jag satt med huvudet mellan knäna och hyperventilerade, men sedan hittade jag som tur var ett exempel som gör ungefär det jag vill (skickar ut en kontinuerlig likspänning på en av utgångarna), så nu känns det lite bättre. :?
Användarvisningsbild
miklon
Inlägg: 267
Blev medlem: 26 maj 2007, 21:48:00
Ort: Eskilstuna

Inlägg av miklon »

Nu har jag kommit igång skapligt, men att få till timingen på ett bra sätt visade sig svårare än jag trodde.

Vad jag vill göra är ju alltså att skicka ut en True-signal en viss tid, därefter en False-signal en viss tid och så om igen. Dessutom vill jag kunna stoppa programmet när jag vill och gå över till ett manuellt kontrolläge utan att behöva vänta på att timerfunktionen ska bli klar med någon Wait-sats.

Vad är enklaste sättet att göra det på? Jag har testat lite olika varianter med For-loopar och olika Case osv, men får inte riktigt till det. Finns det något bra grundrecept, jag antar att scenariot är rätt vanligt?

I det program som har fungerat bäst hittills så kör jag med For-loop från 0-1 som innehåller en Wait-funktion, som hämtar tiden från en array. Det fungerar väl sådär, visserligen så hoppar den igång och växlar mellan True och False, men Wait-funktionen låser ju upp hela programmet, så jag kan t.ex. inte avbryta det inifrån programmet direkt, då måste jag vänta på att den pågående iterationen körs klart.

Det känns som att jag är lite fel ute, det måste finnas nåt enklare sätt att göra det på?
Johan.o
EF Sponsor
Inlägg: 2387
Blev medlem: 18 juni 2003, 01:08:50
Ort: Jönköping

Inlägg av Johan.o »

Jag kan inte Labview sådär jättebra, håller på att lära mig det.

Men kan du inte använda någon av de färdiga time-funktionerna, (nu tittar
jag i en gammal bok) så ligger det under Time & Dialog.

Då kan du ju hela tiden jämföra aktuell tid med den framräknande tiden då lampan ska släckas eller tändas. För att sedan tända/släcka när dom är lika. Om du lägger detta i en while-loop så kan du koppla en stopknapp till 'villkorsindikatorn', om du vill stoppa allt.

Sedan kan du ju ha inmatning och styra logiska funktioner innuti loopen, för
att ändra tider, eller för att koppla om till tvångs-styrning av utgångarna.
Användarvisningsbild
miklon
Inlägg: 267
Blev medlem: 26 maj 2007, 21:48:00
Ort: Eskilstuna

Inlägg av miklon »

Ja, jag antar att det är en sådan lösning man får titta på, jag hade funderat lite åt det hållet, men det är alltid lättare när någon annan konkretiserar lite. Tack för tipset.
Användarvisningsbild
Stinrew
Inlägg: 954
Blev medlem: 20 augusti 2006, 03:14:41
Ort: Motala
Kontakt:

Inlägg av Stinrew »

Några frågor:

Vilken LabVIEW-version kör du?
Stöder I/O-kortet DAQmx?
Ska samtliga 8 kanaler vara antingen i aktivt eller manuellt läge, eller ska 1 kanal kunna styras manuellt medan resterande 7 går på automatik?
Vilken typ av klocka använder du dig av, wait eller systemklockan?
Är det olika intervall till alla lampor, typ som för att simulera mänsklig aktivitet i ett hus där alla egentligen åkt på semester?
Användarvisningsbild
miklon
Inlägg: 267
Blev medlem: 26 maj 2007, 21:48:00
Ort: Eskilstuna

Inlägg av miklon »

Labview 8.5

Kortet är ett sånt här, jag tror det stödjer DAQmx: http://sine.ni.com/nips/cds/view/p/lang/en/nid/10705

Om det går att lösa så är det en fördel om det går att styra en lampa manuellt och köra resten på automatik, men det är inget absolut krav.

Jag har kört med Wait-funktionen.

Det bör gå att ställa in olika intervall för varje lampa.
Användarvisningsbild
Stinrew
Inlägg: 954
Blev medlem: 20 augusti 2006, 03:14:41
Ort: Motala
Kontakt:

Inlägg av Stinrew »

Jo, det stöder DAQmx(jag tror att alla 16-bitars kort stöds av det). Du är alltså bara intresserad av att slå på och av lamporna med exakta intervall, dygnstiden har inget direkt med det här att göra!?? Jag tror att jag hade gjort det här med 8 parallella while-loopar. Har du RT(real-time) installerat?
Användarvisningsbild
miklon
Inlägg: 267
Blev medlem: 26 maj 2007, 21:48:00
Ort: Eskilstuna

Inlägg av miklon »

Ja, i det här läget handlar det om av och på med vissa intervall, de intervallen kommer vara i timmar eller möjligen minuter, så det finns inga krav på någon exakt noggrannhet.

Jag vet inte om jag har RT installerat, jag får kolla det när jag kommer till jobbet imorgon.

Hur tänker du dig med While-looparna? Man kan ju ha som run-villkor att köra while-looparna så länge inte tiden är uppfylld, men hur får jag det att gå en viss tid innan loopen hoppar igång igen sen (dvs off-tiden)?

Edit: Hur kollar jag om jag har RT installerat?
Skriv svar