Вы находитесь на странице: 1из 32

TM630

Руководство по программированию
приложений визуализации

TM630TRE.00-ENG
2013/09/02
Необходимые условия и требования
Обучающие кур-
сы (тренинг-моду-
ли) TM600 — Описание системы визуализации
Программное
обеспечение Нет
Аппаратное обес-
печение Нет

2 TM630 - Руководство по программированию приложений визуализации


Оглавление

ОГЛАВЛЕНИЕ

1 ВВЕДЕНИЕ.......................................................................................................................................... 4
1.1 Цель обучающего курса....................................................................................................... 4
2 ПРОЦЕСС РАЗРАБОТКИ ПРОЕКТА................................................................................................ 5
2.1 Этапы проекта....................................................................................................................... 5
3 СПЕЦИФИКАЦИИ............................................................................................................................... 6

4 ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ.............................................................. 9


4.1 Шаблон проекта визуализации по умолчанию................................................................... 9
4.2 Структура приложения визуализации............................................................................... 10
4.3 Концепция управления....................................................................................................... 17
4.4 Переменные и точки данных............................................................................................. 18
4.5 Особенности визуализации в режиме выполнения......................................................... 20
4.6 Интерфейс программирования приложений визуализации............................................ 20
4.7 Страницы для обслуживания и ввода в эксплуатацию................................................... 22
4.8 Данные и управление ими................................................................................................. 23
5 ИНТЕГРАЦИЯ ПРИЛОЖЕНИЯ ВИЗУАЛИЗАЦИИ..........................................................................26

6 ОБСЛУЖИВАНИЕ И ОРГАНИЗАЦИЯ ПРОЕКТА...........................................................................27


6.1 Внесение изменений в проект........................................................................................... 27
6.2 Распространение и хранение программного обеспечения............................................. 28
6.3 Передача проекта заказчику.............................................................................................. 28
6.4 Документация.......................................................................................................................28
7 ИТОГ.................................................................................................................................................. 30

TM630 - Руководство по программированию приложений визуализации 3


Введение

1 ВВЕДЕНИЕ

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

Руководство по программированию приложений визуализации

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

1.1 Цель обучающего курса

В данном обучающем курсе представлена информация о том, как...


• повысить эффективность разработки приложений визуализации;
• избежать ошибок в процессе разработки проекта;
• подготовить технические описания;
• улучшить стиль программирования и структуру проекта;
• обеспечить поддержку и обслуживание проекта.

4 TM630 - Руководство по программированию приложений визуализации


Процесс разработки проекта

2 ПРОЦЕСС РАЗРАБОТКИ ПРОЕКТА

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

«Само собой разумеется, что разработка приложения визуализа-


ции должна была быть завершена еще вчера, потому что установ-
ка должна была быть введена в эксплуатацию еще позавчера».

2.1 Этапы проекта

Перед тем как приступить к выполнению проекта, необходимо предварительно уточнить все тре-
бования заказчика.
Обзор процесса разработки проекта приведен в следующей таблице.

Предпроектный Начало проекта Выполнение про- Завершение про-


этап (предпродаж- Анализ проек- екта екта

ная подготовка и Концепция Достижение
та ➯ ➯
продажа)
➯ Тестирование ➯ Структура целей
➯ Представление Документиро-
проекта ➯ Рабочие паке- ➯
➯ Уточнение тре- ➯ Формирование ты вание
бований команды Связь ➯ Сохранение

➯ Предложения ➯ Передача от- результатов
➯ ... ветственности ➯ Завершение
Table: Этапы проекта

В данном обучающем курсе рассматривается этап выполнения проекта.


Этап выполнения проекта может быть условно разделен на четыре части, которые находятся в
сложном взаимодействии друг с другом:

Части проекта и их взаимодействие друг


с другом:
1 Подготовка технических требований
на проектирование и функциональных
спецификаций
2 Разработка, тестирование и интегра-
ция проекта
3 Ввод установки в эксплуатацию
4 Составление документации

Части проекта и их взаимодействие друг с другом:

TM630 - Руководство по программированию приложений визуализации 5


Спецификации

3 СПЕЦИФИКАЦИИ

В основе любого приложения визуализации лежат требования заказчика и вытекающие из них


технические требования на проектирование и функциональные спецификации.

Временные затраты Временные затраты [%] – как должно быть


[%] – обычная ситуация
Подготовка техниче- 0–20 Подготовка техниче- 30
ских условий ских условий
Разработка проекта 80–100 Разработка проекта 20
Тестирование 20–0 Тестирование 50
Table: Распределение затрат времени

Как показано в таблице выше, 1/3 времени, отведенного на проект, должна затрачиваться на
определение технических условий. Это позволяет сократить количество времени, необходимого
для внесения изменений в процессе разработки проекта.
При этом, на практике этап подготовки технических условий часто сокращают до минимума, осо-
бенно когда разработчики считают, что у них не хватает времени даже на решение «нормальных»
задач разработки. Тем не менее, следует учесть, что четкое определение технических условий
помогает сэкономить время на последующих этапах разработки проекта.

При составлении технических условий важно найти баланс между включением всей
необходимой информации и предоставлением программисту творческой свободы. Опи-
сание каждого конкретного бита, конечно же, будет излишним.

Аспекты проекта, которые должны быть проанализированы при подготовке техниче-


ских условий:
• Какой тип визуализации следует использовать?
(цена, затраты во время исполнения)
• Какой тип визуализации следует использовать?
(интегрированная, удаленная визуализация и т.д.)
• Способ подключения к системам более высокого уровня.
• Реализация каких стандартов и функций безопасности необходима?
• Описание способа обмена данными, форматов данных и методов оценки данных
(определяется также в зависимости от используемого оборудования).
• Кем будет использоваться приложение визуализации?
• Управление какими устройствами должно быть обеспечено?
• Какую информацию необходимо отслеживать?
• Какие элементы управления должны использоваться?
(клавиатура, сенсорный экран и т.п.)

6 TM630 - Руководство по программированию приложений визуализации


Спецификации

Вопросы, относящиеся к реализации элементов интер-


фейса:
• Что представляет собой главная страница?
• Какие элементы должны отображаться?
• Что подуровни необходимы?
• Какие цвета и формы следует использовать?
• Какая должна использоваться навигация в пределах
страниц?
• Какая должна использоваться навигация для перехода
между страницами? Спецификации
• Кому разрешен доступ к конкретным страницам?
• Каким образом страницы должны быть скомпонованы?
(уровни паролей)
• Каким образом страницы будут сгруппированы?
(переходы со страницы на страницу, меню)
• Какие шрифты и какого размера необходимы?
• Какие необходимы языки?
• Какие текстовые и графические элементы будут ис-
пользоваться?
• Каким образом должно осуществляться управление па-
ролями?

Данная информация используется для определения основных характеристик приложения визуа-


лизации.

Перед тем как приступить к программированию отдельных страниц, подготовьте несколь-


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

Заказчик хорошо знает свое оборудование и требования, предъявляемые к визуализации, про-


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

Заказчик / клиент:
• Знает свое оборудование и предъявляемые требования, умеет управлять оборудова-
нием

TM630 - Руководство по программированию приложений визуализации 7


Спецификации

→→→

Технические
требования на
проектирование
Применение


Поставщик услуг / программист:
• Умеет использовать инструменты программирования и знает их возможности

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

8 TM630 - Руководство по программированию приложений визуализации


Проектирование программного обеспечения

4 ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

В отношении тех проектов, разработка которых была начата


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

Проектирование программного
обеспечения

4.1 Шаблон проекта визуализации по умолчанию

Разработка новой проекта обычно начинается с пустой страницы. Затем на нее добавляются все
необходимые компоненты, например, растровые изображения и тексты. Однако, при таком под-
ходе общая структура и расположение отдельных элементов изменяются от одного проекта к
другому.
Использование проектов по умолчанию или шаблонов позволяет программисту начинать разра-
ботку не с чистого листа, а опираясь на определенную базовую структуру. Вне зависимости от
того, насколько похожи или различаются проекты, хорошая основа в любом случае позволяет
сэкономить время при создании нового проекта.
Элементы проекта по умолчанию:
• Конфигурация клавиатуры и сенсорного экрана
(для цифрового и буквенно-цифрового ввода данных)
• Группы единиц измерения
(масштабирование и форматирование)
• Растровые изображения и группы растровых изображений
• Шрифты и их размер
• Страница по умолчанию
(верхний и нижний колонтитулы, шаблоны)
• Стили

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

TM630 - Руководство по программированию приложений визуализации 9


Проектирование программного обеспечения

4.2 Структура приложения визуализации

Проект визуализации состоит из различных компонентов. Расположение и конфигурация этих


компонентов, как правило, различаются для каждого приложения визуализации.
Возможные компоненты приложения визуализации:
• Страницы
• Статический и динамический текст
• Аварийные сигналы
• Управление данными, рецепты
• Единицы измерения и масштабирование
• Графические элементы
• Подключения, переменные, точки данных
• Конфигурация кнопок и клавиатуры

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

4.2.1 Проектирование страницы

Страницы представляют собой основную часть приложения визуализации. При проектировании


страниц необходимо соблюдать некоторые правила:

Элемент Правило
Шрифт Количество используемых шрифтов должно быть сведено к минимуму. Изменяя
размеры шрифта, вы можете акцентировать внимание на определенных объек-
тах.
Имейте в виду, что операторы должны быть в состоянии прочитать содержа-
щийся на странице текст с расстояния в несколько метров.
Шрифт Основное внимание следует уделять тому, чтобы текст хорошо читался, а не то-
му, как он будет выглядеть.
Шрифт Если это возможно, следует использовать один и тот же шрифт для всех языков
одного приложения визуализации.
Графика Графический элемент или символ часто может содер-
жать больше информации, чем текст. К тому же, симво-
лы не требуют никакого перевода.
Пример графического
элемента

Графика Пиктограммы должны выглядеть одинаково на всех страницах, на которых они


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

Сохранить Скопировать Вставить

Table: Элементы страницы

10 TM630 - Руководство по программированию приложений визуализации


Проектирование программного обеспечения

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

4.2.2 Структуризация и группировка страниц

Как только станет известно содержание всех страниц, они могут быть объединены в группы.
Эти группы могут быть структурированы для отображения:
• технологических схем процесса,
• уровней управления,
• сервисных и технических уровней.

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

TM630 - Руководство по программированию приложений визуализации 11


Проектирование программного обеспечения

Пример схемы прикладной программы

В представленном примере группировка списка страниц проекта может выглядеть


следующим образом:
• 0000_StartPage (начальная страница)
• 0100_SystemOverview (общий вид системы)
• 0110_System1.1 (система 1.1)
• 0111_System1.1.1 (система 1.1.1)
• 0112_System1.1.2 (система 1.1.2)
• 0120_System1.2 (система 1.2)
• 0200_Parameters (параметры)
• 0210_Parameters1.1 (параметры 1.1)
• 0220_Parameters1.2 (параметры 1.2)
• 0300_Service (сервисный уровень)
• 0310_Language (язык)
• 0320_Password (пароль)

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


щих правил:
• Кнопки навигации должны всегда располагаться в одном и том же месте страницы.
• При переходе на более низкий уровень пользователь должен иметь возможность вер-
нуться к основному уровню, не выполняя при последовательную постраничную навига-
цию.

12 TM630 - Руководство по программированию приложений визуализации


Проектирование программного обеспечения

Навигация в нижней части страницы

В рассматриваемом примере навигация между уровнями страницы проиллюстрирована с исполь-


зованием цветных стрелок.

Цвет стрел- Описание


ки
Красная Доступ к уровню 1 возможен с любой страницы нижнего уровня.
стрелка
Зеленая На нижнем уровне в этом направлении осуществляется возврат назад в преде-
стрелка лах одного и того же уровня. С первой страницы нижнего уровня производится
переход на один уровень вверх.
Серая В этом направлении осуществляется переход на следующую страницу в пре-
стрелка делах одного уровня. С последней страницы уровня производится переход на
первую страницу более низкого уровня.
Оранжевая По этой стрелке осуществляется возврат на начальную страницу с любого уров-
стрелка ня.
Table: Описание навигации по страницам

Разумеется, имеется множество различных способов организации навигации. В рассмотренном


примере представлен только один из них.

Рекомендации по группировке страниц:


• Указывайте перед названиями страниц номер группы.
• Оставляйте промежуток между номерами групп, так чтобы в дальнейшем могли быть до-
бавлены страницы.
• Указывайте уровень на каждой странице. Это позволит пользователям легко опреде-
лять, на каком уровне они находятся.

TM630 - Руководство по программированию приложений визуализации 13


Проектирование программного обеспечения

Переход на другую страницу


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

Необходимость в использовании переменных для перехода с одной страницы на дру-


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

4.2.3 Использование слоев

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

Преимущества использования слоев:


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

Если инструмент визуализации поддерживает слои, то вам необходимо обязательно их


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

14 TM630 - Руководство по программированию приложений визуализации


Проектирование программного обеспечения

4.2.4 Текстовые элементы в приложении визуализации

Приложение визуализации включает в себя статические и динамические текстовые элементы.


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

Статический текст описания отображаемого поля

Динамический текстовый элемент изменяется в зависимости от связанных с ним переменных.

Отображение рабочего режима в виде динамического текста

Статические и динамические текстовые элементы удобнее всего использовать, если они


сгруппированы в функциональные группы текстовых элементов.

Преимущества:
• Текстовый элемент, используемый на нескольких страницах, создается только один раз.
• Изменение текста на последующих этапах производится только в одном месте.
• Перевод текстов осуществляется только один раз для каждого языка.

Тексты на различных языках


Если возможно, тексты на каждом из языков следует размещать в отдельных текстовых файлах.
Преимущества:
• На перевод возможна передача только файлов на исходном языке и языке перевода.
Благодаря этому может быть обеспечен параллельный перевод на несколько языков.
• Вы можете создать версию приложения визуализации, которая включает в себя тексты
только на заказанных языках. При необходимости позднее могут быть добавленыдопол-
нительные языки.

4.2.5 Графические элементы

Организация графических элементов


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

Динамические графические объекты


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

TM630 - Руководство по программированию приложений визуализации 15


Проектирование программного обеспечения

Если на экране должно присутствовать несколько циклически изменяющихся объектов


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

4.2.6 Использование стандартов

Для программистов доступен широкий выбор стандартных диалоговых окон, в особенности для
ОС Windows.
При этом необходимо принять во внимание следующее:
• В стандартных диалоговых окнах текст всегда отображается на установленном в систе-
ме языке.
Как правило, во время запуска системы этот язык не может быть изменен.
• Кнопки в этих диалоговых окнах не всегда имеют достаточно большие размеры.
• Не всегда возможно отображение символов Unicode.

Чтобы избежать указанных выше проблем, все используемые в визуализации диалоговые окне
следует размещать на отдельных страницах или уровнях.

4.2.7 Присваивание элементам описательных имен

При добавлении в приложение элемент получает имя по умолчанию. Это имя точно определяет
тип элемента, но если у вас имеется несколько элементов одного типа отличить их друг от друга
становится невозможно.
Кроме того, это значительно усложняет совместную работу над одним проектом, разрабатывае-
мым несколькими программистами.

Имя по умолчанию Описательное имя


• InputField_1 («Поле ввода 1») • nbSetPassword («Настройка пароля»)
• OutputField_1 («Поле вывода 1») • txtActPasswordLevel («Активный уро-
• InputField_3 («Поле ввода 3») вень пароля»)
• InputField_4 («Поле ввода 4») • nbSetCoolingDelay («Настройка задерж-
ки охлаждения»)
• nbMaxWaterTemp («Макс. температура
воды»)
Table: Сравнение имен по умолчанию с описательными именами

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

Объектам визуализации всегда необходимо давать описательные имена. При програм-


мировании контроллера заказчики также используют стандартизированные правила ко-
дирования.

16 TM630 - Руководство по программированию приложений визуализации


Проектирование программного обеспечения

4.3 Концепция управления

То, каким образом будет осуществляться управление системой,


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

Управление с помощью сенсорного


экрана

Системы с сенсорным экраном


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

Размер элементов управления


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

Клавиатура
Необходимо проверить, поддерживает ли клавиатура одновременное нажатие нескольких кла-
виш.

Возможность работы в режиме реального времени


В некоторых системах требуется, чтобы перемещение привода осуществлялось в толчковом ре-
жиме. А это может быть реализовано только в случае очень быстрого времени отклика (<50 мс).
Не все средства визуализации могут это обеспечить, поэтому очень важно, проверить, существу-
ют ли какие-либо технические ограничения в этом отношении.

Мышь
Мышь не очень часто используют для управления установкой. Но в то же время использования
мыши очень распространено на станцияхуправления и в офисах.

TM630 - Руководство по программированию приложений визуализации 17


Проектирование программного обеспечения

Необходимо проверить, может ли быть реализован выбранный метод управления с по-


мощью используемого инструмента визуализации.

4.4 Переменные и точки данных

Одна из наиболее важных задач при разработке приложения визуализации заключается в на-
стройке переменных и точек данных.

Переменные и точки данных


Описание Описание
Переменная про- Определяет адрес на контроллере
цесса
(PV)
Точка данных Точка данных является переменной с дополнительными атрибутами.
(TAG) Атрибуты точки данных:
• Формат
• Тип преобразования
• Время обновления
• Направление передачи данных

Настройка переменной и ее атрибутов могут оказывать существенное вли-


яние на эффективность выполнения приложений визуализации.
Table: Переменные и точки данных

Свойство Описание
Основанное на По умолчанию все переменные в прикладной программе считываются
опросе и (опрашиваются) контроллером циклически. Чем больше в текущий момент
событиях должно быть считано переменных, тем больше времени занимает процесс
циклического обновления дисплея.
В случае реализации управления на основе событий канал циклического
обмена данными может быть частично разгружен, поскольку контролле-
ру необходимо будет отслеживать изменения части переменных только по
определенным событиям.
Остальные опрашиваемые переменные могут быть обновлены быстрее и
чаще.
Цикл считывания Время обновления переменной определяет, насколько быстро [мс] должна
быть считана переменная контроллером или с каким интервалом контрол-
лер должен отслеживать события.
Увеличение времени обновления переменных, которые изменяются мед-
ленно или только один раз, позволяет разгрузить каналы циклического об-
мена данными (цикл считывания изменений температуры > 2000 мс).
Table: Способ и время доступа к переменным

Какие переменные требуют оперативного считывания?


• Все переменные, отображаемые на экране или связанные с графическим элементом.
• Переменные, считываемые в фоновом режиме системой сигнализации или системой
анализа трендов.

18 TM630 - Руководство по программированию приложений визуализации


Проектирование программного обеспечения

Обычно эти данные отображаются на более поздних этапах.


• Переменные, изменение значений которых не требуется, должны быть переведены в со-
стояние «неактивны».
Состояния переменных («активны», «неактивны») обновляются при изменении страницы.

На каждой странице размещаются графические элементы со связанными с ними переменными,


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

Методы доступа к переменным


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

Целостность данных / синхронизация процедур доступа к данным


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

Если изменение переменных, а также доступ к ним осуществляются и со стороны при-


ложения визуализации и со стороны контроллера, то для обеспечения синхронизации
должны фиксироваться все изменения значений (0, 1, 2, 3, ..., 255, 0).
Не следует осуществлять синхронизацию с переменной типа BOOL (0, 1, 0), поскольку
во время цикла считывания переменная может не изменить свое значение (0-1).

TM630 - Руководство по программированию приложений визуализации 19


Проектирование программного обеспечения

Приоритеты записи и считывания переменных


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

4.5 Особенности визуализации в режиме выполнения

Во время выполнения имеется ряд факторов, которые оказывают влияние на качество и рабочие
характеристики визуализации.
Особое внимание необходимо обратить на следующее:
• Переходы с одной страницы на другую
Переход с одной страницы на другую должен осуществляться достаточно быстро после
нажатия кнопки.
Необходимо иметь в виду, что количество элементов на странице напрямую влияет на
время, необходимое для выполнения перехода с одной страницы на другую.
• Блокирование интерфейса отдельными операциями
Следует избегать действий, которые могут заблокировать работу интерфейса.
Если этого не возможно избежать, то о выполнении таких действий пользователю должна
выдаваться соответствующая информация, например, с помощью индикатора выполне-
ния.
• Информативные тексты
Не оставляете на страницах тексты, задаваемые по умолчанию.
До получения фактических данных должно отображаться, по крайней мере, какое-либо
разумное начальное значение.
• Страница инициализации
Если приложению визуализации требуется инициализация при запуске, то она должна
быть реализована с помощью отдельного начального экрана.
Исходная страница управления системой не будет отображаться до тех пор, пока иници-
ализация не будет завершена.

4.6 Интерфейс программирования приложений визуализации

Приложение визуализации в большинстве случаев состоит не только из определенного количе-


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

4.6.1 Анализ ошибок

Также необходимо анализировать все возвращаемые функция-


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

20 TM630 - Руководство по программированию приложений визуализации


Проектирование программного обеспечения

Для каждой функции должен быть предусмотрен обработчик исключений, который от-
слеживает все типы ошибок времени выполнения.
Все среды программирования для Windows поддерживают обработку ошибок времени
выполнения.
(On Error GoTo, Try...Catch...Finally).

4.6.2 Программирование с поддержкой различных языков

При работе с текстовыми элементами всегда следует исполь-


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

Символы Unicode

4.6.3 Программа визуализации

Программа визуализации предполагает постоянное взаимодействие между отображаемой схе-


мой технологического процесса и данными, обрабатываемыми контроллером.
Существуют различные методы организации работы программы визуализации:
• Однозадачная программа визуализации:
Управление всеми процессами визуализации и функциями осуществляется в пределах
одной задачи. Недостатком этого метода является то, что программа очень быстро может
стать громоздкой.
• Программа визуализации со страничной организацией:
Для взаимодействия с приложением визуализации создается несколько определяемых
процессом задач. Задача создается на основе необходимого класса задач в соответствии
с приоритетом последовательности операций процесса. Не критичные ко времени про-
цессы должны выполняться во время простоя контроллера.

В отношении пользовательской задачи необходимо принять во внимание, что скорость взаимо-


действия также зависит от текущей отображаемой страницы (связано с производительностью).

TM630 - Руководство по программированию приложений визуализации 21


Проектирование программного обеспечения

4.7 Страницы для обслуживания и ввода в эксплуатацию

Часто визуализация используется не только для «нормального» управления системой. Для об-
служивания установки и ввода ее в эксплуатацию уполномоченному техническому персоналу мо-
гут потребоваться также дополнительные страницы.
Обычным операторам не предоставляется право доступа к сервисным страницам и страницам
обслуживания, поэтому эти страницы должны быть защищены паролем.
Для ввода в эксплуатацию и проведения текущего ремонта часто необходимы специальные ин-
струменты, которые должны быть сконфигурированы как часть приложения визуализации, или же
могут быть использованы уже имеющиеся программные пакеты.
Особое внимание необходимо обратить на следующее:
• Имеются ли уже в наличии инструменты или программные пакеты, которые предостав-
ляют решение данных технических задач?
• Возможно ли встраивание имеющихся пакетов в приложение визуализации?
Если да, то каким образом?
• Необходимы ли лицензии на данные программные продукты?
• Возможно ли возникновение проблем с совместимостью при использовании нового обо-
рудования?
• Где можно получить техническую поддержку по вопросам интеграции инструментов в
свое программное обеспечение?

Интеграция внешних инструментов

22 TM630 - Руководство по программированию приложений визуализации


Проектирование программного обеспечения

4.8 Данные и управление ими

Во время выполнения каждое приложение визуализации гене-


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

«Регистрация, анализ, архивация»

Не существует абсолютно правильного или неправильного ме-


тода управления данными. Метод управления данными может
Управление данными
указываться заказчиком, либо программист использует метод
на свое усмотрение.

4.8.1 Управление данными

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

4.8.2 Форматы данных

Имеются различные форматы данных, которые могут исполь-


зоваться в зависимости от применяемого аппаратного и про-
граммного обеспечения. Каждый из этих форматов имеет свои
преимущества и недостатки.
Различные форматы могут использоваться даже в пределах од-
ной системы визуализации.
Часто используемые форматы:
• ASCII-файлы для параметров инициализации,
• двоичные файлы для регистрации аварийных сигна- Формат файла — ключ к содержанию
лов / данных трендов,
• XML для системных журналов.

ASCII-файл
ASCII-файл представляет собой любой файл, который содержит только простой текст, соответ-
ствующий стандарту ASCII. Эти файлы могут быть считаны на любом компьютере и следователь-
но могут легко перенесены с одной системы на другую.
Тем не менее, одним из недостатков ASCII-файлов является то, что их структура не поддержива-
ет правила и форматы. Кроме того, поиск информации в больших ASCII-файлах занимает доста-
точно много времени, поскольку производится по всему файлу.
Исключением являются файлы CSV-типа. CSV-файл представляет собой текстовый файл, кото-
рый содержит структурированные в таблицы данные. Аббревиатура CSV расшифровывается, как
Character Separated Values (значения, разделенные знаками) или Comma Separated Values (зна-
чения, разделенные запятыми), т.е. отдельные значения в этих файлах отделяются друг от друга

TM630 - Руководство по программированию приложений визуализации 23


Проектирование программного обеспечения

специальным разделительным знаком, обычно запятой. Кроме того, в этих файлах часто исполь-
зуются точка с запятой, двоеточие, знак табуляции и другие знаки. Официально принятого стан-
дарта для этого формата файлов нет.
Часто CSV-файлы вместо расширения .csv используют .txt и в этом случае могут быть также со-
зданы и отредактированы в любом текстовом редакторе.

Реестр (Windows)
Реестр содержит не документы, а параметры, которые позволяют программам и операционной
системе динамически настраиваться под конкретного пользователя. Эта информация включает
в себя данные по размещению элементов программы, например, предпочтительное положение
окна.
Записи реестра создаются в разделах, которые ответвляются от основного раздела, расположен-
ного выше их в иерархии.
Недостаток сохранения динамических параметров в реестре заключается в том, что в них сложно
вносить какие-либо изменения.

XML-файл
XML (Extensible Markup Language — расширяемый язык разметки) является стандартом, позво-
ляющим создавать документы в форме древовидной структуры, информация из которой может
быть считана как людьми, так и машинами.
XML определяет правила структуризации этих документов. Структура соответствующих докумен-
тов должна быть отдельно описана для каждого конкретного приложения XML. Описание пред-
полагает определение элементов структуры и указание их расположения в дереве документа.
XML предоставляет правила, используемые для создания этих описаний.

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

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

4.8.2.1 Сохранение и архивирование данных

При организации архивации данных необходимо рассмотреть несколько вопросов,


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

24 TM630 - Руководство по программированию приложений визуализации


Проектирование программного обеспечения

• Каким образом затем будет осуществляться обработка данных?


Имеются ли какие-либо внешние инструменты?
• Необходимы ли какие-либо особые лицензии на программное обеспечение?
• Сколько времени эти данные должны будут храниться в архивах?
• Необходимо ли обеспечить внешнее хранение данных?
(в сети, на накопителях)
• Какие события должны регистрироваться?
(аварийные сигналы, тренды, записи в журналах и т.д.)
• Каким образом должна осуществляться запись данных?
(циклически, на основе событий, при изменении и т.д.)
• Будет ли осуществляться оценка данных с учетом языка?
(В этом случае вместо фактического текста должны использоваться ссылки).

После того как указанные условия будут выяснены, следует определить их взаимозависимость
и используемые форматы данных.

4.8.2.2 Совместимость

Если формат регистрируемых данных должен быть изменен в


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

лизации или внешних инструментов.

Если о планируемых изменениях формата данных уже известно в процессе разработки,


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

TM630 - Руководство по программированию приложений визуализации 25


Интеграция приложения визуализации

5 ИНТЕГРАЦИЯ ПРИЛОЖЕНИЯ ВИЗУАЛИЗАЦИИ

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

Первоначальное тестирование приложения визуализации осуществляется в условиях офиса. По-


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

На первоначальном этапе тестирования на контроллере может быть создан фиктивный проект,


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

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


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

26 TM630 - Руководство по программированию приложений визуализации


Обслуживание и организация проекта

6 ОБСЛУЖИВАНИЕ И ОРГАНИЗАЦИЯ ПРОЕКТА

«Ну конечно же, я должен был сделать это именно так...»

6.1 Внесение изменений в проект

Часто в процессе разработки наступает такой момент, когда «план А» приводит в тупик или к
излишне сложным решениям.
Если решения этих проблем известны, примите их к сведению и реализуйте на этапе «очистки»
проекта. Не вносите никакие изменения непосредственно перед завершением проекта. Измене-
ния лучше всего вносить по окончании текущего этапа.
Обязательно задокументируйте все внесенные в проект изменения, заархивируйте предыдущую
версию проекта и, если необходимо, проинформируйте об этом заказчика.

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

6.1.1 Очистка проекта

На протяжении процесса интеграции и по мере внесения изме-


нений будут накапливаться данные, которые станут ненужными
после завершения тестирования. Эти данные могут быть уда-
лены из проекта.
Необходимо удалить следующее:
• Страницы имитации и тестирования:
Эти страницы могут быть сохранены в проекте для по-
следующего тестирования, однако при этом пользова-
тель не должен иметь доступа к страницам тестирова-
Очистка проекта
ния.
• Растровые изображения, которые больше не требуют-
ся.
• Строки кода, которые были закомментированы и боль-
ше не требуются.

TM630 - Руководство по программированию приложений визуализации 27


Обслуживание и организация проекта

6.2 Распространение и хранение программного обеспечения

В процессе разработки перед каждым значительным измене-


нием необходимо сохранять резервную копию текущей версии
проекта. Резервные копии не следует хранить на том же самом
ПК, на котором осуществляется разработка, для их хранения
необходимо использовать внешний сервер или соответствую-
щие носители.
Для работы с несколькими версиями архивных данных могут ис-
пользоваться различные базы данных.

Архивирование

Чтобы избежать проблем с совместимостью, все связанные друг с другом программные


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

6.3 Передача проекта заказчику

Текущая версия проект должна передаваться заказчику в виде


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

6.4 Документация

Возможны следующие виды документации:


• Проектная документация
• Документация для пользователей
• Встроенная в приложение справочная документация

Документация обязательно
необходима

«Хорошая документация начинается с четко определенных спецификаций»

28 TM630 - Руководство по программированию приложений визуализации


Обслуживание и организация проекта

6.4.1 Проектная документация

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


документация используется для регистрации всех данных, отражающих дополнения и исправле-
ния, выполненные на последующих этапах.

Необходимо, чтобы с момента анализа проекта и до его завершения программист и за-


казчик использовали в документации одну и ту же терминологию и одни и те же имена
элементов установки.

6.4.2 Документация для пользователей

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

6.4.3 Встроенная справочная система

Встроенная справочная система может рассматриваться как отдельный проект. Эта система слу-
жит в качестве дополнения к пользовательской документации.
При планировании всего объема работ следует принять во внимание необходимость создания
файлов справочной системы. При использовании ОС Windows имеются различные способы со-
здания и вызова интерактивной справочной системы.
Если необходимо, справочная система программы визуализации может быть сделана контекст-
но-зависимой.

TM630 - Руководство по программированию приложений визуализации 29


Итог

7 ИТОГ

Имеется множество факторов, которые следует учитывать при планировании и проектировании


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

Руководство по программированию приложений визуализации

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

30 TM630 - Руководство по программированию приложений визуализации


Итог

TM630 - Руководство по программированию приложений визуализации 31


ОБУЧАЮЩИЕ КУРСЫ (ТРЕНИНГ-МОДУЛИ)