![]() |
![]() | #1 |
Профессор Join Date: 01 2005 Location: Perm Age: 41
Posts: 2,142
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
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,$isdst) = 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"; } } -------------------------------------------------------------------------------- |
![]() |
![]() | #3 |
Guru Apprentice Join Date: 02 2002 Location: /dev/null Age: 44
Posts: 524
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
Это perl-script (обратите внимание на первую строчку, и сразу станет ясно что это перл-скрипт), который читает что-что с serial1, что-то с этим чем-то делает, усредняет и загоняет во внешний файл. Видимо это что-то с serial1 приходит как строка текстовых величин разделенных пробелами. Видимо кроме пробелов бывает мусор, или пробелов бывает больше чем один. Чего от нас хочет accemic26 я не очень понял. Ты лучще обьясни что у тебя к сериал1 подключено? Если я туда мышку воткну, что получится? |
![]() |
![]() | #5 |
Профессор Join Date: 01 2005 Location: Perm Age: 41
Posts: 2,142
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
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. |
![]() |
![]() | #6 | |
Guru Apprentice Join Date: 02 2002 Location: /dev/null Age: 44
Posts: 524
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]() Quote:
| |
![]() |
![]() | #7 |
Профессор Join Date: 01 2005 Location: Perm Age: 41
Posts: 2,142
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
EKTICH ты хоть знаеш что такое DAQ ? Показание с пол милионна датчиков приходящие на последоватьельный порт с периодом 1 сек. тебе в этом и ассемблер не поможет и в ком порт все это добро не засуниш как бы ты не упаковывал и даже если датчики будут тригеного типа. В этом случае обычно используют крэйт камак, знаеш что это такое ? Ты топик повнимательней почитай. А перл я использовал потомучто это опытная установка. и этот скрипт должен менятся со временем. |
![]() |
![]() | #8 |
Guru Apprentice Join Date: 02 2002 Location: /dev/null Age: 44
Posts: 524
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
Ой, какой пыл, какой жар, сразу с кулаками на обидчика! ![]() Расслабся, что такое крейт камак я знаю, даже модули в него пихал в лабораторной на кафедре, даже видел таких зверей в ЕрФИ, на ускорителе. На что похожи данные с пол-миллиона датчиков тоже представляю. Теперь что, за то что я не поставил ключевые слова հոսկի օրինակ перед фразой "с пол-миллиона датчиков" меня сразу в ламеры разжаловать? Ты остынь, я тебя не критикую. Просто пытаюсь понять смысл в твоем посте. Пытаешся показать что ты DAQ на перле написал когда "DAQ obichno pishut na systemnix yazikax f.e. C/C++"? Я и говорю DAQ-и разные бывают. Я вон траффик собираю с 18 "кисок", по 24 порта на каждой, и графики рисую, тоже DAQ, тоже на перле написан (хотя мне не нравится, медленно работает, хочу на Ц++ переписать). Или это не DAQ? Обьясни мне, ламеру несчасному, у котого всего-то образования - PhD в математической физике... Искренне ваш, Эктич PS. для тех кто не знает: "киска" \equiv CISCO PPS. для тех кто знал - ни в коей мере не пытаюсь показать что я знаю больше вас, коллеги! PPPS. \equiv - математический символ эквивалентности в ЛаТеХ... Last edited by Ektich; 14.01.2005 at 12:01. Reason: P.S. Added |
![]() |
![]() | #9 |
Профессор Join Date: 01 2005 Location: Perm Age: 41
Posts: 2,142
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
Вот тебе из интернета тут вроде ничего не сказано о обработке данных 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. Университет Ядерная физика первое надо признать... мне больше понравилось Вот только не понял причем тут математическая физика ? |
![]() |
![]() | #10 |
just as it is Join Date: 01 2004 Location: Bonn, DE Age: 45
Posts: 991
Downloads: 12 Uploads: 0
Reputation: 46 | 4 | ![]()
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. |
![]() |
![]() | #13 | |
just as it is Join Date: 01 2004 Location: Bonn, DE Age: 45
Posts: 991
Downloads: 12 Uploads: 0
Reputation: 46 | 4 | ![]() Quote:
![]() 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 | |
![]() |
![]() | #14 |
Профессор Join Date: 01 2005 Location: Perm Age: 41
Posts: 2,142
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
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. |
![]() |
![]() | #15 |
Guru Apprentice Join Date: 02 2002 Location: /dev/null Age: 44
Posts: 524
Downloads: 0 Uploads: 0
Reputation: 0 | 0 | ![]()
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" Ну и личная просьба: в кириллице я Эктич, а не Ектих. "Но я не жалуюсь, все же не могут..." (c) Ослик Иа. |
![]() |
Sponsored Links |