PDA

Просмотр полной версии : Механизм отображения image в визуализации



Elka
08.11.2011, 10:20
День добрый!

Насколько я понял, в случае использования в визуализации image-файла, он в неизменном виде подгружается в контроллер. Нет ли случайно информации, как данный файл отображается? Если в процессе работы его подменить на другой, поймёт ли это визуализация, и как скоро отобразит обновлённый файл?

Т.е. идея в глобальном виде следующая: развернуть на контроллере (МОДУС-5684) FTP-сервер, IP-камеру настроить на создание фото и выкладывание их на этот FTP, а в визуализуацию добавить этот самый image. Если обновление картинки сработает, можем в web-визуализации получить наблюдение за неким интересующим нас объектом.

Евгений Сергеевич
08.11.2011, 11:54
используемая картинка хранится на самом контроллере в папке CoDeSysSP/visu кажется. если его просто подменить то скорее всего на экране он не изменится, поэтому нужно использовать две картинки и перещелкивать с одной на другую по какому-то событию. А вообще идея интересная.

Малышев Олег
14.11.2011, 15:21
Красиво звучит. Понял зачем вам ftp. Посмотрите точно - не может камера по ssh(scp) работать?? Или по tftp (это совсем не ftp)??

Elka
15.11.2011, 02:07
Нет. Правда есть http, может быть есть смысл поиграть через него? Ладно, появится камера - поиграем.

Elka
15.11.2011, 17:07
Http в итоге в камере нет. Есть возможность класть куда-либо на FTP, причём каждый раз название файла с картинкой уникальное. Так что от контроллера нужно:
1) наличие простейшего FTP-сервера
2) возможность либо впихнуть скрипт/программулину, которая будет переименовывать файлы, принятые по FTP то в одно имя, то в другое (а в программе CodeSys только передёргивать их по очереди - кстати, надо попробовать, будет ли это вообще работать, если подменять картинки в процессе работы), либо из самой программы CodeSys обращаться к файловой системе контроллера и заниматься переименованием (вроде такие возможности у кого-то из ПЛК3хх я видел) - второй вариант, наверное, даже правильнее...

Проверили наличие нового файла, переименовали, перещёлкнули. Проверяем дальше.

Камера интересна ещё и интегрированным датчиком движения...

capzap
15.11.2011, 17:19
если обратится к созданию веб-сервера на ПЛК Овен, анализируете принимаемые данные, если в заголовоке mime-type стоит к примеру image/jpeg, то полученные после заголовка байты сохраняете в файл, под тем названием которое используете в визуализации, например image.jpg. Если камера шлет файлы по фтп, то вместо 80 порта веб-сервера, слушаете 21 порт

на oscat.de работа с фтп реализована

Elka
15.11.2011, 17:29
Вариант, но требующий не очень оправданных усилий по разработке. Там же linux - что бы не запихнуть какой-нибудь простенький FTP? Если, конечно, возможности контроллера это позволяют.

Тут в общем подход, на мой взгяд, должен быть примерно такой: хотите ещё что-то от Linux'а - пожалуйста, ставьте (в идеале с 3-5 строчечной инструкцией: примерно так-то и так-то), но будьте готовы пожертвовать чем-то (скоростью? доступной памятью?) в CodeSys.

capzap
15.11.2011, 17:37
а компилятор в этом линуксе есть?

Малышев Олег
16.11.2011, 10:02
а компилятор в этом линуксе есть?
Сам то как думаете?
"Вот что, ребята, пулемет я вам не дам..."(С)

capzap
16.11.2011, 10:17
Сам то как думаете?
"Вот что, ребята, пулемет я вам не дам..."(С)

:) А можно мне взять модус для тестирования, заявки еще принимаются?

Малышев Олег
16.11.2011, 10:42
пока читайте документацию на
http://download.pureftpd.org/pub/pure-ftpd/doc/README

начиная с пункта (поиском)
------------------------ AFTER AN UPLOAD ------------------------

пока собирается. Очень надеюсь что соберется...

capzap
16.11.2011, 11:06
пока читайте документацию на
http://download.pureftpd.org/pub/pure-ftpd/doc/README

значит в этой системе присутствует ftp-сервер и дополнительно загрузив демон pure-uploadscript -r ххх.sh можно скриптом принятый файл сразу переименовать в нужный вид.

Малышев Олег
16.11.2011, 12:26
Выкладываю. Честно говоря не пробовал. Теоретически должен работать.
Последнее расширение .zip - лишнее из имени файла его надо убрать.

Малышев Олег
16.11.2011, 13:48
:) А можно мне взять модус для тестирования, заявки еще принимаются?

Обращайтесь к Кириллу Валюнину. Думаю получится

capzap
16.11.2011, 14:33
Выкладываю. Честно говоря не пробовал. Теоретически должен работать.
Последнее расширение .zip - лишнее из имени файла его надо убрать.

неплохо бы конечно знать с какими опциями использовалась команда ./configure, потому что не получилось у меня загруженные файлы переименовать, скорее всего скрипт не выполняется. Легче оказалось написать скрипт который через определенный интервал, проверяет папку и переименовывает последний полученный jpg-файл в нужный

Малышев Олег
16.11.2011, 16:26
--with-uploadscript присутсвует

Elka
20.11.2011, 09:47
используемая картинка хранится на самом контроллере в папке CoDeSysSP/visu кажется. если его просто подменить то скорее всего на экране он не изменится, поэтому нужно использовать две картинки и перещелкивать с одной на другую по какому-то событию. А вообще идея интересная.

Евгений Сергеевич! А нет какого-нибудь простенького примера перещёлкивания? Вообще что-то не получилось сделать динамическое изображение. Попробовал просто наложить картинку на картинку, и управлять их видимостью (пример прилагаю), что-то ничего не получается. Хоть обновляй картинки, хоть не обновляй - кажет, похоже, те, что были считаны на момент запуска...

Евгений Сергеевич
21.11.2011, 14:18
я имел в виду вот так.

Вот только вся проблема в том, что CoDeSys, как выяснилось, открывает картинку один раз и хранит ее в оперативной памяти. Из-за чего мы имеем два неприятных момента:
1) простыми картинками можно забить оперативную память и Codesys как процесс будет убит
2) мы не можем обновить картинку без перезагрузки.

Напишем об этом в 3S и остается только ждать их реакции((

Малышев Олег
22.11.2011, 07:42
Не забывайте что в контроллере есть еще один вебсервер можно попробовать использовать. Веб страницу можно формировать с помощью библиотеки кодисис sysfile

Elka
23.11.2011, 14:52
А я подложил в каталог визуализации test.html с тремя фреймами: в одном webvisu.htm, в другом java-скрипт, отвечающий за снятие изображения с видеокамеры, третий - иная полезная хрень. Внутри локалки работает. Снаружи пока не пробовал.

Elka
23.11.2011, 18:12
И снаружи работает тоже. Вполне пристойно. Единственное, адреса для съёма изображения с камеры надо прописывать так, как они выглядят извне. И открывать соответствующие порты.