Vad behövs för att visa data från en comport i Excel i realt

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
Johel572
Inlägg: 53
Blev medlem: 5 juli 2006, 10:36:01
Ort: Linköping

Vad behövs för att visa data från en comport i Excel i realt

Inlägg av Johel572 »

Jag håller på med att logga lite data från en pic via en rs-232 lina till en PC. Att visa data i hyperterminalen fungerar bra (skickar redigerad data i ascii tecken) men det vore ju lite mer intressant om man tex kunde rita upp en graf. Jag har sett ett system där data tas emot på comporten och exporteras till Excel i realtid men jag vet inte hur det gick till.

Jag tror man kan skriva ett macro i Excel som kontinuerligt tar emot data och skriver ut det i lämplig cell. Vad är det som krävs för att kunna importera data på det viset? Efter vad jag har sett så krävs någon typ av datalogger för comporten med DDE (är det rätt?) interface för att man skall kunna importera data. Problemet är ju att dessa programvaror är rätt dyra och jag undrar om någon känner till något annat sätt eller vettig lösning?
H.O
Inlägg: 5914
Blev medlem: 19 mars 2007, 10:11:27
Ort: Ronneby

Re: Vad behövs för att visa data från en comport i Excel i realt

Inlägg av H.O »

Ta en titt på STAMPPlot från SelmaWare, det kanske kan passa. Det är ju förstås inte EXCEL men det kan plotta data i realtid.
Nerre
Inlägg: 27205
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Vad behövs för att visa data från en comport i Excel i realt

Inlägg av Nerre »

Jag har gjort det på jobbet men då var det med "komponenter" från en inköpt Visual Basic har jag för mig (det är 6-7 år sen så jag minns inte så noga).

Lite snabbt googlande på "VBA serial port" gav t.ex. de här två träffarna
http://www.pencomdesign.com/support/rel ... xample.htm
http://www.activexperts.com/activcomport/howto/vba/
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9097
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: Vad behövs för att visa data från en comport i Excel i realt

Inlägg av AndersG »

Man kan skriva en EXE eller DLL som kommunicerar med Excel via DDE
Användarvisningsbild
PeterH
Inlägg: 8640
Blev medlem: 15 mars 2006, 15:57:10
Ort: Gävle/Valbo

Re: Vad behövs för att visa data från en comport i Excel i realt

Inlägg av PeterH »

Om man kan programmera, varför använda Excel överhuvudtaget? Man kan väl koda ihop en applikation som visar grafer direkt? Troligtvis lika enkelt och mycket mindre resurskrävande än Excel!
Användarvisningsbild
psynoise
EF Sponsor
Inlägg: 7226
Blev medlem: 26 juni 2003, 19:23:36
Ort: Landvetter

Re: Vad behövs för att visa data från en comport i Excel i realt

Inlägg av psynoise »

Man kan alltid låta terminalprogrammet skriva till en fil och sen låta den filen plotas med jämna mellan rum.

Med minicom eller cutecom samt tail och något plot program borde man kunna fixa det med ett bash-script. Annars kolla freashmeat.net efter någon redan färdig lösning.
Nerre
Inlägg: 27205
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Vad behövs för att visa data från en comport i Excel i realt

Inlägg av Nerre »

PeterH skrev:Om man kan programmera, varför använda Excel överhuvudtaget? Man kan väl koda ihop en applikation som visar grafer direkt? Troligtvis lika enkelt och mycket mindre resurskrävande än Excel!
Nja, det är klart enklare att koda nåt som stoppar in data i celler i Excel än att skriva en helt fristående applikation.

Mindre resurskrävande på datorn är det antagligen, men jag är inte så mycket för att uppfinna hjulet två gånger:-)
Användarvisningsbild
Johel572
Inlägg: 53
Blev medlem: 5 juli 2006, 10:36:01
Ort: Linköping

Re: Vad behövs för att visa data från en comport i Excel i realt

Inlägg av Johel572 »

Hm, nu försvann mitt inlägg.

Att skriva något eget är uteslutet då jag inte är någon driven programmerare. Det som behövs torde vara ett protokoll för att komma åt comporten i xp eller vista. Och sen borde man kunna skriva en funktion i VDA (som jag aldrig använt dock) som lägger datan i rätt cell.

Problem 2:
Jag förstår dock inte riktigt hur jag skall få den att uppdatera då jag skickar ny data på comporten. Jag har ju bara Tx pinnen annsluten på min uC så jag skickar ju inga komandon, bara rå data.

Jaja, få se om det överhuvudtaget går att få i nå data.
Nerre
Inlägg: 27205
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Vad behövs för att visa data från en comport i Excel i realt

Inlägg av Nerre »

Serieports-grejerna ger typ en "interrupt" för varje tecken.

Du skriver alltså en liten "interrupt-hanterare" som läser av tecken för tecken och "fyller på" en buffertvariabel. När den har fått ihop ett komplett värde får den skicka värdet till huvudrutinen som skriver in det i en cell.

Ett enkelt sätt att lära sig VBA är att spela in makron medans man manuellt gör det som skall göras.


Protokoll för att komma åt serieporten via VBA länkade jag ju till tidigare i tråden.
Användarvisningsbild
JimmyAndersson
Inlägg: 26577
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Vad behövs för att visa data från en comport i Excel i realt

Inlägg av JimmyAndersson »

Jag ser inget om interrupt i de länkarna. I den första länken pysslar de med VB v6 och det har ändrats mycket sedan dess i VisualBasic.

Behöver precis samma grejj som Johel572 (jag använder Visual Studio/Basic 2000), så en liten ledtråd om hur man fixar en interrupt-hanterare för COM-porten i VisualBasic vore inte fel. :)

edit: Jag har sökt väldigt mycket om detta i Google. Gjorde även en tråd för en tid sedan när jag behövde detta till parallellporten.
hh
Inlägg: 322
Blev medlem: 9 maj 2006, 12:37:32
Ort: Karis, Finland

Re: Vad behövs för att visa data från en comport i Excel i realt

Inlägg av hh »

Interrupt är kanske lite att ta i, men om man sätter SThreshold = 1 och RThreshold = 1 (med MSCOMM32 då) så kommer subben OnComm att köras och serieportens event comEvReceive triggas för varje inkommande byte (det finns också events för CTS, DSR...).

Jag vet uppenbarligen inte hur man skall förklara sånt på VB(A)-språk, men det OnComm fungerar som interrupthanterare och interrupten för mottaget data är comEvReceive. Det är rätt simpelt, men effektivt.
Nerre
Inlägg: 27205
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Vad behövs för att visa data från en comport i Excel i realt

Inlägg av Nerre »

Precis, det fungerar alltså så att vid vissa händelser så körs olika funktioner.

T.ex. gör man ju ofta en funktion som körs när man klickar på en knapp. Men med ett comm-objekt så har man alltså händelser som utförs t.ex. när sändbufferten är tom eller när mottagningsbufferten är full.

Det fungerar alltså på samma sätt som när man använder interrupt.
ristomemo
Inlägg: 1028
Blev medlem: 29 mars 2004, 14:12:18

Re: Vad behövs för att visa data från en comport i Excel i realt

Inlägg av ristomemo »

Har inte provat själv, men realterm har något stöd för excel.
http://realterm.sourceforge.net/
Användarvisningsbild
AndLi
Inlägg: 18257
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Vad behövs för att visa data från en comport i Excel i realt

Inlägg av AndLi »

http://www.excelforum.com/excel-program ... evice.html
Med event (interrupt eller vad man nu känner för att kalla det) och hela paketet.

VBA i Excel 2003 tycker i alla fall jag påminner extremt mycket om gamla hederliga VB6
Skriv svar