Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Когда не нужна ОС РВ?
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
Thistle
Цитата
1) однородность среды разработки/исполнения


Вот это как раз и настораживает: у вас когда-нибудб пропадали элементы меню"Пуск"?, а рабочий стол не превращался в "картинку", абсолютно на ваши действия не реагирующую?

Цитата
2)
Видндовоз предоставляет несоизмеримо большую функциональность, т.к. это .


Знаете, ДОМ 2 Это тоже вроде MAINSTREAM а тем не менее меня от него почему-то воротит
cranky.gif (тема отдельного разговора))) biggrin.gif ) да и как-то логически ваши слова не увязываются:
MAINSTREAM и
Цитата
функциональность

unsure.gif

Цитата
Как видите, ответы очень просты. Сходите, кстати, на сайт Прософта, Виндовоз продается наравне с QNX, его и позиционировать не надо... все и так все понимают, не удивлюсь, если объемы его продаж превышают позиционируемый как ОСРТ QNX.

Вы знаете, а вот туалетную бумагу тоже как то часто очень покупают... видимо потому что дёшево и с
Цитата
функциональность
только вот для строительства орбитальных станций почему-то спец сплавы применяют... хм....или если рынок продиктует и она попадёт в этот самый MAINSTREAM то следующий блок для МКС будет на Байкальском целлюлозно-бумажном изготовляться?

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


Цитата
Технически для ОС QNX более правильная характеристика - ОС с микроядерной архитектурой. ;-)
Конечно же кисло с точки зрения маркетинговой привлекательности... ну, а что делать? :-)



кстати очень даже не кисло, они - именно это и делают!!! laugh.gif
Andrew2000
Цитата(Владимир Е. Зюбин @ Jun 8 2006, 18:38) *
Ну, а в Рефлексе а ля стэнд-элон - все очень просто. Никаких замедлений просто нет и быть не может.

При чем тут Рефлекс? Тут вроде ОС обсуждаются - не надо мешать все в одну кучу - про Рефлекс отдельная ветка есть.

Цитата(Владимир Е. Зюбин @ Jun 8 2006, 18:38) *
Все очень просто. Виндовоз предоставляет: ...

Конечно, предоставляет - мелким фирмочкам сваять на коленке "пром. ПЛК", продать и свалить через месяц в неизвестном направлении (ну пару месяцев) ...

Цитата(Владимир Е. Зюбин @ Jun 8 2006, 18:38) *
Может, дело в том, что тема реального времени давно устарела? Не думали над этим?
...
Понимаете, словосочетание "реальное время" уже давно используется всеми кому не лень, его заездили, ...
Технически для ОС QNX более правильная характеристика - ОС с микроядерной архитектурой. ;-)
...

Да, и и словосочетание заездили, и для QNX и любой другой ОС я бы не применял термин РТОС.
(Ну, раз их так называют, что делать, и я буду).

Что мне (или какому-нить пользователю ПЛК) нужно. Нужна Система РВ (не отдельная РТОС, а коробка в сборе) - управляющая система.
А изнутри: Мне нужно, например, чтоб управляющая задача получала управление каждые 10мс (дрожание начала такта +- 100мкс) и занимала на 5мс ЦПУ, задача связи - ...
Применяя РТОС типа CMX, Nucleus, eCos - я знаю как это сделать (ессно. с учетом быстродействия ЦПУ и сложности алгоритма).
Применяя QNX я на 99% уверен, что смогу это сделать.
А вот применяя Linux или Windows я _наверное_ смогу это сделать, но только применив спец. "расширители" РВ для этих ОС (от того же CoDeSys, например). Но вот в чем я не уверен, так это в том, что такая система проживет больше месяца непрерывной работы.
Для системы вытягивания кремния больше месяца, наверное, и не надо, а для управления конвеером?

Применяя РТОС типа CMX, ... - я уверен, что кроме меня самого никто (т.е. система) динамическую память не запрашивает - я все выделяю в момент инициализации, до while(1) - рабочего цикла.
Все, что нужно после - выделяется/освобождается _только_ блоками фиксированного размера.
Применяя QNX ?? - не знаю, не пробовал.
Применяя Windows - ни в чем не уверен, чем она там занимается.

Ну, и маленький совет тем, кто будет делать ПЛК под Win - когда оставляете машину управлять объектом без присмотра - выдергивайте мышъ!!! Страшнее мышиных прерываний от ползания по коврику для производительности нет ! smile.gif
Olej
Цитата(Владимир Е. Зюбин @ Jun 8 2006, 18:29) *
Цитата(Olej @ Jun 8 2006, 14:53) *

А кстати - как на счёт strdup()? wink.gif - многие ли задумываются что они при этом делают?
А если так wink.gif :
Код
void func( char* S1 ) {
   char* S2 = S1;
   ...
   return( strdup( S2) );
};


насчет strdup, "я такой умный вещь скажу, ты только не обижайся"(с):
в алгоритмах управления strdup-ы не встречаются. Ни к чему они там.


Круто!
А i++ - встречаются ? а ++i ?
Теперь осталось только проделать ревизию "встречаются" / "не встречаются" - и оформить ... "руководящим и направляющим" документом, обязательным к исполнению wink.gif ... что-то мне это мучительно напомнило ... а, вот оно (прошу прощения за длинную off-topic цитату)
http://qnx.org.ru/viewpagedthread7n4227n4.html :
Цитата
Hа дискетке ,что пpинесли с винтом был текст.
Обpаботал - выкинул шапки-заставки , заменил фамилии , имена и цифpы символом "@" .
Пеpевёл в фоpмат "обычный текст", для облегчения объёма.
Более ничего не менял !!!

===================================================================
Техническому Диpектоpу
ООО "Пpоком-Электpоникс"
от Командиpа В/Ч @@@@@@
Полковника @@@@@@@@@@

Пpосьба.

Пpошу пеpеписать с жосткова диска MODEL 2B010H1 11A PCBA 05A UNIQUE 11A CODE
WAH21PBO
CILINDERS 1638 HEADS 16 SECTORS : 63 LBA 20012832
QUANTUM FIREBAL BY MAXTOR
Maxtor 541DX 5400RPM
10 Gb Ultra ATA/100 Hard Drive
1 Gb = 1,000,000,000 Bytes
2b010H1110511
Mfg Date 300CT2001
ER
Made in Singapore ( 2 ) K,M,B,A
инфоpмацию "Мои Документы" с диска "Цэ".

Что было : Компьютеp пеpестал пеpезагpужаться и л-т @@@@@@@@ своими силами pешил его починить.

Выяснилось что компьютеp не выполняет функции загpузки с жосткова диска - он включается и тутужэ останавливается.

Л-т @@@@@@@@@ извлёк жосткий диск из коpпуса компьютеpа, откpыл веpхнюю кpышку и смазал зеpкальную повеpхтность жидкой смазкой ЦИАТИМ-201 ГОСТ 6267-74 для облехчения скольжения узла вычитывателя, но это не помгло и инфоpмация "Мои Документы" осталась недоступной, т.к.компьютеp всёpавно не пpоизводил запуск пpогpамы Виндоуз.

Лично пpоконтpолиpовав последствия действий л-та @@@@@@@@@ я выяснил, что внутpи жосткого диска отсутствует узел вычитывателя,видимо неаккуpатными действиями ,нанося жидкую смазку ЦИАТИМ-201 ГОСТ 6267-74 л-т его сломал и удалил,за что обязательно будет наказан.
Hеобходимо установить на место узел вычитывателя инфоpмации и пеpеписать инфоpмацию из папки "Мои Документы" с диска "Цэ", т.к. она нужна для опеpативной pаботы В/Ч.
В пpоцесе pемонта добавочную смазку наносить нет необходимости т.к. смазка ЦИАТИМ-201 ГОСТ 6267-74 очень высокого качества и поставляется в нашу B/Ч напpямую с завода Омскнефтеоpгсинтез и используеця на большом количестве узлов и агpегатов автомобилей с дизельными двигателями. ( не китайская потделка ).

Пpошу пеpепесать содеpжимое папки "Мои Документы" с диска "Цэ"на компакт-диск маpки CD-RW . Дальнейшие действия с жостким диском в целях экономии Вашего вpемени можно не пpоизводить, л-т @@@@@@@@@ сам сумеет установить его в коpпус компьютеpа и пеpезагpузить его пpогpаммой Виндоуз.

Поpядок оплаты согластно выставленного счёта гаpантиpую.

Полковник @@@@@@@@@@@
В/Ч @@@@@@@@@
===================================================================
Владимир Е. Зюбин
Цитата(Thistle @ Jun 8 2006, 23:00) *
1) однородность среды разработки/исполнения

Вот это как раз и настораживает: у вас когда-нибудб пропадали элементы меню"Пуск"?, а рабочий стол не превращался в "картинку", абсолютно на ваши действия не реагирующую?


Под win95/98 превращался, когда намешано там до кучи всего, чего только вздумается. Но редко.
А вот 2000 - ни разу. ХР - очень устойчив, нареканий нет. Причем это, опять же, системы самые "мусорные" в смысле разнородности приложений.

Цитата(Thistle @ Jun 8 2006, 23:00) *
2) Видндовоз предоставляет несоизмеримо большую функциональность, т.к. это .

Знаете, ДОМ 2 Это тоже вроде MAINSTREAM а тем не менее меня от него почему-то воротит
:cranky: (тема отдельного разговора))) :biggrin: ) да и как-то логически ваши слова не увязываются:
MAINSTREAM и функциональность.


А по-моему, так связаны. Под функциональностью я имею ввиду доступность программных средств разной проблемной ориентации, да, драйверов тех же.

Вы покупаете железку, какие драйверы для нее будут в комплекте? - обычно Виндовоз, изредка редко ДОС и Линукс. Вот практически и все.

Цитата(Thistle @ Jun 8 2006, 23:00) *
Цитата
Как видите, ответы очень просты. Сходите, кстати, на сайт Прософта, Виндовоз продается наравне с QNX, его и позиционировать не надо... все и так все понимают, не удивлюсь, если объемы его продаж превышают позиционируемый как ОСРТ QNX.

Вы знаете, а вот туалетную бумагу тоже как то часто очень покупают... видимо потому что дёшево и с
Цитата
функциональность
только вот для строительства орбитальных станций почему-то спец сплавы применяют... хм....или если рынок продиктует и она попадёт в этот самый MAINSTREAM то следующий блок для МКС будет на Байкальском целлюлозно-бумажном изготовляться?


Я не говорю про орбитальные станции... кстати, какие там ОС используются открытый вопрос.
Да и вообще, не очевидно что там за железо используется. ;-) Возможно, к Интелу никакого отношения не имеющее... так что, сами понимаете.

Цитата(Thistle @ Jun 8 2006, 23:00) *
Цитата
Понимаете, словосочетание "реальное время" уже давно используется всеми кому не лень, его заездили, замылили его поэтическую магию, ну а технического смысла в нем никогда и не было.


Цитата
Технически для ОС QNX более правильная характеристика - ОС с микроядерной архитектурой. ;-)
Конечно же кисло с точки зрения маркетинговой привлекательности... ну, а что делать? :-)


кстати очень даже не кисло, они - именно это и делают!!! :laugh:


Что они делают? используют невнятные (сложные и спорные) термины? Я об этом и говорю.
Меня лично напрягает, когда меня за дурачка держат...
Владимир Е. Зюбин
Цитата(Andrew2000 @ Jun 9 2006, 04:58) *
Цитата(Владимир Е. Зюбин @ Jun 8 2006, 18:38) *
Ну, а в Рефлексе а ля стэнд-элон - все очень просто. Никаких замедлений просто нет и быть не может.

При чем тут Рефлекс? Тут вроде ОС обсуждаются - не надо мешать все в одну кучу - про Рефлекс отдельная ветка есть.


Рефлекс позволяет создавать приложения без участия ОС (создавать standalone приложения). Ну, а поскольку тема топика поиск ответа на вопрос "Когда не нужна ОС РВ", тема Рефлекса тут к месту.

Так что один из возможных ответов на вопрос: ОС не нужна, когда есть Рефлекс и нет проблемы со standalone драйверами УСО.

Цитата(Andrew2000 @ Jun 9 2006, 04:58) *
Цитата(Владимир Е. Зюбин @ Jun 8 2006, 18:38) *
Все очень просто. Виндовоз предоставляет: ...

Конечно, предоставляет - мелким фирмочкам сваять на коленке "пром. ПЛК", продать и свалить через месяц в неизвестном направлении (ну пару месяцев) ...


Ну, не знаю, под Виндовозом работет куча программ, те же LabView. Если сходить на сайт NI, можно узнать много интересного по этому поводу.

Цитата(Andrew2000 @ Jun 9 2006, 04:58) *
Цитата(Владимир Е. Зюбин @ Jun 8 2006, 18:38) *

Может, дело в том, что тема реального времени давно устарела? Не думали над этим?
...
Понимаете, словосочетание "реальное время" уже давно используется всеми кому не лень, его заездили, ...
Технически для ОС QNX более правильная характеристика - ОС с микроядерной архитектурой. ;-)
...

Да, и и словосочетание заездили, и для QNX и любой другой ОС я бы не применял термин РТОС.
(Ну, раз их так называют, что делать, и я буду).

Что мне (или какому-нить пользователю ПЛК) нужно. Нужна Система РВ (не отдельная РТОС, а коробка в сборе) - управляющая система.


Все верно. Любого конечного пользователя интересует выполнение требований ТЗ, а не абстрактные словеса насчет непонятно чего...

Цитата(Andrew2000 @ Jun 9 2006, 04:58) *
А изнутри: Мне нужно, например, чтоб управляющая задача получала управление каждые 10мс (дрожание начала такта +- 100мкс) и занимала на 5мс ЦПУ, задача связи - ...
Применяя РТОС типа CMX, Nucleus, eCos - я знаю как это сделать (ессно. с учетом быстродействия ЦПУ и сложности алгоритма).
Применяя QNX я на 99% уверен, что смогу это сделать.
А вот применяя Linux или Windows я _наверное_ смогу это сделать, но только применив спец. "расширители" РВ для этих ОС (от того же CoDeSys, например). Но вот в чем я не уверен, так это в том, что такая система проживет больше месяца непрерывной работы.
Для системы вытягивания кремния больше месяца, наверное, и не надо, а для управления конвеером?


Система вытягивания кремния имеет ПЛК ядро без ОС вообще. И работать оно будет вечно (пока железо не посыпется). Виндовоз же там только для операторского интерфейса (сенсорный экран,графики, видео, голосовые сообщения, архивы и т.д. и т.п.) Получается дешево, надежно, и стильно. Но поработав с Виндовозом, которая зарекомендовала себя весьма надежной ОС, мы планируем перенести ПЛК-ядро на Виндовозную сторону.

Цитата(Andrew2000 @ Jun 9 2006, 04:58) *
Применяя РТОС типа CMX, ... - я уверен, что кроме меня самого никто (т.е. система) динамическую память не запрашивает - я все выделяю в момент инициализации, до while(1) - рабочего цикла.
Все, что нужно после - выделяется/освобождается _только_ блоками фиксированного размера.
Применяя QNX ?? - не знаю, не пробовал.
Применяя Windows - ни в чем не уверен, чем она там занимается.

Ну, и маленький совет тем, кто будет делать ПЛК под Win - когда оставляете машину управлять объектом без присмотра - выдергивайте мышъ!!! Страшнее мышиных прерываний от ползания по коврику для производительности нет ! :)


Согласен, все технические решения надо прорабатывать очень аккуратно. Но в принципе, при появлении многоядерных архитектур в массовом количестве все эти проблемы должны вообще исчезнуть.

Можно предложить что-то типа такого:
Каждому процессу по ядру, а планировщиков - в корзину.

Цитата(Olej @ Jun 9 2006, 14:39) *
Цитата(Владимир Е. Зюбин @ Jun 8 2006, 18:29) *

Цитата(Olej @ Jun 8 2006, 14:53) *

А кстати - как на счёт strdup()? ;) - многие ли задумываются что они при этом делают?
А если так ;) :
Код
void func( char* S1 ) {
   char* S2 = S1;
   ...
   return( strdup( S2) );
};


насчет strdup, "я такой умный вещь скажу, ты только не обижайся"(с):
в алгоритмах управления strdup-ы не встречаются. Ни к чему они там.


Круто!
А i++ - встречаются ? а ++i ?


Это жизнь.
А ++ встречаются, только переменные заводятся либо в стеке, либо являются глобальными переменными.

Цитата(Olej @ Jun 9 2006, 14:39) *
Теперь осталось только проделать ревизию "встречаются" / "не встречаются" - и оформить ... "руководящим и направляющим" документом, обязательным к исполнению ;) ... что-то мне это мучительно напомнило ... а, вот оно (прошу прощения за длинную off-topic цитату)


Да не нужен Си++ при описании алгоритмов управления, не нужен и не приспособлен для этого...
Поделитесь лучше, в каких случаях при управлении Вы используете strdup? Может действительно, я чего-то не понимаю. И мне надо срочно перейти на strdup-технологию.
(Олег, только, чур, без обид, мне хотелось бы, чтобы Вы вели разговор, постоянно имея ввиду промышленную автоматизацию уровня ПЛК).
Andrew2000
Цитата(Владимир Е. Зюбин @ Jun 9 2006, 15:43) *
Ну, не знаю, под Виндовозом работет куча программ, те же LabView. Если сходить на сайт NI, можно узнать много интересного по этому поводу.
....
(Олег, только, чур, без обид, мне хотелось бы, чтобы Вы вели разговор, постоянно имея ввиду промышленную автоматизацию уровня ПЛК).

Вот и "имейте ее ввиду". LabView предназначен (в основном) для автоматизации лабораторий/экспериментов. А если внимательнее на него посмотреть, то около LabView можно найти "расширитель" РВ под винду или их собственную РТОС на которой могут работать программы, написанные в LabView.
Thistle
Цитата
Под win95/98 превращался, когда намешано там до кучи всего, чего только вздумается. Но редко.
А вот 2000 - ни разу. ХР - очень устойчив, нареканий нет. Причем это, опять же, системы самые "мусорные" в смысле разнородности приложений.


Знаете, у меня в ящике стола лежит мышка (т.н. "манипулятор - мышь " laugh.gif laugh.gif ).Так вот эта самая мышка вешает хоть ХР , хоть 95/98/2000 (о подобном уже говорилось выше))) и не дай бог подобная мышка заведётся и на вашем объекте....
Цитата
Причем это, опять же, системы самые "мусорные" в смысле разнородности приложений.


А вы что собираетесь на объекте в квейк играть? или музыку музицировать? или в фотошопе картинки рисовать?(список можно продолжить...) ......"мусорных приложений" действительно много!))

Цитата
Согласен, все технические решения надо прорабатывать очень аккуратно. Но в принципе, при появлении многоядерных архитектур в массовом количестве все эти проблемы должны вообще исчезнуть.

Можно предложить что-то типа такого:
Каждому процессу по ядру, а планировщиков - в корзину.


Скажите, пожалуйста почемы вы видите только экстенсивный путь развития??? почему практтически любую проблему вы предлагаете решать наращиванием количества процессоров/памяти/(список можно продолжить!)))))

А по-моему, так связаны. Под функциональностью я имею ввиду доступность программных средств разной проблемной ориентации, да, драйверов тех же.

Цитата
Вы покупаете железку, какие драйверы для нее будут в комплекте? - обычно Виндовоз, изредка редко ДОС и Линукс. Вот практически и все.


Вы под железкой имеете в виду новую видеокарту , или какой-нибудь USB венитлятор?

Цитата
Я не говорю про орбитальные станции... кстати, какие там ОС используются открытый вопрос.
Да и вообще, не очевидно что там за железо используется. ;-) Возможно, к Интелу никакого отношения не имеющее... так что, сами понимаете.


Согласен про орбитальные станции я и сам не "копенгаген"))) и речь шла не о железе вовсе а о том что вы назвали MAINSTREAM ... по моему пример с бумагой достаточно нагляден - используют все, но строго по назначению, или с небольшими отклонениями)) а вот с виндовс ситуация иная: ей бы в качестве офисной/игрушечной(т.е. для геймеров)/на крайний случай домашним мультимедиа-центром быть... ан-н-н-нет её все кому не лень хотят хоть на реактор прицепить и сказать :"смотрите всё работает, во рющечки-пер...ки .., а по выходным ещё и поиграть можно!!"

Цитата
Что они делают? используют невнятные (сложные и спорные) термины? Я об этом и говорю.
Меня лично напрягает, когда меня за дурачка держат...


Вас за "дурачка " никто не держит))) можете не напрягаться, просто они называют вещи своими именами : если QNX-RTOS с микроядерной архитектурой, то об этом прямо так и заявляется.. а насчёт сложности определений ... а попробуйте просто определить понятие время (кроме того что это четвёртая координата в пространственно-временном континиуме(кстати вопрос, а это не
Цитата
невнятные (сложные и спорные) термины?
))



ЗЫ тема промоушена уже поднималась, но интересно есть ли здесь на форуме люди из SWD или ПроСофта?
Владимир Е. Зюбин
Цитата(Andrew2000 @ Jun 9 2006, 23:40) *
Цитата(Владимир Е. Зюбин @ Jun 9 2006, 15:43) *
Ну, не знаю, под Виндовозом работет куча программ, те же LabView. Если сходить на сайт NI, можно узнать много интересного по этому поводу.
....
(Олег, только, чур, без обид, мне хотелось бы, чтобы Вы вели разговор, постоянно имея ввиду промышленную автоматизацию уровня ПЛК).

Вот и "имейте ее ввиду". LabView предназначен (в основном) для автоматизации лабораторий/экспериментов. А если внимательнее на него посмотреть, то около LabView можно найти "расширитель" РВ под винду или их собственную РТОС на которой могут работать программы, написанные в LabView.


Я понимаю, что LabView в чистом виде для автоматизации не подходит, но вот написать на ней ЧМИ, почему бы и нет? Хотя мне лично встречались и варианты реализации на LV систем управления простенькими станками ЧПУ. Самая что ни есть пром.автоматизация. И мне действительно неясно, что мешает автоматизировать станки ЧПУ посредством Windows... кстати, общая тенденция в автоматизации станков ЧПУ - ровно в этом направлении движется индустрия.

А чтобы не быть голословным, даже дам ссылку:
Об этом можно почитать "Автоматизация в промышленности" №5. 2004. С.33-57. "Тема: системы ЧПУ сегодня".
Владимир Е. Зюбин
Цитата(Thistle @ Jun 10 2006, 00:40) *
Цитата
Под win95/98 превращался, когда намешано там до кучи всего, чего только вздумается. Но редко.
А вот 2000 - ни разу. ХР - очень устойчив, нареканий нет. Причем это, опять же, системы самые "мусорные" в смысле разнородности приложений.


Знаете, у меня в ящике стола лежит мышка (т.н. "манипулятор - мышь " :laugh: :laugh: ).Так вот эта самая мышка вешает хоть ХР , хоть 95/98/2000 (о подобном уже говорилось выше))) и не дай бог подобная мышка заведётся и на вашем объекте....


кроме мышек есть еще и PCI-платы, и процессоры, и источники питания, которые могут сотворить такое.
А вообще спасибо за предупреждение, но у нас по штатному все мышки/клавиатуры отсутствуют как класс, т.к. ЧМИ реализовано через сенсорный экран.

Цитата(Thistle @ Jun 10 2006, 00:40) *
Цитата
Причем это, опять же, системы самые "мусорные" в смысле разнородности приложений.

А вы что собираетесь на объекте в квейк играть? или музыку музицировать? или в фотошопе картинки рисовать?(список можно продолжить...) ......"мусорных приложений" действительно много!))


В том то и дело, что нет! Но что-то из имеющихся мультимедийных технологий используем и планируем использовать впредь... для того же технического зрения.

Цитата(Thistle @ Jun 10 2006, 00:40) *
Цитата
Согласен, все технические решения надо прорабатывать очень аккуратно. Но в принципе, при появлении многоядерных архитектур в массовом количестве все эти проблемы должны вообще исчезнуть.

Можно предложить что-то типа такого:
Каждому процессу по ядру, а планировщиков - в корзину.


Скажите, пожалуйста почемы вы видите только экстенсивный путь развития??? почему практтически любую проблему вы предлагаете решать наращиванием количества процессоров/памяти/(список можно продолжить!)))))


1. Потому как вся IT-индустрия движется по экстенсивному пути.
2. Интенсивные методы исчерпаны (я уже говорил о 200 нс на процесс, и тут QNX sucks).

Цитата(Thistle @ Jun 10 2006, 00:40) *
Цитата
А по-моему, так связаны. Под функциональностью я имею ввиду доступность программных средств разной проблемной ориентации, да, драйверов тех же.

Вы покупаете железку, какие драйверы для нее будут в комплекте? - обычно Виндовоз, изредка редко ДОС и Линукс. Вот практически и все.


Вы под железкой имеете в виду новую видеокарту , или какой-нибудь USB венитлятор?


и то, и другое, и третье... все, что предполагает дополнительный софт от производителя.

Цитата(Thistle @ Jun 10 2006, 00:40) *
Цитата
Я не говорю про орбитальные станции... кстати, какие там ОС используются открытый вопрос.
Да и вообще, не очевидно что там за железо используется. ;-) Возможно, к Интелу никакого отношения не имеющее... так что, сами понимаете.


Согласен про орбитальные станции я и сам не "копенгаген"))) и речь шла не о железе вовсе а о том что вы назвали MAINSTREAM ... по моему пример с бумагой достаточно нагляден - используют все, но строго по назначению, или с небольшими отклонениями)) а вот с виндовс ситуация иная: ей бы в качестве офисной/игрушечной(т.е. для геймеров)/на крайний случай домашним мультимедиа-центром быть... ан-н-н-нет её все кому не лень хотят хоть на реактор прицепить и сказать :"смотрите всё работает, во рющечки-пер...ки .., а по выходным ещё и поиграть можно!!"


Массовое производство приводит к удешевлению. Это азы экономики, и об этом я и говорю.
Геймеры, или кто, не важно, в результате - качество и низкая стоимость.

Цитата(Thistle @ Jun 10 2006, 00:40) *
Цитата
Что они делают? используют невнятные (сложные и спорные) термины? Я об этом и говорю.
Меня лично напрягает, когда меня за дурачка держат...


Вас за "дурачка " никто не держит))) можете не напрягаться, просто они называют вещи своими именами : если QNX-RTOS с микроядерной архитектурой, то об этом прямо так и заявляется.. а насчёт сложности определений ... а попробуйте просто определить понятие время (кроме того что это четвёртая координата в пространственно-временном континиуме(кстати вопрос, а это не
Цитата
невнятные (сложные и спорные) термины?
))

ЗЫ тема промоушена уже поднималась, но интересно есть ли здесь на форуме люди из SWD или ПроСофта?


Вы что о времени хотите поговорить? У меня лично особого желания нет, но в философских вопросах относительно времени я разбираюсь вполне прилично.

Спрашивайте, что Вас интересует, постараюсь ответить. Ведь действительно, что такое время мало кто понимает.
Thistle
Цитата
Вы что о времени хотите поговорить? У меня лично особого желания нет, но в философских вопросах относительно времени я разбираюсь вполне прилично.

Спрашивайте, что Вас интересует, постараюсь ответить. Ведь действительно, что такое время мало кто понимает.


Я имею ввиду не философкую, а физическую категорию (понятие, если хотите....)

Вот это :
Цитата
Знаете, у меня в ящике стола лежит мышка (т.н. "манипулятор - мышь " laugh.gif laugh.gif ).Так вот эта самая мышка вешает хоть ХР , хоть 95/98/2000 (о подобном уже говорилось выше))) и не дай бог подобная мышка заведётся и на вашем объекте....


говорилось не только, и не столько как предупреждение, а скорее как индикатор качества системы.

Цитата
Массовое производство приводит к удешевлению. Это азы экономики, и об этом я и говорю.
Геймеры, или кто, не важно, в результате - качество и низкая стоимость.


Низкая стоимость? ДА! Высокая доступность? ДА! Надёжность? Пригодность к промышленному применению? хм..... glare.gif unsure.gif huh.gif

Да, и по поводу экстенсивного пути и MAINSTREAM... :

ИМХО экстенсивный путь-тупиковый (и тому есть масса примеров: "война мегагерцев", практически вся советская промышленность (чёрная металлургия точно!), автопромышленность, бодибилдеры наконец (хотя мои примеры подходят со стороны общевселенских закономерностей, но синергетика, она и в IT индустрии синергетика! rolleyes.gif ))
TED17
Может немного не в стиль беседы, но кажется Windows XP Embedded недооценили, -это не обрезанная винда, а полный конструктор от голого ядра -8мв. А все остальное устанавливается под конкретную задачу. В том числе мыши экраны апи сервера итд.... Конечно до микросекунд время реакции не собьешь, но количество несанкционированных действий системы можно понизить во много раз. Ну и устойчивость соответственно получше.
Владимир Е. Зюбин
Цитата(Thistle @ Jun 10 2006, 22:47) *
Цитата
Вы что о времени хотите поговорить? У меня лично особого желания нет, но в философских вопросах относительно времени я разбираюсь вполне прилично.

Спрашивайте, что Вас интересует, постараюсь ответить. Ведь действительно, что такое время мало кто понимает.


Я имею ввиду не философкую, а физическую категорию (понятие, если хотите....)


Это Вы про какую физическую категорию? В операционалистском/позитивистском смысле? Или в диалектическом? Или в идеалистическом?

В первом случае - времени, как такового вообще нет. В СТО(им. Эйнштейна) той же, временем называют просто временные интервалы... в последних двух время не предполагает никаких прилагательных... реальное, оно там, или сюрреальное... не бывает такого. Так как время, вообще говоря, не физическое понятие, а метафизическое. Как и пространство, кстати. Для того, чтобы это понять, достаточно в любой словарь заглянуть...

Ах да, есть еще вульгарно-бытовой смысл... "Скажите пожалуйста, скока времени"... опять же можно проконсультироваться у филологов, насколько это грамотно... ;-) Ну, а если кому лень выяснять, можно сразу сказать, это не очень грамотно (правильная, с точки зрения русского языка, форма - "который час"). Ну и в каждом конкретном случае под временем понимается либо интервал времени, либо точка отсчета интервалов времени...

Так что фраза "реальное время" безграмотна и с философской точки зрения, и с физической, и с филологической...

Цитата(Thistle @ Jun 10 2006, 22:47) *
Вот это :
Цитата
Знаете, у меня в ящике стола лежит мышка (т.н. "манипулятор - мышь " :laugh: :laugh: ).Так вот эта самая мышка вешает хоть ХР , хоть 95/98/2000 (о подобном уже говорилось выше))) и не дай бог подобная мышка заведётся и на вашем объекте....


говорилось не только, и не столько как предупреждение, а скорее как индикатор качества системы.


Для большинства приложений это качество удовлетворительное.

Цитата(Thistle @ Jun 10 2006, 22:47) *
Цитата
Массовое производство приводит к удешевлению. Это азы экономики, и об этом я и говорю.
Геймеры, или кто, не важно, в результате - качество и низкая стоимость.


Низкая стоимость? ДА! Высокая доступность? ДА! Надёжность? Пригодность к промышленному применению? хм..... :glare: :unsure: :huh:


Вы не уверены, а между тем в промышленности использование Windows - это стандартный подход.

Цитата(Thistle @ Jun 10 2006, 22:47) *
Да, и по поводу экстенсивного пути и MAINSTREAM... :

ИМХО экстенсивный путь-тупиковый (и тому есть масса примеров: "война мегагерцев", практически вся советская промышленность (чёрная металлургия точно!), автопромышленность, бодибилдеры наконец (хотя мои примеры подходят со стороны общевселенских закономерностей, но синергетика, она и в IT индустрии синергетика! :rolleyes: ))


А при чем тут синергетика-то?! То о чем я говорю, это стандартная стратегия на рунке. И классический пример - это именно автопромышленность: ширпотребовские японские машины всегда уступали и уступают хай-енд продукции, но это именно массовая продукция, и именно за счет этого они постоянно совершенствуются и современные по прежнему дешевые модели превосходят и по функциональности, и по надежности топ-модели 80-х... которые продавались за сотни тысяч долларов.

Это именно стратегия Майкрософта... good enough software.
(я не даю оценку экономической эффективности метода и его оптимальности, но просто констатирую результат)
Goroshko Egor
Цитата(TED17 @ Jun 12 2006, 22:06) *
Может немного не в стиль беседы, но кажется Windows XP Embedded недооценили, -это не обрезанная винда, а полный конструктор от голого ядра -8мв. А все остальное устанавливается под конкретную задачу. В том числе мыши экраны апи сервера итд.... Конечно до микросекунд время реакции не собьешь, но количество несанкционированных действий системы можно понизить во много раз. Ну и устойчивость соответственно получше.

Странно, я непосредственно с Embedded не работал но описания ее на microsoft.com читал. Может мы правда про разные системы говорим, потому что там несколько у них вариантов было с урезанием и без. Насколько я понял именно WindowsXP Embedded - это именно ПОЛНАЯ ХР заточенная под сенсорный дисплей, без масштабирования. Возможно я что-то упустил. Вы не могли бы привести ссылки на ее описания?
Goroshko Egor
Цитата(Владимир Е. Зюбин @ Jun 13 2006, 06:59) *
Вы не уверены, а между тем в промышленности использование Windows - это стандартный подход.


Особенно ярко это илюстрирует отказ компанией BMW от использования Windows CE после годовой попытки перехода на эту ОС. Что собственно поставило крест на попытках внедрения Microsoft в атомобильную промышленность....
TED17
Цитата(Goroshko Egor @ Jun 13 2006, 12:15) *
Насколько я понял именно WindowsXP Embedded - это именно ПОЛНАЯ ХР заточенная под сенсорный дисплей, без масштабирования. Возможно я что-то упустил. Вы не могли бы привести ссылки на ее описания?

Для точки отправки вот -
http://old.osp.ru/win2000/2006/01/084.htm
для углубления -
http://msdn.microsoft.com/embedded/windows...ed/default.aspx
для пользования - местный фтп.

Кстати по поводу WinCE: WinCE и автомобильная навигация - близнецы (десятки серьезных продуктов), сам пользую и радуюсь (Хи... для автоGPS -100% реалтайм).
Andrew2000
Цитата(TED17 @ Jun 13 2006, 22:38) *
Для точки отправки вот -
http://old.osp.ru/win2000/2006/01/084.htm

Замечательно тут написано:
Цитата
Так для каких же целей предназначена данная [Windows XP Embedded] встраиваемая операционная система? .... например: телевизионные приставки (для кабельного ТВ, видео по запросу, игровые и т. д.); игровые автоматы; тонкие клиенты; устройства для точек розничного обслуживан; медицинское оборудование; печатное оборудование; информационные киоски; банковские терминалы и банкоматы; домашние мультимедиа-устройства; устройства удаленного сбора информации;

Полностью согласен (с уточнением про медицину - есс-но не системы жизнеобеспечения, а диагностические станции).

Цитата(TED17 @ Jun 13 2006, 22:38) *
Кстати по поводу WinCE: WinCE и автомобильная навигация - близнецы (десятки серьезных продуктов), сам пользую и радуюсь (Хи... для автоGPS -100% реалтайм).

Так в этой же статье так и написано: " Поддержка реального времени: Windows XP Embedded - Нет, Windows CE - Да" smile.gif
И опять - это реалтаймный интерфейс с пользователем - тут Win хорошо смотриться.
Владимир Е. Зюбин
Цитата(Andrew2000 @ Jun 14 2006, 15:48) *
Так в этой же статье так и написано: " Поддержка реального времени: Windows XP Embedded - Нет, Windows CE - Да" :)
И опять - это реалтаймный интерфейс с пользователем - тут Win хорошо смотриться.


А что, по-Вашему, это конкретно означает?
TED17
Цитата(Владимир Е. Зюбин @ Jun 14 2006, 14:01) *
Цитата(Andrew2000 @ Jun 14 2006, 15:48) *

Так в этой же статье так и написано: " Поддержка реального времени: Windows XP Embedded - Нет, Windows CE - Да" smile.gif
И опять - это реалтаймный интерфейс с пользователем - тут Win хорошо смотриться.


А что, по-Вашему, это конкретно означает?


На мой взгляд это означает, что Embedded может на несколько ms прерывать пользовательскую программу своими службами (если они установлены), а WinCE - нет.
TED17
Цитата(Andrew2000 @ Jun 14 2006, 13:48) *
Цитата(TED17 @ Jun 13 2006, 22:38) *
Кстати по поводу WinCE: WinCE и автомобильная навигация - близнецы (десятки серьезных продуктов), сам пользую и радуюсь (Хи... для автоGPS -100% реалтайм).

Так в этой же статье так и написано: " Поддержка реального времени: Windows XP Embedded - Нет, Windows CE - Да" smile.gif
И опять - это реалтаймный интерфейс с пользователем - тут Win хорошо смотриться.

Как говорилось, нужно еще поспевать в темп задачи. Для стандартного Pocketa на ARM c WinCE, GPS автонавигация по карте - реалтайм.
Olej
Цитата(TED17 @ Jun 14 2006, 13:53) *
На мой взгляд это означает, что Embedded может на несколько ms прерывать пользовательскую программу своими службами (если они установлены), а WinCE - нет.


"... и тут пришёл поручик Ржевский, и всё опошлил..."(с).

Мне аж неудобно и грустно как-то становится, что не могу присоединится к такому жизнеутверждающему "одобрям-с" относительно Windows для ответственных приложений ... (не важно какой он XP etc. ... после Win32 Windows NT 4 - ничего принципиально в этом направлении не прибавилось), ... особенно обратите внимание на
http://old.osp.ru/win2000/2006/01/084_t1.htm
такое жеманное:
Цитата
Поддержка реального времени - Нет (поддерживается с использова-нием расширений третьих фирм)

но всё гораздо хуже wink.gif:
http://athena.vvsu.ru/carina/RealTime/Realtime_3.html
http://www.nautsilus.ru/products/winnt.htm
http://www.pcweek.ru/?ID=60308
http://www.rtsoft.ru/article/home_md.html?p=600308
Владимир Е. Зюбин
Цитата(TED17 @ Jun 14 2006, 16:53) *
Цитата(Владимир Е. Зюбин @ Jun 14 2006, 14:01) *

Цитата(Andrew2000 @ Jun 14 2006, 15:48) *

Так в этой же статье так и написано: " Поддержка реального времени: Windows XP Embedded - Нет, Windows CE - Да" :)
И опять - это реалтаймный интерфейс с пользователем - тут Win хорошо смотриться.


А что, по-Вашему, это конкретно означает?


На мой взгляд это означает, что Embedded может на несколько ms прерывать пользовательскую программу своими службами (если они установлены), а WinCE - нет.


Спасибо за ответ, но для меня это очень туманно... и фраза "на несколько миллисекунд", и фраза "а WinCE - нет"... то ли WinCE вообще ничего не прерывает (?), то ли все-таки прерывает, но на несколько микросекунд, и сколько это "несколько микро/миллисекунд"? сотни? десятки? или единицы? и что немаловажно, как часто прерывает?

Это все-таки не к Вам, понятно, вопрос, а к автору этой странной характеристики... чего хотел сказать, какую информацию сообщить... туман.
TED17
Цитата(Olej @ Jun 14 2006, 17:08) *

Староваты все же ссылки, да и один треп без конкретики.
Насчет скорости реакции обычной WinXP Sp2, я мерил на устройствах непрерывного сбора инфы с датчиков в течении нескольких часов. Статистика:
-регулярные отклонетия при частоте опроса 50мс -<5мс,
-одиночные отклонения на интервале 3сек -<70мс,
-других отклонений не замечено.
Комп обычный 2Ггц, лишние службы и сервера отключены, приоритет софта- высший.
Для многих задач автоматики такие времена вполне достаточны, что и определено заголовком темы (Когда не нужна ОС РВ?).
На Embedded результаты должны быть лучше просто потому, что там лишний мусор просто не ставится в сборку.
Evgeny_CD
Цитата(TED17 @ Jun 14 2006, 18:43) *
...Насчет скорости реакции обычной WinXP Sp2, я мерил на устройствах непрерывного сбора инфы с датчиков в течении нескольких часов. Статистика:
-регулярные отклонетия при частоте опроса 50мс -<5мс,
-одиночные отклонения на интервале 3сек -<70мс,
-других отклонений не замечено.
Комп обычный 2Ггц, лишние службы и сервера отключены, приоритет софта- высший.
Для многих задач автоматики такие времена вполне достаточны, что и определено заголовком темы (Когда не нужна ОС РВ?).
На Embedded результаты должны быть лучше просто потому, что там лишний мусор просто не ставится в сборку...
Парни, а ведь это ключевой момент супермегафлейма.

Давайте задумаемся. Проц с тактовой 2 ГГц, жрущий ватт 50 энергии, с 512м ОЗУ смог с трудом обеспечить опрос нескольких (сколько их у Вас было? Едва ли 100 шт) датчиков с частотой 20 гц. Аминь.

Вот я приглядываю за дискуссией, и никак не могу догнать элементарную вещь. Почему нельзя взять простую плату, воткнуть ее в PCI (PLX & Co нам всегда помогут), поставить на нее простой embedded проц с периферией (баксов 50 макс, сейчас это будет 200 Мгц проц - не такой уж и примитивный), сделать на этом проце real time часть обработки датчиков, а всю остальную обработку (сеть, графика, SQL и пр.) вынести в винДазЫ. Хотя бы просто буферизация результатов синхронного опроса с меткой времени, когда именно этот факт опроса имел место - обработать можно и потом. Внешнее устройство с быстрым интерфейсом (USB | FireWare | Ethernet (100 | 1000 | 10000) Mbit | SCSI) тоже ок - даже лучше.

Обратный процесс - установка на embedded устройство ГУЯ с рюшечками и финтифлюшками, портирование Office на PLC - столь же маразматичен.

Нет ответа. И не будет. Я убедился, что промавтоматика - это религия. Если люди уверовали в винДаЗ всемогущий - они и будут его в "контроллеры светодиодов" ставить. Если они любят постегать себя плетью (я не знаю, как это назвается, но в клипе Ramstain смотрится круто) - они и клиент-сервер с БД будут писать на ASM под управлением оси BigLoop.

А за "включение головы" следует немедленное "развоплощение" как в Дозорах.

Кошмар какой-то. И ведь все это продается и покупается. И бабло в этом мире крутится нехилое. Вот точно революцию в этой "тихой гавани" надо устроить. Чтобы неповадно было маразмом заниматься.

Сорри за полемичность. unsure.gif
Владимир Е. Зюбин
Цитата(Evgeny_CD @ Jun 15 2006, 01:07) *
Вот я приглядываю за дискуссией, и никак не могу догнать элементарную вещь. Почему нельзя взять простую плату, воткнуть ее в PCI (PLX & Co нам всегда помогут), поставить на нее простой embedded проц с периферией (баксов 50 макс, сейчас это будет 200 Мгц проц - не такой уж и примитивный), сделать на этом проце real time часть обработки датчиков, а всю остальную обработку (сеть, графика, SQL и пр.) вынести в винДазЫ. Хотя бы просто буферизация результатов синхронного опроса с меткой времени, когда именно этот факт опроса имел место - обработать можно и потом. Внешнее устройство с быстрым интерфейсом (USB | FireWare | Ethernet (100 | 1000 | 10000) Mbit | SCSI) тоже ок - даже лучше.

С "простой платой" не все просто -
вопросы такие:
серийность,
универсальность,
отличие от существующих решений.
Кто ее делает и с чем она соединяется снаружи (протоколов - тьма, физический сигнал <ток/напряжение, диапазон, схема подключения термопары/термосопротивления>, кодирование (ШИМ, ЧИМ), типа HART, филдбасы (не счесть)). Ну, а УСО на PCI - очень много... см. www.prosoft.ru
Возможно есть и с буферизацией.
А вообще, то, о чем Вы говорите, очень похоже на data logger-ы (коих тоже много встречается).

Кстати, проблема в простейшем случае решается и без спец.средств типа логгеров, а просто через прерывания.

P.S. Отклонения от номиналов при обмене датчиков могут быть вызваны и внешними по отношению к ОС причинами... например помехой при передаче пакета или конфликтом, приводящими к повторной посылке.
733259
Цитата
P.S. Отклонения от номиналов при обмене датчиков могут быть вызваны и внешними по отношению к ОС причинами... например помехой при передаче пакета или конфликтом, приводящими к повторной посылке.
Или мышкой, клавиатурой biggrin.gif Или винде диском пошуршать захотелось biggrin.gif biggrin.gif
Evgeny_CD
Цитата(Владимир Е. Зюбин @ Jun 15 2006, 09:57) *
...С "простой платой" не все просто -
вопросы такие:
серийность,
универсальность,
отличие от существующих решений.
Кто ее делает и с чем она соединяется снаружи (протоколов - тьма, физический сигнал <ток/напряжение, диапазон, схема подключения термопары/термосопротивления>, кодирование (ШИМ, ЧИМ), типа HART, филдбасы (не счесть)). Ну, а УСО на PCI - очень много... см. www.prosoft.ru
Возможно есть и с буферизацией.
А вообще, то, о чем Вы говорите, очень похоже на data logger-ы (коих тоже много встречается).

Кстати, проблема в простейшем случае решается и без спец.средств типа логгеров, а просто через прерывания.
Я говорил о принципе. Пример:
http://opalkelly.com/

Есть плата. Она идет вместе с ядром софта и железа. Кустомер пишет свою специфическую часть в процессоре платы, а затем пишет обработчик на пЫсюке. Причем все это базируется на готовом фундаменте, и кустомер работает с высокоуровневыми примитивами.

В идеале кустомер должен и мыслить, и писать в пространстве объектов, характерных для своей предметной области. Как тут уже справедливо замечали, спец. по ЖД автоматике должен мыслить не так, как С программист. И с моей точки зрения тратить "лишнине" ресурсы аппаратуры на неоптимальность такой объектной модели допустимо, а вот тратить их только на то, чтобы запустить винДаЗ всемогущий - нет.

И вообще, в моем понимании, в любой задаче подобного класса работа с данными (сбор и первичная обработка) должна быть отделена от работы с каналами связи, юзеровской обработки (ГУИ) и накопления данных (БД и пр.) Но все это должно быть в рамках одной идеологии, и единого инструментария.

Черт, все равно как-то сложно получается...
TED17
Цитата(Evgeny_CD @ Jun 14 2006, 23:07) *
Парни, а ведь это ключевой момент супермегафлейма.

Давайте задумаемся. Проц с тактовой 2 ГГц, жрущий ватт 50 энергии, с 512м ОЗУ смог с трудом обеспечить опрос нескольких (сколько их у Вас было? Едва ли 100 шт) датчиков с частотой 20 гц. Аминь.

Датчиками являлись 3 ПЗС RGB матрицы 320х240 20fps, те входной поток около 15мбайт/c плюс покадровая обрабтка выделения и динамики перемещения объектов. Загрузка процессора 70%.
На другой базе будет ИМХО сложнее.

Ваши последние 2 поста являются хорошим описанием РТ идеологии и инструментария фирмы "National Instrumehts" и её клонов, включая и особенности разработки подобных систем конечным пользователем. Кстати, на этой базе ( NI Labview с примочками) все и тестировалось.
Goroshko Egor
Цитата(Evgeny_CD @ Jun 15 2006, 10:52) *
Черт, все равно как-то сложно получается...

Да нет, как раз не слишком и сложно. Примерно так и работаем - получается не плохо :-)
Просто то о чем вы говорите - это вопросы не программирования, а проектирования. Ведь идея разделения критических/некритических модулей очевидна до безобразия.... только если сначала подумать, а потом браться за клавиатуру, а не наоборот :-)
Вот есть система логирования - нужен SQL, или XML, все дела... Вот есть GUI пользователя, и он очень хочет видеть его на Винде - если это не критическая управляющая логика - да ради бога, пусть все это хозяйство крутится в винде с каким нибудь MS SQL Server, с красивыми картинками из-под DirectX и все такое прочее... а PLC, SCADA сервер, управляющая логика клиентов - все такие это же серьезные вещи, хочется положить их в простое и надежное, и главное - понятное место. :-) Ведь жалко же... стараешься, корпишь над ними, вылизываешь, а потом бабах тебе 50-70 мс выбрасы.... откуда они могут взяться на таких частотах?

Вот ради примера - заказчику хочется видеть SCADA сервер с 1мс циклом и временем отклика для клиента не более 2 мс. Сеть - гигабит, машины - не менее 2 ГГц процессоры (причем не меньше 2 штук на каждую :-) )- что такой системе 1 мс? Тьфу... а попробуйте такую штуку на Винде учудить? На линухе еще как то работает, хотя все равно 2 мс отклик обеспечить - ой как трудно. При тех же машинах в QNX или VxWorks - нет проблем...

И не надо говорить что такие задачи - большая редкость... да редкость... но это показательно...
Evgeny_CD
Цитата(TED17 @ Jun 15 2006, 17:02) *
Датчиками являлись 3 ПЗС RGB матрицы 320х240 20fps, те входной поток около 15мбайт/c плюс покадровая обрабтка выделения и динамики перемещения объектов. Загрузка процессора 70%.
На другой базе будет ИМХО сложнее.
Вау!!! Да, это сильное приложение. Тут всякие мелкопоганистые ARM и близко не лежали (из тех, что можно пойти и купить как микрухи, а не из тех, что на сайте ARM описаны biggrin.gif )
Цитата(TED17 @ Jun 15 2006, 17:02) *
Ваши последние 2 поста являются хорошим описанием РТ идеологии и инструментария фирмы "National Instrumehts" и её клонов, включая и особенности разработки подобных систем конечным пользователем. Кстати, на этой базе ( NI Labview с примочками) все и тестировалось.
Я не очень знаком с NI (по прине "неправильных" цен). Но вот opalkelly мне очень понравились соотношением цены и возможностей (практического опыта работы с ними пока не имею).
Evgeny_CD
Цитата(Goroshko Egor @ Jun 15 2006, 17:08) *
Да нет, как раз не слишком и сложно. Примерно так и работаем - получается не плохо :-)
Просто то о чем вы говорите - это вопросы не программирования, а проектирования. Ведь идея разделения критических/некритических модулей очевидна до безобразия.... только если сначала подумать, а потом браться за клавиатуру, а не наоборот :-)
О!!!! Это вечная проблема - вовремя "включить голову". Причем желательно когерентно - и у Заказчиков, и у финансистов, и у разработчиков.
Цитата(Goroshko Egor @ Jun 15 2006, 17:08) *
Вот ради примера - заказчику хочется видеть SCADA сервер с 1мс циклом и временем отклика для клиента не более 2 мс. Сеть - гигабит, машины - не менее 2 ГГц процессоры (причем не меньше 2 штук на каждую :-) )- что такой системе 1 мс? Тьфу... а попробуйте такую штуку на Винде учудить? На линухе еще как то работает, хотя все равно 2 мс отклик обеспечить - ой как трудно. При тех же машинах в QNX или VxWorks - нет проблем...
Помню замечатльный пост в листе по eCos. Какой-то чел спрашивает:

"Вот взял я S3C4510B ( 50 Mhz ARM7 от Samsung со встроенным Ethernet). uClinux дает мне производительность по сети 30 мбит/сек, а Ваш такой распрекрасный Real Time eCos всего 12. И что за нафиг?" И ему тогда очень грамотно "вкурили", что такое система с монолитным ядром, в котором все оптимизировано до ужаса (и модули под которую так трудно писать, еще труднее отлаживать, и на Real Time в которой проще забить сразу), и что такое eCos, где каждый драйвер можно отлаживать в GDB, и назначать ему приоритет, как и всем другим процессам.

Вопрос в векторе оптимизации. Для юзеровско-десктопных, юзеровско-мультимедийных задач XPень оптимальна (по приведенному расходу ресурсов (памяти, MIPS проца, $ юзера) на единицу "юзеровского кайфа"). Это общеизвестный факт. Базируется такая оптимальность на тиражах: для 1 м копий программеры напрягутся и напишут приложение, которое будет быстрым, и в итоге все будет достаточно дешево.

Более гибкие системы, которые не рассчитаны на тиражи 1м, естественно, будут иметь overhead за счет гибкости и "правильности".

Но времена прошли. 512М памяти стоят менее 100$ в розницу. И с точки зрения $ overhead на "правильность" уже не особо волнует. А вот overhead на программистов - это да, это может потопить любой проект. Так пошел чувак, купил книжку - "VC за 21 день". Гдядишь, через 21 день он и вправду простенькую апликуху родит - научится пользоваться иконками в IDE как кнопками на пульте от TV - "нажми на кнопку и получишь результат". И сила мелкомягких и их последователей в том, что и вправду такая апликуха будет как-то работать (отжирая мегов 100 памяти на окно с Hello, world - но кого это волнует!)

Посему эти два мира нужно совмещать через прослойку в виде embedded ядра. Я совсем не против того, чтобы использовать дешевых программистов, но не надо везде их использовать. Нужно вспомнить забытый термин "системный программист". Кстати, когда системный программист пытается делать GUI - обычно такая лажа получается - еще незвестно, что хуже...
TED17
Цитата(Evgeny_CD @ Jun 15 2006, 17:22) *
Я не очень знаком с NI (по прине "неправильных" цен). Но вот opalkelly мне очень понравились соотношением цены и возможностей (практического опыта работы с ними пока не имею).

На NI можно делать системы любой сложности вплоть до глобальных и с любыми интерфейсами. Тут цена железа играет меньшую роль, а цена среды разработки еще меньше. Хотя одна из штучек от opalkelly http://opalkelly.com/products/xem3010/ очень понравилась.Спасибо. Извиняюсь за оффтоп.
Andrew2000
Цитата(Evgeny_CD @ Jun 14 2006, 23:07) *
... Почему нельзя взять простую плату, воткнуть ее в PCI ..., поставить на нее простой embedded проц с периферией ..., сделать на этом проце real time часть обработки датчиков, а всю остальную обработку ... вынести в винДазЫ.

Во. Именно так иногда и делаем. Крейт от NI под WinXP а внем своя железяка и программа ввода/вывода + управление под РТОС. А когда надо совсем надежно - можно и ресет своего процессора от PCI отвязать, чтоб при перезагрузке Винды управление не срывалось, а если еще надежнее, то и отдельное питание подать.
Т.е. управление отдельно, а Винда занимается сбором архивов, графики, ....
Владимир Е. Зюбин
Цитата(Andrew2000 @ Jun 15 2006, 22:39) *
Цитата(Evgeny_CD @ Jun 14 2006, 23:07) *
... Почему нельзя взять простую плату, воткнуть ее в PCI ..., поставить на нее простой embedded проц с периферией ..., сделать на этом проце real time часть обработки датчиков, а всю остальную обработку ... вынести в винДазЫ.

Во. Именно так иногда и делаем. Крейт от NI под WinXP а внем своя железяка и программа ввода/вывода + управление под РТОС. А когда надо совсем надежно - можно и ресет своего процессора от PCI отвязать, чтоб при перезагрузке Винды управление не срывалось, а если еще надежнее, то и отдельное питание подать.
Т.е. управление отдельно, а Винда занимается сбором архивов, графики, ....


И мы так постоянно делаЛИ... публикаций на эту тему не счесть, начиная с 1996 года...
Отдельно интерфейс оператора на Виндовозных мультимедиа + высоконадежная железяка (Микро ПиСи со standalone Рефлексом). Дешево, надежно и сердито.

ДелаЛИ (и пока еще делаем), т.к. сейчас склоняемся к тому, чтобы эти части совмещать в одном. По надежности вопросов не должно быть, ну и общее удешевление системы еще на пять-шесть килобаксов (реально, может, и до десяти).
TED17
Короче, если вместо рефлекса взять язык G + NI RT, то получим то же самое без лишнего гемора.
Владимир Е. Зюбин
Цитата(TED17 @ Jun 16 2006, 14:33) *
Короче, если вместо рефлекса взять язык G + NI RT, то получим то же самое без лишнего гемора.


С языком G могут быть проблемы. Dataflow языки для описания алгоритма управления слабо подходят...
Кстати, можете убедиться в этом сами, попытавшись запрограммировать на G алгоритм http://reflex-language.narod.ru/bottle/spec_bottle.htm ...

Ну, а если решитесь, то очень было бы интересно взглянуть...
для ориентировки - решение этой задачи на Рефлексе заняло около часа.
TED17
Цитата(Владимир Е. Зюбин @ Jun 16 2006, 16:41) *
С языком G могут быть проблемы. Dataflow языки для описания алгоритма управления слабо подходят...

Ну это уже черезчур... . Графический язык G специально придуман для задач управления, причем любого уровня сложности. Например краш тест автомобилей, управление телескопом ХАББЛ. А ваш алгоритм трубопроводной автоматики с разогревом приведен в Labview в одном из разделов примеров для начинающих.
Разговор шел о Реалайм врезке от NI в винду, которая совместно с инсруметальными smart RT примочками позволяет укротить внутренние несанкционированные процессы в винде.

Осознал, что теме NI не место в этой ветке - комплект пакетов с даташитами занимает несколько гигабайт - это отдельная и весьма замороченная тема.
Владимир Е. Зюбин
Цитата(TED17 @ Jun 17 2006, 00:04) *
Цитата(Владимир Е. Зюбин @ Jun 16 2006, 16:41) *


С языком G могут быть проблемы. Dataflow языки для описания алгоритма управления слабо подходят...

Ну это уже черезчур... . Графический язык G специально придуман для задач управления, причем любого уровня сложности. Например краш тест автомобилей, управление телескопом ХАББЛ. А ваш алгоритм трубопроводной автоматики с разогревом приведен в Labview в одном из разделов примеров для начинающих.
Разговор шел о Реалайм врезке от NI в винду, которая совместно с инсруметальными smart RT примочками позволяет укротить внутренние несанкционированные процессы в винде.

Осознал, что теме NI не место в этой ветке - комплект пакетов с даташитами занимает несколько гигабайт - это отдельная и весьма замороченная тема.


Не могли бы Вы поточнее указать решение обсуждаемой задачи на LabView? ну или выложить vi в файловую область?

Дело в том, что мы используем LabView, и в общем-то система нам нравится, позволяет создавать интерфейсную часть систем управления среднего класса, да и времена она обеспечивает заведомо меньшие, чем 10 мс, обсуждемые с подачи QNX-специалистов. Но описывать на LV сложные алгоритмы управления.... никому и не под каким видом не советуем - это безумие...

и, прошу прощения, должен сознаться, что Ваши слова насчет обсуждаемой задачи - воспринимаются мной, как сказанные в полемическом запале.
TED17
Цитата(Владимир Е. Зюбин @ Jun 19 2006, 14:29) *
Не могли бы Вы поточнее указать решение обсуждаемой задачи на LabView? ну или выложить vi в файловую область?

Делать Вашу систему, конечно, ломает. Но в сэмплы Lv7.0 слазил - \examples\apps\tankmntr.llb. Чуть подрихтовать. Да и вообще, условные алгоритмы управления, ИМХО, относятся к простейшим. Основная задача там- ввод/вывод сигналов РС.
Цитата
Но описывать на LV сложные алгоритмы управления.... никому и не под каким видом не советуем - это безумие...

Ну, - всю Одессу устраивает... . Читайте Аппнотес от NI. Проще некуда - графический язык конечного пльзователя. После компиляции - реальный коммерческий продукт.
Цитата
...и, прошу прощения, должен сознаться, что Ваши слова насчет обсуждаемой задачи - воспринимаются мной, как сказанные в полемическом запале.

Если был резковат, - извините.
Владимир Е. Зюбин
Цитата(TED17 @ Jun 20 2006, 17:35) *
Цитата(Владимир Е. Зюбин @ Jun 19 2006, 14:29) *

Не могли бы Вы поточнее указать решение обсуждаемой задачи на LabView? ну или выложить vi в файловую область?

Делать Вашу систему, конечно, ломает. Но в сэмплы Lv7.0 слазил - \examples\apps\tankmntr.llb. Чуть подрихтовать. Да и вообще, условные алгоритмы управления, ИМХО, относятся к простейшим. Основная задача там- ввод/вывод сигналов РС.


Дело в том, что это не "моя" система... это тестовая задача на проверку "вшивости" средства разработки. А проблема ввода-вывода сигналов PC в задаче вообще не рассматривается.

Кстати, ввод-вывод - это действительно задачи для LV. А вот "условные" алгоритмы (событийные, на самом деле) это как раз те алгоритмы, которые требуют control-flow возможностей. И тут уж data-flow подходы (LV, FBD-IEC61131-3, LD) проявляют себя не с лучшей стороны... а то, на что Вы указываете
даже по названию - просто мониторинг... а не управление. Именно для мониторинга LV и подходит, ну или что-то очень простое, типа SCADA. В общем эксперимент на столе.

Цитата(TED17 @ Jun 20 2006, 17:35) *
Цитата

Но описывать на LV сложные алгоритмы управления.... никому и не под каким видом не советуем - это безумие...

Ну, - всю Одессу устраивает... . Читайте Аппнотес от NI. Проще некуда - графический язык конечного пльзователя. После компиляции - реальный коммерческий продукт.


Увы. Графика, она хороша только низким порогом вхождения. А дальше идет непреодолимый барьер сложности... Именно по этой причине NI поддерживает более продвинутый продукт - LabWindows/CVI.

Цитата(TED17 @ Jun 20 2006, 17:35) *
Цитата

...и, прошу прощения, должен сознаться, что Ваши слова насчет обсуждаемой задачи - воспринимаются мной, как сказанные в полемическом запале.

Если был резковат, - извините.


Я не про резкость, а про недостаточную аргументацию высказываний. Цеплять в систему датчики, ЦАПы, видеокамеры, рисовать графики, это действительно удобно с помощью LV, но это и все... Грубо говоря, там, где встретилась необходимость использовать if-then-else, там и пришел конец возможностям LV.
TED17
Цитата(Владимир Е. Зюбин @ Jun 20 2006, 16:59) *
... это действительно удобно с помощью LV, но это и все... Грубо говоря, там, где встретилась необходимость использовать if-then-else, там и пришел конец возможностям LV.

Функции условных и ситуативных переходов находятся в палитрах LV вместе с сотнями других и нормально работают, ничем не выделяясь.
В указанном мной примере они используются для управления клапанами и нагревателем.
Andrew2000
Цитата(Владимир Е. Зюбин @ Jun 20 2006, 16:59) *
Увы. Графика, она хороша только низким порогом вхождения. А дальше идет непреодолимый барьер сложности... Именно по этой причине NI поддерживает более продвинутый продукт - LabWindows/CVI.

Вот тока не надо называть второстепенный продукт LabWindows/CVI более продвинутым, чем их флагман LabView (это как мне сказал представитель NI).

Да это и невооруженным глазом видно - CVI это ANSI-C с библиотеками NI, отстающими от LabView на единицу по номеру версии (примерно) и с более бедными графическими возможностями.
TED17
Все понял. Пора завязывать поход http://reflex-language.narod.ru против монстра мировой автоматики. Об этом у Крылова есть специальная басня.
Владимир Е. Зюбин
Цитата(TED17 @ Jun 21 2006, 01:20) *
Все понял. Пора завязывать поход http://reflex-language.narod.ru против монстра мировой автоматики. Об этом у Крылова есть специальная басня.


Лучше откройте секрет, как в LV нормальные переменные поиметь, чтобы и на чтение и на запись...
или как в DLL реальный адрес LV-массива передать, а не адрес его копии...
у меня человек два дня бился, уже глобальный массив завел... а потом где-то в хелпах нашел маленькую строчку, что передается всегда не адрес массива, а адрес копии... (!!!) Зачем?!?!?!? Какой на дворе век?! АУ!!! Зачем копировать массив?! А если там 1000 элементов? А если миллион?
на форуме LV более тысячи сообщений на тему передачи массива в DLL... и все с невнятными ответами.
Как написать свое VI возвращающее массив, аналог Create Array? дело не для слабонервных.

Ну а структуры LV типа case, да sequence - это следствие ограниченности data-flow подхода...
как они реализованы в терминах внутреннего языка - темнейший лес, где водятся большие серые волки хотя бы в виде сумасшедших накладных расходов...

Опять же повторюсь, LV достаточно привлекательная и богатая встроенными возможностями страна, если порхать на поверхности... Но погружаться в вглубь страны LV можно только с крупнокалиберной двустволкой и группой поддержки в виде психолога или гештальт-терапевта, шаг влево или вправо - трясина, топь, дикие звери и опасность сойти с ума.

Что касается xxxmntr.lbb - надо разобраться, на днях посмотрю... тут еще второй вопрос возник, а почему такое странное расширение? а не VI-шка?
TED17
Цитата(Владимир Е. Зюбин @ Jun 21 2006, 19:19) *
Что касается xxxmntr.lbb - надо разобраться, на днях посмотрю... тут еще второй вопрос возник, а почему такое странное расширение? а не VI-шка?

Читать хелп-зто библиотека. Если ткнуть мышью под виндой, то откроется набор vi - ткнуть тот что в названии llb. Может убедитесь сами.
Andrew2000
Цитата(Владимир Е. Зюбин @ Jun 21 2006, 19:19) *
Лучше откройте секрет, ...
или как в DLL реальный адрес LV-массива передать, а не адрес его копии...
у меня человек два дня бился, уже глобальный массив завел... а потом где-то в хелпах нашел маленькую строчку, что передается всегда не адрес массива, а адрес копии... (!!!) Зачем?!?!?!? Какой на дворе век?! АУ!!! Зачем копировать массив?!

А Вы параметр как Type: Array передаете? (а как иначе - есс-но копия).
Так передавайте как Type: Numeric, Pass: Pointer
(за точность не ручаюсь - года два с тех пор прошло...)
Владимир Е. Зюбин
Цитата(Andrew2000 @ Jun 22 2006, 20:33) *
Цитата(Владимир Е. Зюбин @ Jun 21 2006, 19:19) *
Лучше откройте секрет, ...
или как в DLL реальный адрес LV-массива передать, а не адрес его копии...
у меня человек два дня бился, уже глобальный массив завел... а потом где-то в хелпах нашел маленькую строчку, что передается всегда не адрес массива, а адрес копии... (!!!) Зачем?!?!?!? Какой на дворе век?! АУ!!! Зачем копировать массив?!

А Вы параметр как Type: Array передаете? (а как иначе - есс-но копия).
Так передавайте как Type: Numeric, Pass: Pointer
(за точность не ручаюсь - года два с тех пор прошло...)



Спасибо... попробую. А пробовали передавать по разному и как массив, и как указатель на массив... все одно - "тупИт" LV.

Но вопрос этот один из многих, которые при использовании LV возникают.
Кстати, сегодня ребята пробовали обработать двумерный массив примерно 50х350
средствами LV... Обработка примитивная: сдвиг каждой из строк на единицу в цикле...
один цикл обработки занимает примерно 1 сек... как-то это несерьезно выглядит.
Так и чешутся руки в Си это сделать... ;-) (будет в десять раз более наглядно и порядка на три-четыре быстрее... если удастся объяснить LV, что копия массива тут никому не нужна... ;-).

А это даже не управление... это простейшая обработка. 8-)

Опять же не отрицаю использование LV, но обращаю внимание на подводные камни... склоняемся к выводу, что массивы, структуры, циклы в LV лучше не использовать... и по этому поводу предстоит большая и трудоемкая работа по реверсивному инжинирингу внутреннего представления в LV всякой всячины...
Владимир Е. Зюбин
Цитата(TED17 @ Jun 20 2006, 17:35) *
Цитата(Владимир Е. Зюбин @ Jun 19 2006, 14:29) *

Не могли бы Вы поточнее указать решение обсуждаемой задачи на LabView? ну или выложить vi в файловую область?

Делать Вашу систему, конечно, ломает. Но в сэмплы Lv7.0 слазил - \examples\apps\tankmntr.llb. Чуть подрихтовать. Да и вообще, условные алгоритмы управления, ИМХО, относятся к простейшим. Основная задача там- ввод/вывод сигналов РС.


Прошу прощение за задержку с ответом. Наконец-то посмотрел указанный Вами пример.
К сожалению, он имеет очень слабое отношение к исходной задаче. Основная часть системы отсутствует (пуск/останов системы, клапаны, датчики, элементы системы - бутылки, конвейеры и т.п. )

По моим оценкам, Ваше "чуть подрихтовать" выльется в увеличение размера кода раза в три-четыре, а насколько сложнее станет алгоритм для восприятия затрудняюсь оценить.

Другой нехороший момент, который обнаружился - это отсутствие четкой границы между моделью объекта и алгоритмом управления... частично это связано с возможностями LV, как средства моделирования, ну а частично, пардон, и с реализацией. В результате - что-то подобное gif-картинке
на http://reflex-language.narod.ru/bottle/ani_bottle.htm.

Опять же, прошу не воспринимать эти слова как "наезд" на LV, LV достаточно полезный инструмент, но не для осуждаемых задач: в которых больше подходит событийные стратегии управления.
Владимир Е. Зюбин
Люблю читать, что люди пишут о реальном времени.
А тут попалась интересная книга Microsoft Computer dictionary, Fourth Edition // Microsoft Press, 1999
[кстати, книга доступна в сети например через "осла" - MSPress-CompDict4.chm]
Достаточно внятно насчет реального времени написано... и об операционных системах реального времени тоже. Кратко, по крайней мере, хотя я бы лично немного подкорректировал определения. ;-)


Цитата
real-time
adj. Of or relating to a time frame imposed by external constraints. Real-time operations are those in which the machine's activities match the human perception of time or those in which computer operations proceed at the same rate as a physical or external process. Real-time operations are characteristic of aircraft guidance systems, transaction-processing systems, scientific applications, and other areas in which a computer must respond to situations as they occur (for example, animating a graphic in a flight simulator or making corrections based on measurements).

real-time animation
n. Computer animation in which images are computed and updated on the screen at the same rate at which the objects simulated might move in the real world. Real-time animation allows dynamic involvement by the user because the computer can accept and incorporate keystrokes or controller movements as it is drawing the next image in the animation sequence. Arcade-style animation (such as in a flight simulator program) makes use of real-time animation in translating game plays into on-screen actions. In contrast, in animation done in virtual time, image frames are first calculated and stored and later replayed at a higher rate to achieve smoother movement. See also animation, bit block.

real-time clock
n. See clock (definition 2).

real-time conferencing
n. See teleconferencing.

Real-Time Control Protocol
n. A scalable transport control protocol that works with the Real-Time Protocol (RTP) to monitor real-time transmissions to multiple participants over a network-for example, during videoconferencing. The Real-Time Control Protocol, or RTCP, transmits packets of control information at regular intervals and is used to determine how well information is being delivered to recipients. Acronym: RTCP. See also Real-Time Protocol, Real-Time Streaming Protocol, Resource Reservation Setup Protocol.

real-time operating system
n. An operating system designed or optimized for the needs of a process-control environment. See also real-time system.

Real-Time Protocol
n. An Internet-standard network transport protocol used in delivering real-time data, including audio and video. The Real-Time Protocol, or RTP, works with both unicast (single sender, single recipient) and multicast (single sender, multiple recipient) services. RTP is often used in conjunction with the Real-Time Control Protocol (RTCP), which monitors delivery. Acronym: RTP. See also Real-Time Control Protocol, Real-Time Streaming Protocol, stream.

Real-Time Streaming Protocol
n. A control protocol for the delivery of streamed multimedia data over Internet Protocol (IP) networks. The Real-Time Streaming Protocol, or RTSP, was developed by Columbia University, Progressive Networks, and Netscape and has been submitted as a proposed standard to the IETF (Internet Engineering Task Force). RTSP is designed to deliver real-time, live, or stored audio and video efficiently over a network. It can be used either for groups of recipients or for on-demand delivery to a single recipient. Acronym: RTSP. See also Advanced Streaming Format, Real-Time Protocol, Resource Reservation Setup Protocol, stream.

real-time system
n. A computer and/or a software system that reacts to events before the events become obsolete. For example, airline collision avoidance systems must process radar input, detect a possible collision, and warn air traffic controllers or pilots while they still have time to react.


Microsoft Computer dictionary, Fourth Edition // Microsoft Press, 1999 [MSPress-CompDict4.chm]
Доктор ТуамОсес2
Если используете, то скажите для каких микроконтроллеров используете
Боинг749
"Когда не нужна ОС РВ?"

Наверное тогда когда не требуется многозадачность и повторное использование кода в других проектах biggrin.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.