Концепция RTWin основана на представлении о модульной архитектуре системы контроля и управления. Как правило, в системе контроля и управления технологическим процессом можно выделить следующие три основные функциональные подсистемы:
Эти подсистемы взаимодействуют между собой путем обмена информацией (данными).
В каждой из этих подсистем можно в свою очередь выделить функционально законченные части - модули. Это, соответственно: панель управления, модуль связи с устройством, алгоритм обработки данных.
Таким образом, мы можем представить СКУ как совокупность модулей, связанных между собой информационными потоками. RTWin исходит из такой модели представления СКУ и дает разработчику возможность проектирования СКУ, оперируя понятиями модулей системы и потоков данных.
Каждый модуль имеет свое функциональное назначение. Модули, выполняющие функции интерфейса с пользователем, называются панели управления , а модули, выполняющие функции обработки данных и интерфейса с устройствами ввода/вывода, называются объекты .
Почему же мы предлагаем реализовать две различные функциональные подсистемы на модулях одного и того же типа? Здесь можно указать две основные причины:
В общем случае объект реализует некоторый алгоритм. Реализуемый объектом алгоритм представляется в виде совокупности блок-функций (блоков) , имеющих входы/выходы и связанных между собой. Блок-функции объединены в библиотеки блок-функций.
Панели управления реализуют интерфейс с пользователем в графическом режиме. Каждая панель управления в системе RTWin реализована как отдельное окно в среде графического интерфейса Photon и может содержать графическое изображение любой сложности-мнемосхемы, графики, текстовую и числовую информацию, разнообразные органы управления (кнопки, слайдеры) и т.д. Панели управления обеспечивают оперативное отображение хода технологического процесса (включая элементы мультипликации) и прием управляющих воздействий от оператора с проверкой прав доступа.
С учетом сказанного, общую схему СКУ можно представить в следующем виде:
Модульная архитектура создаваемых в RTWin СКУ обусловливает такие важные практические свойства СКУ, как:
Каждый объект в системе RTWin реализован как самостоятельный загружаемый и исполняемый программный модуль (задача) в среде многозадачной сетевой операционной системы QNX, функционирующей в реальном масштабе времени. Взаимодействие его с другими процессами-объектами, выполняющимися на различных узлах локальной сети и образующими в совокупности распределенную систему, осуществляется посредством обмена данными (сообщениями) предопределенной структуры и размера в асинхронном режиме. Таким образом, достигается возможность параллельного выполнения объектов-процессов и распределения их в рамках ресурсного пространства операционной системы, в том числе и в пределах локальной вычислительной сети, что позволяет оптимальным образом использовать аппаратные ресурсы вычислительной системы.
Как уже упоминалось выше, каждая панель управления в системе RTWin реализована как отдельное окно в среде графического интерфейса Photon. При распределении входящих в состав СКУ панелей управления по разным узлам QNX сети появляется возможность одновременной работы нескольких операторов (пользователей). Более того, Photon позволяет оператору УпослатьФ работающую панель управления на экран другого компьютера.
С помощью RTWin можно создавать СКУ любой сложности. От простейших, содержащих одну панель управления и один-два объекта и работающих на одном компьютере, до сложных многопользовательских систем, состоящих из десятков или даже сотен модулей и работающих в локальной сети из десятков компьютеров.
RTWin дает возможность гибкого изменения конфигурации созданной СКУ. Под конфигурацией СКУ имеется в виду состав модулей и их распределение по узлам QNX сети.
Используя RTWin можно создать достаточно сложную СКУ методом поэтапного наращивания выполняемых функций. Можно начать с простого, создать УскелетФ системы, а затем постепенно добавлять новые модули. Такой способ очень эффективен, так как при этом на каждом шаге есть возможность запустить систему и произвести отладку. RTWin не накладывает никаких практически ощутимых ограничений по количеству модулей, входов и выходов и т.д.