Ожидание

Автор VoronovMaksim88, 12 сентября 2015, 19:49:51

« назад - далее »

VoronovMaksim88

Ждём хотя бы краткого описания, что это за девайс и как им пользоваться!

mike

Кратко:
Z450EV - малопотребляющий вебсервер, предназначенный для распределенного сбора данных с "низовых" контроллеров.
Имеет на борту 2xEth и 1хRS485.
Питание сервера от напряжения 12-40В. Полная развязка до 1,5кВ по питанию и всем портам (индивидуальная).
USB порт для загрузки/отладки "изнутри". Хотя для этих целей можно использовать и 485 и eth, но USB удобнее.
USB так же имеет гальваническую развязку и, как и eth порты, снабжен защитой от статики.
Будет версия с корпусом с креплением на рейку и на поверхность. Корпус низкопрофильный.

Изначально планировалось, что сервер будет отдавать готовые веб страницы с анимацией, управлением и прочими плюшками. Разработка веб страниц должна была выполняться внутри ZWorkbench с помощью визуального редактора (написать который, в принципе, не сложно и был/есть очень хороший задел и куча наработок/идей). И все было бы удобно и красиво... Если бы не одно обстоятельство.

Мы накидали простецкий интерфейс управления приточкой для хрома на андроиде. HTML накидали руками, адаптировали под хром, залили на сервер и получили картинку (см pic001). Отклик прекрасный, ничего не тормозит, установка повинуется лучше Джина из лампы, - все хорошо.
Утром следующего дня хрому приспичило обновиться. После обновления хрома все так же шустро летало, но картинка, развалилась. Не сильно, но развалилась. Это натолкнуло на мысль, что в какой-либо момент, будет обновление хрома или лиса или еще кого-нибудь, которое приведет к потере какого-либо заложенного нами функционала.
Естественно, что для нас это означало бы катастрофу.

Поэтому было принято решение.
Вебсервер только гоняет данные, а воспроизведением занимается бесплатно распространяемая программа-плеер для основных платформ: Lin *.deb / Lin *.rpm / iOS / Android / Win / Win mob
У этого подхода есть однозначный плюс: можно сильно понизить требования к процессору сервера и количеству ОЗУ и флеш памяти. Следовательно, можно получить энергоэффективную дешевую машину и строить на ее основе крайне сложные распределенные и отказоустойчивые системы человеко-машинного интерфейса.
В области сердца Z450EV бьется 32-разрядный осколок кремния. Его вполне достаточно, что бы опросить несколько сотен сетевых переменных, поддерживать скорость связи по eth 100Mbs и "крутить" программу в пару тысяч блоков (это поистине адская программа, ибо я не смог написать адекватной программы более чем на 1000 блоков (Если сравнивать популярные программные продукты типа SMLogix, то программы, написанные в ZWB в 2-3 раза компактнее).

Итоговый вариант полного построения сетей на N450EV будет выглядеть так:

  • Создаются программы для полевых контроллеров (в ZWB)
  • Создается топология сети (в ZWB)
  • Полевым контроллерам раздаются адреса (в ZWB)
  • Согласно технологическим требованиям создаются экраны для сервера / серверов в сети (в ZWB)
  • Создаются программы для серверов (в случае необходимости) (в ZWB)
  • Серверу / серверам назначают адреса в сети (в ZWB)
  • Физически монтируют полевые контроллеры и сервера, создают сеть, согласно проектной документации (ручками)
  • Рабочую станцию с ZWB подключают к eth сети серверов (ручками)
  • Каждому контроллеру и серверу, согласно топологии сети и техпроцессу назначают рабочий шаблон программы (в ZWB)
  • Нажимается кнопка "Загрузить сеть" (в ZWB). Если сеть большая, и хорошая погода, то вполне можно прогуляться, ибо робот все сделает сам, а вам остается самое приятное - прекрасная прогулка и в качестве бонуса лавры победителя)))
После загрузки сети все должно ожить и вам остается только отдать список IP адресов для плеера своему заказчику.

Вот такая идея. Мы усердно над ней работаем. И многое из написанного уже отлажено.

Критика для нас лучший стимул!


VoronovMaksim88

А архив писать можно будет ? Типа журнал событий или график температуры ?

VoronovMaksim88

На фото видна батарейка. Можно ли ожидать в ZWB появления блоков GetTime, GetDate, SetTime, SetDate ?
Это дало бы возможность управлять контроллерами по недельному или суточному расписанию.

mike

Забыл сказать, что программы для 450, точнее экраны, пишутся по такому же принципу, как и отладочные экраны. Другими словами, ранее созданный виртуальный прибор парой кликов превращается в реальный.

VoronovMaksim88


mike

Цитата: VoronovMaksim88 от 13 сентября 2015, 05:06:53
А архив писать можно будет ? Типа журнал событий или график температуры ?
Можно конечно.
Но есть нюанс:

  • Так как система визуализации распределенная, то не понятно, какой объем накопителя нужен на борту сервера. Использовать SD карты - не вариант. Очень низкая надежность, да и цена, скажем на 100 серверов в сети для этих карт будет существенной.
  • Как не крути, SD карта тоже не резиновая. То есть надо на уровне плеера создавать скрипт, периодически проверяющий заполнение карты и очищающей ее
  • Вопросы синхронизации данных (вообще головная боль)
Поэтому было принято решение вообще не хранить данные на сервере. То есть на борту есть достаточно ёмкий энергонезависимый буфер памяти, но основной объем данных хранится на внешнем сервере.
Кто такой внешний сервер?
В зависимости от требований безопасности хранения данных это может быть:

  • Площадка на бесплатном/платном хостинге (в этом случае ZWB может сгенерировать php скрипт для удаленного подключения к БД (см. pic002))
  • аппаратный NAS сервер (очень экономичное и надежное решение для малых проектов)
  • сервер БД предприятия

mike

Цитата: VoronovMaksim88 от 13 сентября 2015, 05:45:07
На фото видна батарейка. Можно ли ожидать в ZWB появления блоков GetTime, GetDate, SetTime, SetDate ?
Это дало бы возможность управлять контроллерами по недельному или суточному расписанию.
Батарейка питает часы реального времени и часть ОЗУ в случае пропадания питания.
Да, все эти блоки будут доступны как локально, с сервера, так и по сети.

VoronovMaksim88


mike

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

serov

Цитата: mike от 12 сентября 2015, 23:03:31
Изначально планировалось, что сервер будет отдавать готовые веб страницы .........................................
Готовые страницы лучше в разы по многим причинам, главное что работать будет на любой платформе без дополнительного программного обеспечения и шифрование в браузере уже поддерживается.

Цитата: mike от 12 сентября 2015, 23:03:31
После обновления хрома все так же шустро летало, но картинка, развалилась. Не сильно, но развалилась..................................................
Само собой, но с этим легко бороться, ведь не переписываются же сайты каждый раз.

Цитата: mike от 12 сентября 2015, 23:03:31
Поэтому было принято решение.
Вебсервер только гоняет данные, а воспроизведением занимается бесплатно распространяемая программа-плеер для основных платформ: Lin *.deb / Lin *.rpm / iOS / Android / Win / Win mob

Тут вижу такие минусы и проблемы с внедрением:
1. Придется написать программу-плеер под все платформы и поддерживать её.
2. Не услышал главного - как с безопасностью, что с шифрованием? Если вебсервер только гоняет данные, то чем он отличается от конвертера RS485-> Ethenet ?  Кстати получается и хранить-то вебсервер ни чего не будет.
3. На некоторых предприятиях служба безопасности категорически не разрешает устанавливать стороннее ПО, особенно если оно не сертифицировано по каким-то там стандартам безопасности.
4. Стоимость сего девайса предлагается от 200 евро, для сравнения Weintek cMT-SVR-100 стоит 220 USD и при этом умеет и делает то, что Вы изначально планировали.

Цитата: mike от 12 сентября 2015, 23:03:31
Критика для нас лучший стимул!
Просили - ловите. Не хочу Вас как-то задеть, но всё же, пока что от меня жирный минус за данный девайс (:

mike

#11
Цитата: serov от 29 октября 2015, 01:36:17
Цитата: mike от 12 сентября 2015, 23:03:31
Изначально планировалось, что сервер будет отдавать готовые веб страницы .........................................
Готовые страницы лучше в разы по многим причинам, главное что работать будет на любой платформе без дополнительного программного обеспечения и шифрование в браузере уже поддерживается.

И все-таки не соглашусь. Предположим, сделан объект 5 лет назад. Явно изменятся веб технологии. И что? человек получивший работающий проект на 500 страниц после обновления должен будет править код?

Шифрование поддерживается. Но не подскажите на основе чего браузер должен доверять серверу?

mike

Цитата: serov от 29 октября 2015, 01:36:17

Цитата: mike от 12 сентября 2015, 23:03:31
После обновления хрома все так же шустро летало, но картинка, развалилась. Не сильно, но развалилась..................................................
Само собой, но с этим легко бороться, ведь не переписываются же сайты каждый раз.

Идея девайса что бы ни с чем не надо было бороться. Сделал проект и все.
Учитывая основное назначение Z450 работать на мобильную платформу, можно предположить, что обновки к мобильным браузерам будут сыпаться, как искры из костра (что мы и в настоящее время видим). И уж меньше всего нашему коллективу хочется слышать брань со стороны конечных пользователей.

mike

Цитата: serov от 29 октября 2015, 01:36:17

Цитата: mike от 12 сентября 2015, 23:03:31
Поэтому было принято решение.
Вебсервер только гоняет данные, а воспроизведением занимается бесплатно распространяемая программа-плеер для основных платформ: Lin *.deb / Lin *.rpm / iOS / Android / Win / Win mob

Тут вижу такие минусы и проблемы с внедрением:
1. Придется написать программу-плеер под все платформы и поддерживать её.
2. Не услышал главного - как с безопасностью, что с шифрованием? Если вебсервер только гоняет данные, то чем он отличается от конвертера RS485-> Ethenet ?  Кстати получается и хранить-то вебсервер ни чего не будет.
3. На некоторых предприятиях служба безопасности категорически не разрешает устанавливать стороннее ПО, особенно если оно не сертифицировано по каким-то там стандартам безопасности.
4. Стоимость сего девайса предлагается от 200 евро, для сравнения Weintek cMT-SVR-100 стоит 220 USD и при этом умеет и делает то, что Вы изначально планировали.


1. Ну первый минус вовсе не минус. Мультиплатформенный плеер мы уже написали и сейчас его пилим потихоньку.
2. Обмен между серверами и плеером шифруется. Сервер от конвертера отличается тем, что хранит внутри себя всю иерархию сети, все графические объекты, которые будет кешировать по-итогу плеер. Карты памяти в сервер нельзя будет установить. Это сделано исключительно из соображений надежности.
3. Сервер не рассчитан на использование на режимных объектах, хотя сам по себе очень надежен и прост, как кирпич.
4. Это вопрос личных предпочтений.

serov

Вебсервер делается гораздо проще, если на борту девайса ОС Linux. При этом огромная масса решений, минимум вложений в разработку и, самое главное, стандартные расширяемые сетевые технологии. Например VNC сервер, картинка не будет сыпаться, куча клиентов и пр..
А ещё стандартные технологии шифрования, можно vpn прикрутить, и безопасность будет на высоте.
При этом не будет проблем с продвижением в компании где службой безопасности запрещено, заблокировано и нет возможности ставить какое либо ПО.
Скажу прямо - я против Вашего текущего решения, так как вряд ли смогу использовать в своих решениях.