Как стать автором
Обновить

Веббраузер, как среда для функционирования программного обеспечения для контроля/управления технологическими процессами

Время на прочтение3 мин
Количество просмотров5.5K
Всего голосов 10: ↑6 и ↓4+2
Комментарии20

Комментарии 20

Открываю GraphWorx, рисую, присваиваю динамику — профит. Вы же предлагаете заниматься глубоким программированием. У того же Iconics есть и web и мобильные клиенты (думаю у десятков остальных систем тоже). Бесплатность в вашем случае вылезет боком из-за кучи потраченного времени и отлавливании багов (не дай бог какой процесс самозапустится).
Цель поста — дать конкретные рекомендации...

Где рекомендации? Какой-то бессвязный выплеск.
Ну во-первых: GraphWorx — не бесплатен в отличие от моего решения, во-вторых статья рассчитана на программистов — программист легко поймет, что лучше использовать браузер готовый чем писать вьюер на любом языке программирования снуля, в-третьих — мой пост не готовый АРМ сам по себе а рецепт как сделать своим умом и бесплатно, в-четвертых — если вы приведете пример бесплатного комплекса программ для отрисовки схем, их отображения/управления процессами на схеме — то мало мальски еще окажетесь правы, а так… Ну да есть ПО аналогичное тому что предлагаю написать я, но я даю идею, как можно написать аналогичное ПО с минимальными издержками САМОМУ и БЕСПЛАТНО и на достойном уровне (не хуже чем GraphWorx).
Если вы хотите дома щелкать релюшками с компьютера, то я вас понимаю. А если управлять производственным процессом, то нет.
Из бесплатных — OpenSCADA, RapidSCADA.
Вот мой вариант а-ля ваш — habrahabr.ru/post/153619/ но это не для промышленных предприятий, как вы предлагаете, так, поделка выходного дня.
OpenSCADA, RapidSCADA — за это спасибо. Поизучаю.
Даже дома релюшками щёлкать можно с пиратского WinCC :)

Подобрый проект ценен, в первую очередь, для самообразования.
Для самообразования ничего не зря )
Я для самообразования кучу вещей не успеваю… Ардуину поковырять, Raspberry pi и прочие интересные вещи. Тот же линукс освоить, чтоб расковырять домашний роутер или домашнюю файлопомойку делать не на NAS4Free и инструкции, как это сделать в 10 шагов. Файлопомойка, кстати, крутится :) А система у ней на SSD из 16-гиг CompactFlash Transcend на IDE канале :)

Поэтому изобретать свой велосипед, чтоб на нём гоняться с серийным автомобилем и выпускать его в продакшен я не готов :)
Я сделал на ардуине один проект и интерес пропал ))
Но ведь таки сделал :)
Таки да )
Нарисовать пару-тройку картинок в уже существующей скаде выйдет таки быстрее, а уж полноценный проект…
Вообще, тут есть следующие подзадачи: протоколы обмена с железом. Если обычный ModBus — то это ещё ерунда, а если не только и их несколько, это совсем другая история. Часть данных надо архивировать, вести архив событий (тревоги, предупреждения и т.д.) и тоже архивировать.
Картинки в готовой скаде типа Iconics или WinCC в самом простейше случае — бросил пару примитивов, прикрутил динамику и готово. Пара минут.

А написать самому всё вышеописанное — это немалый труд. На фоне этого дискуссии про платность готовых решений не очень уместны.
Ещё есть вариант для малого проекта/учебных целей воспользоваться пиратскими копиями. На серьёзных объектах такого никто, ясное дело, не практикует.
И ещё один немаловажный момент: поддержка. Глючит и ломается всё. Однако, если у меня начинает сходить с ума WinCC, я морочу голову не себе, а техподдержке сименс ;)

Веб-клиенты это отдельная тема для обсуждения. Всё, с чем я сталкивался — это довольно кривые поделки…
Труд немалый согласен. Но для небольшой компании с ограниченным бюджетом имхо не самое плохое решение. Поддержка — собственная. А все косяки с лицензионными программами требуют участия техподдержки, которая также не бесплатна. При соответствующем энтузиазме и умении и мотивации — можно относительно просто соорудить нечто простое. А далее — дорабатывать именно под свои нужды которые зачастую не так обширны у средней или маленькой фирмы (из собственного опыта говорю).
Даже маленькая компания автомобили и компьютеры покупает готовыми, а не клепает в сарае на коленке малую серию для собственных нужд ;)

Главный минус вашего решения мне видится в следующем: такой продукт — дитя своего разработчика. Разработчик заболел, уволился, умер, уехал в Америку, улетел на Марс — и проект медленно умрёт.
Второе: браузер и javascript — это не совсем подходящий инструмент для приложения, которому желательно быть поближе к realtime.
Многое покупает, но кое-что вынуждена делать сама. Как мне кажется АРМ, это то, что маленькая компания просто обязана делать сама. Но и безусловно — собственное решение ВСЕГДА удобнее и лучше (даже пусть будет более кривой код, но заказчик получит ровно то что захочет, а не кучу модулей к которым нужны тонны специалистов техподдержки).
Таки нет. Я веду речь о полноценном АРМ. И представляю себе АРМ как совокупность отдельных взаимосвязанных программ — Inkscape — программа для отрисовки схемы, веббраузер для функционирования программы АРМа, программу достаточно просто (для программиста) написать на JavaScript. Ясно, что проект этот потребует усилий и времени, но, опять же для программиста, ясно, что писать снуля редактор схем и вьюер занятие очень сложное и намного более длительное, чем предлагаю я. Я понимаю, что пользоваться готовым легче, но — максимальной гибкости и удобства можно достичь только в том случае, если ты можешь менять исходный код приложения ИМХО:)
т.е. для абсолютной гибкости надо иметь возможность менять исходный код операционной системы? :)
В идеале да. Линукс тому пример. Но тут все значительно проще.
Стек HTTP over tcp/IP — не лучший транспорт для контроля/управления технологическими процессами.
По меньшей мере https. И лучше websockets и для свежих браузеров WebRTC в качестве транспорта.
Даже лучше так — четко разделить контроль и управление.
websockets, WebRTC для контроля потому что позволяет держать соединение открытым, позволяет в какой то мере реализовать Push notifications и broadcasting.
https для управления потому что гарантирует консистентность запрос-ответ в своей спецификации.
Вообще браузер — это как пример я привел. Нужна сущность которая бы позволяла работать с объектами svg. Если реализовывать в QT, то в нем есть стандартный модуль qtwebkit, так же в QT есть поддержка ява скрипта. То же касается и протоколов обмена: можно выбрать любой, а затем модифицировать под браузер (вебкит) на клиенте, на сервере же там абсолютно хоть что можно использовать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации