Динамическая смена разрешения визуализации в SCADA

    • #88819
      Николай
      Ключник

      CHANt

      Имеем видеостену разрешением 7000х2100 пикселов. Попытка адаптации существующего проекта в InTouch 9.5 к успеху не привела, пришлось полностью его переделать с 1280х1024 на новое разрешение. Очень неудобно содержать два различных проекта, в два раза больше работы. А как SCADA других производителей поддерживают различные разрешения в пределах одного проекта? Поделитесь опытом.
      —————————————–

      alsh

      В принципе в любой SCADA-системе, где применяется векторная графика (объекты, изображения, мимики и проч.), возможно сохранение проекта в различных разрешениях, а в некоторых происходит автоматическое масштабирование в зависимости от разрешения средства отображения.
      Например в ClearSCADA (Control Microsystems) – это происходить вот так( ,) см. вложение).

      Jackson

      Честно говоря, не совсем понял – а точнее совсем не понял – из диаграммы, как именно это происходит в ClearSCADA. И вообще, эту вещь надо увидеть своими глазами (попереключать разрешения экрана при запущеном готовом проекте), чтобы убедиться, что имеется в виду именно то, о чем спрашивалось. Даже с векторной графикой не все так просто как кажется на первый взгляд – наши программисты эту задачу решали в своей SCADA (которую сами и писали), оказалось всё совсем неоднозначно.
      По поводу исходного вопроса. Некоторые видеокарты и отображающие устройства (например видеопроекторы, некоторые плазменные панели) имеют функцию масштабирования – увеличивают нужый участок подаваемой на вход картинки. Только вчера как раз экспериментировал так с проектором. В некоторых видеокарточках тоже встречал такую функцию. Так что в плане идеи – раскопать возможности Вашей видеосистемы, найти там функции масштабирования, и делать проект под максимально возможное разрешение монитора, чтобы потом на большой видеосистеме изображение просто зуммировать уже аппаратно и независимо от СКАДА. Это кстати позволит в будущем заменять видеосистему на любую другую, если эта не понравится.

      CHANt

      genelectric писал(а):По поводу исходного вопроса. Некоторые видеокарты и отображающие устройства (например видеопроекторы, некоторые плазменные панели) имеют функцию масштабирования – увеличивают нужый участок подаваемой на вход картинки. Только вчера как раз экспериментировал так с проектором. В некоторых видеокарточках тоже встречал такую функцию. Так что в плане идеи – раскопать возможности Вашей видеосистемы, найти там функции масштабирования, и делать проект под максимально возможное разрешение монитора, чтобы потом на большой видеосистеме изображение просто зуммировать уже аппаратно и независимо от СКАДА. Это кстати позволит в будущем заменять видеосистему на любую другую, если эта не понравится.

      Видеоконтроллер видеостены умеет захватывать все форматы видеосигналов, интерфейсов предостаточно. Если взять RGB- сигнал, сформированный видеокартой компьютера на 1280х1024 и вывести, через захват на видеостену то мы и получим окошко с разрешением 1280х1024, а если его отмасштабируем аппаратно на 7000х2100, то пиксели исходного разрешения просто увеличатся в размерах (да и откуда возьмется дополнительная информация в потоке видео для соответствующего увеличения разрешения). Это не выход, получается ужасно. Так как видеоконтроллер это, в общем-то, двухпроцессорный сервер с некоторыми особенностями, то мы проект запустили прямо на нем. Но, InTocuh позволяет конфигурировать разрешения только при разработке, и при попытки открытия на другом разрешении предлагается переконвертировать проект под текущее. Кончается эта попытка плачевно. И в обратном порядке, если я пытаюсь запустить проект, сконфигурированный под видеостену на компе, опять запрос на конвертирование и опять попытка неудачно. Видимо это особенности среды исполнения InTocuh при подобных разрешениях.
      alsh – спасибо!
      Почитаю про ClearSCADA.

      —————————————–

      alsh

      genelectric писал(а):Честно говоря, не совсем понял – а точнее совсем не понял – из диаграммы, как именно это происходит в ClearSCADA. И вообще, эту вещь надо увидеть своими глазами (попереключать разрешения экрана при запущеном готовом проекте), чтобы убедиться, что имеется в виду именно то, о чем спрашивалось. Даже с векторной графикой не все так просто как кажется на первый взгляд – наши программисты эту задачу решали в своей SCADA (которую сами и писали), оказалось всё совсем неоднозначно.

      Вопрос скорее в том, что есть несколько клиентов и у каждого различное средство визуализации с различными разрешениями. В CS (ClearSCADA), все мимики и объекты векторные, привязки к конкретным разрешениям нет, есть инструментарий масштабирования, прокрутки, слоев, на клиенте происходит вгновенная конвертация по разрешению. Т.к. все мимики, экраны (в общем весь проект) находятся на сервере, то нет необходимости держать их на клиентских машинах к привязки к их аппаратным средствам. В общем не будем заниматься рекламой 😀 (а то деньги попросят), кому интресно сюда.

      Роман

      Если вы разрабатываетет проект на InTouch могу посоветовать следующее решение.
      1) разрабатываете проект как обычно на вашей рабочей станции, размер окон делаете сразу под конечное разрешение, интач это позволяет. Возникнут правда трудности с отладкой, но их можно преодолеть сдвигая окна в редакторе 🙂
      2) В файле vers_res.inf проекта интач по смещению 0 читается/пишется разрешение горизонтальное (ширина),
      по смещению 2 читается/пишется разрешение вертикальное (высота).
      Во всех файлах окон (*.win) по смещению 68(дес) и 92(дес) записываются указанные ширина и высота. После таких манипуляций InTouch не производит масштабирования.
      3) измененный проект заливаете на конечную видеоплатформу
      Есть программка автоматизирующая данный процесс могу выслать по почте.
      Как альтернатива – на некоторых видеокартах можно выставлять любое разрешения (в пределах объема видеопамяти) при этом изображение не масштабируется а как бы сдвигается экран когда подводишь мышку к краю как в играх. Очевидно данное решение не очень удобно для разработчика, потому что панели инструментов, окна и т.д. и т.п. разносит по всему этому необъятному разрешению. Хотя иметь такую возможность при тестировании удобно, т.к. не всегда можно установить видеостену в офисе.

      CHANt

      Роман писал(а):Если вы разрабатываетет проект на InTouch могу посоветовать следующее решение.
      1) разрабатываете проект как обычно на вашей рабочей станции, размер окон делаете сразу под конечное разрешение, интач это позволяет. Возникнут правда трудности с отладкой, но их можно преодолеть сдвигая окна в редакторе 🙂

      Это уже сделано, процентов 50 разработанных мнемосхем превышает размеры текущего разрешения рабочих станций. При исполнении проекта, для навигации по схеме превышающей размеры текущего разрешения, в свое время, разработчиком проекта предоставлен соответствующий элемент ActiveX.

      Роман писал(а):2) В файле vers_res.inf проекта интач по смещению 0 читается/пишется разрешение горизонтальное (ширина),по смещению 2 читается/пишется разрешение вертикальное (высота).
      Во всех файлах окон (*.win) по смещению 68(дес) и 92(дес) записываются указанные ширина и высота. После таких манипуляций InTouch не производит масштабирования.

      То есть полностью исключаются попытки RunTime произвести конвертацию видеокадров?

      Роман писал(а):3) измененный проект заливаете на конечную видеоплатформу

      А возможно ли использование NAD. На данный момент рабочие станции работают с проектом на файловом сервере. В идеале хотелось бы, для видеостены при запуске View, просто предоставить возможность оперативному персоналу, перейти в требуемый режим отображения (АРМ или видеостена). Да и нам работы с одним проектом меньше, на данный момент в системе более 22 тыс. тегов и мы продолжаем наращивать информационный объем…

      Роман писал(а):Есть программка автоматизирующая данный процесс могу выслать по почте.

      Спасибо!
      адрес: [emailprotected]

      Роман писал(а):Как альтернатива – на некоторых видеокартах можно выставлять любое разрешения (в пределах объема видеопамяти) при этом изображение не масштабируется а как бы сдвигается экран когда подводишь мышку к краю как в играх. Очевидно данное решение не очень удобно для разработчика, потому что панели инструментов, окна и т.д. и т.п. разносит по всему этому необъятному разрешению. Хотя иметь такую возможность при тестировании удобно, т.к. не всегда можно установить видеостену в офисе.

      🙂 Ну тут трудностей у нас нет, несложные манипуляции с установкой лицензии и ключа разработчика на видеоконтроллер и через удаленный доступ (Symantec pcAnywhere Web Remote™) работаем в комфортных условиях через IE 🙂

      —————————————–

      Роман

      Chant писал(а): То есть полностью исключаются попытки RunTime произвести конвертацию видеокадров?

      Да, он думает что разрешение соответствует текущему… никакой конвертации не будет

      Chant писал(а): А возможно ли использование NAD.

      А почему нет? Разрабатываете как обычно, как удобно

      Chant писал(а): На данный момент рабочие станции работают с проектом на файловом сервере.

      То есть на объекте рабочие места грузятся с одного проекта на сервере и вы его сразу редактируете? Могу лишь усомниться в стабильности такого подхода, если я конечно правильно понял.

      Chant писал(а): В идеале хотелось бы, для видеостены при запуске View, просто предоставить возможность оперативному персоналу, перейти в требуемый режим отображения (АРМ или видеостена). Да и нам работы с одним проектом меньше, на данный момент в системе более 22 тыс. тегов и мы продолжаем наращивать информационный объем…

      С одним проектом можно обойтись, только мнемосхемы все равно разные придется сделать под 1280х1024 и 9200х2400 например. А служебные окна наверно могут быть общими. Сделать тогда в менюшке выбор: стена или комп и показывать соответстствующие окна. Так наверно.

      Роман писал(а):Есть программка автоматизирующая данный процесс могу выслать по почте.

      Спасибо!
      адрес: [emailprotected]
      Ушло

      CHANt

      Роман писал(а):То есть на объекте рабочие места грузятся с одного проекта на сервере и вы его сразу редактируете? Могу лишь усомниться в стабильности такого подхода, если я конечно правильно понял.

      Нет, проект правится на специально отведенном месте разработчика, на файл-сервер копируется после внесения изменений и тестирования.

      Роман писал(а):С одним проектом можно обойтись, только мнемосхемы все равно разные придется сделать под 1280х1024 и 9200х2400 например. А служебные окна наверно могут быть общими. Сделать тогда в менюшке выбор: стена или комп и показывать соответстствующие окна. Так наверно.

      В общем-то, окна одни и те же, просто режимы вызова разные, всякие scroll, ActiveX, и смещения стартовых координат окна. Подумаем….

      Роман писал(а):Ушло

      Письмо пришло без вложения…

      —————————————–

      Роман

      CHANt писал(а): Нет, проект правится на специально отведенном месте разработчика, на файл-сервер копируется после внесения изменений и тестирования.

      Ну вот тогда перед копированием на файл-сервер разрешение поменять и потом уже запускать.

      CHANt писал(а): Письмо пришло без вложения…

      Повторил…

      dyp2000

      Net Server TM со своей клиентской частью STMDS справится с такой задачей на раз.
      Вся графика векторная и работать с разными разрешениями удобно всегда.
      Посмотрите в сторону Net Server TM

Viewing 0 reply threads
  • Вы должны войти в систему, чтобы ответить в этой теме.
Интepecнoe нa фopумe:
Авторизация
*
*
Регистрация
*
*
*
Генерация пароля
×