@firebooster
Техник электронного оборудования

Какой язык программирования удобен для создания контрольно/аварийных систем и систем автоматизации и для визуализации процесса (HMI)?

Приветствую создателей и всех участников ресурса.
У нас на буровой мы пользуемся системой Норвежской фирмы HOGLUND Marine Automation для контрольно/аварийной смситемы и для контролья бурового оборудования системой на базе SIEMENS S7 созданной фирмой Maritime Hydraulics. В целом они работают неплохо. Хотелось б самому создавать мелкие системы сбора данных, контролья и визуализации/отображения полученной информации. Некоторые советуют С++ друие VB третие что то еще. Пожалуйста посоветуйте.
Спасибо
  • Вопрос задан
  • 840 просмотров
Пригласить эксперта
Ответы на вопрос 4
AlexXYZ
@AlexXYZ
O Keep Clear O
Посоветую всё-таки начать с декомпозиции задачи, т.к. сбор данных - одно, визуализация - другое. Не факт, что вам вообще сильно нужно программирование, т.к. если сможете загнать данные в какой-то формат (или БД) без программирования, то отобразить их сможете даже в Excel через источники внешних данных. Посоветую пока не углубляться в программирование, а постараться решить задачу малыми усилиями.
На странице https://www.siemens-pro.ru/components/s7-300.htm достаточно много информации. Меня немного повеселила такая инфа в одном из документов (видать очень давно разрабатывают эти контроллеры, что в общем-то характеризует их весьма положительно):

1cac292a9271443ea8bca4e809d00940.png

Ну а если без шуток, если у вас есть доступ к контроллерам siemens, то вроде как не проблема снимать с них показания и складывать их в БД MSSQL (может даже бесплатный MySQL). Главное получить данные с контроллеров. Эксперименты с отображением можно отложить на потом.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Схема: датчики->микросервис->база->socket-сервер->визуализирующий клиент(ы)

Используйте надёжные библиотеки для языков, проверенных временем: C++ или Object Pascal для микросервисов и socket-сервера и HTML5 для обращения к нему и визуализации в браузере.
Ответ написан
@AlexSku
не буду отвечать из-за модератора
Первый стандартный подход это SCADA. Напр., у Siemens есть WinCC. Почитайте, какая удобнее (PC View, Genesis64...)
Второй подход - связь через OPC или другой протокол (напр., Modbus-TCP). Тут выбирайте язык какой вам нравится.
Сами же контроллеры обычно используют 2 текстовых (IL, ST) и 4 графических (LD, FBD, CFC, SFC) языка. Программа в контроллерах должна работать независимо, есть ли связь со SCADA'ой.
Ответ написан
beevasya
@beevasya
программист C++/C#
Посмотри на Scada Trace Mode
Очень большой список поддерживаемых устройств
Современная архитектура, чем-то похожая на Java и .Net
Различные варианты программирования (код, визуальная среда и пр.)
А главное дешевле Siemens
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы