Как наиболее эффективно организовать вкл/выкл выходов ПЛК из окна браузера?
Как наиболее эффективно организовать вкл/выкл выходов ПЛК из окна браузера?
Интересный вопрос..
На сайте выложен пример WEB-сервера, если его доработать, то можно,
но задача не для начинающих.
если речь про организацию, а не реализацию, то мое предложение делать на ПЛК два сокета (на двух портах) один порт для отображения диспетчерской информации в браузере, а второй для приема GET-запросов для управления выходами ПЛК и чтоб не держать веб-сервер на ПЛК организовать его на ПК, а вот уже с него с помощью php организовывать запросы к ПЛК, с самого же ПЛК слать ответы в формате JSON к примеру.
Что касается реализации, кроме примеров на форуме можно посмотреть работу в сети http в библиотеке от oscat.de
На самом деле, способов это организовать достаточно много.
Я остановился на кодировании имени файла html-страницы. Веб-сервер полюбому должен анализировать это имя...
не самый лучший вариант, тратить время на разбор запроса и формирование ответа. Повторю, ПЛК получив запрос по одному порту, сразу в ответ посылает требуемую информации, получив запрос по другому порту, немедленно отправляет на выходы ПЛК управляющие сигналы. Если еще ни разу не собирали веб-сервер значит столкнетесь еще с зависаниями сокетов, а следовательно и с неполучением кем то из участников обмена необходимой информации
Я спрашивал как наиболее эффективно это сделать. В моём понимании это - минимум временных затрат. Поэтому, сделать одну страничку и подправить в стандартном примере веб-сервера место выделения имени запрашиваемой страницы - куда ещё проще?
Получилось так:
если бы приняли мою концепцию, то я бы поделился исходником странички для управления, который лежит по адресу http://capzap.mobi/plc/webface.php, как раз минимум временных затрат, уже все готово
Что-то у меня на твоей страничке управление выходами не работает Судя по исходнику, переключение выходов происходит по двойному клику?
Если говорить о концепции, то основным компонентом у тебя является веб-сервер на ПК с поддержкой пхп. Мне же нужно только ПЛК и любой комп с браузером.
> "не самый лучший вариант, тратить время на разбор запроса и формирование ответа" - Веб-сервер всё равно этим занимается, тратит время. Это его основная работа.
З.Ы. Если уж есть веб-сервер на ПК и удалённый ПЛК, то лучше тогда не заморачиваться HTTP, а весь обмен данными организовать через ModbusTCP.
ПЛК отключен от инета еще с начала зимыуправление выходами не работаетда, зато в моем случае, на малоразмерном диске ПЛК не хранятся файлы веб-сервера, а для хорошей визуализации их необходимо совсем не мало и к тому же если постоянно переписывать эти файлы обновленными данными, то на сколько хватит флешки с таким сервером, в моем случае данные формируются в памяти и сразу отправляются потребителямвеб-сервер на ПК с поддержкой пхп. Мне же нужно только ПЛК и любой комп с браузером.по http есть возможность полученные данные сохранять как файл сразу же,а через модбас принятые данные придется сохранять уже самостоятельноЕсли уж есть веб-сервер на ПК и удалённый ПЛК, то лучше тогда не заморачиваться HTTP
Касательно ОВЕН-овских ПЛК, чистые данные удаленно по сети лучше передавать через UDP
Вряд ли кому придёт в голову использовать ПЛК в качестве полноценного веб-сервера да ещё и с хорошей визуализацией. Хотя бы из-за ограниченного размера буфера для ответов.
Оптимальное применение функции веб-сервера ПЛК, это несколько лаконичных страничек для быстрого доступа к важной информации или из-за возможности съэкономить на сервере со скадой. Странички на флешке не изменяются, поэтому флешки хватит надолго.
Сохранение полученных данных в файл - сомнительная фича. Это же всё-таки контроллер, его данные должны упорядочно коллекционироваться, для обеспечения удобного доступа к ним в дальнейшем. Для этих целей больше подходит СУБД, чем файл.
По поводу UDP, тоже не всё так однозначно. Но это - тема отдельная.