Кратко:
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 адресов для плеера своему заказчику.
Вот такая идея. Мы усердно над ней работаем. И многое из написанного уже отлажено.
Критика для нас лучший стимул!