## Модульная архитектура

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

1. интерфейс с оператором (иногда ее называют диалоговой подсистемой)
2. интерфейс с оборудованием
3. обработка данных - реализация заданного алгоритма

Эти подсистемы взаимодействуют между собой путем обмена информацией (данными).

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

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

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

### Объект

Почему же мы предлагаем реализовать две различные функциональные подсистемы на модулях одного и того же типа? Здесь можно указать две основные причины:

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

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

### Панель управления

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

С учетом сказанного, общую схему СКУ можно представить в следующем виде:

Модульная архитектура создаваемых в RTWin СКУ обусловливает такие важные практические свойства СКУ, как:

- многозадачность и распределенность
- многопользовательский режим
- масштабируемость
- конфигурируемость
- наращиваемость

### Многозадачность и распределенность

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

### Многопользовательский режим

Как уже упоминалось выше, каждая панель управления в системе RTWin реализована как отдельное окно в среде графического интерфейса Photon. При распределении входящих в состав СКУ панелей управления по разным узлам QNX сети появляется возможность одновременной работы нескольких операторов (пользователей). Более того, Photon позволяет оператору УпослатьФ работающую панель управления на экран другого компьютера.

### Масштабируемость

С помощью RTWin можно создавать СКУ любой сложности. От простейших, содержащих одну панель управления и один-два объекта и работающих на одном компьютере, до сложных многопользовательских систем, состоящих из десятков или даже сотен модулей и работающих в локальной сети из десятков компьютеров.

### Конфигурируемость

RTWin дает возможность гибкого изменения конфигурации созданной СКУ. Под конфигурацией СКУ имеется в виду состав модулей и их распределение по узлам QNX сети.

### Наращиваемость

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