Цитата: DarkRaider от 26.12.2016 12:55:25Я понимаю душевную боль и тоже его недолюбливаю, но "работа тем сложнее чем меньше в ней понимаешь", да и качество первоначального кода не факт что нормальное. Вот и приходится "отлаживать месяцами". Уверяю, что проблем с отладкой чужих проектов на других языках не меньше.
1) Действительно, системы реального времени бывают 2х типов: QNX и сотоварищи (их много, в том числе самоправленных разными концернами) и WIndows-style (WinCE). Из них полноценные - только первые, так как CE - это система для написания "графических интерфейсов", концепция у ней такая... чтобы "не тормозила коммуникация с пользователем".
2) "терминальная часть" - это в описанном случае утилита командной строки, которая конвертирует "прожект" в G-коды и передаёт их в станок. А "Мегасапр" на жабе - это вполне себе самостоятельное приложение. Про него и речь.
3) Ввиду того, что наблюдаю пром. оборудование довольно часто - не все станки на RTOS. Достаточно их и просто на никсах. Всё таки область использования RTOS тоже довольно специфична и не везде оно нужно.
1) на одного грамотного программиста С++ придется ~ 100 полуграмотных С++ и 1000 чайников от С++. Если делать проект как свободный художник с неограниченным временем- можете использовать любой инструмент.
Но если у вас стоит задача написать систему типа корабль "Буран" и сузить временные рамки -то.... пример F-35. (А Буран - это образец как надо, а F-35 как не надо) Почему первый взлетел а второй нет - подскажите? Тем более этому учат в российских ВУЗах... просто советский опыт считаете ненужным? Где набрать такое количество особо опытных работников для серьезных и крупных проектов - на дороге они не валяются, скопом не найдешь. Это золотые крупинки в громаде пустой породы.
А средненьких проще набрать - их больше. Вот под их уровень и должен быть инструмент, который дает на выходе сравнимый по качеству готовые программы. С++ как бы в это не вписывается, это очень сложный инструмент, не для всякого...
2) Сейчас такого понятия как "мягкая" и "жесткая" RTOS вроде как не существует. Так вот в жестким относились QNX и Co, а Линух, Dos, WinCE - к мягким RTOS. Различались они временем гарантированной обработки критических событий (я уже не помню, сколько это составляло).
3) У нас стоит огромное количество станков и я могу сказать, что ВЕЗДЕ исполняемые контроллеры работают исключительно на RTOS, токарные станки на DOSе, линия автоматическая многооперационная и многостаночная - на WinCE (и эта линия относительно свежаяя, электроника Сименс), есть один фрезерный на спец. Линуксе (однокомпьютерный), а те, что работают на Windows XP в стойках находятся микроконтроллеры на RTOS, которые обрабатывают задающие G команды от "терминальной" (это я так назвал для удобства) ОС, которая может быть ЛЮБОЙ, ибо время обработки полученной информации от RTOS уже на этом этапе не критично.
А обработка сигналов в режиме реального времени очень даже критична и кроме RTOS этого не сделает никто (разве что это будет делать только чисто железным способом, а результат - на обычную ОС). Просто на сегодня удобнее сделать универсальный микроконтроллер с RTOS и подключать к нему блоки датчиков и исполнительных механизмов и обратной связью, чем городить специальные уникальные схемы управления (и такие автоматические линии/станки) у нас есть - работают вообще на релюхах