Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2009, 18:11   #1
Sasha811
Пользователь
 
Регистрация: 20.12.2008
Сообщений: 22
По умолчанию Передача экрана экземпляра приложения по сети

Здравствуйте уважаемые специалисты.

Не знаю, на какой форум обращаться, так как вопрос может и нестандартный.

Вполне возможно, что абзацы 1-4 лишние – но все же

1.
Есть некоторая программа “X” (приложение) разработанное средствами SCADA системы. SCADA – это аналог Delphi, Visual C++ и т.д., только адаптированна для разработки приложений под системы промышленной автоматизации. То есть множество функций: связь с аппаратурой и т.д. автоматизированы.

2.
Программа “X” настроена средствами SCADA на работу в мультимониторном режиме (например, 5-ть мониторов).
То-есть, при наличии на ПК 5-ти видеокарт существует возможность распределить общее разрешение, на 5-ть мониторов.

3.
Но в моем случае имеется только ПК с одной видеакартой ну и одним монитором соответственно. В такой ситуации движок SCADA «подразумевая» мультимониторный режим, при запуске приложения "X" просто создает 5-ть его экземпляров, но видным(активным) будет только экран одного экземпляра (выбранного пользователем) - остальные как бы в свернутом состоянии.

4.
Каждый экземпляр настроен на отображение в нем индивидуальных форм, разной там визуализации, мнемосхем и .т.д.


5. Вопрос:
Возможно ли экран каждого экземпляра приложения “X” передавать в виде видео информации по сети на другую машину и там его (экран) отображать, например видео плеером или еще чем то подобным? Какую документацию (C++) посоветуете изучать, что бы решить эту задачу.
Sasha811 вне форума Ответить с цитированием
Старый 20.10.2009, 19:48   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...если у вас АСУ построена на системе типа TraceMode, то подключение с удаленных машин и просмотр экранов возможен штатными средствами самой SCADA, например в вышеуказанной, подлючение и просмотр экранов к микроМРВ по сети проходит без проблем...
причем особенность в том, что сам проект с экранами (SCADA) стоит и там и там (запущен), а подключение идет к прослойке и архиву, сами экраны не передаются, передаются (по запросу) только данные каналов.

Цитата:
Возможно ли экран каждого экземпляра приложения “X” передавать в виде видео информации по сети на другую машину и там его (экран) отображать, например видео плеером или еще чем то подобным?
- сомневаюсь. скорее вывод экранов на мониторы возможен при подключенных мониторах, т.е идет проверка их наличия... разве что каким то макаром подсунуть их эмуляцию или сама SCADA держит у себя в памяти и тогда доступ можно получить интегрировав ActiveX в экраны
- сама передача проблем конечно не представляет
и прием тоже... принцип radmin


...а вообще имя SCADA в студию, дабы вести более предметный разговор
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 20.10.2009, 20:16   #3
Sasha811
Пользователь
 
Регистрация: 20.12.2008
Сообщений: 22
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
...если у вас АСУ построена на системе типа TraceMode, то подключение с удаленных машин и просмотр экранов возможен штатными средствами самой SCADA, например в вышеуказанной, подлючение и просмотр экранов к микроМРВ по сети проходит без проблем...
причем особенность в том, что сам проект с экранами (SCADA) стоит и там и там (запущен), а подключение идет к прослойке и архиву, сами экраны не передаются, передаются (по запросу) только данные каналов.
d
Эта задача действительно решается и она уже решена средствами SCADA, так как SCADA поддерживает клиент серверную архитектуру. SCADA Сервер с данными на одной машине, а SCADA дисплей клиенты на клиентских машинах. Также имеются Web Клиенты на удаленных рабочих местах, которые будут просматривать происходящее через Internet Explorer.

Вопрос с видео возник из-за необходимости интегрироваться с видеостеной. На видеостены в принципе возможно передать скриншот от монитора (точнее видепамяти). Дальше специальное ПО видеосервера сможет полученный скриншот разместить на некоторой области видеостены.

Но вот как ведет себя ядро SCADA в мультимониторном режиме на ПК с одним видеоадаптером и является ли экземпляры рантайма SCADA виртуальными мониторами (с памятью под конкретный экземпляр, и т.д) или все-таки это обычные свернутые окна (аля word или блкнот) - этого я не знаю - в доке на скаду такое не оговаривается.

А можна ли об этом узнать средствами анализа памяти на системном уровне - просмотреть память, хендлеры окон и т.д.?
Если да, то как - может нужно что-то руками написать?

Название SCADA - Citect 6.1
Sasha811 вне форума Ответить с цитированием
Старый 20.10.2009, 20:45   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Эта задача действительно решается и она уже решена средствами SCADA, так как SCADA поддерживает клиент серверную архитектуру. SCADA Сервер с данными на одной машине, а SCADA дисплей клиенты на клиентских машинах. Также имеются Web Клиенты на удаленных рабочих местах, которые будут просматривать происходящее через Internet Explorer.
- как и предполагалось, просмотр через web интерфейс

Цитата:
Вопрос с видео возник из-за необходимости интегрироваться с видеостеной. На видеостены в принципе возможно передать скриншот от монитора (точнее видепамяти). Дальше специальное ПО видеосервера сможет полученный скриншот разместить на некоторой области видеостены
- да с этим проблем не должно быть

Цитата:
Но вот как ведет себя ядро SCADA в мультимониторном режиме на ПК с одним видеоадаптером и является ли экземпляры рантайма SCADA виртуальными мониторами (с памятью под конкретный экземпляр, и т.д) или все-таки это обычные свернутые окна (аля word или блкнот) - этого я не знаю - в доке на скаду такое не оговаривается.
- скорее окна свернуты, ведь вы экран изначально рисуете в редакторе, а для повышения быстродействия при запуске они создаются сразу все...
не хочу ни кого обидеть, но вопрос: вы в техподдержку Citect обращались? (ведь лучше самих разработчиков вам никто не скажет)
(лично могу проконсультировать только по трейс моуду, благо они рядом, citect только видел, но скорее там по образу и подобию...)

Цитата:
А можна ли об этом узнать средствами анализа памяти на системном уровне - просмотреть память, хендлеры окон и т.д.?
Если да, то как - может нужно что-то руками написать?
- почему нет. кто запрещает глянуть processexplorer-ом и им подобным что за окна висят при запуске citect... мыслю себе так: если удастся найти окно свернутое (если оно есть), то его можно всегда вывести (для пробы) на передний план, а значит и скопировать информацию...

пы-сы: кстати, уж если с видеостеной не пожмотилось руководство, то кто мешает докупить видюху с несколькими выходами, десь видал такие...ну эт к слову
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 21.10.2009, 15:16   #5
Sasha811
Пользователь
 
Регистрация: 20.12.2008
Сообщений: 22
По умолчанию

Хочу промониторить загрузку видеопамяти

Скачал RivaTuner и тому подобные утилиты.

Все эти утилиты мониторят память посредством обращения к функциям библиотеки Direct Draw , Open GL, кодекам и тому подобное. То есть когда я запускаю какой- нить клип или фильм – график видеопамяти растет. При отключении клипа, видео память стоит в нуле как вкопанная и не реагирует ни на что – хотя ведь прорисовка окна, рабочего стола (то же метод OnDraw() - он же шлет фактически команду на видео) и т.п.– это ведь тоже видео память – пусть мимо Direct Draw, но ведь видео. Или я чего то не так понимаю.
В общем пока сколько бы экземпляров не запускал – видеопамять в нуле.
Sasha811 вне форума Ответить с цитированием
Старый 21.10.2009, 15:38   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

а что показал мониторинг окон при запуске citect ?

Цитата:
То есть когда я запускаю какой- нить клип или фильм – график видеопамяти растет
- не вижу связи со scada.

в плеерах на основе directshow создается отдельная surface поверхность и действительно память растет... проверку видеопамяти стоило проверить конечно-же, на основании того, что через directshow область видеотображения может захватывать два и более монитора в многоэкранной системе.
...но вряд ли скада задействует direct метод (тут можно выяснить ее требования к системе, это должно быть описано... или разработчики в надежде что в xp directshow присутствует по умолчанию не оговорили, вряд-ли)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 21.10.2009 в 15:50.
raxp вне форума Ответить с цитированием
Старый 21.10.2009, 16:57   #7
Sasha811
Пользователь
 
Регистрация: 20.12.2008
Сообщений: 22
По умолчанию

Про мониторинг окон при запуске citect.

После запуска в рантайм в диспетчере задач Windows во вкладке "приложения" появились пять отдельных задач с именем стартовой страницы запуска. В случае с одномониторным режимом - задача одна м тем же именем.

Вы это имели ввиду?

Последний раз редактировалось Sasha811; 21.10.2009 в 17:03.
Sasha811 вне форума Ответить с цитированием
Старый 21.10.2009, 17:24   #8
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

именно это, но с поправкой... диспетчер вам мягко говоря не все покажет...

вы пробовали глянуть утилитой (даж в тотале вроде есть) какие окна и наследование кого от кого идет (по логике мы должны увидеть что-то типа form1, form2... c поправкой на название экранов при их создании в редакторе)?
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 21.10.2009, 18:03   #9
Sasha811
Пользователь
 
Регистрация: 20.12.2008
Сообщений: 22
По умолчанию

Ищу в тотале, но пока найти такого анализатора не удается.....
Sasha811 вне форума Ответить с цитированием
Старый 22.10.2009, 12:45   #10
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

вы б уже processexplorer нашли-бы...

почитав на досуге cs_6userguide_rus про вашу scada, закралась крамольная мысль: если вы в проекте не используете всплывающие страницы ("джинны, суперджинны") - а именно они делаются согласно описания динамически и в видеопамяти содержится лишь
Цитата:
в scada citect объекты типа "джинн" и "суперджинн" позволяют экономить дисковое пространство компьютера, так как в его памяти хранится лишь одна копия сложного объекта
, а просто ряд окон мнемосхем-окон, то ведь можно интегрировать в каждое окно-мнемосхему свой объект - ActiveX (о чем уже и говорил), который будет осуществлять снимок мнемосхемы по handl-У окна его породившего и передавать по сети (тут возможны варианты с предварительной сборкой от всех экранов а потом передача и раздельной идентификацией)...

Таким образом, задача ваша сводится к проверке работоспособности экземпляра ActiveX размещенного на каждой мнемосхеме, если окно свернуто + так как экземпляр порождаемый в каждом окне по сути одн объект, то нужно предусмотреть разрешение коллизий, например работа по одному порту и т.п., т.е. предусмотреть визуальное свойство- например некий номер с edit-ом на нем, который вы располагая activex на каждом экране будете менять (тот же порт например)

пы-сы: подобный метод мною был использован для получения и индикации данных на каждом из пяти экранов в трейс-моуде, так что не вижу причин почему в австралийском проекте нельзя учудить подобное...
...и вопрошаю повторно: шо говрт ваша техподдержка или дилеры?
кстати они тут э http://www.scada.ru/forum/
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 22.10.2009 в 12:47.
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача данных по локальной сети zzzzz Работа с сетью в Delphi 2 02.07.2011 19:24
Потоки, передача файлов по сети SeЯgey Работа с сетью в Delphi 3 02.04.2011 23:51
Передача данных по сети. ROD Общие вопросы C/C++ 3 18.06.2009 09:41
Передача по сети каталога. Indy zhefran Работа с сетью в Delphi 6 13.08.2008 15:19
передача звука по сети и вэб Банзай Работа с сетью в Delphi 2 07.01.2008 22:21