Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Наука
+2

Выбор языка программирования для создания ПО к прибору.

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

По дате
По рейтингу
Аватар пользователя
Новичок

Я вижу в вашем вопросе не одну, а несколько задач, которые, возможно, эффективно будут решаться разными языками.

На уровне сбора информации вы можете быть ограничены языком оборудования или требованиями быстродействия, параллельности, надежности... Одно дело опрашивать какой-нибудь "умный" датчик раз в 10 секунд, скачивая с него порции данных, другое - написать специальный софт для отслеживания быстротекущих процессов с гигабайтами информации в секунду, сотнями датчиков и высокой скоростью и сложностью управляющих команд.. Тут можно встретить обычно С/C++, ассемблер. Но и другое встречается или приемлемо. Та же Java, а то и вовсе бейсик какой-нибудь.

Второй "слой" - это база данных, где будет накапливаться и проходить первичную обработку эта информация. Тут тоже варианты могут быть, если данные сложные, их обработка тоже, объемы большие - возможно есть смысл положиться на СУБД с их языками. Тоже простор - или "промышленные" языки, SQL например. Или городить что-то самодельное.

Третий - уровень обработки данных, моделирования, управления. Здесь роль может играть не только быстродействие но и такие вещи, как, наличие готовых библиотек для предметной области, специалистов, которые знакомы с предметной областью и т. д. Тут уже не обязательно С, это может быть Fortran или Python а то и Пролог или какая-то экзотика.

И, наконец, четвертый - рабочее место пользователя, оператора и т. д. Тут будут свои критерии, быстродействие не так важно, как эргономика, совместимость со средой или скорость разработки.

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

Если пальцем в небо, для нестрашной лабораторной установки я бы, наверное смотрел в сторону использования С/C++/ассемблера для программирования микроконтроллеров, SQL для хранения, извлечения и поддержания корректности данных. Для расчетов, управления - Python. + web- интерфейс.
Для совсем простой задачи - взял бы язык попроще и поуниверсальней отдельно или в связке с SQL.

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

Аватар пользователя
Мыслитель

Си, C++, ассемблер. Всякие питоны, явы и прочие тормоза даже не рассматривай

Аватар пользователя
Искусственный Интеллект

сильно зависит от требований к аппратуре и ПО. Если ПО должно неспешно собирать данные на мощном ПК под Виндовс, то C# или Java вполне подойдут. Если ПО должно в жестком реальном времени работать на микропроцессоре - Си или С++, возможно, с применением ассемблера.

Аватар пользователя
Искусственный Интеллект

си - меньше всего мороки и практически полный доступ к аппаратуре (порты, ячейки)

Аватар пользователя
Профи

Я писал на delphi такие простые программы можно.