PDA

Просмотр полной версии : Управление выходами через WEB-интерфейс



Slev
04.01.2012, 13:56
Как наиболее эффективно организовать вкл/выкл выходов ПЛК из окна браузера?

Логвиненко Андрей
04.01.2012, 15:24
Интересный вопрос..
На сайте выложен пример WEB-сервера, если его доработать, то можно,
но задача не для начинающих.

capzap
04.01.2012, 15:45
если речь про организацию, а не реализацию, то мое предложение делать на ПЛК два сокета (на двух портах) один порт для отображения диспетчерской информации в браузере, а второй для приема GET-запросов для управления выходами ПЛК и чтоб не держать веб-сервер на ПЛК организовать его на ПК, а вот уже с него с помощью php организовывать запросы к ПЛК, с самого же ПЛК слать ответы в формате JSON к примеру.
Что касается реализации, кроме примеров на форуме можно посмотреть работу в сети http в библиотеке от oscat.de

Slev
11.01.2012, 17:39
На самом деле, способов это организовать достаточно много.
Я остановился на кодировании имени файла html-страницы. Веб-сервер полюбому должен анализировать это имя...

capzap
11.01.2012, 18:15
не самый лучший вариант, тратить время на разбор запроса и формирование ответа. Повторю, ПЛК получив запрос по одному порту, сразу в ответ посылает требуемую информации, получив запрос по другому порту, немедленно отправляет на выходы ПЛК управляющие сигналы. Если еще ни разу не собирали веб-сервер значит столкнетесь еще с зависаниями сокетов, а следовательно и с неполучением кем то из участников обмена необходимой информации

Slev
12.01.2012, 00:27
Я спрашивал как наиболее эффективно это сделать. В моём понимании это - минимум временных затрат. Поэтому, сделать одну страничку и подправить в стандартном примере веб-сервера место выделения имени запрашиваемой страницы - куда ещё проще?
Получилось так:

capzap
12.01.2012, 05:26
:) если бы приняли мою концепцию, то я бы поделился исходником странички для управления, который лежит по адресу http://capzap.mobi/plc/webface.php, как раз минимум временных затрат, уже все готово :)

Slev
12.01.2012, 10:37
Что-то у меня на твоей страничке управление выходами не работает :) Судя по исходнику, переключение выходов происходит по двойному клику?
Если говорить о концепции, то основным компонентом у тебя является веб-сервер на ПК с поддержкой пхп. Мне же нужно только ПЛК и любой комп с браузером.
> "не самый лучший вариант, тратить время на разбор запроса и формирование ответа" - Веб-сервер всё равно этим занимается, тратит время. Это его основная работа.
З.Ы. Если уж есть веб-сервер на ПК и удалённый ПЛК, то лучше тогда не заморачиваться HTTP, а весь обмен данными организовать через ModbusTCP.

capzap
12.01.2012, 16:02
управление выходами не работает ПЛК отключен от инета еще с начала зимы
веб-сервер на ПК с поддержкой пхп. Мне же нужно только ПЛК и любой комп с браузером.да, зато в моем случае, на малоразмерном диске ПЛК не хранятся файлы веб-сервера, а для хорошей визуализации их необходимо совсем не мало и к тому же если постоянно переписывать эти файлы обновленными данными, то на сколько хватит флешки с таким сервером, в моем случае данные формируются в памяти и сразу отправляются потребителям
Если уж есть веб-сервер на ПК и удалённый ПЛК, то лучше тогда не заморачиваться HTTPпо http есть возможность полученные данные сохранять как файл сразу же,а через модбас принятые данные придется сохранять уже самостоятельно
Касательно ОВЕН-овских ПЛК, чистые данные удаленно по сети лучше передавать через UDP

Slev
12.01.2012, 17:34
Вряд ли кому придёт в голову использовать ПЛК в качестве полноценного веб-сервера да ещё и с хорошей визуализацией. Хотя бы из-за ограниченного размера буфера для ответов.
Оптимальное применение функции веб-сервера ПЛК, это несколько лаконичных страничек для быстрого доступа к важной информации или из-за возможности съэкономить на сервере со скадой. Странички на флешке не изменяются, поэтому флешки хватит надолго.
Сохранение полученных данных в файл - сомнительная фича. Это же всё-таки контроллер, его данные должны упорядочно коллекционироваться, для обеспечения удобного доступа к ним в дальнейшем. Для этих целей больше подходит СУБД, чем файл.
По поводу UDP, тоже не всё так однозначно. Но это - тема отдельная.

Логвиненко Андрей
12.01.2012, 17:35
Мне же нужно только ПЛК и любой комп с браузером.
В javascript есть метод XMLHttpRequest, в примере на сайте он используется для чтения динамически обновляемых данных, немного доработав, его можно применить для передачи запросов серверу по событиям onclick и т.п.

в моем случае, на малоразмерном диске ПЛК не хранятся файлы веб-сервера, а для хорошей визуализации их необходимо совсем не мало и к тому же если постоянно переписывать эти файлы обновленными данными, то на сколько хватит флешки с таким сервером
Зачем переписывать файлы? Какой бы объёмной не была визуализация, размер обновляемых данных не превысит единиц килобайт, и их можно хранить в ОЗУ.

capzap
12.01.2012, 18:05
Зачем переписывать файлы?

:) откуда я знаю, у меня вся инфа в озу формируется в ответ на запрос, ни каких файлов от веб-сервера не хранится

Сохранение полученных данных в файл - сомнительная фича. Это же всё-таки контроллер, его данные должны упорядочно коллекционироваться, для обеспечения удобного доступа к ним в дальнейшем. Для этих целей больше подходит СУБД, чем файлКак бы браузерный контроль за состоянием производства нужен высокому начальству, отдыхающему к примеру в Мексике, ну или на даче где нибудь под Балабаново :) И что он захочет чтоб на его ноут ставилось приложение соединяющееся с БД или сосущее информацию по модбасу для формирования отчета в формате пдф,нет просто открыл браузер, посмотрел, если что не понравилось скачал файл в формате csv, чтоб потом в exele столбики и графики увидеть и всё.

Slev
12.01.2012, 19:12
Начальство не пойдёт на ПЛК. Там для него интересного мало. Оно через инет-клиент (или по RDP) подключится к стационарной скаде и посмотрит всё что ему надо. В цветах и в песнях.
А дача под Балабаново у меня действительно имеется!:)

capzap
12.01.2012, 19:46
сами же говорили, если денег на скаду недают, то и браузером будут пользоваться :)
и опять же это вяжется с моей концепцией, со всех ПЛК апач собирает инфу и предоставляет её интересующимся в любой точке мира