EnglishУкраїнськаmRussian
Login/New
Topic with many replies

Забирать переменную из web странички возможно?


Author Message
Written on: 19. 05. 2010 [11:20]
gsxr
Андрей Ехлаков
Topic creator
registered since: 03.03.2010
Posts: 58
Добрый день. Есть контроллер icpcon upac7188E. На нем вебинтерфейс. В нем есть страничка
<html>
<head>
<META HTTP-EQUIV="Refresh" CONTENT="2;url=/cgi-bin/cgi_user?Page=cnt.htm">
</head>
0000064443
</html>

Возможно ли штатными методами забрать это число как переменную?
Written on: 19. 05. 2010 [11:56]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
Можно, если слать http-запросы руками, а затем обрабатывать ответ.
Была мысль добавить поддержку пользовательских запросов в модуле "Protocol.http". Тогда можно будет получать готовый контент страницы, без заморочек с HTTP. Но нужды, пока небыло.

Learn, learn and learn better than work, work and work.
Written on: 19. 05. 2010 [12:21]
gsxr
Андрей Ехлаков
Topic creator
registered since: 03.03.2010
Posts: 58
К сожалению, совсем не понял как это слать запросы руками...
Попытаться бы хоть создать простейший проект. Из демонстрационного проекта на лайвсиди возможно поудалять лишнее?
Или как с нуля сделать пустой запускающийся проект который просто показывает какую-нибудь надпись?
Written on: 19. 05. 2010 [14:35]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"gsxr" wrote:

К сожалению, совсем не понял как это слать запросы руками...

http://oscada.org/ru/forum/posts//opros_ustroistv_po_sobytiju/
"gsxr" wrote:

Попытаться бы хоть создать простейший проект. Из демонстрационного проекта на лайвсиди возможно поудалять лишнее?
Или как с нуля сделать пустой запускающийся проект который просто показывает какую-нибудь надпись?

Удаляйте, кто Вас останавливает?
http://wiki.oscada.org/Doc/QuickStart

Learn, learn and learn better than work, work and work.
Written on: 20. 05. 2010 [06:58]
gsxr
Андрей Ехлаков
Topic creator
registered since: 03.03.2010
Posts: 58

О. Раньше этого не было. Ушел читать - может что-нибудь и получится.
Written on: 28. 05. 2010 [10:28]
gsxr
Андрей Ехлаков
Topic creator
registered since: 03.03.2010
Posts: 58
Немного глупый вопрос по UserProtocol:
http://wiki.oscada.org/Doc/UserProtocol?show_files=1#files
Чтобы написать входную и выходную программу, нужно изучить API OpenScada? Или апи вообще на этой уровне не нужно знать, чтобы реализовать то что мне требуется? В частности, тот же парсинг html траницы.
про ту же упоминаемую MessIO функцию где можно почитать?

Похоже пора открывать тему с глупыми вопросами.

В "Транспортные протоколы" (демо конфигурации) добавил в "Пользовательский протокол" myhttptest. Я правильно понимаю что для решения моей описанной в начале топика задачи мне нужно во вкладке "выход" выбрать джава подобный язык и написать программу отправляющую запрос на web сервер для получения http страницы?
А во вкладке вход написать программу которая парсит то что возвращает web сервер?

[This article was edited 2 times, at last 28.05.2010 at 12:27.]
Written on: 28. 05. 2010 [16:46]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"gsxr" wrote:

Немного глупый вопрос по UserProtocol:
http://wiki.oscada.org/Doc/UserProtocol?show_files=1#files
Чтобы написать входную и выходную программу, нужно изучить API OpenScada? Или апи вообще на этой уровне не нужно знать, чтобы реализовать то что мне требуется? В частности, тот же парсинг html траницы.
про ту же упоминаемую MessIO функцию где можно почитать?

Пользовательское API конечно нужно. В описании и прочитать http://wiki.oscada.org/Doc/OpisanieProgrammy?v=gax#h920-1

"gsxr" wrote:

Похоже пора открывать тему с глупыми вопросами.

А отвечать Вам на них кто будет?

"gsxr" wrote:

В "Транспортные протоколы" (демо конфигурации) добавил в "Пользовательский протокол" myhttptest. Я правильно понимаю что для решения моей описанной в начале топика задачи мне нужно во вкладке "выход" выбрать джава подобный язык и написать программу отправляющую запрос на web сервер для получения http страницы?
А во вкладке вход написать программу которая парсит то что возвращает web сервер?

Не правильно. "выход" это прослойка оборачивающая, в вашем случае HTML в HTTP для отправки и получения ответа. Сам протокол ничего не шлёт.
"вход" - для обработки внешних запросов, роль сервера.

Learn, learn and learn better than work, work and work.
Written on: 29. 05. 2010 [12:42]
gsxr
Андрей Ехлаков
Topic creator
registered since: 03.03.2010
Posts: 58
тогда в каком функциональном блоке нужно создавать сеанс работы с web сервером, запрос страницы?
Т.е вкладка вход мне вообще не нужна.
Заворачивать что-то в http это как? Он же текстовый, это как телнетом к вебсерверу подконнектиться и кодами запросить страницу. Или я не прав?

Скажите, а если не связываться с http, а работать по TCP в текстовом построчном режиме это проще?
У меня есть еще программа для icpcona tcp сервер. Я обычно общался с ней при помощи putty в raw режиме. Например отправлял "19r" в ответ приходит число. Почти телнет, только телнет посимвольно отправляет, а тут нужно построчно работать.
Я добавил в исходящие сокеты новый, назвал "tcpserver_test", поправил порт. Не подскажете как через этот сокет теперь отправить текстовую команду(лучше подробнее, в системе пока не понимаю). Все равно нужно использовать UserProtocol? Или есть решение проще?

Мое устройство нужно как контроллер добавлять с "Сбор данных" -> Устройства АСКУ? Или куда добавляются устройства работающие через UserProtocol?

[This article was edited 3 times, at last 29.05.2010 at 16:34.]
Written on: 29. 05. 2010 [21:25]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"gsxr" wrote:

тогда в каком функциональном блоке нужно создавать сеанс работы с web сервером, запрос страницы?

Не в блоке, а в модуле DAQ.JavaLikeCalc.

"gsxr" wrote:

Заворачивать что-то в http это как? Он же текстовый, это как телнетом к вебсерверу подконнектиться и кодами запросить страницу. Или я не прав?

Контент это HTML, передаётся он через сеть завёрнутым в протокол HTTP, а не просто так.

"gsxr" wrote:

Скажите, а если не связываться с http, а работать по TCP в текстовом построчном режиме это проще?

И Web-сервер это конечно поймёт?!

"gsxr" wrote:

Я добавил в исходящие сокеты новый, назвал "tcpserver_test", поправил порт. Не подскажете как через этот сокет теперь отправить текстовую команду(лучше подробнее, в системе пока не понимаю). Все равно нужно использовать UserProtocol? Или есть решение проще?

На форуме уже об этом говорилось.

Learn, learn and learn better than work, work and work.
Written on: 10. 06. 2010 [11:39]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
Добавил прямо в модуль протокола эту функцию. http://wiki.oscada.org/Doc/HTTP?v=67o#h90-4

Learn, learn and learn better than work, work and work.



12707