Инструментальный пакет "Maestro"
  Главная | Новости | История | Содержание | Продукция | Скачать | Контакты
[Содержание|Вперед]

1. Средства наблюдения и управления



"Бросая в воду камешки, смотри на круги, ими образуемые; иначе такое бросание будет пустою забавою." К.Прутков (мысль номер 156).



Средства наблюдения и управления, реализованные в пакете Maestro, предполагают для оператора возможность работы с приложениями через терминальные сессии и/или на собственной консоли ЭВМ, где исполняются приложения. Основным средством отладки приложений реального времени является RetroScope.

1.1 Эмуляторы терминалов

Для доступа к удаленным контроллерам и инструментальным многопользовательским ЭВМ удобно использовать классическую для UNIX-систем текстовую терминальную сессию - надежный и простой механизм взаимодействия человек-машина, слабо зависящий от реализации канала связи. Однако, основной недостаток текстовой терминальной сессии - отсутствие графики.

Эмуляторы терминалов, включенные в состав пакета Maestro, могут работать как в текстовом (QNX-терминал) так и в графическом (векторная графика) режимах. Графические команды принимаются эмулятором в виде текстовых посылок в соответствии с протоколом UNIGRAF, при этом, весь стек нижележащих протоколов, который обеспечивает терминальную сессию, "не знает" о том, что под видом текста по линии фактически передаются графические команды. Таким образом, передача графики сведена к передаче текста и не требует от операционной системы и от сети поддержки специальных протоколов.

В настоящий момент существует 2 редакции эмулятора терминала:

1.2 Графическая библиотека UNIGRAF

Графическая библиотека UNIGRAF предназначена для разработки сравнительно несложных графических приложений для встраиваемых систем. При разработке библиотеки основное внимание уделялось следующим свойствам:

  1. Минимальный размер результирующего кода;
  2. Переносимость на уровне исходных текстов в другие ОС, близкая к 100%;
  3. Возможность работы на собственной видеосистеме и на удаленном графическом терминале без изменения исходного текста;
  4. Простота реализации удаленного графического терминала в различных операционных системах;
  5. Минимальное время, необходимое для изучения основного набора функций библиотеки;
  6. Открытость и возможности к развитию без коренного изменения архитектуры;

Для эффективной реализации этих свойств при разработке приняты следующие ограничения на функциональные свойства приложений:

  1. Один единственный шрифт (8x14 пикселов);
  2. Поддержка только английского и русского языков (кодовая страница 866);
  3. Фиксированное разрешение экрана: 640x480;
  4. Количество цветов: 16 (стандартная палитра VGA);
  5. Указатель "мышь" не поддерживается.

1.2.1 Базовые графические примитивы

Для упрощения портирования и реализации удаленного графического терминала все функции рисования средствами библиотечных модулей сводятся всего лишь к шести базовым графическим примитивам:

  1. Установить координаты точки A на экране (в пикселах);
  2. Установить координаты точки B на экране (в пикселах);
  3. Поставить пиксел указанного цвета в точку A;
  4. Провести прямую указанного цвета между A и B;
  5. Закрасить указанным цветом прямоугольник с диагональю AB;
  6. Вывести строку символов указанным цветом начиная с точки A.

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

Для передачи по линии к удаленному терминалу требуется упаковать в текстовые посылки всего 6 типов сообщений, а на терминальной стороне распознать их и выполнить. Частным решением этой задачи является протокол передачи графических примитивов UNIGRAF, реализованный в эмуляторах TEQ, QweRus, QweRus_for_Win.

1.2.2 Программный интерфейс библиотеки

Несмотря на очень узкий перечень базовых графических примитивов, библиотека состоит из достаточно большого набора графических функций более высокого порядка, реализующих работу с вложенными окнами, построение в контексте "текущего" окна в целых и/или действительных координатах, настройку масштабной сетки действительных координат окна и пр. Из приложения можно вызывать функции любой степени интеграции от сложных оконных до базовых.

Если в графическом приложении используются для рисования только функции библиотеки UNIGRAF то такое приложение (в части графики) будет переносимым в той мере, в которой переносима сама библиотека UNIGRAF.

Если в графическом приложении используются для рисования только функции библиотеки UNIGRAF, то такое приложение (в части графики) будет одинаково работать как на собственной видеокарте, так и на удаленном терминале (естественно - с поправкой на скорость передачи данных по терминальной линии).



Вид терминального окна QweRus с графической программой, разработанной с помощью библиотеки UNIGRAF.

[Содержание|Вперед]
[Главная] [Новости] [История] [Содержание] [Продукция] [Скачать] [Контакты]