Как говориться, красна изба не углами, а красна пирогами... Что за умная изба без дружелюбного web-интерфейса! Чуть выше я уже комментировал, что первым делом я ринулся писать свой собственный web-интерфейс, однако потом понял, что у меня нет для этого ни сил ни желания, поэтому надо искать что-то готовое. Тем более, что многие интересуются, и кинуть человеку исходники и сказать "На, копайся!" не продуктивно! Нужно запустить эффект синергии, когда одно ядро, а все ее совместными усилиями улучшают в мену своих возможностей.
После поисков я понял, что надо гуглить и яндексить словосочетание "free web scada". Поиски меня привели на две системы
- Mango M2M -
http://mango.serotoninsoftware.com/features.jsp
- его клон
http://www.scadabr.org.br/
- коммерческая Web-SCADA IntegraXor.
http://www.integraxor.com/
Первые судя по документации обладают недюженными возможностями, работают и под Windos и под Linux на базе сервера Apache и Java и полностью бесплатны. Однако, сколько я не бился, корректно у меня под Windows ничего не заработало. Поэтому я предлагаю попробовать данные системы другим энтузиастам.
Расскажу подробнее про IntegraXor. Она мне больше понравилась. Система работает только на Windows. Но именно это мне и надо. Я не шовинист, просто с окнами я уже насексовался вдоволь, а вот любви с пингвинами не познал, и в силу возраста думаю, что уже не познаю... Да и ветки на форуме, где идет обсуждение Linux, где новичку предлагается посмотреть, а "что сказал 86 варнинг при компиляции", или "в файле инициализации на 13 странице поменяй значение с 1 на 0 и тогда все будет хорошо" как-то не вдохновляет. Мне в основном пишут люди, кто хочет спокойно и без лишней нервотрепки получить решение проблемы. Желательно чтобы было понятно, что мы делаем, и желательно со скриншотами.
Также сразу скажу, что я не в коей мере не рекламирую какой-либо продукт. Я использую только то что нашел. Если кто-то найдет также что-то интересное, рассказывайте, не стесняйтесь
Я лично пока решения не принял и в поиске. Сразу скажу, что до конца года разработчики системы предлагают бесплатно систему с ограничением на подключение 128 внешних входов-выходов (тэгов). Что это такое, объясню дальше.. Могу только сказать, что IntegraXor устроена так, что применительно к контроллеру Beckhoff данное ограничение совершенно честно обходится... Именно ЧЕСТНО!
То есть мы имеем бесплатный продукт...
Как и все такие системы IntegraXor состоит из back-end - серверной части со своей системой разработки, и из front-end - клиентской части, web-интрефейса. Web-интерфейс построен на стандартных технологиях и работает на всех браузерах на персональных компьютерах и планшетниках.
Для того чтобы понять как устроена система, я опишу здесь два примера, которые продемонстрируют как это все работает и какие есть возможности... Примеры будут такие:
- сделать экран, который выводит текущие показания с погодной станции
- сделать экран, который покажет состояние освещения в доме (где включены лампочки) и позволит удаленно их включать и выключать
Я взял именно эти два примера, так как они показыват работу с разными источниками данных. В первом примере источником данных будет база данных. У меня есть программа, которая через каждую минуту читает данные с погодной станции и пишет их в базу данных. Здесь никакой оперативности не требуется. Только показать на экране.
Во втором примере источником данных является контроллер. Для того чтобы оперативно отображать на экране состояние лампочек и иметь возможность их включить или выключить удаленно, нам необходимо общаться с контроллером напрямую.
ПОКАЗЫВАЕМ ПОГОДУ
После инсталляции системы, запускам редактор проекта, создаем новый проект и видим следующий интерфейс
- Редактор проектов
- pict 1.jpg (59.18 КБ) 26978 просмотров
Раздел GENERAL мы пропускаем - там ничего интересного. Идем в раздел TIMERS.
- Раздел TIMER
- pict 2.jpg (109.73 КБ) 26978 просмотров
Tаймеры это одна из основ системы. Здесь мы описываем нужные нам временные кванты (например «каждые 500 миллисекунд», «каждую минуту», «каждый день в 14:00” и тд) которые потом можно назначать событиям в системе. При создании проекта автоматом создаются самые необходимые кванты, но можно добавить и своих..
Дальше идем в раздел "TAG" - это самый главный раздел. Здесь мы описываем источники данных (их у нас пока два - база данных и контроллер) и в каждом источнике данных описываем ТЭГИ (переменные), значения которых мы будем брать из этих источников. В подразделах Application и Action описаны все системные переменные, которые описывают текущее состояние системы. Это может быть полезным нас потом. В разделе Virtual мы можем описать неограниченное кол-во переменных, нужные нам для работы. Они никак не привязаны к источникам данных.
В разделе IO сначала создаем два интерфейса - один для базы данных, другой для контроллера. С контроллером мы будем общаться по Modbus TCP. Соответственно, ставим IP адрес контроллера и порт 502 (стандартный для Modbus TCP)
- Раздел IO
- pict 3.jpg (73.64 КБ) 26978 просмотров