Пример дистанционного управления

Многолетнее обобщение запросов потенциальных заказчиков дало понимание того, как должна выглядеть система визуализации, не имеющая привязки к конкретному программному продукту. Так родилась идея создания системы удаленного управления объектом.
Многие спросят – для чего это нужно, ведь уже создано столько систем визуализации?

Расскажу о целях создания системы, объясню выбор бренда, кратко опишу технологию, плюсы и минусы данного решения.

Цели
1.Демонстрация готового решения потенциальному заказчику, что может упростить и ускорить этап принятия решений.
2.Понимание трудозатрат, себестоимости решения по созданию подобной системы.
3.Лучше проработать прототип будущего решения. Проданная система должна гарантировано работать и не требовать концептуальных изменений.
4.Удостовериться в устойчивой работе сервиса OwenCloud в связке с данным проектом (с составом тэгов порядка 160).
5.Удостовериться в достаточной защите сайта от внешних атак, убедиться, что сайт не «ляжет» при большом наплыве посетителей.
6.Демонстрация решения не только в России, но и за ее пределами. Для этого интерфейс создан англоязычным.

Бренд
Почему большую часть своих решений позиционирую на бренде Овен?
1.И наша компания, и компания НПО Овен находятся в Москве. Достаточно просто решаются любые вопросы с покупкой, ремонтом, обслуживанием и консультациями.
2.При покупке оборудования компании Овен нам предоставляют небольшую скидку, однако очевидным плюсом является открытая ценовая политика. Цены на оборудование, выставленные на сайте компании, являются актуальными. Это позволяет закладывать их в проект и оперативно рассчитывать стоимость коммерческих предложений.
3.Накоплен достаточно большой опыт работы с продукцией, известны и сильные и слабые стороны различных моделей оборудования.
4.Наличие встроенного бесплатного облачного сервиса позволяет делать подобные системы удаленного управления и мониторинга.
5.Соотношение цена-качество, по опыту работы на рынке, вполне конкурентоспособное.

Технология
1.Алгоритмы проекта (имитация) выполнены на контроллере Овен ПЛК110. Предварительно была спроектирована система классификации переменных, продумана концепция обмена данными, переменные проекта выведены в облако.
2.Проект визуализации (его серверная часть) реализован на хостинге beget.ru. Все видеокадры и элементы визуализации выполнены в формате SVG (векторный формат графики), скрипты, обработчики и прочие функции выполнены с использованием JSON, JS, PHP посредством запросов к серверу OWENCLOUD через функции API. Читаем и пишем необходимые данные.
3.Концепция регенерации тепла была предоставлена партнерами и скорректирована под идею веб-визуализации. Она содержит несколько подсистем и предназначена для экономного потребления электроэнергии в тепловом пункте офисного здания или крупного частного владения.
4. Данная технология уже принимает участие в технологии УД (умный дом), так как соотношение цена/качество вполне хорошее.

Плюсы данного решения


1.Отсутствует необходимость в закупке каких-то дополнительных программных продуктов.
2.Подходит для любых типов устройств, так как имеет адаптивный дизайн. Система удобно просматривается и в горизонтальной, и в вертикальной ориентации.
3.Возможность виртуально перемещаться по объекту автоматизации, в любом месте видеть режимы и состояние входящих подсистем.
4.Возможность слияния и публикации данных с других различных объектов (контроллеров Овен), что позволяет делать очень большие системы. Просто нужен смартфон или любое другое устройство с выходом в Интернет.
Минусы данного решения

1.При первичной разработке данного решения и последующей реализации подобных решений требуется программист с достаточно серьезной квалификацией (C#, JSON, JS, PHP).
2.Отсутствие интернета приводит к отсутствию возможности проводить мониторинг и управлять объектом.

3.Длительный отклик системы на управляющее воздействие (до 4 секунд при условии запроса обратной связи).


PS: про задержки (как мы можем это объяснить со своей стороны) - прямо сейчас когда кто-то на сайте, система шлёт запросы каждые 2 секунды и обновляет состояния всех значений и состояний. Отправка команды происходит сразу же по нажатию кнопки, независимо от опроса состояний
Поэтому лампа загорается почти без задержек. К сожалению, без задержек на запрос данных не обойтись, все это из-за ограничения по API в 10 запросов за 10 секунд. Мы сделали буферизацию в БД. Если параметры запрашивались более чем 2 сек назад, идёт запрос к OWENCLOUD и результаты перезаписываются в БД. Если данные свежие, берутся напрямую из БД
По поводу видимых задержек мы можем записать видео в одной части экрана будет сайт мониторинга, в другой веб интерфейс облака, так мы сможем увидеть сколько времени проходит от нажатия до записи команды в облаке и до изменения статуса
У метода last-data ограничение на 10 запросов за 10 секунд, далее будет ошибка по таймауту и как следствие еще большая задержка. Неважно сколько параметров опрашиваем, 100 или 1. Следовательно мы должны отдавать себе отчет и пользоваться сервисом не превышая заданные лимиты 

Auxiliary system

Main

Air heat pump
Codesys 2.3

#Удаленная, #диспетчеризация, #мониторинг, #управление, #овенклауд, #owencloud, #концепция, #модель, #объект, #УД
 
Array
(
    [ID] => 394
    [IBLOCK_ID] => 8
    [NAME] => Удаленная диспетчеризация
    [IBLOCK_SECTION_ID] => 
    [IBLOCK] => Array
        (
            [ID] => 8
            [~ID] => 8
            [TIMESTAMP_X] => 25.03.2021 17:23:33
            [~TIMESTAMP_X] => 25.03.2021 17:23:33
            [IBLOCK_TYPE_ID] => rus
            [~IBLOCK_TYPE_ID] => rus
            [LID] => s1
            [~LID] => s1
            [CODE] => articals
            [~CODE] => articals
            [API_CODE] => 
            [~API_CODE] => 
            [NAME] => Статьи
            [~NAME] => Статьи
            [ACTIVE] => Y
            [~ACTIVE] => Y
            [SORT] => 10
            [~SORT] => 10
            [LIST_PAGE_URL] => /articals/
            [~LIST_PAGE_URL] => /articals/
            [DETAIL_PAGE_URL] => /articals/#ELEMENT_CODE#.html
            [~DETAIL_PAGE_URL] => /articals/#ELEMENT_CODE#.html
            [SECTION_PAGE_URL] => 
            [~SECTION_PAGE_URL] => 
            [CANONICAL_PAGE_URL] => https://lapshinvr.ru/articals/articals.html
            [~CANONICAL_PAGE_URL] => https://lapshinvr.ru/articals/articals.html
            [PICTURE] => 1131
            [~PICTURE] => 1131
            [DESCRIPTION] => 
            [~DESCRIPTION] => 
            [DESCRIPTION_TYPE] => html
            [~DESCRIPTION_TYPE] => html
            [RSS_TTL] => 24
            [~RSS_TTL] => 24
            [RSS_ACTIVE] => Y
            [~RSS_ACTIVE] => Y
            [RSS_FILE_ACTIVE] => N
            [~RSS_FILE_ACTIVE] => N
            [RSS_FILE_LIMIT] => 
            [~RSS_FILE_LIMIT] => 
            [RSS_FILE_DAYS] => 
            [~RSS_FILE_DAYS] => 
            [RSS_YANDEX_ACTIVE] => N
            [~RSS_YANDEX_ACTIVE] => N
            [XML_ID] => 
            [~XML_ID] => 
            [TMP_ID] => 
            [~TMP_ID] => 
            [INDEX_ELEMENT] => Y
            [~INDEX_ELEMENT] => Y
            [INDEX_SECTION] => N
            [~INDEX_SECTION] => N
            [WORKFLOW] => N
            [~WORKFLOW] => N
            [BIZPROC] => N
            [~BIZPROC] => N
            [SECTION_CHOOSER] => L
            [~SECTION_CHOOSER] => L
            [LIST_MODE] => 
            [~LIST_MODE] => 
            [RIGHTS_MODE] => S
            [~RIGHTS_MODE] => S
            [SECTION_PROPERTY] => N
            [~SECTION_PROPERTY] => N
            [PROPERTY_INDEX] => N
            [~PROPERTY_INDEX] => N
            [VERSION] => 1
            [~VERSION] => 1
            [LAST_CONV_ELEMENT] => 0
            [~LAST_CONV_ELEMENT] => 0
            [SOCNET_GROUP_ID] => 
            [~SOCNET_GROUP_ID] => 
            [EDIT_FILE_BEFORE] => 
            [~EDIT_FILE_BEFORE] => 
            [EDIT_FILE_AFTER] => 
            [~EDIT_FILE_AFTER] => 
            [SECTIONS_NAME] => 
            [~SECTIONS_NAME] => 
            [SECTION_NAME] => 
            [~SECTION_NAME] => 
            [ELEMENTS_NAME] => Элементы
            [~ELEMENTS_NAME] => Элементы
            [ELEMENT_NAME] => Элемент
            [~ELEMENT_NAME] => Элемент
            [REST_ON] => N
            [~REST_ON] => N
            [EXTERNAL_ID] => 
            [~EXTERNAL_ID] => 
            [LANG_DIR] => /
            [~LANG_DIR] => /
            [SERVER_NAME] => lapshinvr.ru
            [~SERVER_NAME] => lapshinvr.ru
        )

    [LIST_PAGE_URL] => /articals/
    [~LIST_PAGE_URL] => /articals/
    [SECTION_URL] => 
    [CANONICAL_PAGE_URL] => https://lapshinvr.ru/articals/udalennaya-dispetcherizatsiya.html
    [SECTION] => Array
        (
            [PATH] => Array
                (
                )

        )

    [IPROPERTY_VALUES] => Array
        (
            [ELEMENT_META_TITLE] => Удаленный мониторинг
            [ELEMENT_META_KEYWORDS] => Удаленная, диспетчеризация, мониторинг, управление, овенклауд, owencloud, концепция, модель, УД
            [ELEMENT_META_DESCRIPTION] => Описание работы стенда веб визуализации для любого объекта автоматизации, от холодильной камеры до умного дома
            [ELEMENT_PAGE_TITLE] => Пример дистанционного управления
            [SECTION_META_TITLE] => Статьи по автоматизации
            [SECTION_META_KEYWORDS] => Статьи, автоматизация
            [SECTION_META_DESCRIPTION] => Встречал при производстве работ что-то достойное внимания. Сложно самому оценить необходимость размещения той или иной статьи, старался очевидный мусор убирать
            [SECTION_PAGE_TITLE] => Здесь опубликовал статьи, которые могут кому-то пригодиться при производстве работ
        )

    [TIMESTAMP_X] => 16.05.2021 16:06:07
    [META_TAGS] => Array
        (
            [TITLE] => Пример дистанционного управления
            [BROWSER_TITLE] => Удаленная диспетчеризация
            [KEYWORDS] => Удаленная, диспетчеризация, мониторинг, управление, овенклауд, owencloud, концепция, модель, УД
            [DESCRIPTION] => Описание работы стенда веб визуализации для любого объекта автоматизации, от холодильной камеры до умного дома
        )

    [PREVIEW_TEXT] => Плюсы данного решения
1.Отсутствует необходимость в закупке каких-то дополнительных программных продуктов
2.Подходит для любых типов устройств, так как имеет адаптивный дизайн. Система удобно просматривается и в горизонтальной, и в вертикальной ориентации
3.Возможность виртуально перемещаться по объекту автоматизации, в любом месте видеть режимы и состояние входящих подсистем
4.Возможность слияния и публикации данных с других различных объектов (контроллеров Овен), что позволяет делать очень большие системы. Просто нужен смартфон или любое другое устройство с выходом в Интернет [PREVIEW_PICTURE] => Array ( [ID] => 1127 [TIMESTAMP_X] => Bitrix\Main\Type\DateTime Object ( [value:protected] => DateTime Object ( [date] => 2021-05-16 16:06:07.000000 [timezone_type] => 3 [timezone] => Europe/Moscow ) ) [MODULE_ID] => iblock [HEIGHT] => 705 [WIDTH] => 557 [FILE_SIZE] => 35475 [CONTENT_TYPE] => image/png [SUBDIR] => iblock/18e [FILE_NAME] => 2020_12_14_14_38_59.png [ORIGINAL_NAME] => 2020_12_14_14_38_59.png [DESCRIPTION] => Параметры трехфазной сети [HANDLER_ID] => [EXTERNAL_ID] => d7ae6d78044469214aac1b5fa2794308 [~src] => [SRC] => /upload/iblock/18e/2020_12_14_14_38_59.png [UNSAFE_SRC] => /upload/iblock/18e/2020_12_14_14_38_59.png [SAFE_SRC] => /upload/iblock/18e/2020_12_14_14_38_59.png [ALT] => Удаленная диспетчеризация [TITLE] => Удаленная диспетчеризация ) [DETAIL_PAGE_URL] => /articals/udalennaya-dispetcherizatsiya.html )

07.01.2021

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

07.01.2021

Выглядит не плохо. Но все зависит как это делалось. Если жестко прописывались все элементы графические то это классно, но не адаптивно.То что я увидел по ссылке классно. Но как я понял делалось под конкретного клиента с конкретным размером монитора. На айпаде уже края прячутся. В общем мне нравиться. Нравиться что использовалась SVG для прорисовки, нравится что внешний вид не как сайт а как приложение. API работает иногда с задержкой. Иногда запрос проходит 70 миллисекунд иногда секунда, но наверно там просто не сильно мощный сервер.

29.12.2020

Получение ответа от Овен от облака само по себе занимает 1-2 секунды плюс время реакции облака Овена на запись, запись в ПЛК + таймаут опроса переменных около 2х секунд итого и набегает больше 4 секунд

27.12.2020

Ничего не понятно, но очень интересно) графика-норм! Хорошо смотрится, не напрягает

25.12.2020

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

25.12.2020

будет круто прогнать в будущем через обфускацию, потому что из этого можно извлечь формат данных и дудосить)

25.12.2020

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

Возврат к списку