AKB Forums

Go Back   AKB Forums > Technical sections > Languages, Compilers and Interpreters
Home Register Blogs FAQ Members List Calendar Downloads Arcade Mark Forums Read

Languages, Compilers and Interpreters C,C++,C#,.NET,Java,PHP,Perl,SQL and more

Troubles when posting message? Click here! :: Проблемы с отправлением сообщения? Нажмите сюда!

Reply
 
LinkBack Thread Tools Display Modes
Old Jan 10, 2005, 13:03   #1
Профессор
 
Nikita's Avatar
 
Join Date: Jan 2005
Location: Perm
Posts: 2,142
Rep Power: 4
Reputation: 10
Send a message via ICQ to Nikita
"Data Acquisition System" za pol chasa

Reshil podelitsya ...
DAQ obichno pishut na systemnix yazikax f.e. C/C++
tut ya odnu napisal na perl -e, rabotayet kak chasi.
chto skajete ?
#!/usr/bin/perl
-------------------------------------------------------------------------------------
$DIR="/home/data/";

#local ($/) = "\r" ;
open (Serial_Port, "/dev/ttyS0");

$Counter=0;
$First_Iteration = "Yes";
while ($record = <Serial_Port>) {
#print $record;
$record =~ s/[^\d \.-]*//g;
$record =~ s/ {2,}/ /g;

($X,$Y,$Z,$Tempr,$hummi) = split(/ /, $record);

$X_Sum=$X_Sum + $X;
$Y_Sum=$Y_Sum + $Y;
$Z_Sum=$Z_Sum + $Z;
$Tempr_Sum=$Tempr_Sum + $Tempr;
$hummi_Sum=$hummi_Sum + $hummi;
print ".";
$Counter++;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isd st) = gmtime(time);
if($hour < 10){
$hour = "0".$hour;
}
if($sec < 10){
$sec = "0".$sec;
}
if($min < 10){
$min = "0".$min;
}


$year+=1900;
$mon++;
$Time = $hour.":".$min.":".$sec;

if($year < 10){
$year = "0".$year;
}
if($mon < 10){
$mon = "0".$mon;
}
if($mday < 10){
$mday = "0".$mday;
}

$FileName = "$year$mon$mday.wst\n";

$Y_Sum." ".$Z_Sum." ".$Tempr_Sum." ".$hummi_Sum." IendI";


if($Old_Minute ne $min and $Old_Minute ne ''){
open(fileOUT, ">>".$DIR.$FileName) or dienice("Can't open ".$DIR.$FileName." for writing: $!");
$X_Sum=$X_Sum / $Counter;
$Y_Sum=$Y_Sum / $Counter;
$Z_Sum=$Z_Sum / $Counter;
$Tempr_Sum=$Tempr_Sum / $Counter;
$hummi_Sum=$hummi_Sum / $Counter;
#print "\n Minutly values:\n";
print fileOUT $Time." ".$X_Sum." ".$Y_Sum." ".$Z_Sum." ".$Tempr_Sum." ".$hummi_Sum."\n";

$X_Sum = 0;
$Y_Sum = 0;
$Z_Sum = 0;
$Tempr_Sum = 0;
$hummi_Sum = 0;
$Counter = 0;
close(fileOUT);
$Old_Minute = "$min";
}
if($First_Iteration == "Yes"){
$Old_Minute = $min;
$First_Iteration == "No";
}
}

--------------------------------------------------------------------------------
Nikita is offline   Reply With Quote Quote selected
Old Jan 13, 2005, 13:21   #2
Студент
 
death's Avatar
 
Join Date: Jul 2002
Location: here
Posts: 390
Rep Power: 7
Reputation: 10
Send a message via ICQ to death
I chto eto takoe?
death is offline   Reply With Quote Quote selected
Old Jan 13, 2005, 15:33   #3
Guru Apprentice
 
Join Date: Feb 2002
Location: /dev/null
Posts: 524
Rep Power: 7
Reputation: 10
Send a message via ICQ to Ektich Send a message via Yahoo to Ektich
Это perl-script (обратите внимание на первую строчку, и сразу станет ясно что это перл-скрипт), который читает что-что с serial1, что-то с этим чем-то делает, усредняет и загоняет во внешний файл. Видимо это что-то с serial1 приходит как строка текстовых величин разделенных пробелами. Видимо кроме пробелов бывает мусор, или пробелов бывает больше чем один.

Чего от нас хочет accemic26 я не очень понял. Ты лучще обьясни что у тебя к сериал1 подключено? Если я туда мышку воткну, что получится?
__________________
\/\/h47'5 1n 4 n4m3? 7h47 wh1(h w3 (4|| 4 r053,
8y 4ny 07h3r n4m3 w0u|d 5m3|| 45 5w337...
Ektich is offline   Reply With Quote Quote selected
Old Jan 13, 2005, 16:41   #4
Грустно...
 
Agregat's Avatar
 
Join Date: Aug 2002
Location: Там, где всегда идут дожди
Posts: 21,546
Rep Power: 11
Reputation: 169
Send a message via ICQ to Agregat Send a message via MSN to Agregat
до хрена ненужных данных
__________________
http://аvitya.livejournal.com
Хотели, как лучше, а получилось даже хуже...
Лозунг шахматиста: На каждый шах - ответим матом!
Agregat is offline   Reply With Quote Quote selected
Old Jan 13, 2005, 16:45   #5
Профессор
 
Nikita's Avatar
 
Join Date: Jan 2005
Location: Perm
Posts: 2,142
Rep Power: 4
Reputation: 10
Send a message via ICQ to Nikita
Ektich jan da nichego ne xochu.
Prosto predlojil ispol`zovat` perl dlya serial port application-ov. vot i vsyo
k com portu podklyucheno ustroistvo izmereniya 3-x sostovlyayush`ix vektora magnitnogo polya, vlajnosti i temperaturi. no eto vrode ne vajno.
a regular ezpression, ispol`zovoval potomuchto stroka prixodit kak X=, Y=, Z= ...
a usrednyayu potomuchto danniye prixodyat s periodom 1 sec, a mne nujni minutniye danniye.
Nikita is offline   Reply With Quote Quote selected
Old Jan 14, 2005, 10:30   #6
Guru Apprentice
 
Join Date: Feb 2002
Location: /dev/null
Posts: 524
Rep Power: 7
Reputation: 10
Send a message via ICQ to Ektich Send a message via Yahoo to Ektich
Quote:
Originally Posted by accemic26
Ektich jan da nichego ne xochu.
Prosto predlojil ispol`zovat` perl dlya serial port application-ov. vot i vsyo
Да хоть Visual BASIC используй, родной! Смотря какая задача, какое устройство. Если бы твоя штука не передавала Х=, У= а дпоустим 2 байта в которых все то же самое записано в каком-нибудь диком упакованном виде (чтобы успеть передать например показания с пол-миллиона датчиков) да еще стояло бы условие что никаких задержек на обработку инфы не должно быть (а то все бабахнет к чертовой матери) ты бы на чем писал бы? Тоже на перле?
__________________
\/\/h47'5 1n 4 n4m3? 7h47 wh1(h w3 (4|| 4 r053,
8y 4ny 07h3r n4m3 w0u|d 5m3|| 45 5w337...
Ektich is offline   Reply With Quote Quote selected
Old Jan 14, 2005, 10:43   #7
Профессор
 
Nikita's Avatar
 
Join Date: Jan 2005
Location: Perm
Posts: 2,142
Rep Power: 4
Reputation: 10
Send a message via ICQ to Nikita
EKTICH
ты хоть знаеш что такое DAQ ?
Показание с пол милионна датчиков приходящие на последоватьельный порт с периодом 1 сек. тебе в этом и ассемблер не поможет и в ком порт все это добро не засуниш как бы ты не упаковывал и даже если датчики будут тригеного типа. В этом случае обычно используют крэйт камак, знаеш что это такое ?
Ты топик повнимательней почитай.
А перл я использовал потомучто это опытная установка. и этот скрипт должен менятся со временем.
Nikita is offline   Reply With Quote Quote selected
Old Jan 14, 2005, 10:57   #8
Guru Apprentice
 
Join Date: Feb 2002
Location: /dev/null
Posts: 524
Rep Power: 7
Reputation: 10
Send a message via ICQ to Ektich Send a message via Yahoo to Ektich
Ой, какой пыл, какой жар, сразу с кулаками на обидчика!

Расслабся, что такое крейт камак я знаю, даже модули в него пихал в лабораторной на кафедре, даже видел таких зверей в ЕрФИ, на ускорителе. На что похожи данные с пол-миллиона датчиков тоже представляю. Теперь что, за то что я не поставил ключевые слова հոսկի օրինակ перед фразой "с пол-миллиона датчиков" меня сразу в ламеры разжаловать?

Ты остынь, я тебя не критикую. Просто пытаюсь понять смысл в твоем посте. Пытаешся показать что ты DAQ на перле написал когда "DAQ obichno pishut na systemnix yazikax f.e. C/C++"? Я и говорю DAQ-и разные бывают. Я вон траффик собираю с 18 "кисок", по 24 порта на каждой, и графики рисую, тоже DAQ, тоже на перле написан (хотя мне не нравится, медленно работает, хочу на Ц++ переписать). Или это не DAQ? Обьясни мне, ламеру несчасному, у котого всего-то образования - PhD в математической физике...

Искренне ваш,

Эктич

PS. для тех кто не знает: "киска" \equiv CISCO
PPS. для тех кто знал - ни в коей мере не пытаюсь показать что я знаю больше вас, коллеги!
PPPS. \equiv - математический символ эквивалентности в ЛаТеХ...
__________________
\/\/h47'5 1n 4 n4m3? 7h47 wh1(h w3 (4|| 4 r053,
8y 4ny 07h3r n4m3 w0u|d 5m3|| 45 5w337...

Last edited by Ektich : Jan 14, 2005 at 11:01. Reason: P.S. Added
Ektich is offline   Reply With Quote Quote selected
Old Jan 14, 2005, 11:10   #9
Профессор
 
Nikita's Avatar
 
Join Date: Jan 2005
Location: Perm
Posts: 2,142
Rep Power: 4
Reputation: 10
Send a message via ICQ to Nikita
Вот тебе из интернета
тут вроде ничего не сказано о обработке данных
System which acquires data, generally by digitizing analog channels and storing the data in digital form. These systems can be standalone or married to a computer and can acquire multiple channels of data.
относительно твоего образования
у меня их 2
1. политехническии. ВТ Вычислительные системы и сети
2. Университет Ядерная физика

первое надо признать... мне больше понравилось
Вот только не понял причем тут математическая физика ?
Nikita is offline   Reply With Quote Quote selected
Old Jan 14, 2005, 11:15   #10
just as it is
 
Astro's Avatar
 
Join Date: Jan 2004
Location: Gaillimh
Posts: 982
Rep Power: 5
Reputation: 39
Send a message via Yahoo to Astro Send a message via Skype™ to Astro
Rebyata, davaite jit' drujno!
Perestan'te zamaxivatca obrazovaniyami, eto kak v pervom klasse.

Glavnoe zdes' mojno skazat' chto vse molodci chto ponimayut dlya chego vsyo eto nado.
__________________
this is my signature
~
~
:wq
Astro is offline   Reply With Quote Quote selected
Old Jan 14, 2005, 11:18   #11
Профессор
 
Nikita's Avatar
 
Join Date: Jan 2005
Location: Perm
Posts: 2,142
Rep Power: 4
Reputation: 10
Send a message via ICQ to Nikita
Астро
в споре рождается истина
я для этого и выставил скрипт, чтобы меня покритиковали, и тем самым найти слабые стороны ...
Nikita is offline   Reply With Quote Quote selected
Old Jan 14, 2005, 11:19   #12
Профессор
 
Nikita's Avatar
 
Join Date: Jan 2005
Location: Perm
Posts: 2,142
Rep Power: 4
Reputation: 10
Send a message via ICQ to Nikita
Ектих
а то что графики рискет это у тебя онлайн и автоматом ?
Nikita is offline   Reply With Quote Quote selected
Old Jan 14, 2005, 11:27   #13
just as it is
 
Astro's Avatar
 
Join Date: Jan 2004
Location: Gaillimh
Posts: 982
Rep Power: 5
Reputation: 39
Send a message via Yahoo to Astro Send a message via Skype™ to Astro
Quote:
Originally Posted by accemic26
Астро
в споре рождается истина
я для этого и выставил скрипт, чтобы меня покритиковали, и тем самым найти слабые стороны ...
Eto mne ponyatno, no zamet' ya vstavil slovechko tol'ko potomu chto rech ne shla pro kakie-ti obribki cripta a pro samu ideyu

A zachem vsyotaki pisat' takoi skript tavarischi a? prosvetite "lamera" v etom dele
Mojet togda mojno ponyat' sleduet pisat' eto vsyo na Perl-e ili vsyotaki ispol'zovat' to chto est' na C ?
__________________
this is my signature
~
~
:wq
Astro is offline   Reply With Quote Quote selected
Old Jan 14, 2005, 11:34   #14
Профессор
 
Nikita's Avatar
 
Join Date: Jan 2005
Location: Perm
Posts: 2,142
Rep Power: 4
Reputation: 10
Send a message via ICQ to Nikita
Astro
Zadacha:
Yest novoye ustroistvo, ono testiruyetsya, peredoyot ono svoi danniye cherez com port. ispol`zuyetsya v fizike, v lyuboy moment elektron`shiki mogu dobavit` chtoto ili ubrat`, na mashine, k kotoroy vsyo eto podcepili stoit linux.
Tot soft kotorii ispol`zuyetsua, ne podxodit, iz-za protokola obmena dannimi ( sorry odnostoronnego). Mojno vsyo eto resh`it` pomenyav ili napisav zango C/C++ kod. potom otladka, soprovojdeniye ... . Poetomu i reshil napisat` na Perl-e. Do etogo bila zadumka napisat` na Python-e. Daje nashol special`nii modul` dlya nego. No paren` kotorii developer etot modul` kudato delsya, i s 2001-go goda ni kakix izmenenii v etom module nebilo. Ne schitaya togo chto na site-e u nego problemi s dowsnload-ingom bili ...
V itoge ostonovilsya na perl-e.
No glavnoye tut to chto ochen` kompaktnaya, i ponyatnaya programm-a.
Nikita is offline   Reply With Quote Quote selected
Old Jan 14, 2005, 13:34   #15
Guru Apprentice
 
Join Date: Feb 2002
Location: /dev/null
Posts: 524
Rep Power: 7
Reputation: 10
Send a message via ICQ to Ektich Send a message via Yahoo to Ektich
accemic26: я не против поспорить, только ты чего-то к словам цепляешся а не к идеям. Мне теперь что, над каждым словом думать? То что я довабил слово "графики рисую" (уговорили, два слова) автоматически означает что мне нужно тыкать определением DAQ-ов?
Или может стоит определить слово "спор"?

Я так определяю: "обмен мнениями между двумя индивидуумами. каждый индивидуум предполагает что собеседник обладает таким же, если не большим, запасом знаний".

Из твоих постов мне показалось что ты предполагаешь что все вокруг знают меньше чем ты. (я потому приплел образование, чтоб намекнуть что у меня тоже черепушка варит, и я не "просто так погулять вышел".)

Вот другое определение: "лекция - монолог индивидуума, предполагающего что собеседники знают меньше, чем он. Собеседники (а вернее слушатели) предполагают что лектор знает больше чем они, и сознательно выслушивают монолог".

Про графики: не понял вопроса. что значит "online vs automat"? Если ты о генерации графиков "on the fly" - то нет. Это MRTG, который подбирает данные каждые 5 минут и создает уйму ПНГ-шек.. наверно потому и медленно. До "on the fly (on request)" я пока не добрался

Астро: на самом деле я сам такой же "горячий" был когда-то как и accemic26, да и сейчас меня иногда "заносит" на некоторые темы...

accemic26, back to you: а это хорошо что ты такой горячий не, серьезно! просто может лучше сначала узнать собеседника а потом горячиться? МАло-ли, вдруг в будущем пригодится?

А про скрипт - если об'ективно то вполне неплпохо написан (хотя я себя експертом в перл-е не считаю). Единственное что я бы поменял:

Code:
print join(' ',$Time,$X_Sum,$Y_Sum,$Z_Sum,$Tempr_Sum,$hummi_Sum),"\n"
(там пробел как первый параметер join-а).

Ну и личная просьба: в кириллице я Эктич, а не Ектих. "Но я не жалуюсь, все же не могут..." (c) Ослик Иа.
__________________
\/\/h47'5 1n 4 n4m3? 7h47 wh1(h w3 (4|| 4 r053,
8y 4ny 07h3r n4m3 w0u|d 5m3|| 45 5w337...
Ektich is offline   Reply With Quote Quote selected
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT. The time now is 00:37.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
This board was founded on September 29, 2001
Powered by Viper Internet

Affordable Web Hosting | ParevNet

Buy text link