Просмотр полной версии : Управление выходами через WEB-интерфейс
Как наиболее эффективно организовать вкл/выкл выходов ПЛК из окна браузера?
Логвиненко Андрей
04.01.2012, 15:24
Интересный вопрос..
На сайте выложен пример WEB-сервера, если его доработать, то можно,
но задача не для начинающих.
если речь про организацию, а не реализацию, то мое предложение делать на ПЛК два сокета (на двух портах) один порт для отображения диспетчерской информации в браузере, а второй для приема GET-запросов для управления выходами ПЛК и чтоб не держать веб-сервер на ПЛК организовать его на ПК, а вот уже с него с помощью php организовывать запросы к ПЛК, с самого же ПЛК слать ответы в формате JSON к примеру.
Что касается реализации, кроме примеров на форуме можно посмотреть работу в сети http в библиотеке от oscat.de
На самом деле, способов это организовать достаточно много.
Я остановился на кодировании имени файла html-страницы. Веб-сервер полюбому должен анализировать это имя...
не самый лучший вариант, тратить время на разбор запроса и формирование ответа. Повторю, ПЛК получив запрос по одному порту, сразу в ответ посылает требуемую информации, получив запрос по другому порту, немедленно отправляет на выходы ПЛК управляющие сигналы. Если еще ни разу не собирали веб-сервер значит столкнетесь еще с зависаниями сокетов, а следовательно и с неполучением кем то из участников обмена необходимой информации
Я спрашивал как наиболее эффективно это сделать. В моём понимании это - минимум временных затрат. Поэтому, сделать одну страничку и подправить в стандартном примере веб-сервера место выделения имени запрашиваемой страницы - куда ещё проще?
Получилось так:
:) если бы приняли мою концепцию, то я бы поделился исходником странички для управления, который лежит по адресу http://capzap.mobi/plc/webface.php, как раз минимум временных затрат, уже все готово :)
Что-то у меня на твоей страничке управление выходами не работает :) Судя по исходнику, переключение выходов происходит по двойному клику?
Если говорить о концепции, то основным компонентом у тебя является веб-сервер на ПК с поддержкой пхп. Мне же нужно только ПЛК и любой комп с браузером.
> "не самый лучший вариант, тратить время на разбор запроса и формирование ответа" - Веб-сервер всё равно этим занимается, тратит время. Это его основная работа.
З.Ы. Если уж есть веб-сервер на ПК и удалённый ПЛК, то лучше тогда не заморачиваться HTTP, а весь обмен данными организовать через ModbusTCP.
управление выходами не работает ПЛК отключен от инета еще с начала зимы
веб-сервер на ПК с поддержкой пхп. Мне же нужно только ПЛК и любой комп с браузером.да, зато в моем случае, на малоразмерном диске ПЛК не хранятся файлы веб-сервера, а для хорошей визуализации их необходимо совсем не мало и к тому же если постоянно переписывать эти файлы обновленными данными, то на сколько хватит флешки с таким сервером, в моем случае данные формируются в памяти и сразу отправляются потребителям
Если уж есть веб-сервер на ПК и удалённый ПЛК, то лучше тогда не заморачиваться HTTPпо http есть возможность полученные данные сохранять как файл сразу же,а через модбас принятые данные придется сохранять уже самостоятельно
Касательно ОВЕН-овских ПЛК, чистые данные удаленно по сети лучше передавать через UDP
Вряд ли кому придёт в голову использовать ПЛК в качестве полноценного веб-сервера да ещё и с хорошей визуализацией. Хотя бы из-за ограниченного размера буфера для ответов.
Оптимальное применение функции веб-сервера ПЛК, это несколько лаконичных страничек для быстрого доступа к важной информации или из-за возможности съэкономить на сервере со скадой. Странички на флешке не изменяются, поэтому флешки хватит надолго.
Сохранение полученных данных в файл - сомнительная фича. Это же всё-таки контроллер, его данные должны упорядочно коллекционироваться, для обеспечения удобного доступа к ним в дальнейшем. Для этих целей больше подходит СУБД, чем файл.
По поводу UDP, тоже не всё так однозначно. Но это - тема отдельная.
Логвиненко Андрей
12.01.2012, 17:35
Мне же нужно только ПЛК и любой комп с браузером.
В javascript есть метод XMLHttpRequest, в примере на сайте он используется для чтения динамически обновляемых данных, немного доработав, его можно применить для передачи запросов серверу по событиям onclick и т.п.
в моем случае, на малоразмерном диске ПЛК не хранятся файлы веб-сервера, а для хорошей визуализации их необходимо совсем не мало и к тому же если постоянно переписывать эти файлы обновленными данными, то на сколько хватит флешки с таким сервером
Зачем переписывать файлы? Какой бы объёмной не была визуализация, размер обновляемых данных не превысит единиц килобайт, и их можно хранить в ОЗУ.
Зачем переписывать файлы?
:) откуда я знаю, у меня вся инфа в озу формируется в ответ на запрос, ни каких файлов от веб-сервера не хранится
Сохранение полученных данных в файл - сомнительная фича. Это же всё-таки контроллер, его данные должны упорядочно коллекционироваться, для обеспечения удобного доступа к ним в дальнейшем. Для этих целей больше подходит СУБД, чем файлКак бы браузерный контроль за состоянием производства нужен высокому начальству, отдыхающему к примеру в Мексике, ну или на даче где нибудь под Балабаново :) И что он захочет чтоб на его ноут ставилось приложение соединяющееся с БД или сосущее информацию по модбасу для формирования отчета в формате пдф,нет просто открыл браузер, посмотрел, если что не понравилось скачал файл в формате csv, чтоб потом в exele столбики и графики увидеть и всё.
Начальство не пойдёт на ПЛК. Там для него интересного мало. Оно через инет-клиент (или по RDP) подключится к стационарной скаде и посмотрит всё что ему надо. В цветах и в песнях.
А дача под Балабаново у меня действительно имеется!:)
сами же говорили, если денег на скаду недают, то и браузером будут пользоваться :)
и опять же это вяжется с моей концепцией, со всех ПЛК апач собирает инфу и предоставляет её интересующимся в любой точке мира
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot