RTV forum PL | NewsGroups PL

Szybkie programy do obróbki danych HEX 16-bitowych z RS232: jakie polecacie?

Aplikacja do obróbki danych HEX/kod U2/RS23 2

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Szybkie programy do obróbki danych HEX 16-bitowych z RS232: jakie polecacie?

Goto page 1, 2, 3, 4  Next

Jakub Rakus
Guest

Wed Jun 04, 2014 9:37 pm   



Witajcie,

Jest sobie pewne ustrojstwo, które wyniki pomiarów wypluwa przez RS232 w
postaci paczki kilkunastu bajtów co 10ms przy prędkości 115200. Zanim
stworzę programik na PC, który te dane będzie odbierał i rysował piękne
wykresy "real time" chciałbym zobaczyć czy w ogóle te dane mają sens.
Na razie radzę sobie tak: odpalam jakiś TeraTerm (słynny bray-terminal
nie ogarnia takiego natłoku danych), zapisuję odebrane dane do pliku.
Żeby to importować do Calca, najpierw muszę czymś notatnikopodobnym za
pomocą znajdź/zamień powstawiać znaki nowej linii na końcu każdej paczki
danych - ok, to idzie przeżyć, idzie szybko.
Masakrą jest obróbka danych w Calcu - moje ustrojstwo wynik pomiaru z
jednego kanału zapisuje na 16-bitowej liczbie w kodzie U2 (wyniki są
także ujemne!). Calc i jemu podobne może i mają funkcje konwersji między
systemami liczbowymi, ale z ograniczeniem do liczb 10-bitowych... więc
muszę tworzyć jakieś makabryczne formułki żeby np. z 0x76a9 zrobić
30377. Dla 7 takich liczb przy 2500 próbkach już Calc zamula, a będę
potrzebował poobserwować co się dzieje przez ok. 10 razy dłuższy czas...
Pytanie - znacie jakiś programik, którym można szybciutko i przyjemnie
obrabiać takie dane zapisane w pliku tekstowym jako log z RS232?
Znalazłem jakiś darmowy Smath, ładnie mi zaciągnął dane z pliku, ale już
przekonwertowanie hex-to-dec go przerosło. Nie chcę się pchać w Matlaba,
w którym pewnie bym to zrobił szybko, ale to wielka kobyła do
ściągnięcia i jeszcze większa po instalacji.

--
Pozdrawiam
Jakub Rakus

bartekltg
Guest

Wed Jun 04, 2014 10:14 pm   



On 04.06.2014 23:37, Jakub Rakus wrote:
Quote:
Witajcie,

Jest sobie pewne ustrojstwo, które wyniki pomiarów wypluwa przez RS232 w
postaci paczki kilkunastu bajtów co 10ms przy prędkości 115200. Zanim
stworzę programik na PC, który te dane będzie odbierał i rysował piękne
wykresy "real time" chciałbym zobaczyć czy w ogóle te dane mają sens.
Na razie radzę sobie tak: odpalam jakiś TeraTerm (słynny bray-terminal
nie ogarnia takiego natłoku danych), zapisuję odebrane dane do pliku.
Żeby to importować do Calca, najpierw muszę czymś notatnikopodobnym za
pomocą znajdź/zamień powstawiać znaki nowej linii na końcu każdej paczki
danych - ok, to idzie przeżyć, idzie szybko.
Masakrą jest obróbka danych w Calcu - moje ustrojstwo wynik pomiaru z
jednego kanału zapisuje na 16-bitowej liczbie w kodzie U2 (wyniki są
także ujemne!). Calc i jemu podobne może i mają funkcje konwersji między
systemami liczbowymi, ale z ograniczeniem do liczb 10-bitowych... więc
muszę tworzyć jakieś makabryczne formułki żeby np. z 0x76a9 zrobić
30377. Dla 7 takich liczb przy 2500 próbkach już Calc zamula, a będę
potrzebował poobserwować co się dzieje przez ok. 10 razy dłuższy czas...
Pytanie - znacie jakiś programik, którym można szybciutko i przyjemnie
obrabiać takie dane zapisane w pliku tekstowym jako log z RS232?
Znalazłem jakiś darmowy Smath, ładnie mi zaciągnął dane z pliku, ale już
przekonwertowanie hex-to-dec go przerosło. Nie chcę się pchać w Matlaba,
w którym pewnie bym to zrobił szybko, ale to wielka kobyła do
ściągnięcia i jeszcze większa po instalacji.



Daj przykładowy krótki plik wejściowy i wyjściowy.

pzdr
bartekltg

Grzegorz Niemirowski
Guest

Wed Jun 04, 2014 10:30 pm   



Jakub Rakus <szczur01@op.pl> napisał(a):
Quote:
Witajcie,
Jest sobie pewne ustrojstwo, które wyniki pomiarów wypluwa przez RS232 w
postaci paczki kilkunastu bajtów co 10ms przy prędkości 115200. Zanim
stworzę programik na PC, który te dane będzie odbierał i rysował piękne
wykresy "real time" chciałbym zobaczyć czy w ogóle te dane mają sens.
Na razie radzę sobie tak: odpalam jakiś TeraTerm (słynny bray-terminal nie
ogarnia takiego natłoku danych), zapisuję odebrane dane do pliku. Żeby to
importować do Calca, najpierw muszę czymś notatnikopodobnym za pomocą
znajdź/zamień powstawiać znaki nowej linii na końcu każdej paczki danych -
ok, to idzie przeżyć, idzie szybko.
Masakrą jest obróbka danych w Calcu - moje ustrojstwo wynik pomiaru z
jednego kanału zapisuje na 16-bitowej liczbie w kodzie U2 (wyniki są także
ujemne!). Calc i jemu podobne może i mają funkcje konwersji między
systemami liczbowymi, ale z ograniczeniem do liczb 10-bitowych... więc
muszę tworzyć jakieś makabryczne formułki żeby np. z 0x76a9 zrobić 30377.
Dla 7 takich liczb przy 2500 próbkach już Calc zamula, a będę potrzebował
poobserwować co się dzieje przez ok. 10 razy dłuższy czas...
Pytanie - znacie jakiś programik, którym można szybciutko i przyjemnie
obrabiać takie dane zapisane w pliku tekstowym jako log z RS232? Znalazłem
jakiś darmowy Smath, ładnie mi zaciągnął dane z pliku, ale już
przekonwertowanie hex-to-dec go przerosło. Nie chcę się pchać w Matlaba, w
którym pewnie bym to zrobił szybko, ale to wielka kobyła do ściągnięcia i
jeszcze większa po instalacji.

Skoro potrafisz stworzyć programik rysujący, to dlaczego problemem jest
napisane programiku konwertującego te dane?

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 12 days, 2 hours, 15 minutes and 27 seconds

J.F.
Guest

Thu Jun 05, 2014 5:36 am   



Dnia Wed, 04 Jun 2014 23:37:26 +0200, Jakub Rakus napisał(a):
Quote:
Na razie radzę sobie tak: odpalam jakiś TeraTerm (słynny bray-terminal
nie ogarnia takiego natłoku danych), zapisuję odebrane dane do pliku.
Żeby to importować do Calca, najpierw muszę czymś notatnikopodobnym za
pomocą znajdź/zamień powstawiać znaki nowej linii na końcu każdej paczki
danych - ok, to idzie przeżyć, idzie szybko.

TeraTerm ma makra. Mierne bo mierne, ale moze wystarcza.

Quote:
Pytanie - znacie jakiś programik, którym można szybciutko i przyjemnie
obrabiać takie dane zapisane w pliku tekstowym jako log z RS232?
Znalazłem jakiś darmowy Smath, ładnie mi zaciągnął dane z pliku, ale już
przekonwertowanie hex-to-dec go przerosło. Nie chcę się pchać w Matlaba,
w którym pewnie bym to zrobił szybko, ale to wielka kobyła do
ściągnięcia i jeszcze większa po instalacji.

http://ttssh2.sourceforge.jp/manual/en/macro/command/strscan.html

J.

pgw
Guest

Thu Jun 05, 2014 7:29 am   



On Wed, 04 Jun 2014 23:37:26 +0200, Jakub Rakus wrote:

Quote:
Witajcie,

Jest sobie pewne ustrojstwo, które wyniki pomiarów wypluwa przez RS232 w
postaci paczki kilkunastu bajtów co 10ms przy prędkości 115200. Zanim
stworzę programik na PC, który te dane będzie odbierał i rysował piękne
wykresy "real time" chciałbym zobaczyć czy w ogóle te dane mają sens.
Na razie radzę sobie tak: odpalam jakiś TeraTerm (słynny bray-terminal
nie ogarnia takiego natłoku danych), zapisuję odebrane dane do pliku.
Żeby to importować do Calca, najpierw muszę czymś notatnikopodobnym za
pomocą znajdź/zamień powstawiać znaki nowej linii na końcu każdej paczki
danych - ok, to idzie przeżyć, idzie szybko.
Masakrą jest obróbka danych w Calcu - moje ustrojstwo wynik pomiaru z
jednego kanału zapisuje na 16-bitowej liczbie w kodzie U2 (wyniki są
także ujemne!). Calc i jemu podobne może i mają funkcje konwersji między
systemami liczbowymi, ale z ograniczeniem do liczb 10-bitowych... więc
muszę tworzyć jakieś makabryczne formułki żeby np. z 0x76a9 zrobić
30377. Dla 7 takich liczb przy 2500 próbkach już Calc zamula, a będę
potrzebował poobserwować co się dzieje przez ok. 10 razy dłuższy czas...
Pytanie - znacie jakiś programik, którym można szybciutko i przyjemnie
obrabiać takie dane zapisane w pliku tekstowym jako log z RS232?
Znalazłem jakiś darmowy Smath, ładnie mi zaciągnął dane z pliku, ale już
przekonwertowanie hex-to-dec go przerosło. Nie chcę się pchać w Matlaba,
w którym pewnie bym to zrobił szybko, ale to wielka kobyła do
ściągnięcia i jeszcze większa po instalacji.

Mysle, ze w pythonie zrobisz to w miare szybko.

--
pgw

Jakub Rakus
Guest

Thu Jun 05, 2014 3:00 pm   



On 05.06.2014 00:30, Grzegorz Niemirowski wrote:

Quote:
Skoro potrafisz stworzyć programik rysujący, to dlaczego problemem jest
napisane programiku konwertującego te dane?

Przecież wyraźnie napisałem już w drugim zdaniu: Zanim stworzę programik
na PC, który te dane będzie odbierał i rysował piękne wykresy "real
time" chciałbym zobaczyć czy w ogóle te dane mają sens.
Ni będę się pie... z pisaniem programu dopóki nie zobaczę, że cokolwiek
da się z tego uzyskać, nie mam czasu na pisanie aplikacji for fun.

--
Pozdrawiam
Jakub Rakus

janusz_k
Guest

Thu Jun 05, 2014 3:13 pm   



W dniu 05.06.2014 o 17:00 Jakub Rakus <szczur01@op.pl> pisze:

Quote:
On 05.06.2014 00:30, Grzegorz Niemirowski wrote:

Skoro potrafisz stworzyć programik rysujący, to dlaczego problemem jest
napisane programiku konwertującego te dane?

Przecież wyraźnie napisałem już w drugim zdaniu: Zanim stworzę programik
na PC, który te dane będzie odbierał i rysował piękne wykresy "real
time" chciałbym zobaczyć czy w ogóle te dane mają sens.
Ni będę się pie... z pisaniem programu dopóki nie zobaczę, że cokolwiek
da się z tego uzyskać, nie mam czasu na pisanie aplikacji for fun.

A masz czas uczyć się programu do bróbki tego?
jak tak to masz "awk", ale łatwo nie bedzie, szybciej program napiszesz
niż się go (awk) nauczysz.
Quote:



--

Pozdr
Janusz

Grzegorz Niemirowski
Guest

Thu Jun 05, 2014 7:09 pm   



Jakub Rakus <szczur01@op.pl> napisał(a):
Quote:
Przecież wyraźnie napisałem już w drugim zdaniu: Zanim stworzę programik
na PC, który te dane będzie odbierał i rysował piękne wykresy "real time"
chciałbym zobaczyć czy w ogóle te dane mają sens.
Ni będę się pie... z pisaniem programu dopóki nie zobaczę, że cokolwiek da
się z tego uzyskać, nie mam czasu na pisanie aplikacji for fun.

Widziałem tamto zdanie, ale nadal nie rozumiem. Przecież to roboty na 15
minut. Jak nie masz 15 minut, to mogę Ci napisać.

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 12 days, 22 hours, 52 minutes and 58 seconds

J.F.
Guest

Fri Jun 06, 2014 12:52 pm   



Użytkownik napisał w wiadomości grup
Quote:
Tak na marginesie, fascynuje mnie tendencja do używania arkusz
kalkulacyjnego
przez inżynierów gdy dostępne są kombajny obliczeniowe typy Matlab
czy opensourcowy Octave.

Kombajnu trzeba sie nauczyc, a Excela kazdy zna :-)

Latwosc zmian danych nie przemawia za Excelem ?

J.

janusz_k
Guest

Fri Jun 06, 2014 12:56 pm   



Quote:
Tak na marginesie, fascynuje mnie tendencja do używania arkusz
kalkulacyjnego
przez inżynierów gdy dostępne są kombajny obliczeniowe typy Matlab czy
opensourcowy Octave.
Bo trzeba się ich uczyć, a arkusz obsługujesz w zasadzie w biegu.


--

Pozdr
Janusz

Guest

Fri Jun 06, 2014 2:45 pm   



W dniu środa, 4 czerwca 2014 23:37:26 UTC+2 użytkownik Jakub Rakus napisał:
Quote:
Witajcie,



Jest sobie pewne ustrojstwo, które wyniki pomiarów wypluwa przez RS232 w

postaci paczki kilkunastu bajtów co 10ms przy prędkości 115200. Zanim

stworzę programik na PC, który te dane będzie odbierał i rysował piękne

wykresy "real time" chciałbym zobaczyć czy w ogóle te dane mają sens.

Na razie radzę sobie tak: odpalam jakiś TeraTerm (słynny bray-terminal

nie ogarnia takiego natłoku danych), zapisuję odebrane dane do pliku.

Żeby to importować do Calca, najpierw muszę czymś notatnikopodobnym za

pomocą znajdź/zamień powstawiać znaki nowej linii na końcu każdej paczki

danych - ok, to idzie przeżyć, idzie szybko.

Masakrą jest obróbka danych w Calcu - moje ustrojstwo wynik pomiaru z

jednego kanału zapisuje na 16-bitowej liczbie w kodzie U2 (wyniki są

także ujemne!). Calc i jemu podobne może i mają funkcje konwersji między

systemami liczbowymi, ale z ograniczeniem do liczb 10-bitowych... więc

muszę tworzyć jakieś makabryczne formułki żeby np. z 0x76a9 zrobić

30377. Dla 7 takich liczb przy 2500 próbkach już Calc zamula, a będę

potrzebował poobserwować co się dzieje przez ok. 10 razy dłuższy czas...

Pytanie - znacie jakiś programik, którym można szybciutko i przyjemnie

obrabiać takie dane zapisane w pliku tekstowym jako log z RS232?

Znalazłem jakiś darmowy Smath, ładnie mi zaciągnął dane z pliku, ale już

przekonwertowanie hex-to-dec go przerosło. Nie chcę się pchać w Matlaba,

w którym pewnie bym to zrobił szybko, ale to wielka kobyła do

ściągnięcia i jeszcze większa po instalacji.

Napisałem sobie programik, a raczej przepisałem przykład, w celu
weryfikacji czy dane po R232 maja sens Wink

#!/usr/bin/env python

import serial
import sys
import select
import struct
import math

ser = serial.Serial('/dev/ttyS5', 115200, timeout = None)
ser_data = []

while True:
ser_data.append(ser.read())
if any('\x04' == val for val in ser_data) == True:
print ser_data
ser_data[:] = []


Tak na marginesie, fascynuje mnie tendencja do używania arkusz kalkulacyjnego
przez inżynierów gdy dostępne są kombajny obliczeniowe typy Matlab czy opensourcowy Octave.

Jakub Rakus
Guest

Fri Jun 06, 2014 2:55 pm   



On 06.06.2014 14:45, jerzdy@gmail.com wrote:

Quote:
Tak na marginesie, fascynuje mnie tendencja do używania arkusz kalkulacyjnego
przez inżynierów gdy dostępne są kombajny obliczeniowe typy Matlab czy opensourcowy Octave.

Sam sobie odpowiedziałeś: kombajny. Instalka matlaba zajmuje "niecałe"
4GB, oczywiście program darmowy nie jest, a kosztuje krocie jeśli ktoś
chce go używać legalnie i jak każdy taki kombajn ma pierdylion funkcji,
których nigdy nie użyjesz jeśli nie projektujesz promu kosmicznego.
Octave - sorry, używałem Matlaba/Simulinka i jak zobaczyłem tego
niestabilnego sypiącego błędami potworka to szybko mu podziękowałem.
Jak sobie wezmę darmowy pakiet LibreOffice (instalka waży 200MB) mam
wszystko to samo co w nietanim MSOfficie, jest w nim Calc, odpowiednik
Excela, w którym wykonam 99% obliczeń potrzebnych w codziennej
inżynierskiej pracy.

--
Pozdrawiam
Jakub Rakus

janusz_k
Guest

Fri Jun 06, 2014 7:30 pm   



W dniu 06.06.2014 o 20:37 <jerzdy@gmail.com> pisze:

Quote:
W dniu piątek, 6 czerwca 2014 14:56:10 UTC+2 użytkownik janusz_k napisał:
Tak na marginesie, fascynuje mnie tendencja do używania arkusz
kalkulacyjnego
przez inżynierów gdy dostępne są kombajny obliczeniowe typy Matlab czy
opensourcowy Octave.

Bo trzeba się ich uczyć, a arkusz obsługujesz w zasadzie w biegu.
Kombajnu trzeba sie nauczyc, a Excela kazdy zna Smile
Mniej wiecej te same odpowiedzi uzyskalem w pracy na wiekopomne odkrycie
iz
wiekszsc inzynierow "hardwarowych" korzysta z Exela jako platformy
obliczeniowej mimo iz wiekszosc programuje w C.
No i normalne, w C źle się liczy i na dodatek wynik trzeba jeszcze jakoś

wyświetlić, każda poprawka to czas bo trzeba kompilować program,a w excelu
poprawiasz w komórce i od razu masz wynmik.

Quote:

1) Excela tez trzeba sie nauczyc z jego milionem nikmu nie potrzebnych
funkcji
Guzik prawda, wystarcza kilka podstawowych, resztę szukasz w wstaw

funkcję, mozliwości ci te daje najprostrzy darmowy pakiet nap libreoffice.

Quote:
ukrytych w ciągle zmieniającym sie menu. Potrzebowealem zrobic tabelke z
kilkoma wartoscami oraz obliczeniem rownania z tymi zmiennymi. Horrendum.
Bez przesady, podstawy arkusza są naprawdę proste.


Quote:

2) Matlab/Octave ze swa skladnia sa zblizone sa do C i
Matlab jest płatny a octave to bubel.



Quote:
Skomplikowane? Raczej nie.
3) Jezyki skryptowe jak Python czy Matlab/Octave daja ogromne biblioteki
Próbowałem sie nauczyć Python-a i dałem sobie spokój, zbyt popierniczony.



Quote:
do obrobki zebranych danych. Ja wiem iz mozna obliczyc RMS itp takze w
Excelu
a FFT tez? Wink
Pewnie, na pewno łatwo nie będzie ale da się.


Quote:

4) W wiekszosci dystrybucji Linuksowych Octave jak i Python sa
spakietowane i nic nie trzeba instalowac oraz dzialaja stabilnie.
A w windzie?


--

Pozdr
Janusz

Guest

Fri Jun 06, 2014 8:37 pm   



W dniu piątek, 6 czerwca 2014 14:56:10 UTC+2 użytkownik janusz_k napisał:
Quote:
Tak na marginesie, fascynuje mnie tendencja do używania arkusz
kalkulacyjnego
przez inżynierów gdy dostępne są kombajny obliczeniowe typy Matlab czy
opensourcowy Octave.

Bo trzeba się ich uczyć, a arkusz obsługujesz w zasadzie w biegu.
Kombajnu trzeba sie nauczyc, a Excela kazdy zna Smile
Mniej wiecej te same odpowiedzi uzyskalem w pracy na wiekopomne odkrycie iz

wiekszsc inzynierow "hardwarowych" korzysta z Exela jako platformy obliczeniowej mimo iz wiekszosc programuje w C.

1) Excela tez trzeba sie nauczyc z jego milionem nikmu nie potrzebnych funkcji
ukrytych w ciągle zmieniającym sie menu. Potrzebowealem zrobic tabelke z
kilkoma wartoscami oraz obliczeniem rownania z tymi zmiennymi. Horrendum.

2) Matlab/Octave ze swa skladnia sa zblizone sa do C i mowienie iz jest skomplikowany raczej wskazuje na niechec do programowanie np:
Potrzebowalem odczytac z wykresu pewna wartosc zamiast znalezc wzor funkcji linowej opisanej ponizszymi wartoscami

Skrypt dla Octave:
x = [2, 3, 3.6];
y = [38, 57, 68];
plot (x, y);

Skomplikowane? Raczej nie.

3) Jezyki skryptowe jak Python czy Matlab/Octave daja ogromne biblioteki
do obrobki zebranych danych. Ja wiem iz mozna obliczyc RMS itp takze w Excelu
a FFT tez? ;)

4) W wiekszosci dystrybucji Linuksowych Octave jak i Python sa spakietowane i nic nie trzeba instalowac oraz dzialaja stabilnie.

A tak ku przypomnieniu, to nie ja pytalem jak w prosty sposob zebrac i zaprezentowac dane z portu szeregowego. Na pewno nie Excelem Wink

Guest

Fri Jun 06, 2014 9:05 pm   



W dniu środa, 4 czerwca 2014 23:37:26 UTC+2 użytkownik Jakub Rakus napisał:
Quote:
(...)
Nie chcę się pchać w Matlaba, w którym pewnie bym to zrobił szybko, ale to
wielka kobyła do ściągnięcia i jeszcze większa po instalacji.
Do orginalnego pytacza:


Twoje dane sa specyficzne tak wiec oczekiwanie iz uniwersalny program bedzie je w stanie "obrocic" jest co nieco dziwne.

Jedynie sluszna opcja w Twoim przypadku jest programowanie w dowolnym, znanym Ci jezyku. Osobiscie polecam Pythona.

Ps.
Wyswietnie dynamicznego przebiegu (dane zebrane w kontrolerze i przeslane do PC przez ethernet) z danych obrobionych w tym skrypcie (tak jak u Ciebie konwersja z 16-bitowych na float) to bylo kilka linijek kodu. Co do wydajnosci - bylem w stanie na relatywnie starym laptopie, wyswietlic przebieg skladajacy sie z 2500
probek, co 100ms przychodzi paczka 100 probek.

Goto page 1, 2, 3, 4  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Szybkie programy do obróbki danych HEX 16-bitowych z RS232: jakie polecacie?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map